github.com/afumu/libc@v0.0.6/musl/arch/x32/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_R8 = 0 };
    11  #define REG_R8 REG_R8
    12  enum { REG_R9 = 1 };
    13  #define REG_R9 REG_R9
    14  enum { REG_R10 = 2 };
    15  #define REG_R10 REG_R10
    16  enum { REG_R11 = 3 };
    17  #define REG_R11 REG_R11
    18  enum { REG_R12 = 4 };
    19  #define REG_R12 REG_R12
    20  enum { REG_R13 = 5 };
    21  #define REG_R13 REG_R13
    22  enum { REG_R14 = 6 };
    23  #define REG_R14 REG_R14
    24  enum { REG_R15 = 7 };
    25  #define REG_R15 REG_R15
    26  enum { REG_RDI = 8 };
    27  #define REG_RDI REG_RDI
    28  enum { REG_RSI = 9 };
    29  #define REG_RSI REG_RSI
    30  enum { REG_RBP = 10 };
    31  #define REG_RBP REG_RBP
    32  enum { REG_RBX = 11 };
    33  #define REG_RBX REG_RBX
    34  enum { REG_RDX = 12 };
    35  #define REG_RDX REG_RDX
    36  enum { REG_RAX = 13 };
    37  #define REG_RAX REG_RAX
    38  enum { REG_RCX = 14 };
    39  #define REG_RCX REG_RCX
    40  enum { REG_RSP = 15 };
    41  #define REG_RSP REG_RSP
    42  enum { REG_RIP = 16 };
    43  #define REG_RIP REG_RIP
    44  enum { REG_EFL = 17 };
    45  #define REG_EFL REG_EFL
    46  enum { REG_CSGSFS = 18 };
    47  #define REG_CSGSFS REG_CSGSFS
    48  enum { REG_ERR = 19 };
    49  #define REG_ERR REG_ERR
    50  enum { REG_TRAPNO = 20 };
    51  #define REG_TRAPNO REG_TRAPNO
    52  enum { REG_OLDMASK = 21 };
    53  #define REG_OLDMASK REG_OLDMASK
    54  enum { REG_CR2 = 22 };
    55  #define REG_CR2 REG_CR2
    56  #endif
    57  
    58  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
    59  typedef long long greg_t, gregset_t[23];
    60  typedef struct _fpstate {
    61  	unsigned short cwd, swd, ftw, fop;
    62  	unsigned long long rip, rdp;
    63  	unsigned mxcsr, mxcr_mask;
    64  	struct {
    65  		unsigned short significand[4], exponent, padding[3];
    66  	} _st[8];
    67  	struct {
    68  		unsigned element[4];
    69  	} _xmm[16];
    70  	unsigned padding[24];
    71  } *fpregset_t;
    72  struct sigcontext {
    73  	unsigned long long r8, r9, r10, r11, r12, r13, r14, r15;
    74  	unsigned long long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
    75  	unsigned short cs, gs, fs, __pad0;
    76  	unsigned long long err, trapno, oldmask, cr2;
    77  	struct _fpstate *fpstate;
    78  	unsigned long long __reserved1[8];
    79  };
    80  typedef struct {
    81  	gregset_t gregs;
    82  	fpregset_t fpregs;
    83  	unsigned long long __reserved1[8];
    84  } mcontext_t;
    85  #else
    86  typedef struct {
    87  	unsigned long long __space[32];
    88  } mcontext_t;
    89  #endif
    90  
    91  struct sigaltstack {
    92  	void *ss_sp;
    93  	int ss_flags;
    94  	size_t ss_size;
    95  };
    96  
    97  typedef struct __ucontext {
    98  	unsigned long uc_flags;
    99  	struct __ucontext *uc_link;
   100  	stack_t uc_stack;
   101  	mcontext_t uc_mcontext;
   102  	sigset_t uc_sigmask;
   103  	unsigned long long __fpregs_mem[64];
   104  } ucontext_t;
   105  
   106  #define SA_NOCLDSTOP  1
   107  #define SA_NOCLDWAIT  2
   108  #define SA_SIGINFO    4
   109  #define SA_ONSTACK    0x08000000
   110  #define SA_RESTART    0x10000000
   111  #define SA_NODEFER    0x40000000
   112  #define SA_RESETHAND  0x80000000
   113  #define SA_RESTORER   0x04000000
   114  
   115  #endif
   116  
   117  #define SIGHUP    1
   118  #define SIGINT    2
   119  #define SIGQUIT   3
   120  #define SIGILL    4
   121  #define SIGTRAP   5
   122  #define SIGABRT   6
   123  #define SIGIOT    SIGABRT
   124  #define SIGBUS    7
   125  #define SIGFPE    8
   126  #define SIGKILL   9
   127  #define SIGUSR1   10
   128  #define SIGSEGV   11
   129  #define SIGUSR2   12
   130  #define SIGPIPE   13
   131  #define SIGALRM   14
   132  #define SIGTERM   15
   133  #define SIGSTKFLT 16
   134  #define SIGCHLD   17
   135  #define SIGCONT   18
   136  #define SIGSTOP   19
   137  #define SIGTSTP   20
   138  #define SIGTTIN   21
   139  #define SIGTTOU   22
   140  #define SIGURG    23
   141  #define SIGXCPU   24
   142  #define SIGXFSZ   25
   143  #define SIGVTALRM 26
   144  #define SIGPROF   27
   145  #define SIGWINCH  28
   146  #define SIGIO     29
   147  #define SIGPOLL   29
   148  #define SIGPWR    30
   149  #define SIGSYS    31
   150  #define SIGUNUSED SIGSYS
   151  
   152  #define _NSIG 65
   153