bits/signal.h: add register names for x86(_64)
[musl] / arch / x86_64 / bits / signal.h
1 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
2  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
3
4 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
5 typedef long long greg_t, gregset_t[23];
6 typedef struct _fpstate {
7         unsigned short cwd, swd, ftw, fop;
8         unsigned long long rip, rdp;
9         unsigned mxcsr, mxcr_mask;
10         struct {
11                 unsigned short significand[4], exponent, padding[3];
12         } _st[8];
13         struct {
14                 unsigned element[4];
15         } _xmm[16];
16         unsigned padding[24];
17 } *fpregset_t;
18 struct sigcontext {
19         unsigned long r8, r9, r10, r11, r12, r13, r14, r15;
20         unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags;
21         unsigned short cs, gs, fs, __pad0;
22         unsigned long err, trapno, oldmask, cr2;
23         struct _fpstate *fpstate;
24         unsigned long __reserved1[8];
25 };
26 typedef struct {
27         gregset_t gregs;
28         fpregset_t fpregs;
29         unsigned long long __reserved1[8];
30 } mcontext_t;
31 #else
32 typedef struct {
33         unsigned long __space[32];
34 } mcontext_t;
35 #endif
36
37 typedef struct __ucontext {
38         unsigned long uc_flags;
39         struct __ucontext *uc_link;
40         stack_t uc_stack;
41         mcontext_t uc_mcontext;
42         sigset_t uc_sigmask;
43         unsigned long __fpregs_mem[64];
44 } ucontext_t;
45
46 #define SA_NOCLDSTOP  1
47 #define SA_NOCLDWAIT  2
48 #define SA_SIGINFO    4
49 #define SA_ONSTACK    0x08000000
50 #define SA_RESTART    0x10000000
51 #define SA_NODEFER    0x40000000
52 #define SA_RESETHAND  0x80000000
53 #define SA_RESTORER   0x04000000
54
55 #define REG_R8          0
56 #define REG_R9          1
57 #define REG_R10         2
58 #define REG_R11         3
59 #define REG_R12         4
60 #define REG_R13         5
61 #define REG_R14         6
62 #define REG_R15         7
63 #define REG_RDI         8
64 #define REG_RSI         9
65 #define REG_RBP         10
66 #define REG_RBX         11
67 #define REG_RDX         12
68 #define REG_RAX         13
69 #define REG_RCX         14
70 #define REG_RSP         15
71 #define REG_RIP         16
72 #define REG_EFL         17
73 #define REG_CSGFS       18
74 #define REG_ERR         19
75 #define REG_TRAPNO      20
76 #define REG_OLDMASK     21
77 #define REG_CR2         22
78
79 #endif
80
81 #define SIGHUP    1
82 #define SIGINT    2
83 #define SIGQUIT   3
84 #define SIGILL    4
85 #define SIGTRAP   5
86 #define SIGABRT   6
87 #define SIGBUS    7
88 #define SIGFPE    8
89 #define SIGKILL   9
90 #define SIGUSR1   10
91 #define SIGSEGV   11
92 #define SIGUSR2   12
93 #define SIGPIPE   13
94 #define SIGALRM   14
95 #define SIGTERM   15
96 #define SIGSTKFLT 16
97 #define SIGCHLD   17
98 #define SIGCONT   18
99 #define SIGSTOP   19
100 #define SIGTSTP   20
101 #define SIGTTIN   21
102 #define SIGTTOU   22
103 #define SIGURG    23
104 #define SIGXCPU   24
105 #define SIGXFSZ   25
106 #define SIGVTALRM 26
107 #define SIGPROF   27
108 #define SIGWINCH  28
109 #define SIGIO     29
110 #define SIGPOLL   29
111 #define SIGPWR    30
112 #define SIGSYS    31
113 #define SIGUNUSED SIGSYS
114
115 #define _NSIG 65
116