1*4882a593Smuzhiyun #ifndef __ASM_GENERIC_SIGNAL_H 2*4882a593Smuzhiyun #define __ASM_GENERIC_SIGNAL_H 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #include <linux/types.h> 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #define _NSIG 64 7*4882a593Smuzhiyun #define _NSIG_BPW BITS_PER_LONG 8*4882a593Smuzhiyun #define _NSIG_WORDS (_NSIG / _NSIG_BPW) 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun #define SIGHUP 1 11*4882a593Smuzhiyun #define SIGINT 2 12*4882a593Smuzhiyun #define SIGQUIT 3 13*4882a593Smuzhiyun #define SIGILL 4 14*4882a593Smuzhiyun #define SIGTRAP 5 15*4882a593Smuzhiyun #define SIGABRT 6 16*4882a593Smuzhiyun #define SIGIOT 6 17*4882a593Smuzhiyun #define SIGBUS 7 18*4882a593Smuzhiyun #define SIGFPE 8 19*4882a593Smuzhiyun #define SIGKILL 9 20*4882a593Smuzhiyun #define SIGUSR1 10 21*4882a593Smuzhiyun #define SIGSEGV 11 22*4882a593Smuzhiyun #define SIGUSR2 12 23*4882a593Smuzhiyun #define SIGPIPE 13 24*4882a593Smuzhiyun #define SIGALRM 14 25*4882a593Smuzhiyun #define SIGTERM 15 26*4882a593Smuzhiyun #define SIGSTKFLT 16 27*4882a593Smuzhiyun #define SIGCHLD 17 28*4882a593Smuzhiyun #define SIGCONT 18 29*4882a593Smuzhiyun #define SIGSTOP 19 30*4882a593Smuzhiyun #define SIGTSTP 20 31*4882a593Smuzhiyun #define SIGTTIN 21 32*4882a593Smuzhiyun #define SIGTTOU 22 33*4882a593Smuzhiyun #define SIGURG 23 34*4882a593Smuzhiyun #define SIGXCPU 24 35*4882a593Smuzhiyun #define SIGXFSZ 25 36*4882a593Smuzhiyun #define SIGVTALRM 26 37*4882a593Smuzhiyun #define SIGPROF 27 38*4882a593Smuzhiyun #define SIGWINCH 28 39*4882a593Smuzhiyun #define SIGIO 29 40*4882a593Smuzhiyun #define SIGPOLL SIGIO 41*4882a593Smuzhiyun /* 42*4882a593Smuzhiyun #define SIGLOST 29 43*4882a593Smuzhiyun */ 44*4882a593Smuzhiyun #define SIGPWR 30 45*4882a593Smuzhiyun #define SIGSYS 31 46*4882a593Smuzhiyun #define SIGUNUSED 31 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* These should not be considered constants from userland. */ 49*4882a593Smuzhiyun #define SIGRTMIN 32 50*4882a593Smuzhiyun #ifndef SIGRTMAX 51*4882a593Smuzhiyun #define SIGRTMAX _NSIG 52*4882a593Smuzhiyun #endif 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun /* 55*4882a593Smuzhiyun * SA_FLAGS values: 56*4882a593Smuzhiyun * 57*4882a593Smuzhiyun * SA_ONSTACK indicates that a registered stack_t will be used. 58*4882a593Smuzhiyun * SA_RESTART flag to get restarting signals (which were the default long ago) 59*4882a593Smuzhiyun * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 60*4882a593Smuzhiyun * SA_RESETHAND clears the handler when the signal is delivered. 61*4882a593Smuzhiyun * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 62*4882a593Smuzhiyun * SA_NODEFER prevents the current signal from being masked in the handler. 63*4882a593Smuzhiyun * 64*4882a593Smuzhiyun * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 65*4882a593Smuzhiyun * Unix names RESETHAND and NODEFER respectively. 66*4882a593Smuzhiyun */ 67*4882a593Smuzhiyun #define SA_NOCLDSTOP 0x00000001 68*4882a593Smuzhiyun #define SA_NOCLDWAIT 0x00000002 69*4882a593Smuzhiyun #define SA_SIGINFO 0x00000004 70*4882a593Smuzhiyun #define SA_ONSTACK 0x08000000 71*4882a593Smuzhiyun #define SA_RESTART 0x10000000 72*4882a593Smuzhiyun #define SA_NODEFER 0x40000000 73*4882a593Smuzhiyun #define SA_RESETHAND 0x80000000 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #define SA_NOMASK SA_NODEFER 76*4882a593Smuzhiyun #define SA_ONESHOT SA_RESETHAND 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun /* 79*4882a593Smuzhiyun * New architectures should not define the obsolete 80*4882a593Smuzhiyun * SA_RESTORER 0x04000000 81*4882a593Smuzhiyun */ 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun /* 84*4882a593Smuzhiyun * sigaltstack controls 85*4882a593Smuzhiyun */ 86*4882a593Smuzhiyun #define SS_ONSTACK 1 87*4882a593Smuzhiyun #define SS_DISABLE 2 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun #define MINSIGSTKSZ 2048 90*4882a593Smuzhiyun #define SIGSTKSZ 8192 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 93*4882a593Smuzhiyun typedef struct { 94*4882a593Smuzhiyun unsigned long sig[_NSIG_WORDS]; 95*4882a593Smuzhiyun } sigset_t; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun /* not actually used, but required for linux/syscalls.h */ 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun #endif /* _ASM_GENERIC_SIGNAL_H */ 102