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