1 #ifndef _KERNEL_SIGACTION_H
2 # define _KERNEL_SIGACTION_H
3 
4 #ifdef SA_RESTORER
5 # define HAS_SA_RESTORER 1
6 #endif
7 
8 /* This is the sigaction structure from the Linux 3.2 kernel.  */
9 struct kernel_sigaction
10 {
11   __sighandler_t k_sa_handler;
12   unsigned long sa_flags;
13 #ifdef HAS_SA_RESTORER
14   void (*sa_restorer) (void);
15 #endif
16   /* glibc sigset is larger than kernel expected one, however sigaction
17      passes the kernel expected size on rt_sigaction syscall.  */
18   sigset_t sa_mask;
19 };
20 
21 #ifndef SET_SA_RESTORER
22 # define SET_SA_RESTORER(kact, act)
23 #endif
24 #ifndef RESET_SA_RESTORER
25 # define RESET_SA_RESTORER(act, kact)
26 #endif
27 
28 #endif
29