Drop _NSIG to 42 instead of 65 (XCC)
[akaros.git] / tools / compilers / gcc-glibc / glibc-2.19-akaros / sysdeps / akaros / bits / signum.h
1 /* Signal number definitions.  Linux version.
2    Copyright (C) 1995,1996,1997,1998,1999,2003 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, write to the Free
17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18    02111-1307 USA.  */
19
20 #ifdef  _SIGNAL_H
21
22 /* Fake signal functions.  */
23 #define SIG_ERR ((__sighandler_t) -1)           /* Error return.  */
24 #define SIG_DFL ((__sighandler_t) 0)            /* Default action.  */
25 #define SIG_IGN ((__sighandler_t) 1)            /* Ignore signal.  */
26
27 #ifdef __USE_UNIX98
28 # define SIG_HOLD       ((__sighandler_t) 2)    /* Add signal to hold mask.  */
29 #endif
30
31
32 /* Signals.  */
33 #define SIGHUP          1       /* Hangup (POSIX).  */
34 #define SIGINT          2       /* Interrupt (ANSI).  */
35 #define SIGQUIT         3       /* Quit (POSIX).  */
36 #define SIGILL          4       /* Illegal instruction (ANSI).  */
37 #define SIGTRAP         5       /* Trace trap (POSIX).  */
38 #define SIGABRT         6       /* Abort (ANSI).  */
39 #define SIGIOT          6       /* IOT trap (4.2 BSD).  */
40 #define SIGBUS          7       /* BUS error (4.2 BSD).  */
41 #define SIGFPE          8       /* Floating-point exception (ANSI).  */
42 #define SIGKILL         9       /* Kill, unblockable (POSIX).  */
43 #define SIGUSR1         10      /* User-defined signal 1 (POSIX).  */
44 #define SIGSEGV         11      /* Segmentation violation (ANSI).  */
45 #define SIGUSR2         12      /* User-defined signal 2 (POSIX).  */
46 #define SIGPIPE         13      /* Broken pipe (POSIX).  */
47 #define SIGALRM         14      /* Alarm clock (POSIX).  */
48 #define SIGTERM         15      /* Termination (ANSI).  */
49 #define SIGSTKFLT       16      /* Stack fault.  */
50 #define SIGCLD          SIGCHLD /* Same as SIGCHLD (System V).  */
51 #define SIGCHLD         17      /* Child status has changed (POSIX).  */
52 #define SIGCONT         18      /* Continue (POSIX).  */
53 #define SIGSTOP         19      /* Stop, unblockable (POSIX).  */
54 #define SIGTSTP         20      /* Keyboard stop (POSIX).  */
55 #define SIGTTIN         21      /* Background read from tty (POSIX).  */
56 #define SIGTTOU         22      /* Background write to tty (POSIX).  */
57 #define SIGURG          23      /* Urgent condition on socket (4.2 BSD).  */
58 #define SIGXCPU         24      /* CPU limit exceeded (4.2 BSD).  */
59 #define SIGXFSZ         25      /* File size limit exceeded (4.2 BSD).  */
60 #define SIGVTALRM       26      /* Virtual alarm clock (4.2 BSD).  */
61 #define SIGPROF         27      /* Profiling alarm clock (4.2 BSD).  */
62 #define SIGWINCH        28      /* Window size change (4.3 BSD, Sun).  */
63 #define SIGPOLL         SIGIO   /* Pollable event occurred (System V).  */
64 #define SIGIO           29      /* I/O now possible (4.2 BSD).  */
65 #define SIGPWR          30      /* Power failure restart (System V).  */
66 #define SIGSYS          31      /* Bad system call.  */
67 #define SIGUNUSED       31
68
69 /* _NSIG represents the biggest signal number + 1 (including real-time
70  * signals).  We choose 42 in homage to h2g2, but also to show that it's not a
71  * magic number, like 32 or 64.  It just happens to be the number of rt signals
72  * that we may (probably won't support in the future).  At any rate, this
73  * number must ALWAYS be <= 64 because we are using a long to represent a
74  * sigset.  In Akaros we will likely implment all necessary real-time stuff (if
75  * we need it) using events directly, so this point is moot.  Leaving it at 65
76  * was problematic though because you can't represent all signals (based 1) in
77  * a single long, adding to weird bugs that we would like to avoid in the
78  * future.  */
79 #define _NSIG           42
80
81 /* We leave these arround incase we decide to imlplement them later, but
82  * currently these __libc* functions are not implemented anywhere on akaros. */
83 #define SIGRTMIN        (__libc_current_sigrtmin ())
84 #define SIGRTMAX        (__libc_current_sigrtmax ())
85
86 /* These are the hard limits of the kernel.  These values should not be
87    used directly at user level.  */
88 #define __SIGRTMIN      32
89 #define __SIGRTMAX      (_NSIG - 1)
90
91 #endif  /* <signal.h> included.  */