122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _UAPI_ASM_GENERIC_SIGINFO_H
2022851890Sopenharmony_ci#define _UAPI_ASM_GENERIC_SIGINFO_H
2122851890Sopenharmony_ci#include <linux/compiler.h>
2222851890Sopenharmony_ci#include <linux/types.h>
2322851890Sopenharmony_citypedef union sigval {
2422851890Sopenharmony_ci  int sival_int;
2522851890Sopenharmony_ci  void __user * sival_ptr;
2622851890Sopenharmony_ci} sigval_t;
2722851890Sopenharmony_ci#define SI_MAX_SIZE 128
2822851890Sopenharmony_ci#ifndef __ARCH_SI_BAND_T
2922851890Sopenharmony_ci#define __ARCH_SI_BAND_T long
3022851890Sopenharmony_ci#endif
3122851890Sopenharmony_ci#ifndef __ARCH_SI_CLOCK_T
3222851890Sopenharmony_ci#define __ARCH_SI_CLOCK_T __kernel_clock_t
3322851890Sopenharmony_ci#endif
3422851890Sopenharmony_ci#ifndef __ARCH_SI_ATTRIBUTES
3522851890Sopenharmony_ci#define __ARCH_SI_ATTRIBUTES
3622851890Sopenharmony_ci#endif
3722851890Sopenharmony_ciunion __sifields {
3822851890Sopenharmony_ci  struct {
3922851890Sopenharmony_ci    __kernel_pid_t _pid;
4022851890Sopenharmony_ci    __kernel_uid32_t _uid;
4122851890Sopenharmony_ci  } _kill;
4222851890Sopenharmony_ci  struct {
4322851890Sopenharmony_ci    __kernel_timer_t _tid;
4422851890Sopenharmony_ci    int _overrun;
4522851890Sopenharmony_ci    sigval_t _sigval;
4622851890Sopenharmony_ci    int _sys_private;
4722851890Sopenharmony_ci  } _timer;
4822851890Sopenharmony_ci  struct {
4922851890Sopenharmony_ci    __kernel_pid_t _pid;
5022851890Sopenharmony_ci    __kernel_uid32_t _uid;
5122851890Sopenharmony_ci    sigval_t _sigval;
5222851890Sopenharmony_ci  } _rt;
5322851890Sopenharmony_ci  struct {
5422851890Sopenharmony_ci    __kernel_pid_t _pid;
5522851890Sopenharmony_ci    __kernel_uid32_t _uid;
5622851890Sopenharmony_ci    int _status;
5722851890Sopenharmony_ci    __ARCH_SI_CLOCK_T _utime;
5822851890Sopenharmony_ci    __ARCH_SI_CLOCK_T _stime;
5922851890Sopenharmony_ci  } _sigchld;
6022851890Sopenharmony_ci  struct {
6122851890Sopenharmony_ci    void __user * _addr;
6222851890Sopenharmony_ci#ifdef __ARCH_SI_TRAPNO
6322851890Sopenharmony_ci    int _trapno;
6422851890Sopenharmony_ci#endif
6522851890Sopenharmony_ci#ifdef __ia64__
6622851890Sopenharmony_ci    int _imm;
6722851890Sopenharmony_ci    unsigned int _flags;
6822851890Sopenharmony_ci    unsigned long _isr;
6922851890Sopenharmony_ci#endif
7022851890Sopenharmony_ci#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))
7122851890Sopenharmony_ci    union {
7222851890Sopenharmony_ci      short _addr_lsb;
7322851890Sopenharmony_ci      struct {
7422851890Sopenharmony_ci        char _dummy_bnd[__ADDR_BND_PKEY_PAD];
7522851890Sopenharmony_ci        void __user * _lower;
7622851890Sopenharmony_ci        void __user * _upper;
7722851890Sopenharmony_ci      } _addr_bnd;
7822851890Sopenharmony_ci      struct {
7922851890Sopenharmony_ci        char _dummy_pkey[__ADDR_BND_PKEY_PAD];
8022851890Sopenharmony_ci        __u32 _pkey;
8122851890Sopenharmony_ci      } _addr_pkey;
8222851890Sopenharmony_ci    };
8322851890Sopenharmony_ci  } _sigfault;
8422851890Sopenharmony_ci  struct {
8522851890Sopenharmony_ci    __ARCH_SI_BAND_T _band;
8622851890Sopenharmony_ci    int _fd;
8722851890Sopenharmony_ci  } _sigpoll;
8822851890Sopenharmony_ci  struct {
8922851890Sopenharmony_ci    void __user * _call_addr;
9022851890Sopenharmony_ci    int _syscall;
9122851890Sopenharmony_ci    unsigned int _arch;
9222851890Sopenharmony_ci  } _sigsys;
9322851890Sopenharmony_ci};
9422851890Sopenharmony_ci#ifndef __ARCH_HAS_SWAPPED_SIGINFO
9522851890Sopenharmony_ci#define __SIGINFO struct { int si_signo; int si_errno; int si_code; union __sifields _sifields; \
9622851890Sopenharmony_ci}
9722851890Sopenharmony_ci#else
9822851890Sopenharmony_ci#define __SIGINFO struct { int si_signo; int si_code; int si_errno; union __sifields _sifields; \
9922851890Sopenharmony_ci}
10022851890Sopenharmony_ci#endif
10122851890Sopenharmony_citypedef struct siginfo {
10222851890Sopenharmony_ci  union {
10322851890Sopenharmony_ci    __SIGINFO;
10422851890Sopenharmony_ci    int _si_pad[SI_MAX_SIZE / sizeof(int)];
10522851890Sopenharmony_ci  };
10622851890Sopenharmony_ci} __ARCH_SI_ATTRIBUTES siginfo_t;
10722851890Sopenharmony_ci#define si_pid _sifields._kill._pid
10822851890Sopenharmony_ci#define si_uid _sifields._kill._uid
10922851890Sopenharmony_ci#define si_tid _sifields._timer._tid
11022851890Sopenharmony_ci#define si_overrun _sifields._timer._overrun
11122851890Sopenharmony_ci#define si_sys_private _sifields._timer._sys_private
11222851890Sopenharmony_ci#define si_status _sifields._sigchld._status
11322851890Sopenharmony_ci#define si_utime _sifields._sigchld._utime
11422851890Sopenharmony_ci#define si_stime _sifields._sigchld._stime
11522851890Sopenharmony_ci#define si_value _sifields._rt._sigval
11622851890Sopenharmony_ci#define si_int _sifields._rt._sigval.sival_int
11722851890Sopenharmony_ci#define si_ptr _sifields._rt._sigval.sival_ptr
11822851890Sopenharmony_ci#define si_addr _sifields._sigfault._addr
11922851890Sopenharmony_ci#ifdef __ARCH_SI_TRAPNO
12022851890Sopenharmony_ci#define si_trapno _sifields._sigfault._trapno
12122851890Sopenharmony_ci#endif
12222851890Sopenharmony_ci#define si_addr_lsb _sifields._sigfault._addr_lsb
12322851890Sopenharmony_ci#define si_lower _sifields._sigfault._addr_bnd._lower
12422851890Sopenharmony_ci#define si_upper _sifields._sigfault._addr_bnd._upper
12522851890Sopenharmony_ci#define si_pkey _sifields._sigfault._addr_pkey._pkey
12622851890Sopenharmony_ci#define si_band _sifields._sigpoll._band
12722851890Sopenharmony_ci#define si_fd _sifields._sigpoll._fd
12822851890Sopenharmony_ci#define si_call_addr _sifields._sigsys._call_addr
12922851890Sopenharmony_ci#define si_syscall _sifields._sigsys._syscall
13022851890Sopenharmony_ci#define si_arch _sifields._sigsys._arch
13122851890Sopenharmony_ci#define SI_USER 0
13222851890Sopenharmony_ci#define SI_KERNEL 0x80
13322851890Sopenharmony_ci#define SI_QUEUE - 1
13422851890Sopenharmony_ci#define SI_TIMER - 2
13522851890Sopenharmony_ci#define SI_MESGQ - 3
13622851890Sopenharmony_ci#define SI_ASYNCIO - 4
13722851890Sopenharmony_ci#define SI_SIGIO - 5
13822851890Sopenharmony_ci#define SI_TKILL - 6
13922851890Sopenharmony_ci#define SI_DETHREAD - 7
14022851890Sopenharmony_ci#define SI_ASYNCNL - 60
14122851890Sopenharmony_ci#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
14222851890Sopenharmony_ci#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
14322851890Sopenharmony_ci#define ILL_ILLOPC 1
14422851890Sopenharmony_ci#define ILL_ILLOPN 2
14522851890Sopenharmony_ci#define ILL_ILLADR 3
14622851890Sopenharmony_ci#define ILL_ILLTRP 4
14722851890Sopenharmony_ci#define ILL_PRVOPC 5
14822851890Sopenharmony_ci#define ILL_PRVREG 6
14922851890Sopenharmony_ci#define ILL_COPROC 7
15022851890Sopenharmony_ci#define ILL_BADSTK 8
15122851890Sopenharmony_ci#define ILL_BADIADDR 9
15222851890Sopenharmony_ci#define __ILL_BREAK 10
15322851890Sopenharmony_ci#define __ILL_BNDMOD 11
15422851890Sopenharmony_ci#define NSIGILL 11
15522851890Sopenharmony_ci#define FPE_INTDIV 1
15622851890Sopenharmony_ci#define FPE_INTOVF 2
15722851890Sopenharmony_ci#define FPE_FLTDIV 3
15822851890Sopenharmony_ci#define FPE_FLTOVF 4
15922851890Sopenharmony_ci#define FPE_FLTUND 5
16022851890Sopenharmony_ci#define FPE_FLTRES 6
16122851890Sopenharmony_ci#define FPE_FLTINV 7
16222851890Sopenharmony_ci#define FPE_FLTSUB 8
16322851890Sopenharmony_ci#define __FPE_DECOVF 9
16422851890Sopenharmony_ci#define __FPE_DECDIV 10
16522851890Sopenharmony_ci#define __FPE_DECERR 11
16622851890Sopenharmony_ci#define __FPE_INVASC 12
16722851890Sopenharmony_ci#define __FPE_INVDEC 13
16822851890Sopenharmony_ci#define FPE_FLTUNK 14
16922851890Sopenharmony_ci#define FPE_CONDTRAP 15
17022851890Sopenharmony_ci#define NSIGFPE 15
17122851890Sopenharmony_ci#define SEGV_MAPERR 1
17222851890Sopenharmony_ci#define SEGV_ACCERR 2
17322851890Sopenharmony_ci#define SEGV_BNDERR 3
17422851890Sopenharmony_ci#ifdef __ia64__
17522851890Sopenharmony_ci#define __SEGV_PSTKOVF 4
17622851890Sopenharmony_ci#else
17722851890Sopenharmony_ci#define SEGV_PKUERR 4
17822851890Sopenharmony_ci#endif
17922851890Sopenharmony_ci#define SEGV_ACCADI 5
18022851890Sopenharmony_ci#define SEGV_ADIDERR 6
18122851890Sopenharmony_ci#define SEGV_ADIPERR 7
18222851890Sopenharmony_ci#define SEGV_MTEAERR 8
18322851890Sopenharmony_ci#define SEGV_MTESERR 9
18422851890Sopenharmony_ci#define NSIGSEGV 9
18522851890Sopenharmony_ci#define BUS_ADRALN 1
18622851890Sopenharmony_ci#define BUS_ADRERR 2
18722851890Sopenharmony_ci#define BUS_OBJERR 3
18822851890Sopenharmony_ci#define BUS_MCEERR_AR 4
18922851890Sopenharmony_ci#define BUS_MCEERR_AO 5
19022851890Sopenharmony_ci#define NSIGBUS 5
19122851890Sopenharmony_ci#define TRAP_BRKPT 1
19222851890Sopenharmony_ci#define TRAP_TRACE 2
19322851890Sopenharmony_ci#define TRAP_BRANCH 3
19422851890Sopenharmony_ci#define TRAP_HWBKPT 4
19522851890Sopenharmony_ci#define TRAP_UNK 5
19622851890Sopenharmony_ci#define NSIGTRAP 5
19722851890Sopenharmony_ci#define CLD_EXITED 1
19822851890Sopenharmony_ci#define CLD_KILLED 2
19922851890Sopenharmony_ci#define CLD_DUMPED 3
20022851890Sopenharmony_ci#define CLD_TRAPPED 4
20122851890Sopenharmony_ci#define CLD_STOPPED 5
20222851890Sopenharmony_ci#define CLD_CONTINUED 6
20322851890Sopenharmony_ci#define NSIGCHLD 6
20422851890Sopenharmony_ci#define POLL_IN 1
20522851890Sopenharmony_ci#define POLL_OUT 2
20622851890Sopenharmony_ci#define POLL_MSG 3
20722851890Sopenharmony_ci#define POLL_ERR 4
20822851890Sopenharmony_ci#define POLL_PRI 5
20922851890Sopenharmony_ci#define POLL_HUP 6
21022851890Sopenharmony_ci#define NSIGPOLL 6
21122851890Sopenharmony_ci#define SYS_SECCOMP 1
21222851890Sopenharmony_ci#define NSIGSYS 1
21322851890Sopenharmony_ci#define EMT_TAGOVF 1
21422851890Sopenharmony_ci#define NSIGEMT 1
21522851890Sopenharmony_ci#define SIGEV_SIGNAL 0
21622851890Sopenharmony_ci#define SIGEV_NONE 1
21722851890Sopenharmony_ci#define SIGEV_THREAD 2
21822851890Sopenharmony_ci#define SIGEV_THREAD_ID 4
21922851890Sopenharmony_ci#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
22022851890Sopenharmony_ci#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
22122851890Sopenharmony_ci#endif
22222851890Sopenharmony_ci#define SIGEV_MAX_SIZE 64
22322851890Sopenharmony_ci#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) / sizeof(int))
22422851890Sopenharmony_citypedef struct sigevent {
22522851890Sopenharmony_ci  sigval_t sigev_value;
22622851890Sopenharmony_ci  int sigev_signo;
22722851890Sopenharmony_ci  int sigev_notify;
22822851890Sopenharmony_ci  union {
22922851890Sopenharmony_ci    int _pad[SIGEV_PAD_SIZE];
23022851890Sopenharmony_ci    int _tid;
23122851890Sopenharmony_ci    struct {
23222851890Sopenharmony_ci      void(* _function) (sigval_t);
23322851890Sopenharmony_ci      void * _attribute;
23422851890Sopenharmony_ci    } _sigev_thread;
23522851890Sopenharmony_ci  } _sigev_un;
23622851890Sopenharmony_ci} sigevent_t;
23722851890Sopenharmony_ci#define sigev_notify_function _sigev_un._sigev_thread._function
23822851890Sopenharmony_ci#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
23922851890Sopenharmony_ci#define sigev_notify_thread_id _sigev_un._tid
24022851890Sopenharmony_ci#endif
241