xref: /aosp_15_r20/bionic/libc/kernel/uapi/asm-generic/siginfo.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_ASM_GENERIC_SIGINFO_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_ASM_GENERIC_SIGINFO_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/compiler.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
11*8d67ca89SAndroid Build Coastguard Worker typedef union sigval {
12*8d67ca89SAndroid Build Coastguard Worker   int sival_int;
13*8d67ca89SAndroid Build Coastguard Worker   void  * sival_ptr;
14*8d67ca89SAndroid Build Coastguard Worker } sigval_t;
15*8d67ca89SAndroid Build Coastguard Worker #define SI_MAX_SIZE 128
16*8d67ca89SAndroid Build Coastguard Worker #ifndef __ARCH_SI_BAND_T
17*8d67ca89SAndroid Build Coastguard Worker #define __ARCH_SI_BAND_T long
18*8d67ca89SAndroid Build Coastguard Worker #endif
19*8d67ca89SAndroid Build Coastguard Worker #ifndef __ARCH_SI_CLOCK_T
20*8d67ca89SAndroid Build Coastguard Worker #define __ARCH_SI_CLOCK_T __kernel_clock_t
21*8d67ca89SAndroid Build Coastguard Worker #endif
22*8d67ca89SAndroid Build Coastguard Worker #ifndef __ARCH_SI_ATTRIBUTES
23*8d67ca89SAndroid Build Coastguard Worker #define __ARCH_SI_ATTRIBUTES
24*8d67ca89SAndroid Build Coastguard Worker #endif
25*8d67ca89SAndroid Build Coastguard Worker union __sifields {
26*8d67ca89SAndroid Build Coastguard Worker   struct {
27*8d67ca89SAndroid Build Coastguard Worker     __kernel_pid_t _pid;
28*8d67ca89SAndroid Build Coastguard Worker     __kernel_uid32_t _uid;
29*8d67ca89SAndroid Build Coastguard Worker   } _kill;
30*8d67ca89SAndroid Build Coastguard Worker   struct {
31*8d67ca89SAndroid Build Coastguard Worker     __kernel_timer_t _tid;
32*8d67ca89SAndroid Build Coastguard Worker     int _overrun;
33*8d67ca89SAndroid Build Coastguard Worker     sigval_t _sigval;
34*8d67ca89SAndroid Build Coastguard Worker     int _sys_private;
35*8d67ca89SAndroid Build Coastguard Worker   } _timer;
36*8d67ca89SAndroid Build Coastguard Worker   struct {
37*8d67ca89SAndroid Build Coastguard Worker     __kernel_pid_t _pid;
38*8d67ca89SAndroid Build Coastguard Worker     __kernel_uid32_t _uid;
39*8d67ca89SAndroid Build Coastguard Worker     sigval_t _sigval;
40*8d67ca89SAndroid Build Coastguard Worker   } _rt;
41*8d67ca89SAndroid Build Coastguard Worker   struct {
42*8d67ca89SAndroid Build Coastguard Worker     __kernel_pid_t _pid;
43*8d67ca89SAndroid Build Coastguard Worker     __kernel_uid32_t _uid;
44*8d67ca89SAndroid Build Coastguard Worker     int _status;
45*8d67ca89SAndroid Build Coastguard Worker     __ARCH_SI_CLOCK_T _utime;
46*8d67ca89SAndroid Build Coastguard Worker     __ARCH_SI_CLOCK_T _stime;
47*8d67ca89SAndroid Build Coastguard Worker   } _sigchld;
48*8d67ca89SAndroid Build Coastguard Worker   struct {
49*8d67ca89SAndroid Build Coastguard Worker     void  * _addr;
50*8d67ca89SAndroid Build Coastguard Worker #define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))
51*8d67ca89SAndroid Build Coastguard Worker     union {
52*8d67ca89SAndroid Build Coastguard Worker       int _trapno;
53*8d67ca89SAndroid Build Coastguard Worker       short _addr_lsb;
54*8d67ca89SAndroid Build Coastguard Worker       struct {
55*8d67ca89SAndroid Build Coastguard Worker         char _dummy_bnd[__ADDR_BND_PKEY_PAD];
56*8d67ca89SAndroid Build Coastguard Worker         void  * _lower;
57*8d67ca89SAndroid Build Coastguard Worker         void  * _upper;
58*8d67ca89SAndroid Build Coastguard Worker       } _addr_bnd;
59*8d67ca89SAndroid Build Coastguard Worker       struct {
60*8d67ca89SAndroid Build Coastguard Worker         char _dummy_pkey[__ADDR_BND_PKEY_PAD];
61*8d67ca89SAndroid Build Coastguard Worker         __u32 _pkey;
62*8d67ca89SAndroid Build Coastguard Worker       } _addr_pkey;
63*8d67ca89SAndroid Build Coastguard Worker       struct {
64*8d67ca89SAndroid Build Coastguard Worker         unsigned long _data;
65*8d67ca89SAndroid Build Coastguard Worker         __u32 _type;
66*8d67ca89SAndroid Build Coastguard Worker         __u32 _flags;
67*8d67ca89SAndroid Build Coastguard Worker       } _perf;
68*8d67ca89SAndroid Build Coastguard Worker     };
69*8d67ca89SAndroid Build Coastguard Worker   } _sigfault;
70*8d67ca89SAndroid Build Coastguard Worker   struct {
71*8d67ca89SAndroid Build Coastguard Worker     __ARCH_SI_BAND_T _band;
72*8d67ca89SAndroid Build Coastguard Worker     int _fd;
73*8d67ca89SAndroid Build Coastguard Worker   } _sigpoll;
74*8d67ca89SAndroid Build Coastguard Worker   struct {
75*8d67ca89SAndroid Build Coastguard Worker     void  * _call_addr;
76*8d67ca89SAndroid Build Coastguard Worker     int _syscall;
77*8d67ca89SAndroid Build Coastguard Worker     unsigned int _arch;
78*8d67ca89SAndroid Build Coastguard Worker   } _sigsys;
79*8d67ca89SAndroid Build Coastguard Worker };
80*8d67ca89SAndroid Build Coastguard Worker #ifndef __ARCH_HAS_SWAPPED_SIGINFO
81*8d67ca89SAndroid Build Coastguard Worker #define __SIGINFO struct { int si_signo; int si_errno; int si_code; union __sifields _sifields; \
82*8d67ca89SAndroid Build Coastguard Worker }
83*8d67ca89SAndroid Build Coastguard Worker #else
84*8d67ca89SAndroid Build Coastguard Worker #define __SIGINFO struct { int si_signo; int si_code; int si_errno; union __sifields _sifields; \
85*8d67ca89SAndroid Build Coastguard Worker }
86*8d67ca89SAndroid Build Coastguard Worker #endif
87*8d67ca89SAndroid Build Coastguard Worker typedef struct siginfo {
88*8d67ca89SAndroid Build Coastguard Worker   union {
89*8d67ca89SAndroid Build Coastguard Worker     __SIGINFO;
90*8d67ca89SAndroid Build Coastguard Worker     int _si_pad[SI_MAX_SIZE / sizeof(int)];
91*8d67ca89SAndroid Build Coastguard Worker   };
92*8d67ca89SAndroid Build Coastguard Worker } __ARCH_SI_ATTRIBUTES siginfo_t;
93*8d67ca89SAndroid Build Coastguard Worker #define si_pid _sifields._kill._pid
94*8d67ca89SAndroid Build Coastguard Worker #define si_uid _sifields._kill._uid
95*8d67ca89SAndroid Build Coastguard Worker #define si_tid _sifields._timer._tid
96*8d67ca89SAndroid Build Coastguard Worker #define si_overrun _sifields._timer._overrun
97*8d67ca89SAndroid Build Coastguard Worker #define si_sys_private _sifields._timer._sys_private
98*8d67ca89SAndroid Build Coastguard Worker #define si_status _sifields._sigchld._status
99*8d67ca89SAndroid Build Coastguard Worker #define si_utime _sifields._sigchld._utime
100*8d67ca89SAndroid Build Coastguard Worker #define si_stime _sifields._sigchld._stime
101*8d67ca89SAndroid Build Coastguard Worker #define si_value _sifields._rt._sigval
102*8d67ca89SAndroid Build Coastguard Worker #define si_int _sifields._rt._sigval.sival_int
103*8d67ca89SAndroid Build Coastguard Worker #define si_ptr _sifields._rt._sigval.sival_ptr
104*8d67ca89SAndroid Build Coastguard Worker #define si_addr _sifields._sigfault._addr
105*8d67ca89SAndroid Build Coastguard Worker #define si_trapno _sifields._sigfault._trapno
106*8d67ca89SAndroid Build Coastguard Worker #define si_addr_lsb _sifields._sigfault._addr_lsb
107*8d67ca89SAndroid Build Coastguard Worker #define si_lower _sifields._sigfault._addr_bnd._lower
108*8d67ca89SAndroid Build Coastguard Worker #define si_upper _sifields._sigfault._addr_bnd._upper
109*8d67ca89SAndroid Build Coastguard Worker #define si_pkey _sifields._sigfault._addr_pkey._pkey
110*8d67ca89SAndroid Build Coastguard Worker #define si_perf_data _sifields._sigfault._perf._data
111*8d67ca89SAndroid Build Coastguard Worker #define si_perf_type _sifields._sigfault._perf._type
112*8d67ca89SAndroid Build Coastguard Worker #define si_perf_flags _sifields._sigfault._perf._flags
113*8d67ca89SAndroid Build Coastguard Worker #define si_band _sifields._sigpoll._band
114*8d67ca89SAndroid Build Coastguard Worker #define si_fd _sifields._sigpoll._fd
115*8d67ca89SAndroid Build Coastguard Worker #define si_call_addr _sifields._sigsys._call_addr
116*8d67ca89SAndroid Build Coastguard Worker #define si_syscall _sifields._sigsys._syscall
117*8d67ca89SAndroid Build Coastguard Worker #define si_arch _sifields._sigsys._arch
118*8d67ca89SAndroid Build Coastguard Worker #define SI_USER 0
119*8d67ca89SAndroid Build Coastguard Worker #define SI_KERNEL 0x80
120*8d67ca89SAndroid Build Coastguard Worker #define SI_QUEUE - 1
121*8d67ca89SAndroid Build Coastguard Worker #define SI_TIMER - 2
122*8d67ca89SAndroid Build Coastguard Worker #define SI_MESGQ - 3
123*8d67ca89SAndroid Build Coastguard Worker #define SI_ASYNCIO - 4
124*8d67ca89SAndroid Build Coastguard Worker #define SI_SIGIO - 5
125*8d67ca89SAndroid Build Coastguard Worker #define SI_TKILL - 6
126*8d67ca89SAndroid Build Coastguard Worker #define SI_DETHREAD - 7
127*8d67ca89SAndroid Build Coastguard Worker #define SI_ASYNCNL - 60
128*8d67ca89SAndroid Build Coastguard Worker #define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
129*8d67ca89SAndroid Build Coastguard Worker #define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
130*8d67ca89SAndroid Build Coastguard Worker #define ILL_ILLOPC 1
131*8d67ca89SAndroid Build Coastguard Worker #define ILL_ILLOPN 2
132*8d67ca89SAndroid Build Coastguard Worker #define ILL_ILLADR 3
133*8d67ca89SAndroid Build Coastguard Worker #define ILL_ILLTRP 4
134*8d67ca89SAndroid Build Coastguard Worker #define ILL_PRVOPC 5
135*8d67ca89SAndroid Build Coastguard Worker #define ILL_PRVREG 6
136*8d67ca89SAndroid Build Coastguard Worker #define ILL_COPROC 7
137*8d67ca89SAndroid Build Coastguard Worker #define ILL_BADSTK 8
138*8d67ca89SAndroid Build Coastguard Worker #define ILL_BADIADDR 9
139*8d67ca89SAndroid Build Coastguard Worker #define __ILL_BREAK 10
140*8d67ca89SAndroid Build Coastguard Worker #define __ILL_BNDMOD 11
141*8d67ca89SAndroid Build Coastguard Worker #define NSIGILL 11
142*8d67ca89SAndroid Build Coastguard Worker #define FPE_INTDIV 1
143*8d67ca89SAndroid Build Coastguard Worker #define FPE_INTOVF 2
144*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTDIV 3
145*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTOVF 4
146*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTUND 5
147*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTRES 6
148*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTINV 7
149*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTSUB 8
150*8d67ca89SAndroid Build Coastguard Worker #define __FPE_DECOVF 9
151*8d67ca89SAndroid Build Coastguard Worker #define __FPE_DECDIV 10
152*8d67ca89SAndroid Build Coastguard Worker #define __FPE_DECERR 11
153*8d67ca89SAndroid Build Coastguard Worker #define __FPE_INVASC 12
154*8d67ca89SAndroid Build Coastguard Worker #define __FPE_INVDEC 13
155*8d67ca89SAndroid Build Coastguard Worker #define FPE_FLTUNK 14
156*8d67ca89SAndroid Build Coastguard Worker #define FPE_CONDTRAP 15
157*8d67ca89SAndroid Build Coastguard Worker #define NSIGFPE 15
158*8d67ca89SAndroid Build Coastguard Worker #define SEGV_MAPERR 1
159*8d67ca89SAndroid Build Coastguard Worker #define SEGV_ACCERR 2
160*8d67ca89SAndroid Build Coastguard Worker #define SEGV_BNDERR 3
161*8d67ca89SAndroid Build Coastguard Worker #ifdef __ia64__
162*8d67ca89SAndroid Build Coastguard Worker #define __SEGV_PSTKOVF 4
163*8d67ca89SAndroid Build Coastguard Worker #else
164*8d67ca89SAndroid Build Coastguard Worker #define SEGV_PKUERR 4
165*8d67ca89SAndroid Build Coastguard Worker #endif
166*8d67ca89SAndroid Build Coastguard Worker #define SEGV_ACCADI 5
167*8d67ca89SAndroid Build Coastguard Worker #define SEGV_ADIDERR 6
168*8d67ca89SAndroid Build Coastguard Worker #define SEGV_ADIPERR 7
169*8d67ca89SAndroid Build Coastguard Worker #define SEGV_MTEAERR 8
170*8d67ca89SAndroid Build Coastguard Worker #define SEGV_MTESERR 9
171*8d67ca89SAndroid Build Coastguard Worker #define SEGV_CPERR 10
172*8d67ca89SAndroid Build Coastguard Worker #define NSIGSEGV 10
173*8d67ca89SAndroid Build Coastguard Worker #define BUS_ADRALN 1
174*8d67ca89SAndroid Build Coastguard Worker #define BUS_ADRERR 2
175*8d67ca89SAndroid Build Coastguard Worker #define BUS_OBJERR 3
176*8d67ca89SAndroid Build Coastguard Worker #define BUS_MCEERR_AR 4
177*8d67ca89SAndroid Build Coastguard Worker #define BUS_MCEERR_AO 5
178*8d67ca89SAndroid Build Coastguard Worker #define NSIGBUS 5
179*8d67ca89SAndroid Build Coastguard Worker #define TRAP_BRKPT 1
180*8d67ca89SAndroid Build Coastguard Worker #define TRAP_TRACE 2
181*8d67ca89SAndroid Build Coastguard Worker #define TRAP_BRANCH 3
182*8d67ca89SAndroid Build Coastguard Worker #define TRAP_HWBKPT 4
183*8d67ca89SAndroid Build Coastguard Worker #define TRAP_UNK 5
184*8d67ca89SAndroid Build Coastguard Worker #define TRAP_PERF 6
185*8d67ca89SAndroid Build Coastguard Worker #define NSIGTRAP 6
186*8d67ca89SAndroid Build Coastguard Worker #define TRAP_PERF_FLAG_ASYNC (1u << 0)
187*8d67ca89SAndroid Build Coastguard Worker #define CLD_EXITED 1
188*8d67ca89SAndroid Build Coastguard Worker #define CLD_KILLED 2
189*8d67ca89SAndroid Build Coastguard Worker #define CLD_DUMPED 3
190*8d67ca89SAndroid Build Coastguard Worker #define CLD_TRAPPED 4
191*8d67ca89SAndroid Build Coastguard Worker #define CLD_STOPPED 5
192*8d67ca89SAndroid Build Coastguard Worker #define CLD_CONTINUED 6
193*8d67ca89SAndroid Build Coastguard Worker #define NSIGCHLD 6
194*8d67ca89SAndroid Build Coastguard Worker #define POLL_IN 1
195*8d67ca89SAndroid Build Coastguard Worker #define POLL_OUT 2
196*8d67ca89SAndroid Build Coastguard Worker #define POLL_MSG 3
197*8d67ca89SAndroid Build Coastguard Worker #define POLL_ERR 4
198*8d67ca89SAndroid Build Coastguard Worker #define POLL_PRI 5
199*8d67ca89SAndroid Build Coastguard Worker #define POLL_HUP 6
200*8d67ca89SAndroid Build Coastguard Worker #define NSIGPOLL 6
201*8d67ca89SAndroid Build Coastguard Worker #define SYS_SECCOMP 1
202*8d67ca89SAndroid Build Coastguard Worker #define SYS_USER_DISPATCH 2
203*8d67ca89SAndroid Build Coastguard Worker #define NSIGSYS 2
204*8d67ca89SAndroid Build Coastguard Worker #define EMT_TAGOVF 1
205*8d67ca89SAndroid Build Coastguard Worker #define NSIGEMT 1
206*8d67ca89SAndroid Build Coastguard Worker #define SIGEV_SIGNAL 0
207*8d67ca89SAndroid Build Coastguard Worker #define SIGEV_NONE 1
208*8d67ca89SAndroid Build Coastguard Worker #define SIGEV_THREAD 2
209*8d67ca89SAndroid Build Coastguard Worker #define SIGEV_THREAD_ID 4
210*8d67ca89SAndroid Build Coastguard Worker #ifndef __ARCH_SIGEV_PREAMBLE_SIZE
211*8d67ca89SAndroid Build Coastguard Worker #define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
212*8d67ca89SAndroid Build Coastguard Worker #endif
213*8d67ca89SAndroid Build Coastguard Worker #define SIGEV_MAX_SIZE 64
214*8d67ca89SAndroid Build Coastguard Worker #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) / sizeof(int))
215*8d67ca89SAndroid Build Coastguard Worker typedef struct sigevent {
216*8d67ca89SAndroid Build Coastguard Worker   sigval_t sigev_value;
217*8d67ca89SAndroid Build Coastguard Worker   int sigev_signo;
218*8d67ca89SAndroid Build Coastguard Worker   int sigev_notify;
219*8d67ca89SAndroid Build Coastguard Worker   union {
220*8d67ca89SAndroid Build Coastguard Worker     int _pad[SIGEV_PAD_SIZE];
221*8d67ca89SAndroid Build Coastguard Worker     int _tid;
222*8d67ca89SAndroid Build Coastguard Worker     struct {
223*8d67ca89SAndroid Build Coastguard Worker       void(* _function) (sigval_t);
224*8d67ca89SAndroid Build Coastguard Worker       void * _attribute;
225*8d67ca89SAndroid Build Coastguard Worker     } _sigev_thread;
226*8d67ca89SAndroid Build Coastguard Worker   } _sigev_un;
227*8d67ca89SAndroid Build Coastguard Worker } sigevent_t;
228*8d67ca89SAndroid Build Coastguard Worker #define sigev_notify_function _sigev_un._sigev_thread._function
229*8d67ca89SAndroid Build Coastguard Worker #define sigev_notify_attributes _sigev_un._sigev_thread._attribute
230*8d67ca89SAndroid Build Coastguard Worker #define sigev_notify_thread_id _sigev_un._tid
231*8d67ca89SAndroid Build Coastguard Worker #endif
232