196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#ifndef _UAPI_ASMAXP_SIGNAL_H 296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define _UAPI_ASMAXP_SIGNAL_H 396433f6ee49032d7a8bda76de2b05cfde2914354David Howells 496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#include <linux/types.h> 596433f6ee49032d7a8bda76de2b05cfde2914354David Howells 696433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* Avoid too many header ordering problems. */ 796433f6ee49032d7a8bda76de2b05cfde2914354David Howellsstruct siginfo; 896433f6ee49032d7a8bda76de2b05cfde2914354David Howells 996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#ifndef __KERNEL__ 1096433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* Here we must cater to libcs that poke about in kernel headers. */ 1196433f6ee49032d7a8bda76de2b05cfde2914354David Howells 1296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define NSIG 32 1396433f6ee49032d7a8bda76de2b05cfde2914354David Howellstypedef unsigned long sigset_t; 1496433f6ee49032d7a8bda76de2b05cfde2914354David Howells 1596433f6ee49032d7a8bda76de2b05cfde2914354David Howells#endif /* __KERNEL__ */ 1696433f6ee49032d7a8bda76de2b05cfde2914354David Howells 1796433f6ee49032d7a8bda76de2b05cfde2914354David Howells 1896433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* 1996433f6ee49032d7a8bda76de2b05cfde2914354David Howells * Linux/AXP has different signal numbers that Linux/i386: I'm trying 2096433f6ee49032d7a8bda76de2b05cfde2914354David Howells * to make it OSF/1 binary compatible, at least for normal binaries. 2196433f6ee49032d7a8bda76de2b05cfde2914354David Howells */ 2296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGHUP 1 2396433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGINT 2 2496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGQUIT 3 2596433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGILL 4 2696433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGTRAP 5 2796433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGABRT 6 2896433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGEMT 7 2996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGFPE 8 3096433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGKILL 9 3196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGBUS 10 3296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGSEGV 11 3396433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGSYS 12 3496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGPIPE 13 3596433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGALRM 14 3696433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGTERM 15 3796433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGURG 16 3896433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGSTOP 17 3996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGTSTP 18 4096433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGCONT 19 4196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGCHLD 20 4296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGTTIN 21 4396433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGTTOU 22 4496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGIO 23 4596433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGXCPU 24 4696433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGXFSZ 25 4796433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGVTALRM 26 4896433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGPROF 27 4996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGWINCH 28 5096433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGINFO 29 5196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGUSR1 30 5296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGUSR2 31 5396433f6ee49032d7a8bda76de2b05cfde2914354David Howells 5496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGPOLL SIGIO 5596433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGPWR SIGINFO 5696433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGIOT SIGABRT 5796433f6ee49032d7a8bda76de2b05cfde2914354David Howells 5896433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* These should not be considered constants from userland. */ 5996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGRTMIN 32 6096433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGRTMAX _NSIG 6196433f6ee49032d7a8bda76de2b05cfde2914354David Howells 6296433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* 6396433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_FLAGS values: 6496433f6ee49032d7a8bda76de2b05cfde2914354David Howells * 6596433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_ONSTACK indicates that a registered stack_t will be used. 6696433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_RESTART flag to get restarting signals (which were the default long ago) 6796433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 6896433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_RESETHAND clears the handler when the signal is delivered. 6996433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 7096433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_NODEFER prevents the current signal from being masked in the handler. 7196433f6ee49032d7a8bda76de2b05cfde2914354David Howells * 7296433f6ee49032d7a8bda76de2b05cfde2914354David Howells * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 7396433f6ee49032d7a8bda76de2b05cfde2914354David Howells * Unix names RESETHAND and NODEFER respectively. 7496433f6ee49032d7a8bda76de2b05cfde2914354David Howells */ 7596433f6ee49032d7a8bda76de2b05cfde2914354David Howells 7696433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_ONSTACK 0x00000001 7796433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_RESTART 0x00000002 7896433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_NOCLDSTOP 0x00000004 7996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_NODEFER 0x00000008 8096433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_RESETHAND 0x00000010 8196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_NOCLDWAIT 0x00000020 8296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_SIGINFO 0x00000040 8396433f6ee49032d7a8bda76de2b05cfde2914354David Howells 8496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_ONESHOT SA_RESETHAND 8596433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SA_NOMASK SA_NODEFER 8696433f6ee49032d7a8bda76de2b05cfde2914354David Howells 8796433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define MINSIGSTKSZ 4096 8896433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIGSTKSZ 16384 8996433f6ee49032d7a8bda76de2b05cfde2914354David Howells 9096433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIG_BLOCK 1 /* for blocking signals */ 9196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIG_UNBLOCK 2 /* for unblocking signals */ 9296433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define SIG_SETMASK 3 /* for setting the signal mask */ 9396433f6ee49032d7a8bda76de2b05cfde2914354David Howells 9496433f6ee49032d7a8bda76de2b05cfde2914354David Howells#include <asm-generic/signal-defs.h> 9596433f6ee49032d7a8bda76de2b05cfde2914354David Howells 9696433f6ee49032d7a8bda76de2b05cfde2914354David Howells#ifndef __KERNEL__ 9796433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* Here we must cater to libcs that poke about in kernel headers. */ 9896433f6ee49032d7a8bda76de2b05cfde2914354David Howells 9996433f6ee49032d7a8bda76de2b05cfde2914354David Howellsstruct sigaction { 10096433f6ee49032d7a8bda76de2b05cfde2914354David Howells union { 10196433f6ee49032d7a8bda76de2b05cfde2914354David Howells __sighandler_t _sa_handler; 10296433f6ee49032d7a8bda76de2b05cfde2914354David Howells void (*_sa_sigaction)(int, struct siginfo *, void *); 10396433f6ee49032d7a8bda76de2b05cfde2914354David Howells } _u; 10496433f6ee49032d7a8bda76de2b05cfde2914354David Howells sigset_t sa_mask; 10596433f6ee49032d7a8bda76de2b05cfde2914354David Howells int sa_flags; 10696433f6ee49032d7a8bda76de2b05cfde2914354David Howells}; 10796433f6ee49032d7a8bda76de2b05cfde2914354David Howells 10896433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define sa_handler _u._sa_handler 10996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#define sa_sigaction _u._sa_sigaction 11096433f6ee49032d7a8bda76de2b05cfde2914354David Howells 11196433f6ee49032d7a8bda76de2b05cfde2914354David Howells#endif /* __KERNEL__ */ 11296433f6ee49032d7a8bda76de2b05cfde2914354David Howells 11396433f6ee49032d7a8bda76de2b05cfde2914354David Howellstypedef struct sigaltstack { 11496433f6ee49032d7a8bda76de2b05cfde2914354David Howells void __user *ss_sp; 11596433f6ee49032d7a8bda76de2b05cfde2914354David Howells int ss_flags; 11696433f6ee49032d7a8bda76de2b05cfde2914354David Howells size_t ss_size; 11796433f6ee49032d7a8bda76de2b05cfde2914354David Howells} stack_t; 11896433f6ee49032d7a8bda76de2b05cfde2914354David Howells 11996433f6ee49032d7a8bda76de2b05cfde2914354David Howells/* sigstack(2) is deprecated, and will be withdrawn in a future version 12096433f6ee49032d7a8bda76de2b05cfde2914354David Howells of the X/Open CAE Specification. Use sigaltstack instead. It is only 12196433f6ee49032d7a8bda76de2b05cfde2914354David Howells implemented here for OSF/1 compatibility. */ 12296433f6ee49032d7a8bda76de2b05cfde2914354David Howells 12396433f6ee49032d7a8bda76de2b05cfde2914354David Howellsstruct sigstack { 12496433f6ee49032d7a8bda76de2b05cfde2914354David Howells void __user *ss_sp; 12596433f6ee49032d7a8bda76de2b05cfde2914354David Howells int ss_onstack; 12696433f6ee49032d7a8bda76de2b05cfde2914354David Howells}; 12796433f6ee49032d7a8bda76de2b05cfde2914354David Howells 12896433f6ee49032d7a8bda76de2b05cfde2914354David Howells 12996433f6ee49032d7a8bda76de2b05cfde2914354David Howells#endif /* _UAPI_ASMAXP_SIGNAL_H */ 130