1abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/****************************************************************************
2abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
3abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
4abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   This header was automatically generated from a Linux kernel header
5abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   of the same name, to make information necessary for userspace to
6abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   call into the kernel available to libc.  It contains only constants,
7abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   structures, and macros generated from the original header, and thus,
8abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   contains no copyrightable information.
9abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
10abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   To edit the content of this header, modify the corresponding
11abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   source file (e.g. under external/kernel-headers/original/) then
12abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   run bionic/libc/kernel/tools/update_all.py
13abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
14abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   Any manual change here will be lost the next time this script will
15abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   be run. You've been warned!
16abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
17abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
18abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************/
19abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef _UAPI_ASM_SIGINFO_H
20abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define _UAPI_ASM_SIGINFO_H
21d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(long) + 2 * sizeof(int))
22abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#undef __ARCH_SI_TRAPNO
23abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define HAVE_ARCH_SIGINFO_T
2438062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#if _MIPS_SZLONG == 32
252300332596f181c8b5c19b6d912c645161cf1486Duane Sand#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#elif _MIPS_SZLONG==64
279195a258ee96d6cf31b2fc7db9da16f92f5e7f65Elliott Hughes#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
2838062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#else
2938062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#error _MIPS_SZLONG neither 32 nor 64
309195a258ee96d6cf31b2fc7db9da16f92f5e7f65Elliott Hughes#endif
3138062f954c637861348dd8078cefb73554e6f12cChristopher Ferris#define __ARCH_SIGSYS
32abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <asm-generic/siginfo.h>
33abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughestypedef struct siginfo {
34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int si_signo;
35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int si_code;
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int si_errno;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int __pad0[SI_MAX_SIZE / sizeof(int) - SI_PAD_SIZE - 3];
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  union {
39d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    int _pad[SI_PAD_SIZE];
40d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
41106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_pid_t _pid;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      __ARCH_SI_UID_T _uid;
43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _kill;
44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
45106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_timer_t _tid;
46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _overrun;
47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      char _pad[sizeof(__ARCH_SI_UID_T) - sizeof(int)];
48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      sigval_t _sigval;
49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _sys_private;
50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _timer;
51d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
52106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_pid_t _pid;
53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      __ARCH_SI_UID_T _uid;
54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      sigval_t _sigval;
55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _rt;
56d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
57106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_pid_t _pid;
58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      __ARCH_SI_UID_T _uid;
59d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _status;
60106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_clock_t _utime;
61106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_clock_t _stime;
62d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _sigchld;
63d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
64106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_pid_t _pid;
65106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_clock_t _utime;
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _status;
67106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      __kernel_clock_t _stime;
68d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _irix_sigchld;
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      void __user * _addr;
71abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifdef __ARCH_SI_TRAPNO
72d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _trapno;
73abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      short _addr_lsb;
75106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      union {
76106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris        struct {
77106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris          void __user * _lower;
78106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris          void __user * _upper;
79106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris        } _addr_bnd;
80106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris        __u32 _pkey;
81106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris      };
82d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _sigfault;
83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      __ARCH_SI_BAND_T _band;
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _fd;
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _sigpoll;
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    struct {
88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      void __user * _call_addr;
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      int _syscall;
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao      unsigned int _arch;
91d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    } _sigsys;
92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } _sifields;
93abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes} siginfo_t;
94abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#undef SI_ASYNCIO
95abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#undef SI_TIMER
96abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#undef SI_MESGQ
97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define SI_ASYNCIO - 2
981308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define SI_TIMER - 3
991308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define SI_MESGQ - 4
100abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
101