Home | History | Annotate | Download | only in asm-generic
      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 */
     24 typedef 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 */
     54 typedef 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))
    240 typedef 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