signal.h raw

   1  #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
   2   || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
   3  
   4  #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
   5  #define MINSIGSTKSZ 4096
   6  #define SIGSTKSZ    10240
   7  #endif
   8  
   9  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  10  
  11  typedef unsigned long greg_t, gregset_t[27];
  12  
  13  typedef struct {
  14  	unsigned long mask;
  15  	unsigned long addr;
  16  } __psw_t;
  17  
  18  typedef union {
  19  	double d;
  20  	float f;
  21  } fpreg_t;
  22  
  23  typedef struct {
  24  	unsigned fpc;
  25  	fpreg_t fprs[16];
  26  } fpregset_t;
  27  
  28  typedef struct
  29  {
  30  	__psw_t psw;
  31  	unsigned long gregs[16];
  32  	unsigned aregs[16];
  33  	fpregset_t fpregs;
  34  } mcontext_t;
  35  
  36  struct sigcontext {
  37  	unsigned long oldmask[1];
  38  	struct {
  39  		struct {
  40  			__psw_t psw;
  41  			unsigned long gprs[16];
  42  			unsigned acrs[16];
  43  		} regs;
  44  		struct {
  45  			unsigned fpc;
  46  			double fprs[16];
  47  		} fpregs;
  48  	} *sregs;
  49  };
  50  
  51  #else
  52  
  53  typedef struct {
  54  	unsigned long __regs1[18];
  55  	unsigned __regs2[18];
  56  	double __regs3[16];
  57  } mcontext_t;
  58  
  59  #endif
  60  
  61  struct sigaltstack {
  62  	void *ss_sp;
  63  	int ss_flags;
  64  	size_t ss_size;
  65  };
  66  
  67  typedef struct __ucontext {
  68  	unsigned long uc_flags;
  69  	struct __ucontext *uc_link;
  70  	stack_t uc_stack;
  71  	mcontext_t uc_mcontext;
  72  	sigset_t uc_sigmask;
  73  } ucontext_t;
  74  
  75  #define SA_NOCLDSTOP  1U
  76  #define SA_NOCLDWAIT  2U
  77  #define SA_SIGINFO    4U
  78  #define SA_ONSTACK    0x08000000U
  79  #define SA_RESTART    0x10000000U
  80  #define SA_NODEFER    0x40000000U
  81  #define SA_RESETHAND  0x80000000U
  82  #define SA_RESTORER   0x04000000U
  83  
  84  #endif
  85  
  86  #define SIGHUP    1
  87  #define SIGINT    2
  88  #define SIGQUIT   3
  89  #define SIGILL    4
  90  #define SIGTRAP   5
  91  #define SIGABRT   6
  92  #define SIGIOT    SIGABRT
  93  #define SIGBUS    7
  94  #define SIGFPE    8
  95  #define SIGKILL   9
  96  #define SIGUSR1   10
  97  #define SIGSEGV   11
  98  #define SIGUSR2   12
  99  #define SIGPIPE   13
 100  #define SIGALRM   14
 101  #define SIGTERM   15
 102  #define SIGSTKFLT 16
 103  #define SIGCHLD   17
 104  #define SIGCONT   18
 105  #define SIGSTOP   19
 106  #define SIGTSTP   20
 107  #define SIGTTIN   21
 108  #define SIGTTOU   22
 109  #define SIGURG    23
 110  #define SIGXCPU   24
 111  #define SIGXFSZ   25
 112  #define SIGVTALRM 26
 113  #define SIGPROF   27
 114  #define SIGWINCH  28
 115  #define SIGIO     29
 116  #define SIGPOLL   SIGIO
 117  #define SIGPWR    30
 118  #define SIGSYS    31
 119  #define SIGUNUSED SIGSYS
 120  
 121  #define _NSIG 65
 122