initial commit of the arm port
[musl] / arch / arm / bits / signal.h
1 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
2  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
3
4 typedef struct
5 #ifdef _GNU_SOURCE
6 sigcontext
7 #endif
8 {
9         unsigned long trap_no, error_code, oldmask;
10         unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
11         unsigned long arm_r4, arm_r5, arm_r6, arm_r7;
12         unsigned long arm_r8, arm_r9, arm_r10, arm_fp;
13         unsigned long arm_ip, arm_sp, arm_lr, arm_pc;
14         unsigned long arm_cpsr, fault_address;
15 } mcontext_t;
16
17 typedef struct __ucontext {
18         unsigned long uc_flags;
19         struct __ucontext *uc_link;
20         stack_t uc_stack;
21         mcontext_t uc_mcontext;
22         sigset_t uc_sigmask;
23         unsigned long uc_regspace[128];
24 } ucontext_t;
25
26 struct __siginfo
27 {
28         int si_signo;
29         int si_errno;
30         int si_code;
31         union
32         {
33                 char __pad[128 - 3*sizeof(int)];
34                 struct {
35                         pid_t si_pid;
36                         uid_t si_uid;
37                         union sigval si_sigval;
38                 } __rt;
39                 struct {
40                         unsigned int si_timer1;
41                         unsigned int si_timer2;
42                 } __timer;
43                 struct {
44                         pid_t si_pid;
45                         uid_t si_uid;
46                         int si_status;
47                         clock_t si_utime;
48                         clock_t si_stime;
49                 } __sigchld;
50                 struct {
51                         void *si_addr;
52                 } __sigfault;
53                 struct {
54                         long int si_band;
55                         int si_fd;
56                 } __sigpoll;
57         } __si_fields;
58 };
59
60 #define si_pid     __si_fields.__sigchld.si_pid
61 #define si_uid     __si_fields.__sigchld.si_uid
62 #define si_status  __si_fields.__sigchld.si_status
63 #define si_utime   __si_fields.__sigchld.si_utime
64 #define si_stime   __si_fields.__sigchld.si_stime
65 #define si_value   __si_fields.__rt.si_sigval
66 #define si_addr    __si_fields.__sigfault.si_addr
67 #define si_band    __si_fields.__sigpoll.si_band
68
69 #define SI_ASYNCNL (-60)
70 #define SI_TKILL (-6)
71 #define SI_SIGIO (-5)
72 #define SI_ASYNCIO (-4)
73 #define SI_MESGQ (-3)
74 #define SI_TIMER (-2)
75 #define SI_QUEUE (-1)
76 #define SI_USER 0
77 #define SI_KERNEL 128
78
79 #define FPE_INTDIV 1
80 #define FPE_INTOVF 2
81 #define FPE_FLTDIV 3
82 #define FPE_FLTOVF 4
83 #define FPE_FLTUNT 5
84 #define FPE_FLTRES 6
85 #define FPE_FLTINV 7
86 #define FPE_FLTSUB 8
87
88 #define ILL_ILLOPC 1
89 #define ILL_ILLOPN 2
90 #define ILL_ILLADR 3
91 #define ILL_ILLTRP 4
92 #define ILL_PRVOPC 5
93 #define ILL_PRVREG 6
94 #define ILL_COPROC 7
95 #define ILL_BADSTK 8
96
97 #define SEGV_MAPERR 1
98 #define SEGV_ACCERR 2
99
100 #define BUS_ADRALN 1
101 #define BUS_ADRERR 2
102 #define BUS_OBJERR 3
103
104 #define CLD_EXITED 1
105 #define CLD_KILLED 2
106 #define CLD_DUMPED 3
107 #define CLD_TRAPPED 4
108 #define CLD_STOPPED 5
109 #define CLD_CONTINUED 6
110
111 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
112 #define TRAP_BRKPT 1
113 #define TRAP_TRACE 2
114 #define POLL_IN 1
115 #define POLL_OUT 2
116 #define POLL_MSG 3
117 #define POLL_ERR 4
118 #define POLL_PRI 5
119 #define POLL_HUP 6
120 #define SS_ONSTACK    1
121 #define SS_DISABLE    2
122 #define MINSIGSTKSZ 2048
123 #define SIGSTKSZ 8192
124 #endif
125
126 #define SA_NOCLDSTOP  1
127 #define SA_NOCLDWAIT  2
128 #define SA_SIGINFO    4
129 #define SA_ONSTACK    0x08000000
130 #define SA_RESTART    0x10000000
131 #define SA_NODEFER    0x40000000
132 #define SA_RESETHAND  0x80000000
133 #define SA_RESTORER   0x04000000
134
135 #define SIG_BLOCK     0
136 #define SIG_UNBLOCK   1
137 #define SIG_SETMASK   2
138
139 #endif
140
141 #ifdef _GNU_SOURCE
142 #define NSIG      64
143 #endif
144
145 #define SIG_ERR  ((void (*)(int))-1)
146 #define SIG_DFL  ((void (*)(int)) 0)
147 #define SIG_IGN  ((void (*)(int)) 1)
148 #define SIG_HOLD ((void (*)(int)) 2)
149
150 #define SIGHUP    1
151 #define SIGINT    2
152 #define SIGQUIT   3
153 #define SIGILL    4
154 #define SIGTRAP   5
155 #define SIGABRT   6
156 #define SIGBUS    7
157 #define SIGFPE    8
158 #define SIGKILL   9
159 #define SIGUSR1   10
160 #define SIGSEGV   11
161 #define SIGUSR2   12
162 #define SIGPIPE   13
163 #define SIGALRM   14
164 #define SIGTERM   15
165 #define SIGSTKFLT 16
166 #define SIGCHLD   17
167 #define SIGCONT   18
168 #define SIGSTOP   19
169 #define SIGTSTP   20
170 #define SIGTTIN   21
171 #define SIGTTOU   22
172 #define SIGURG    23
173 #define SIGXCPU   24
174 #define SIGXFSZ   25
175 #define SIGVTALRM 26
176 #define SIGPROF   27
177 #define SIGWINCH  28
178 #define SIGIO     29
179 #define SIGPOLL   29
180 #define SIGPWR    30
181 #define SIGSYS    31
182 #define SIGUNUSED SIGSYS