1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_ASM_GENERIC_SIGINFO_H
20#define _UAPI_ASM_GENERIC_SIGINFO_H
21#include <linux/compiler.h>
22#include <linux/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24typedef union sigval {
25 int sival_int;
26 void __user *sival_ptr;
27} sigval_t;
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#ifndef __ARCH_SI_PREAMBLE_SIZE
30#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
31#endif
32#define SI_MAX_SIZE 128
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#ifndef SI_PAD_SIZE
35#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
36#endif
37#ifndef __ARCH_SI_UID_T
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define __ARCH_SI_UID_T __kernel_uid32_t
40#endif
41#ifndef __ARCH_SI_BAND_T
42#define __ARCH_SI_BAND_T long
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#endif
45#ifndef __ARCH_SI_CLOCK_T
46#define __ARCH_SI_CLOCK_T __kernel_clock_t
47#endif
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#ifndef __ARCH_SI_ATTRIBUTES
50#define __ARCH_SI_ATTRIBUTES
51#endif
52#ifndef HAVE_ARCH_SIGINFO_T
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54typedef struct siginfo {
55 int si_signo;
56 int si_errno;
57 int si_code;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 union {
60 int _pad[SI_PAD_SIZE];
61 struct {
62 __kernel_pid_t _pid;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __ARCH_SI_UID_T _uid;
65 } _kill;
66 struct {
67 __kernel_timer_t _tid;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 int _overrun;
70 char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
71 sigval_t _sigval;
72 int _sys_private;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 } _timer;
75 struct {
76 __kernel_pid_t _pid;
77 __ARCH_SI_UID_T _uid;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 sigval_t _sigval;
80 } _rt;
81 struct {
82 __kernel_pid_t _pid;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 __ARCH_SI_UID_T _uid;
85 int _status;
86 __ARCH_SI_CLOCK_T _utime;
87 __ARCH_SI_CLOCK_T _stime;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 } _sigchld;
90 struct {
91 void __user *_addr;
92#ifdef __ARCH_SI_TRAPNO
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 int _trapno;
95#endif
96 short _addr_lsb;
97 } _sigfault;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 struct {
100 __ARCH_SI_BAND_T _band;
101 int _fd;
102 } _sigpoll;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 struct {
105 void __user *_call_addr;
106 int _syscall;
107 unsigned int _arch;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 } _sigsys;
110 } _sifields;
111} __ARCH_SI_ATTRIBUTES siginfo_t;
112#define __ARCH_SIGSYS
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#endif
115#define si_pid _sifields._kill._pid
116#define si_uid _sifields._kill._uid
117#define si_tid _sifields._timer._tid
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define si_overrun _sifields._timer._overrun
120#define si_sys_private _sifields._timer._sys_private
121#define si_status _sifields._sigchld._status
122#define si_utime _sifields._sigchld._utime
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define si_stime _sifields._sigchld._stime
125#define si_value _sifields._rt._sigval
126#define si_int _sifields._rt._sigval.sival_int
127#define si_ptr _sifields._rt._sigval.sival_ptr
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define si_addr _sifields._sigfault._addr
130#ifdef __ARCH_SI_TRAPNO
131#define si_trapno _sifields._sigfault._trapno
132#endif
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define si_addr_lsb _sifields._sigfault._addr_lsb
135#define si_band _sifields._sigpoll._band
136#define si_fd _sifields._sigpoll._fd
137#ifdef __ARCH_SIGSYS
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define si_call_addr _sifields._sigsys._call_addr
140#define si_syscall _sifields._sigsys._syscall
141#define si_arch _sifields._sigsys._arch
142#endif
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define __SI_KILL 0
145#define __SI_TIMER 0
146#define __SI_POLL 0
147#define __SI_FAULT 0
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149#define __SI_CHLD 0
150#define __SI_RT 0
151#define __SI_MESGQ 0
152#define __SI_SYS 0
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define __SI_CODE(T,N) (N)
155#define SI_USER 0
156#define SI_KERNEL 0x80
157#define SI_QUEUE -1
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159#define SI_TIMER __SI_CODE(__SI_TIMER,-2)
160#define SI_MESGQ __SI_CODE(__SI_MESGQ,-3)
161#define SI_ASYNCIO -4
162#define SI_SIGIO -5
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164#define SI_TKILL -6
165#define SI_DETHREAD -7
166#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
167#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169#define ILL_ILLOPC (__SI_FAULT|1)
170#define ILL_ILLOPN (__SI_FAULT|2)
171#define ILL_ILLADR (__SI_FAULT|3)
172#define ILL_ILLTRP (__SI_FAULT|4)
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define ILL_PRVOPC (__SI_FAULT|5)
175#define ILL_PRVREG (__SI_FAULT|6)
176#define ILL_COPROC (__SI_FAULT|7)
177#define ILL_BADSTK (__SI_FAULT|8)
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#define NSIGILL 8
180#define FPE_INTDIV (__SI_FAULT|1)
181#define FPE_INTOVF (__SI_FAULT|2)
182#define FPE_FLTDIV (__SI_FAULT|3)
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184#define FPE_FLTOVF (__SI_FAULT|4)
185#define FPE_FLTUND (__SI_FAULT|5)
186#define FPE_FLTRES (__SI_FAULT|6)
187#define FPE_FLTINV (__SI_FAULT|7)
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189#define FPE_FLTSUB (__SI_FAULT|8)
190#define NSIGFPE 8
191#define SEGV_MAPERR (__SI_FAULT|1)
192#define SEGV_ACCERR (__SI_FAULT|2)
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194#define NSIGSEGV 2
195#define BUS_ADRALN (__SI_FAULT|1)
196#define BUS_ADRERR (__SI_FAULT|2)
197#define BUS_OBJERR (__SI_FAULT|3)
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199#define BUS_MCEERR_AR (__SI_FAULT|4)
200#define BUS_MCEERR_AO (__SI_FAULT|5)
201#define NSIGBUS 5
202#define TRAP_BRKPT (__SI_FAULT|1)
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204#define TRAP_TRACE (__SI_FAULT|2)
205#define TRAP_BRANCH (__SI_FAULT|3)
206#define TRAP_HWBKPT (__SI_FAULT|4)
207#define NSIGTRAP 4
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209#define CLD_EXITED (__SI_CHLD|1)
210#define CLD_KILLED (__SI_CHLD|2)
211#define CLD_DUMPED (__SI_CHLD|3)
212#define CLD_TRAPPED (__SI_CHLD|4)
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214#define CLD_STOPPED (__SI_CHLD|5)
215#define CLD_CONTINUED (__SI_CHLD|6)
216#define NSIGCHLD 6
217#define POLL_IN (__SI_POLL|1)
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219#define POLL_OUT (__SI_POLL|2)
220#define POLL_MSG (__SI_POLL|3)
221#define POLL_ERR (__SI_POLL|4)
222#define POLL_PRI (__SI_POLL|5)
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224#define POLL_HUP (__SI_POLL|6)
225#define NSIGPOLL 6
226#define SYS_SECCOMP (__SI_SYS|1)
227#define NSIGSYS 1
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229#define SIGEV_SIGNAL 0
230#define SIGEV_NONE 1
231#define SIGEV_THREAD 2
232#define SIGEV_THREAD_ID 4
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
235#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
236#endif
237#define SIGEV_MAX_SIZE 64
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE)   / sizeof(int))
240typedef struct sigevent {
241 sigval_t sigev_value;
242 int sigev_signo;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 int sigev_notify;
245 union {
246 int _pad[SIGEV_PAD_SIZE];
247 int _tid;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 struct {
250 void (*_function)(sigval_t);
251 void *_attribute;
252 } _sigev_thread;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 } _sigev_un;
255} sigevent_t;
256#define sigev_notify_function _sigev_un._sigev_thread._function
257#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259#define sigev_notify_thread_id _sigev_un._tid
260#endif
261