some types and constants modified for compatibility with Microsoft POSIX
[reactos.git] / posix / include / signal.h
index c7afdc6..c8d6379 100644 (file)
@@ -1,3 +1,5 @@
+/* $Id: signal.h,v 1.3 2002/03/22 01:26:28 hyperion Exp $
+ */
 /*
  * signal.h
  *
@@ -36,13 +38,10 @@ struct timespec;
 
 typedef int sig_atomic_t; /* Integral type of an object that can be
                                             accessed as an atomic entity, even in the
-                              presence of asynchronous interrupts */ /* FIXME? */
+                              presence of asynchronous interrupts */
 
-typedef struct __tagsigset_t
-{
- int _dummy;
-} sigset_t; /* Integral or structure type of an object used to represent
-               sets of signals. */ /* TODO */
+typedef unsigned long int sigset_t; /* Integral or structure type of an object
+                                          used to represent sets of signals. */
 
 union sigval
 {
@@ -78,8 +77,7 @@ struct sigaction
 {
  void     (* sa_handler)(int); /* what to do on receipt of signal */
  sigset_t   sa_mask;           /* set of signals to be blocked during
-                                  execution of the signal handling
-                                 function */
+                                  execution of the signal handling function */
  int        sa_flags;          /* special flags */
  void (* sa_sigaction)(int, siginfo_t *, void *);
                                /* pointer to signal handler function
@@ -100,84 +98,51 @@ struct sigstack
 };
 
 /* CONSTANTS */
-/* Request for default signal handling. */
-#define SIG_DFL  ((void (*)(int))(0))
-/* Return value from signal() in case of error. */
-#define SIG_ERR  ((void (*)(int))(1))
-/* Request that signal be held. */
-#define SIG_HOLD ((void (*)(int))(2))
-/* Request that signal be ignored. */
-#define SIG_IGN  ((void (*)(int))(3))
-
-/* No asynchronous notification will be delivered when the event of
-   interest occurs. */
-#define SIGEV_NONE   (0)
-/* A queued signal, with an application-defined value, will be generated
-   when the event of interest occurs. */
-#define SIGEV_SIGNAL (1)
-/* A notification function will be called to perform notification. */
-#define SIGEV_THREAD (2)
+#define SIG_DFL  ((void (*)(int))(0xFFFFFFFF)) /* Request for default signal handling. */
+#define SIG_ERR  ((void (*)(int))(0x00000000)) /* Return value from signal() in case of error. */
+#define SIG_IGN  ((void (*)(int))(0x00000001)) /* Request that signal be ignored. */
+#define SIG_HOLD ((void (*)(int))(0x00000002)) /* Request that signal be held. */
+
+#define SIGEV_NONE   (0) /* No asynchronous notification will be delivered \
+                            when the event of interest occurs. */
+#define SIGEV_SIGNAL (1) /* A queued signal, with an application-defined \
+                            value, will be generated when the event of \
+                            interest occurs. */
+#define SIGEV_THREAD (2) /* A notification function will be called to perform \
+                            notification. */
 
 /* TODO: realtime features not supported yet */
 #define SIGRTMIN (-1)
 #define SIGRTMAX (-1)
 
-/* Process abort signal. */
-#define SIGABRT   ( 1)
-/* Alarm clock. */
-#define SIGALRM   ( 2)
-/* Erroneous arithmetic operation. */
-#define SIGFPE    ( 3)
-/* Hangup. */
-#define SIGHUP    ( 4)
-/* Illegal instruction. */
-#define SIGILL    ( 5)
-/* Terminal interrupt signal. */
-#define SIGINT    ( 6)
-/* Kill (cannot be caught or ignored). */
-#define SIGKILL   ( 7)
-/* Write on a pipe with no one to read it. */
-#define SIGPIPE   ( 8)
-/* Terminal quit signal. */
-#define SIGQUIT   ( 9)
-/* Invalid memory reference. */
-#define SIGSEGV   (10)
-/* Termination signal. */
-#define SIGTERM   (11)
-/* User-defined signal 1. */
-#define SIGUSR1   (12)
-/* User-defined signal 2. */
-#define SIGUSR2   (13)
-/* Child process terminated or stopped. */
-#define SIGCHLD   (14)
-/* Continue executing, if stopped. */
-#define SIGCONT   (15)
-/* Stop executing (cannot be caught or ignored). */
-#define SIGSTOP   (16)
-/* Terminal stop signal. */
-#define SIGTSTP   (17)
-/* Background process attempting read. */
-#define SIGTTIN   (18)
-/* Background process attempting write. */
-#define SIGTTOU   (19)
-/* Access to an undefined portion of a memory object. */
-#define SIGBUS    (20)
-/* Pollable event. */
-#define SIGPOLL   (21)
-/* Profiling timer expired. */
-#define SIGPROF   (22)
-/* Bad system call. */
-#define SIGSYS    (23)
-/* Trace/breakpoint trap. */
-#define SIGTRAP   (24)
-/* High bandwidth data is available at a socket. */
-#define SIGURG    (25)
-/* Virtual timer expired. */
-#define SIGVTALRM (26)
-/* CPU time limit exceeded. */
-#define SIGXCPU   (27)
-/* File size limit exceeded. */
-#define SIGXFSZ   (28)
+#define SIGABRT   ( 1) /* Process abort signal. */
+#define SIGALRM   ( 2) /* Alarm clock. */
+#define SIGFPE    ( 3) /* Erroneous arithmetic operation. */
+#define SIGHUP    ( 4) /* Hangup. */
+#define SIGILL    ( 5) /* Illegal instruction. */
+#define SIGINT    ( 6) /* Terminal interrupt signal. */
+#define SIGKILL   ( 7) /* Kill (cannot be caught or ignored). */
+#define SIGPIPE   ( 8) /* Write on a pipe with no one to read it. */
+#define SIGQUIT   ( 9) /* Terminal quit signal. */
+#define SIGSEGV   (10) /* Invalid memory reference. */
+#define SIGTERM   (11) /* Termination signal. */
+#define SIGUSR1   (12) /* User-defined signal 1. */
+#define SIGUSR2   (13) /* User-defined signal 2. */
+#define SIGCHLD   (14) /* Child process terminated or stopped. */
+#define SIGCONT   (15) /* Continue executing, if stopped. */
+#define SIGSTOP   (16) /* Stop executing (cannot be caught or ignored). */
+#define SIGTSTP   (17) /* Terminal stop signal. */
+#define SIGTTIN   (18) /* Background process attempting read. */
+#define SIGTTOU   (19) /* Background process attempting write. */
+#define SIGBUS    (20) /* Access to an undefined portion of a memory object. */
+#define SIGPOLL   (21) /* Pollable event. */
+#define SIGPROF   (22) /* Profiling timer expired. */
+#define SIGSYS    (23) /* Bad system call. */
+#define SIGTRAP   (24) /* Trace/breakpoint trap. */
+#define SIGURG    (25) /* High bandwidth data is available at a socket. */
+#define SIGVTALRM (26) /* Virtual timer expired. */
+#define SIGXCPU   (27) /* CPU time limit exceeded. */
+#define SIGXFSZ   (28) /* File size limit exceeded. */
 
 /* FIXME: the following constants need to be reviewed */
 /* Do not generate SIGCHLD when children stop. */