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