siginfo.h revision 96c1db7b9d601c31d103389cac074a6cce0d7633
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>
33typedef 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