github.com/afumu/libc@v0.0.6/musl/arch/i386/bits/signal.h (about)

     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 2048
     6  #define SIGSTKSZ 8192
     7  #endif
     8  
     9  #ifdef _GNU_SOURCE
    10  enum { REG_GS = 0 };
    11  #define REG_GS REG_GS
    12  enum { REG_FS = 1 };
    13  #define REG_FS REG_FS
    14  enum { REG_ES = 2 };
    15  #define REG_ES REG_ES
    16  enum { REG_DS = 3 };
    17  #define REG_DS REG_DS
    18  enum { REG_EDI = 4 };
    19  #define REG_EDI REG_EDI
    20  enum { REG_ESI = 5 };
    21  #define REG_ESI REG_ESI
    22  enum { REG_EBP = 6 };
    23  #define REG_EBP REG_EBP
    24  enum { REG_ESP = 7 };
    25  #define REG_ESP REG_ESP
    26  enum { REG_EBX = 8 };
    27  #define REG_EBX REG_EBX
    28  enum { REG_EDX = 9 };
    29  #define REG_EDX REG_EDX
    30  enum { REG_ECX = 10 };
    31  #define REG_ECX REG_ECX
    32  enum { REG_EAX = 11 };
    33  #define REG_EAX REG_EAX
    34  enum { REG_TRAPNO = 12 };
    35  #define REG_TRAPNO REG_TRAPNO
    36  enum { REG_ERR = 13 };
    37  #define REG_ERR REG_ERR
    38  enum { REG_EIP = 14 };
    39  #define REG_EIP REG_EIP
    40  enum { REG_CS = 15 };
    41  #define REG_CS REG_CS
    42  enum { REG_EFL = 16 };
    43  #define REG_EFL REG_EFL
    44  enum { REG_UESP = 17 };
    45  #define REG_UESP REG_UESP
    46  enum { REG_SS = 18 };
    47  #define REG_SS REG_SS
    48  #endif
    49  
    50  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
    51  typedef int greg_t, gregset_t[19];
    52  typedef struct _fpstate {
    53  	unsigned long cw, sw, tag, ipoff, cssel, dataoff, datasel;
    54  	struct {
    55  		unsigned short significand[4], exponent;
    56  	} _st[8];
    57  	unsigned long status;
    58  } *fpregset_t;
    59  struct sigcontext {
    60  	unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh;
    61  	unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax;
    62  	unsigned long trapno, err, eip;
    63  	unsigned short cs, __csh;
    64  	unsigned long eflags, esp_at_signal;
    65  	unsigned short ss, __ssh;
    66  	struct _fpstate *fpstate;
    67  	unsigned long oldmask, cr2;
    68  };
    69  typedef struct {
    70  	gregset_t gregs;
    71  	fpregset_t fpregs;
    72  	unsigned long oldmask, cr2;
    73  } mcontext_t;
    74  #else
    75  typedef struct {
    76  	unsigned __space[22];
    77  } mcontext_t;
    78  #endif
    79  
    80  struct sigaltstack {
    81  	void *ss_sp;
    82  	int ss_flags;
    83  	size_t ss_size;
    84  };
    85  
    86  typedef struct __ucontext {
    87  	unsigned long uc_flags;
    88  	struct __ucontext *uc_link;
    89  	stack_t uc_stack;
    90  	mcontext_t uc_mcontext;
    91  	sigset_t uc_sigmask;
    92  	unsigned long __fpregs_mem[28];
    93  } ucontext_t;
    94  
    95  #define SA_NOCLDSTOP  1
    96  #define SA_NOCLDWAIT  2
    97  #define SA_SIGINFO    4
    98  #define SA_ONSTACK    0x08000000
    99  #define SA_RESTART    0x10000000
   100  #define SA_NODEFER    0x40000000
   101  #define SA_RESETHAND  0x80000000
   102  #define SA_RESTORER   0x04000000
   103  
   104  #endif
   105  
   106  #define SIGHUP    1
   107  #define SIGINT    2
   108  #define SIGQUIT   3
   109  #define SIGILL    4
   110  #define SIGTRAP   5
   111  #define SIGABRT   6
   112  #define SIGIOT    SIGABRT
   113  #define SIGBUS    7
   114  #define SIGFPE    8
   115  #define SIGKILL   9
   116  #define SIGUSR1   10
   117  #define SIGSEGV   11
   118  #define SIGUSR2   12
   119  #define SIGPIPE   13
   120  #define SIGALRM   14
   121  #define SIGTERM   15
   122  #define SIGSTKFLT 16
   123  #define SIGCHLD   17
   124  #define SIGCONT   18
   125  #define SIGSTOP   19
   126  #define SIGTSTP   20
   127  #define SIGTTIN   21
   128  #define SIGTTOU   22
   129  #define SIGURG    23
   130  #define SIGXCPU   24
   131  #define SIGXFSZ   25
   132  #define SIGVTALRM 26
   133  #define SIGPROF   27
   134  #define SIGWINCH  28
   135  #define SIGIO     29
   136  #define SIGPOLL   29
   137  #define SIGPWR    30
   138  #define SIGSYS    31
   139  #define SIGUNUSED SIGSYS
   140  
   141  #define _NSIG 65
   142