Home | History | Annotate | Download | only in asm
      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 - 3
     99 #define SI_MESGQ - 4
    100 #endif
    101