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