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