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