root/include/linux/signal_types.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _LINUX_SIGNAL_TYPES_H
   3 #define _LINUX_SIGNAL_TYPES_H
   4 
   5 /*
   6  * Basic signal handling related data type definitions:
   7  */
   8 
   9 #include <linux/list.h>
  10 #include <uapi/linux/signal.h>
  11 
  12 typedef struct kernel_siginfo {
  13         __SIGINFO;
  14 } kernel_siginfo_t;
  15 
  16 /*
  17  * Real Time signals may be queued.
  18  */
  19 
  20 struct sigqueue {
  21         struct list_head list;
  22         int flags;
  23         kernel_siginfo_t info;
  24         struct user_struct *user;
  25 };
  26 
  27 /* flags values. */
  28 #define SIGQUEUE_PREALLOC       1
  29 
  30 struct sigpending {
  31         struct list_head list;
  32         sigset_t signal;
  33 };
  34 
  35 struct sigaction {
  36 #ifndef __ARCH_HAS_IRIX_SIGACTION
  37         __sighandler_t  sa_handler;
  38         unsigned long   sa_flags;
  39 #else
  40         unsigned int    sa_flags;
  41         __sighandler_t  sa_handler;
  42 #endif
  43 #ifdef __ARCH_HAS_SA_RESTORER
  44         __sigrestore_t sa_restorer;
  45 #endif
  46         sigset_t        sa_mask;        /* mask last for extensibility */
  47 };
  48 
  49 struct k_sigaction {
  50         struct sigaction sa;
  51 #ifdef __ARCH_HAS_KA_RESTORER
  52         __sigrestore_t ka_restorer;
  53 #endif
  54 };
  55 
  56 #ifdef CONFIG_OLD_SIGACTION
  57 struct old_sigaction {
  58         __sighandler_t sa_handler;
  59         old_sigset_t sa_mask;
  60         unsigned long sa_flags;
  61         __sigrestore_t sa_restorer;
  62 };
  63 #endif
  64 
  65 struct ksignal {
  66         struct k_sigaction ka;
  67         kernel_siginfo_t info;
  68         int sig;
  69 };
  70 
  71 #endif /* _LINUX_SIGNAL_TYPES_H */

/* [<][>][^][v][top][bottom][index][help] */