• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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