122851890Sopenharmony_ci/* 222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py, 322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants, 422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information. 522851890Sopenharmony_ci */ 622851890Sopenharmony_ci#ifndef _UAPI_ASM_GENERIC_SIGINFO_H 722851890Sopenharmony_ci#define _UAPI_ASM_GENERIC_SIGINFO_H 822851890Sopenharmony_ci#include <linux/compiler.h> 922851890Sopenharmony_ci#include <linux/types.h> 1022851890Sopenharmony_citypedef union sigval { 1122851890Sopenharmony_ci int sival_int; 1222851890Sopenharmony_ci void __user *sival_ptr; 1322851890Sopenharmony_ci} sigval_t; 1422851890Sopenharmony_ci#ifndef __ARCH_SI_PREAMBLE_SIZE 1522851890Sopenharmony_ci#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int)) 1622851890Sopenharmony_ci#endif 1722851890Sopenharmony_ci#define SI_MAX_SIZE 128 1822851890Sopenharmony_ci#ifndef SI_PAD_SIZE 1922851890Sopenharmony_ci#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int)) 2022851890Sopenharmony_ci#endif 2122851890Sopenharmony_ci#ifndef __ARCH_SI_BAND_T 2222851890Sopenharmony_ci#define __ARCH_SI_BAND_T long 2322851890Sopenharmony_ci#endif 2422851890Sopenharmony_ci#ifndef __ARCH_SI_CLOCK_T 2522851890Sopenharmony_ci#define __ARCH_SI_CLOCK_T __kernel_clock_t 2622851890Sopenharmony_ci#endif 2722851890Sopenharmony_ci#ifndef __ARCH_SI_ATTRIBUTES 2822851890Sopenharmony_ci#define __ARCH_SI_ATTRIBUTES 2922851890Sopenharmony_ci#endif 3022851890Sopenharmony_citypedef struct siginfo { 3122851890Sopenharmony_ci int si_signo; 3222851890Sopenharmony_ci#ifndef __ARCH_HAS_SWAPPED_SIGINFO 3322851890Sopenharmony_ci int si_errno; 3422851890Sopenharmony_ci int si_code; 3522851890Sopenharmony_ci#else 3622851890Sopenharmony_ci int si_code; 3722851890Sopenharmony_ci int si_errno; 3822851890Sopenharmony_ci#endif 3922851890Sopenharmony_ci union { 4022851890Sopenharmony_ci int _pad[SI_PAD_SIZE]; 4122851890Sopenharmony_ci 4222851890Sopenharmony_ci struct { 4322851890Sopenharmony_ci __kernel_pid_t _pid; 4422851890Sopenharmony_ci __kernel_uid32_t _uid; 4522851890Sopenharmony_ci } _kill; 4622851890Sopenharmony_ci 4722851890Sopenharmony_ci struct { 4822851890Sopenharmony_ci __kernel_timer_t _tid; 4922851890Sopenharmony_ci int _overrun; 5022851890Sopenharmony_ci sigval_t _sigval; 5122851890Sopenharmony_ci int _sys_private; 5222851890Sopenharmony_ci } _timer; 5322851890Sopenharmony_ci 5422851890Sopenharmony_ci struct { 5522851890Sopenharmony_ci __kernel_pid_t _pid; 5622851890Sopenharmony_ci __kernel_uid32_t _uid; 5722851890Sopenharmony_ci sigval_t _sigval; 5822851890Sopenharmony_ci } _rt; 5922851890Sopenharmony_ci 6022851890Sopenharmony_ci struct { 6122851890Sopenharmony_ci __kernel_pid_t _pid; 6222851890Sopenharmony_ci __kernel_uid32_t _uid; 6322851890Sopenharmony_ci int _status; 6422851890Sopenharmony_ci __ARCH_SI_CLOCK_T _utime; 6522851890Sopenharmony_ci __ARCH_SI_CLOCK_T _stime; 6622851890Sopenharmony_ci } _sigchld; 6722851890Sopenharmony_ci 6822851890Sopenharmony_ci struct { 6922851890Sopenharmony_ci void __user *_addr; 7022851890Sopenharmony_ci#ifdef __ARCH_SI_TRAPNO 7122851890Sopenharmony_ci int _trapno; 7222851890Sopenharmony_ci#endif 7322851890Sopenharmony_ci#ifdef __ia64__ 7422851890Sopenharmony_ci int _imm; 7522851890Sopenharmony_ci unsigned int _flags; 7622851890Sopenharmony_ci unsigned long _isr; 7722851890Sopenharmony_ci#endif 7822851890Sopenharmony_ci#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \ 7922851890Sopenharmony_ci sizeof(short) : __alignof__(void *)) 8022851890Sopenharmony_ci union { 8122851890Sopenharmony_ci 8222851890Sopenharmony_ci short _addr_lsb; 8322851890Sopenharmony_ci 8422851890Sopenharmony_ci struct { 8522851890Sopenharmony_ci char _dummy_bnd[__ADDR_BND_PKEY_PAD]; 8622851890Sopenharmony_ci void __user *_lower; 8722851890Sopenharmony_ci void __user *_upper; 8822851890Sopenharmony_ci } _addr_bnd; 8922851890Sopenharmony_ci 9022851890Sopenharmony_ci struct { 9122851890Sopenharmony_ci char _dummy_pkey[__ADDR_BND_PKEY_PAD]; 9222851890Sopenharmony_ci __u32 _pkey; 9322851890Sopenharmony_ci } _addr_pkey; 9422851890Sopenharmony_ci }; 9522851890Sopenharmony_ci } _sigfault; 9622851890Sopenharmony_ci 9722851890Sopenharmony_ci struct { 9822851890Sopenharmony_ci __ARCH_SI_BAND_T _band; 9922851890Sopenharmony_ci int _fd; 10022851890Sopenharmony_ci } _sigpoll; 10122851890Sopenharmony_ci 10222851890Sopenharmony_ci struct { 10322851890Sopenharmony_ci void __user *_call_addr; 10422851890Sopenharmony_ci int _syscall; 10522851890Sopenharmony_ci unsigned int _arch; 10622851890Sopenharmony_ci } _sigsys; 10722851890Sopenharmony_ci } _sifields; 10822851890Sopenharmony_ci} __ARCH_SI_ATTRIBUTES siginfo_t; 10922851890Sopenharmony_ci#define si_pid _sifields._kill._pid 11022851890Sopenharmony_ci#define si_uid _sifields._kill._uid 11122851890Sopenharmony_ci#define si_tid _sifields._timer._tid 11222851890Sopenharmony_ci#define si_overrun _sifields._timer._overrun 11322851890Sopenharmony_ci#define si_sys_private _sifields._timer._sys_private 11422851890Sopenharmony_ci#define si_status _sifields._sigchld._status 11522851890Sopenharmony_ci#define si_utime _sifields._sigchld._utime 11622851890Sopenharmony_ci#define si_stime _sifields._sigchld._stime 11722851890Sopenharmony_ci#define si_value _sifields._rt._sigval 11822851890Sopenharmony_ci#define si_int _sifields._rt._sigval.sival_int 11922851890Sopenharmony_ci#define si_ptr _sifields._rt._sigval.sival_ptr 12022851890Sopenharmony_ci#define si_addr _sifields._sigfault._addr 12122851890Sopenharmony_ci#ifdef __ARCH_SI_TRAPNO 12222851890Sopenharmony_ci#define si_trapno _sifields._sigfault._trapno 12322851890Sopenharmony_ci#endif 12422851890Sopenharmony_ci#define si_addr_lsb _sifields._sigfault._addr_lsb 12522851890Sopenharmony_ci#define si_lower _sifields._sigfault._addr_bnd._lower 12622851890Sopenharmony_ci#define si_upper _sifields._sigfault._addr_bnd._upper 12722851890Sopenharmony_ci#define si_pkey _sifields._sigfault._addr_pkey._pkey 12822851890Sopenharmony_ci#define si_band _sifields._sigpoll._band 12922851890Sopenharmony_ci#define si_fd _sifields._sigpoll._fd 13022851890Sopenharmony_ci#define si_call_addr _sifields._sigsys._call_addr 13122851890Sopenharmony_ci#define si_syscall _sifields._sigsys._syscall 13222851890Sopenharmony_ci#define si_arch _sifields._sigsys._arch 13322851890Sopenharmony_ci#define SI_USER 0 13422851890Sopenharmony_ci#define SI_KERNEL 0x80 13522851890Sopenharmony_ci#define SI_QUEUE -1 13622851890Sopenharmony_ci#define SI_TIMER -2 13722851890Sopenharmony_ci#define SI_MESGQ -3 13822851890Sopenharmony_ci#define SI_ASYNCIO -4 13922851890Sopenharmony_ci#define SI_SIGIO -5 14022851890Sopenharmony_ci#define SI_TKILL -6 14122851890Sopenharmony_ci#define SI_DETHREAD -7 14222851890Sopenharmony_ci#define SI_ASYNCNL -60 14322851890Sopenharmony_ci#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0) 14422851890Sopenharmony_ci#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0) 14522851890Sopenharmony_ci#define ILL_ILLOPC 1 14622851890Sopenharmony_ci#define ILL_ILLOPN 2 14722851890Sopenharmony_ci#define ILL_ILLADR 3 14822851890Sopenharmony_ci#define ILL_ILLTRP 4 14922851890Sopenharmony_ci#define ILL_PRVOPC 5 15022851890Sopenharmony_ci#define ILL_PRVREG 6 15122851890Sopenharmony_ci#define ILL_COPROC 7 15222851890Sopenharmony_ci#define ILL_BADSTK 8 15322851890Sopenharmony_ci#define ILL_BADIADDR 9 15422851890Sopenharmony_ci#define __ILL_BREAK 10 15522851890Sopenharmony_ci#define __ILL_BNDMOD 11 15622851890Sopenharmony_ci#define NSIGILL 11 15722851890Sopenharmony_ci#define FPE_INTDIV 1 15822851890Sopenharmony_ci#define FPE_INTOVF 2 15922851890Sopenharmony_ci#define FPE_FLTDIV 3 16022851890Sopenharmony_ci#define FPE_FLTOVF 4 16122851890Sopenharmony_ci#define FPE_FLTUND 5 16222851890Sopenharmony_ci#define FPE_FLTRES 6 16322851890Sopenharmony_ci#define FPE_FLTINV 7 16422851890Sopenharmony_ci#define FPE_FLTSUB 8 16522851890Sopenharmony_ci#define __FPE_DECOVF 9 16622851890Sopenharmony_ci#define __FPE_DECDIV 10 16722851890Sopenharmony_ci#define __FPE_DECERR 11 16822851890Sopenharmony_ci#define __FPE_INVASC 12 16922851890Sopenharmony_ci#define __FPE_INVDEC 13 17022851890Sopenharmony_ci#define FPE_FLTUNK 14 17122851890Sopenharmony_ci#define FPE_CONDTRAP 15 17222851890Sopenharmony_ci#define NSIGFPE 15 17322851890Sopenharmony_ci#define SEGV_MAPERR 1 17422851890Sopenharmony_ci#define SEGV_ACCERR 2 17522851890Sopenharmony_ci#define SEGV_BNDERR 3 17622851890Sopenharmony_ci#ifdef __ia64__ 17722851890Sopenharmony_ci# define __SEGV_PSTKOVF 4 17822851890Sopenharmony_ci#else 17922851890Sopenharmony_ci# define SEGV_PKUERR 4 18022851890Sopenharmony_ci#endif 18122851890Sopenharmony_ci#define SEGV_ACCADI 5 18222851890Sopenharmony_ci#define SEGV_ADIDERR 6 18322851890Sopenharmony_ci#define SEGV_ADIPERR 7 18422851890Sopenharmony_ci#define NSIGSEGV 7 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 SIGEV_SIGNAL 0 21422851890Sopenharmony_ci#define SIGEV_NONE 1 21522851890Sopenharmony_ci#define SIGEV_THREAD 2 21622851890Sopenharmony_ci#define SIGEV_THREAD_ID 4 21722851890Sopenharmony_ci#ifndef __ARCH_SIGEV_PREAMBLE_SIZE 21822851890Sopenharmony_ci#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t)) 21922851890Sopenharmony_ci#endif 22022851890Sopenharmony_ci#define SIGEV_MAX_SIZE 64 22122851890Sopenharmony_ci#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \ 22222851890Sopenharmony_ci / sizeof(int)) 22322851890Sopenharmony_citypedef struct sigevent { 22422851890Sopenharmony_ci sigval_t sigev_value; 22522851890Sopenharmony_ci int sigev_signo; 22622851890Sopenharmony_ci int sigev_notify; 22722851890Sopenharmony_ci union { 22822851890Sopenharmony_ci int _pad[SIGEV_PAD_SIZE]; 22922851890Sopenharmony_ci int _tid; 23022851890Sopenharmony_ci struct { 23122851890Sopenharmony_ci void (*_function)(sigval_t); 23222851890Sopenharmony_ci void *_attribute; 23322851890Sopenharmony_ci } _sigev_thread; 23422851890Sopenharmony_ci } _sigev_un; 23522851890Sopenharmony_ci} sigevent_t; 23622851890Sopenharmony_ci#define sigev_notify_function _sigev_un._sigev_thread._function 23722851890Sopenharmony_ci#define sigev_notify_attributes _sigev_un._sigev_thread._attribute 23822851890Sopenharmony_ci#define sigev_notify_thread_id _sigev_un._tid 23922851890Sopenharmony_ci#endif 240