fcntl.h: add some linux-specific F_ macros
[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 #endif
56
57 #define SIGHUP    1
58 #define SIGINT    2
59 #define SIGQUIT   3
60 #define SIGILL    4
61 #define SIGTRAP   5
62 #define SIGABRT   6
63 #define SIGBUS    7
64 #define SIGFPE    8
65 #define SIGKILL   9
66 #define SIGUSR1   10
67 #define SIGSEGV   11
68 #define SIGUSR2   12
69 #define SIGPIPE   13
70 #define SIGALRM   14
71 #define SIGTERM   15
72 #define SIGSTKFLT 16
73 #define SIGCHLD   17
74 #define SIGCONT   18
75 #define SIGSTOP   19
76 #define SIGTSTP   20
77 #define SIGTTIN   21
78 #define SIGTTOU   22
79 #define SIGURG    23
80 #define SIGXCPU   24
81 #define SIGXFSZ   25
82 #define SIGVTALRM 26
83 #define SIGPROF   27
84 #define SIGWINCH  28
85 #define SIGIO     29
86 #define SIGPOLL   29
87 #define SIGPWR    30
88 #define SIGSYS    31
89 #define SIGUNUSED SIGSYS
90
91 #define _NSIG 65