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_SIGINFO_H 20 #define _UAPI_ASM_SIGINFO_H 21 #define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(long) + 2 * sizeof(int)) 22 #undef __ARCH_SI_TRAPNO 23 #define HAVE_ARCH_SIGINFO_T 24 #if _MIPS_SZLONG == 32 25 #define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) 26 #elif _MIPS_SZLONG==64 27 #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) 28 #else 29 #error _MIPS_SZLONG neither 32 nor 64 30 #endif 31 #define __ARCH_SIGSYS 32 #include <asm-generic/siginfo.h> 33 typedef struct siginfo { 34 int si_signo; 35 int si_code; 36 int si_errno; 37 int __pad0[SI_MAX_SIZE / sizeof(int) - SI_PAD_SIZE - 3]; 38 union { 39 int _pad[SI_PAD_SIZE]; 40 struct { 41 __kernel_pid_t _pid; 42 __ARCH_SI_UID_T _uid; 43 } _kill; 44 struct { 45 __kernel_timer_t _tid; 46 int _overrun; 47 char _pad[sizeof(__ARCH_SI_UID_T) - sizeof(int)]; 48 sigval_t _sigval; 49 int _sys_private; 50 } _timer; 51 struct { 52 __kernel_pid_t _pid; 53 __ARCH_SI_UID_T _uid; 54 sigval_t _sigval; 55 } _rt; 56 struct { 57 __kernel_pid_t _pid; 58 __ARCH_SI_UID_T _uid; 59 int _status; 60 __kernel_clock_t _utime; 61 __kernel_clock_t _stime; 62 } _sigchld; 63 struct { 64 __kernel_pid_t _pid; 65 __kernel_clock_t _utime; 66 int _status; 67 __kernel_clock_t _stime; 68 } _irix_sigchld; 69 struct { 70 void __user * _addr; 71 #ifdef __ARCH_SI_TRAPNO 72 int _trapno; 73 #endif 74 short _addr_lsb; 75 union { 76 struct { 77 void __user * _lower; 78 void __user * _upper; 79 } _addr_bnd; 80 __u32 _pkey; 81 }; 82 } _sigfault; 83 struct { 84 __ARCH_SI_BAND_T _band; 85 int _fd; 86 } _sigpoll; 87 struct { 88 void __user * _call_addr; 89 int _syscall; 90 unsigned int _arch; 91 } _sigsys; 92 } _sifields; 93 } siginfo_t; 94 #undef SI_ASYNCIO 95 #undef SI_TIMER 96 #undef SI_MESGQ 97 #define SI_ASYNCIO - 2 98 #define SI_TIMER __SI_CODE(__SI_TIMER, - 3) 99 #define SI_MESGQ __SI_CODE(__SI_MESGQ, - 4) 100 #endif 101