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 10typedef 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__ 19struct 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 29struct 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