00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef ACE_OS_NS_SIGNAL_H
00018 # define ACE_OS_NS_SIGNAL_H
00019 
00020 # include  "ace/pre.h"
00021 
00022 # include "ace/config-lite.h"
00023 
00024 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 #  pragma once
00026 # endif 
00027 
00028 #include "ace/os_include/os_signal.h"
00029 #include  "ace/ACE_export.h"
00030 
00031 #if defined (ACE_EXPORT_MACRO)
00032 #  undef ACE_EXPORT_MACRO
00033 #endif
00034 #define ACE_EXPORT_MACRO ACE_Export
00035 
00036 # if !defined (SIG_BLOCK)
00037 #   define SIG_BLOCK   1
00038 # endif 
00039 
00040 # if !defined (SIG_UNBLOCK)
00041 #   define SIG_UNBLOCK 2
00042 # endif 
00043 
00044 # if !defined (SIG_SETMASK)
00045 #   define SIG_SETMASK 3
00046 # endif 
00047 
00048 
00049 
00050 # if !defined (ACE_HAS_SIGINFO_T)
00051 struct ACE_Export siginfo_t
00052 {
00053   siginfo_t (ACE_HANDLE handle);
00054   siginfo_t (ACE_HANDLE *handles);      
00055 
00056 
00057   ACE_HANDLE si_handle_;
00058 
00059 
00060   ACE_HANDLE *si_handles_;
00061 };
00062 # endif 
00063 
00064 #if !defined (ACE_WIN32)
00065 extern "C"
00066 {
00067   typedef void (*ACE_SIGNAL_C_FUNC)(int, siginfo_t *, void *);
00068 }
00069 #endif 
00070 
00071 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 
00082 
00083 
00084 #if defined (__HP_aCC) && (__HP_aCC <= 37300)
00085 typedef extern "C" struct sigaction  ACE_SIGACTION;
00086 #else
00087 typedef struct sigaction ACE_SIGACTION;
00088 #endif
00089 
00090 namespace ACE_OS {
00091 
00092 
00093 
00094   ACE_NAMESPACE_INLINE_FUNCTION
00095   int kill (pid_t pid,
00096             int signum);
00097 
00098   ACE_NAMESPACE_INLINE_FUNCTION
00099   int pthread_sigmask (int how,
00100                        const sigset_t *nsp,
00101                        sigset_t *osp);
00102 
00103   ACE_NAMESPACE_INLINE_FUNCTION
00104   int sigaction (int signum,
00105                  const ACE_SIGACTION *nsa,
00106                  ACE_SIGACTION *osa);
00107 
00108   ACE_NAMESPACE_INLINE_FUNCTION
00109   int sigaddset (sigset_t *s,
00110                  int signum);
00111 
00112   ACE_NAMESPACE_INLINE_FUNCTION
00113   int sigdelset (sigset_t *s,
00114                  int signum);
00115 
00116   ACE_NAMESPACE_INLINE_FUNCTION
00117   int sigemptyset (sigset_t *s);
00118 
00119   ACE_NAMESPACE_INLINE_FUNCTION
00120   int sigfillset (sigset_t *s);
00121 
00122   ACE_NAMESPACE_INLINE_FUNCTION
00123   int sigismember (sigset_t *s,
00124                    int signum);
00125 
00126   ACE_NAMESPACE_INLINE_FUNCTION
00127   ACE_SignalHandler signal (int signum,
00128                             ACE_SignalHandler);
00129 
00130   ACE_NAMESPACE_INLINE_FUNCTION
00131   int sigprocmask (int how,
00132                    const sigset_t *nsp,
00133                    sigset_t *osp);
00134 
00135   ACE_NAMESPACE_INLINE_FUNCTION
00136   int sigsuspend (const sigset_t *set);
00137 
00138 
00139 
00140 } 
00141 
00142 ACE_END_VERSIONED_NAMESPACE_DECL
00143 
00144 # if defined (ACE_HAS_INLINED_OSCALLS)
00145 #   if defined (ACE_INLINE)
00146 #     undef ACE_INLINE
00147 #   endif 
00148 #   define ACE_INLINE inline
00149 #   include "ace/OS_NS_signal.inl"
00150 # endif 
00151 
00152 # include  "ace/post.h"
00153 #endif