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