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