Go to the documentation of this file. 1 #ifndef _UAPI_ASM_GENERIC_SIGINFO_H
2 #define _UAPI_ASM_GENERIC_SIGINFO_H
4 #include <linux/compiler.h>
5 #include <linux/types.h>
16 #ifndef __ARCH_SI_PREAMBLE_SIZE
17 #define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
20 #define SI_MAX_SIZE 128
22 #define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
25 #ifndef __ARCH_SI_UID_T
26 #define __ARCH_SI_UID_T __kernel_uid32_t
34 #ifndef __ARCH_SI_BAND_T
35 #define __ARCH_SI_BAND_T long
38 #ifndef __ARCH_SI_CLOCK_T
39 #define __ARCH_SI_CLOCK_T __kernel_clock_t
42 #ifndef __ARCH_SI_ATTRIBUTES
43 #define __ARCH_SI_ATTRIBUTES
46 #ifndef HAVE_ARCH_SIGINFO_T
90 #ifdef __ARCH_SI_TRAPNO
112 #define __ARCH_SIGSYS
118 #define si_pid _sifields._kill._pid
119 #define si_uid _sifields._kill._uid
120 #define si_tid _sifields._timer._tid
121 #define si_overrun _sifields._timer._overrun
122 #define si_sys_private _sifields._timer._sys_private
123 #define si_status _sifields._sigchld._status
124 #define si_utime _sifields._sigchld._utime
125 #define si_stime _sifields._sigchld._stime
126 #define si_value _sifields._rt._sigval
127 #define si_int _sifields._rt._sigval.sival_int
128 #define si_ptr _sifields._rt._sigval.sival_ptr
129 #define si_addr _sifields._sigfault._addr
130 #ifdef __ARCH_SI_TRAPNO
131 #define si_trapno _sifields._sigfault._trapno
133 #define si_addr_lsb _sifields._sigfault._addr_lsb
134 #define si_band _sifields._sigpoll._band
135 #define si_fd _sifields._sigpoll._fd
137 #define si_call_addr _sifields._sigsys._call_addr
138 #define si_syscall _sifields._sigsys._syscall
139 #define si_arch _sifields._sigsys._arch
151 #define __SI_CODE(T,N) (N)
159 #define SI_KERNEL 0x80
161 #define SI_TIMER __SI_CODE(__SI_TIMER,-2)
162 #define SI_MESGQ __SI_CODE(__SI_MESGQ,-3)
163 #define SI_ASYNCIO -4
166 #define SI_DETHREAD -7
168 #define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
169 #define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
174 #define ILL_ILLOPC (__SI_FAULT|1)
175 #define ILL_ILLOPN (__SI_FAULT|2)
176 #define ILL_ILLADR (__SI_FAULT|3)
177 #define ILL_ILLTRP (__SI_FAULT|4)
178 #define ILL_PRVOPC (__SI_FAULT|5)
179 #define ILL_PRVREG (__SI_FAULT|6)
180 #define ILL_COPROC (__SI_FAULT|7)
181 #define ILL_BADSTK (__SI_FAULT|8)
187 #define FPE_INTDIV (__SI_FAULT|1)
188 #define FPE_INTOVF (__SI_FAULT|2)
189 #define FPE_FLTDIV (__SI_FAULT|3)
190 #define FPE_FLTOVF (__SI_FAULT|4)
191 #define FPE_FLTUND (__SI_FAULT|5)
192 #define FPE_FLTRES (__SI_FAULT|6)
193 #define FPE_FLTINV (__SI_FAULT|7)
194 #define FPE_FLTSUB (__SI_FAULT|8)
200 #define SEGV_MAPERR (__SI_FAULT|1)
201 #define SEGV_ACCERR (__SI_FAULT|2)
207 #define BUS_ADRALN (__SI_FAULT|1)
208 #define BUS_ADRERR (__SI_FAULT|2)
209 #define BUS_OBJERR (__SI_FAULT|3)
211 #define BUS_MCEERR_AR (__SI_FAULT|4)
213 #define BUS_MCEERR_AO (__SI_FAULT|5)
219 #define TRAP_BRKPT (__SI_FAULT|1)
220 #define TRAP_TRACE (__SI_FAULT|2)
221 #define TRAP_BRANCH (__SI_FAULT|3)
222 #define TRAP_HWBKPT (__SI_FAULT|4)
228 #define CLD_EXITED (__SI_CHLD|1)
229 #define CLD_KILLED (__SI_CHLD|2)
230 #define CLD_DUMPED (__SI_CHLD|3)
231 #define CLD_TRAPPED (__SI_CHLD|4)
232 #define CLD_STOPPED (__SI_CHLD|5)
233 #define CLD_CONTINUED (__SI_CHLD|6)
239 #define POLL_IN (__SI_POLL|1)
240 #define POLL_OUT (__SI_POLL|2)
241 #define POLL_MSG (__SI_POLL|3)
242 #define POLL_ERR (__SI_POLL|4)
243 #define POLL_PRI (__SI_POLL|5)
244 #define POLL_HUP (__SI_POLL|6)
250 #define SYS_SECCOMP (__SI_SYS|1)
261 #define SIGEV_SIGNAL 0
263 #define SIGEV_THREAD 2
264 #define SIGEV_THREAD_ID 4
270 #ifndef __ARCH_SIGEV_PREAMBLE_SIZE
271 #define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
274 #define SIGEV_MAX_SIZE 64
275 #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \
293 #define sigev_notify_function _sigev_un._sigev_thread._function
294 #define sigev_notify_attributes _sigev_un._sigev_thread._attribute
295 #define sigev_notify_thread_id _sigev_un._tid