1 #ifndef _ASM_X86_SIGNAL_H 2 #define _ASM_X86_SIGNAL_H 3 4 #ifndef __ASSEMBLY__ 5 #include <linux/types.h> 6 #include <linux/time.h> 7 8 9 /* Avoid too many header ordering problems. */ 10 struct siginfo; 11 12 /* Here we must cater to libcs that poke about in kernel headers. */ 13 14 #define NSIG 32 15 typedef unsigned long sigset_t; 16 17 #endif /* __ASSEMBLY__ */ 18 19 #define SIGHUP 1 20 #define SIGINT 2 21 #define SIGQUIT 3 22 #define SIGILL 4 23 #define SIGTRAP 5 24 #define SIGABRT 6 25 #define SIGIOT 6 26 #define SIGBUS 7 27 #define SIGFPE 8 28 #define SIGKILL 9 29 #define SIGUSR1 10 30 #define SIGSEGV 11 31 #define SIGUSR2 12 32 #define SIGPIPE 13 33 #define SIGALRM 14 34 #define SIGTERM 15 35 #define SIGSTKFLT 16 36 #define SIGCHLD 17 37 #define SIGCONT 18 38 #define SIGSTOP 19 39 #define SIGTSTP 20 40 #define SIGTTIN 21 41 #define SIGTTOU 22 42 #define SIGURG 23 43 #define SIGXCPU 24 44 #define SIGXFSZ 25 45 #define SIGVTALRM 26 46 #define SIGPROF 27 47 #define SIGWINCH 28 48 #define SIGIO 29 49 #define SIGPOLL SIGIO 50 /* 51 #define SIGLOST 29 52 */ 53 #define SIGPWR 30 54 #define SIGSYS 31 55 #define SIGUNUSED 31 56 57 /* These should not be considered constants from userland. */ 58 #define SIGRTMIN 32 59 #define SIGRTMAX _NSIG 60 61 /* 62 * SA_FLAGS values: 63 * 64 * SA_ONSTACK indicates that a registered stack_t will be used. 65 * SA_RESTART flag to get restarting signals (which were the default long ago) 66 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 67 * SA_RESETHAND clears the handler when the signal is delivered. 68 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 69 * SA_NODEFER prevents the current signal from being masked in the handler. 70 * 71 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 72 * Unix names RESETHAND and NODEFER respectively. 73 */ 74 #define SA_NOCLDSTOP 0x00000001u 75 #define SA_NOCLDWAIT 0x00000002u 76 #define SA_SIGINFO 0x00000004u 77 #define SA_ONSTACK 0x08000000u 78 #define SA_RESTART 0x10000000u 79 #define SA_NODEFER 0x40000000u 80 #define SA_RESETHAND 0x80000000u 81 82 #define SA_NOMASK SA_NODEFER 83 #define SA_ONESHOT SA_RESETHAND 84 85 #define SA_RESTORER 0x04000000 86 87 /* 88 * sigaltstack controls 89 */ 90 #define SS_ONSTACK 1 91 #define SS_DISABLE 2 92 93 #define MINSIGSTKSZ 2048 94 #define SIGSTKSZ 8192 95 96 #include <asm-generic/signal-defs.h> 97 98 #ifndef __ASSEMBLY__ 99 100 101 #ifdef __i386__ 102 /* Here we must cater to libcs that poke about in kernel headers. */ 103 104 struct sigaction { 105 union { 106 __sighandler_t _sa_handler; 107 void (*_sa_sigaction)(int, struct siginfo *, void *); 108 } _u; 109 sigset_t sa_mask; 110 unsigned long sa_flags; 111 void (*sa_restorer)(void); 112 }; 113 114 #define sa_handler _u._sa_handler 115 #define sa_sigaction _u._sa_sigaction 116 117 #else /* __i386__ */ 118 119 struct sigaction { 120 __sighandler_t sa_handler; 121 unsigned long sa_flags; 122 __sigrestore_t sa_restorer; 123 sigset_t sa_mask; /* mask last for extensibility */ 124 }; 125 126 struct k_sigaction { 127 struct sigaction sa; 128 }; 129 130 #endif /* !__i386__ */ 131 132 typedef struct sigaltstack { 133 void *ss_sp; 134 int ss_flags; 135 size_t ss_size; 136 } stack_t; 137 138 #endif /* __ASSEMBLY__ */ 139 140 #endif /* _ASM_X86_SIGNAL_H */ 141