1a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng/**************************************************************************** 2a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng **************************************************************************** 3a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 4a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** This header was automatically generated from a Linux kernel header 5a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** of the same name, to make information necessary for userspace to 6a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** call into the kernel available to libc. It contains only constants, 7a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** structures, and macros generated from the original header, and thus, 8a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** contains no copyrightable information. 9a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 10a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** To edit the content of this header, modify the corresponding 11a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 14a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** Any manual change here will be lost the next time this script will 15a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** be run. You've been warned! 16a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng *** 17a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng **************************************************************************** 18a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng ****************************************************************************/ 19a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#ifndef _UAPI_ASMARM_SIGNAL_H 20a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define _UAPI_ASMARM_SIGNAL_H 21a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#include <linux/types.h> 22a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengstruct siginfo; 23199346a2abd8b6ba282e1fe291cc3766fa921f40Elliott Hughes#define _KERNEL_NSIG 32 24a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengtypedef unsigned long sigset_t; 25a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGHUP 1 26a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGINT 2 27a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGQUIT 3 28a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGILL 4 29a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGTRAP 5 30a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGABRT 6 31a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGIOT 6 32a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGBUS 7 33a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGFPE 8 34a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGKILL 9 35a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGUSR1 10 36a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGSEGV 11 37a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGUSR2 12 38a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGPIPE 13 39a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGALRM 14 40a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGTERM 15 41a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGSTKFLT 16 42a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGCHLD 17 43a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGCONT 18 44a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGSTOP 19 45a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGTSTP 20 46a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGTTIN 21 47a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGTTOU 22 48a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGURG 23 49a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGXCPU 24 50a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGXFSZ 25 51a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGVTALRM 26 52a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGPROF 27 53a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGWINCH 28 54a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGIO 29 55a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGPOLL SIGIO 56a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGPWR 30 57a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGSYS 31 58a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGUNUSED 31 590990d4fda898ada86e557f872f5cb7d16b138e3cElliott Hughes#define __SIGRTMIN 32 600990d4fda898ada86e557f872f5cb7d16b138e3cElliott Hughes#define __SIGRTMAX _KERNEL__NSIG 61a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGSWI 32 62a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_NOCLDSTOP 0x00000001 63a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_NOCLDWAIT 0x00000002 64a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_SIGINFO 0x00000004 65a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_THIRTYTWO 0x02000000 66a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_RESTORER 0x04000000 67a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_ONSTACK 0x08000000 68a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_RESTART 0x10000000 69a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_NODEFER 0x40000000 70a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_RESETHAND 0x80000000 71a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_NOMASK SA_NODEFER 72a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SA_ONESHOT SA_RESETHAND 73a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define MINSIGSTKSZ 2048 74a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define SIGSTKSZ 8192 75a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#include <asm-generic/signal-defs.h> 76a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengstruct sigaction { 77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao union { 78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __sighandler_t _sa_handler; 79d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao void(* _sa_sigaction) (int, struct siginfo *, void *); 80d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao } _u; 81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao sigset_t sa_mask; 82d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned long sa_flags; 83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao void(* sa_restorer) (void); 84a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng}; 85a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define sa_handler _u._sa_handler 86a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#define sa_sigaction _u._sa_sigaction 87a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Chengtypedef struct sigaltstack { 88d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao void __user * ss_sp; 89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int ss_flags; 90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao size_t ss_size; 91a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng} stack_t; 92a6b53f03c7c03c5bd28a1d582585b2b86fe70d59Ben Cheng#endif 93