1 #ifndef _ASM_SIGNAL_H 2 #define _ASM_SIGNAL_H 3 4 #include <linux/types.h> 5 6 #ifndef __KERNEL__ 7 /* Here we must cater to libcs that poke about in kernel headers. */ 8 9 #define NSIG 32 10 typedef unsigned long sigset_t; 11 12 #endif /* !__KERNEL__ */ 13 14 #define SA_RESTORER 0x04000000 /* to get struct sigaction correct */ 15 16 #include <asm-generic/signal.h> 17 18 #ifdef __KERNEL__ 19 struct old_sigaction { 20 __sighandler_t sa_handler; 21 old_sigset_t sa_mask; 22 unsigned long sa_flags; 23 __sigrestore_t sa_restorer; 24 }; 25 26 #else 27 /* Here we must cater to libcs that poke about in kernel headers. */ 28 29 struct sigaction { 30 union { 31 __sighandler_t _sa_handler; 32 void (*_sa_sigaction)(int, struct siginfo *, void *); 33 } _u; 34 sigset_t sa_mask; 35 unsigned long sa_flags; 36 void (*sa_restorer)(void); 37 }; 38 39 #define sa_handler _u._sa_handler 40 #define sa_sigaction _u._sa_sigaction 41 42 #endif /* __KERNEL__ */ 43 44 #endif /* _ASM_SIGNAL_H */ 45