blob: 2083fa10a5d012b48ca7593ebc4f2a83c6ac45b0 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 {
Tao Baod7db5942015-01-28 10:07:51 -080025 int sival_int;
26 void __user * sival_ptr;
Ben Cheng655a7c02013-10-16 16:09:24 -070027} 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 {
Tao Baod7db5942015-01-28 10:07:51 -080055 int si_signo;
56 int si_errno;
57 int si_code;
Ben Cheng655a7c02013-10-16 16:09:24 -070058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080059 union {
60 int _pad[SI_PAD_SIZE];
61 struct {
62 __kernel_pid_t _pid;
Ben Cheng655a7c02013-10-16 16:09:24 -070063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080064 __ARCH_SI_UID_T _uid;
65 } _kill;
66 struct {
67 __kernel_timer_t _tid;
Ben Cheng655a7c02013-10-16 16:09:24 -070068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080069 int _overrun;
70 char _pad[sizeof(__ARCH_SI_UID_T) - sizeof(int)];
71 sigval_t _sigval;
72 int _sys_private;
Ben Cheng655a7c02013-10-16 16:09:24 -070073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080074 } _timer;
75 struct {
76 __kernel_pid_t _pid;
77 __ARCH_SI_UID_T _uid;
Ben Cheng655a7c02013-10-16 16:09:24 -070078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080079 sigval_t _sigval;
80 } _rt;
81 struct {
82 __kernel_pid_t _pid;
Ben Cheng655a7c02013-10-16 16:09:24 -070083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080084 __ARCH_SI_UID_T _uid;
85 int _status;
86 __ARCH_SI_CLOCK_T _utime;
87 __ARCH_SI_CLOCK_T _stime;
Ben Cheng655a7c02013-10-16 16:09:24 -070088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080089 } _sigchld;
90 struct {
91 void __user * _addr;
Ben Cheng655a7c02013-10-16 16:09:24 -070092#ifdef __ARCH_SI_TRAPNO
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080094 int _trapno;
Ben Cheng655a7c02013-10-16 16:09:24 -070095#endif
Tao Baod7db5942015-01-28 10:07:51 -080096 short _addr_lsb;
97 } _sigfault;
Ben Cheng655a7c02013-10-16 16:09:24 -070098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -080099 struct {
100 __ARCH_SI_BAND_T _band;
101 int _fd;
102 } _sigpoll;
Ben Cheng655a7c02013-10-16 16:09:24 -0700103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800104 struct {
105 void __user * _call_addr;
106 int _syscall;
107 unsigned int _arch;
Ben Cheng655a7c02013-10-16 16:09:24 -0700108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800109 } _sigsys;
110 } _sifields;
Ben Cheng655a7c02013-10-16 16:09:24 -0700111} __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
Tao Baod7db5942015-01-28 10:07:51 -0800157#define SI_QUEUE - 1
Ben Cheng655a7c02013-10-16 16:09:24 -0700158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800159#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
Ben Cheng655a7c02013-10-16 16:09:24 -0700163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800164#define SI_TKILL - 6
165#define SI_DETHREAD - 7
Ben Cheng655a7c02013-10-16 16:09:24 -0700166#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 */
Tao Baod7db5942015-01-28 10:07:51 -0800169#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)
Ben Cheng655a7c02013-10-16 16:09:24 -0700173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800174#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)
Ben Cheng655a7c02013-10-16 16:09:24 -0700178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#define NSIGILL 8
Tao Baod7db5942015-01-28 10:07:51 -0800180#define FPE_INTDIV (__SI_FAULT | 1)
181#define FPE_INTOVF (__SI_FAULT | 2)
182#define FPE_FLTDIV (__SI_FAULT | 3)
Ben Cheng655a7c02013-10-16 16:09:24 -0700183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800184#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)
Ben Cheng655a7c02013-10-16 16:09:24 -0700188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800189#define FPE_FLTSUB (__SI_FAULT | 8)
Ben Cheng655a7c02013-10-16 16:09:24 -0700190#define NSIGFPE 8
Tao Baod7db5942015-01-28 10:07:51 -0800191#define SEGV_MAPERR (__SI_FAULT | 1)
192#define SEGV_ACCERR (__SI_FAULT | 2)
Ben Cheng655a7c02013-10-16 16:09:24 -0700193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194#define NSIGSEGV 2
Tao Baod7db5942015-01-28 10:07:51 -0800195#define BUS_ADRALN (__SI_FAULT | 1)
196#define BUS_ADRERR (__SI_FAULT | 2)
197#define BUS_OBJERR (__SI_FAULT | 3)
Ben Cheng655a7c02013-10-16 16:09:24 -0700198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800199#define BUS_MCEERR_AR (__SI_FAULT | 4)
200#define BUS_MCEERR_AO (__SI_FAULT | 5)
Ben Cheng655a7c02013-10-16 16:09:24 -0700201#define NSIGBUS 5
Tao Baod7db5942015-01-28 10:07:51 -0800202#define TRAP_BRKPT (__SI_FAULT | 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800204#define TRAP_TRACE (__SI_FAULT | 2)
205#define TRAP_BRANCH (__SI_FAULT | 3)
206#define TRAP_HWBKPT (__SI_FAULT | 4)
Ben Cheng655a7c02013-10-16 16:09:24 -0700207#define NSIGTRAP 4
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800209#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)
Ben Cheng655a7c02013-10-16 16:09:24 -0700213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800214#define CLD_STOPPED (__SI_CHLD | 5)
215#define CLD_CONTINUED (__SI_CHLD | 6)
Ben Cheng655a7c02013-10-16 16:09:24 -0700216#define NSIGCHLD 6
Tao Baod7db5942015-01-28 10:07:51 -0800217#define POLL_IN (__SI_POLL | 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800219#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)
Ben Cheng655a7c02013-10-16 16:09:24 -0700223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800224#define POLL_HUP (__SI_POLL | 6)
Ben Cheng655a7c02013-10-16 16:09:24 -0700225#define NSIGPOLL 6
Tao Baod7db5942015-01-28 10:07:51 -0800226#define SYS_SECCOMP (__SI_SYS | 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700227#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 */
Tao Baod7db5942015-01-28 10:07:51 -0800239#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) / sizeof(int))
Ben Cheng655a7c02013-10-16 16:09:24 -0700240typedef struct sigevent {
Tao Baod7db5942015-01-28 10:07:51 -0800241 sigval_t sigev_value;
242 int sigev_signo;
Ben Cheng655a7c02013-10-16 16:09:24 -0700243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800244 int sigev_notify;
245 union {
246 int _pad[SIGEV_PAD_SIZE];
247 int _tid;
Ben Cheng655a7c02013-10-16 16:09:24 -0700248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800249 struct {
250 void(* _function) (sigval_t);
251 void * _attribute;
252 } _sigev_thread;
Ben Cheng655a7c02013-10-16 16:09:24 -0700253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Tao Baod7db5942015-01-28 10:07:51 -0800254 } _sigev_un;
Ben Cheng655a7c02013-10-16 16:09:24 -0700255} 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