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