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