1e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#ifndef _UAPI_ASM_CRIS_SIGNAL_H 2e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define _UAPI_ASM_CRIS_SIGNAL_H 3e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 4e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#include <linux/types.h> 5e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 6e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* Avoid too many header ordering problems. */ 7e717abac8a9f65eee6de3bb37e10c6916bced483David Howellsstruct siginfo; 8e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 9e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#ifndef __KERNEL__ 10e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* Here we must cater to libcs that poke about in kernel headers. */ 11e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 12e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define NSIG 32 13e717abac8a9f65eee6de3bb37e10c6916bced483David Howellstypedef unsigned long sigset_t; 14e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 15e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#endif /* __KERNEL__ */ 16e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 17e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGHUP 1 18e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGINT 2 19e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGQUIT 3 20e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGILL 4 21e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTRAP 5 22e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGABRT 6 23e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGIOT 6 24e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGBUS 7 25e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGFPE 8 26e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGKILL 9 27e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGUSR1 10 28e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSEGV 11 29e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGUSR2 12 30e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPIPE 13 31e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGALRM 14 32e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTERM 15 33e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSTKFLT 16 34e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGCHLD 17 35e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGCONT 18 36e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSTOP 19 37e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTSTP 20 38e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTTIN 21 39e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTTOU 22 40e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGURG 23 41e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGXCPU 24 42e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGXFSZ 25 43e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGVTALRM 26 44e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPROF 27 45e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGWINCH 28 46e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGIO 29 47e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPOLL SIGIO 48e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* 49e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGLOST 29 50e717abac8a9f65eee6de3bb37e10c6916bced483David Howells*/ 51e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPWR 30 52e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSYS 31 53e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGUNUSED 31 54e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 55e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* These should not be considered constants from userland. */ 56e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGRTMIN 32 57e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGRTMAX _NSIG 58e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 59e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* 60e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_FLAGS values: 61e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * 62e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_ONSTACK indicates that a registered stack_t will be used. 63e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_RESTART flag to get restarting signals (which were the default long ago) 64e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 65e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_RESETHAND clears the handler when the signal is delivered. 66e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 67e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_NODEFER prevents the current signal from being masked in the handler. 68e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * 69e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 70e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * Unix names RESETHAND and NODEFER respectively. 71e717abac8a9f65eee6de3bb37e10c6916bced483David Howells */ 72e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 73e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NOCLDSTOP 0x00000001u 74e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NOCLDWAIT 0x00000002u 75e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_SIGINFO 0x00000004u 76e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_ONSTACK 0x08000000u 77e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_RESTART 0x10000000u 78e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NODEFER 0x40000000u 79e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_RESETHAND 0x80000000u 80e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 81e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NOMASK SA_NODEFER 82e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_ONESHOT SA_RESETHAND 83e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 84e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_RESTORER 0x04000000 85e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 86e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define MINSIGSTKSZ 2048 87e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSTKSZ 8192 88e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 89e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#include <asm-generic/signal-defs.h> 90e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 91e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#ifndef __KERNEL__ 92e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* Here we must cater to libcs that poke about in kernel headers. */ 93e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 94e717abac8a9f65eee6de3bb37e10c6916bced483David Howellsstruct sigaction { 95e717abac8a9f65eee6de3bb37e10c6916bced483David Howells union { 96e717abac8a9f65eee6de3bb37e10c6916bced483David Howells __sighandler_t _sa_handler; 97e717abac8a9f65eee6de3bb37e10c6916bced483David Howells void (*_sa_sigaction)(int, struct siginfo *, void *); 98e717abac8a9f65eee6de3bb37e10c6916bced483David Howells } _u; 99e717abac8a9f65eee6de3bb37e10c6916bced483David Howells sigset_t sa_mask; 100e717abac8a9f65eee6de3bb37e10c6916bced483David Howells unsigned long sa_flags; 101e717abac8a9f65eee6de3bb37e10c6916bced483David Howells void (*sa_restorer)(void); 102e717abac8a9f65eee6de3bb37e10c6916bced483David Howells}; 103e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 104e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define sa_handler _u._sa_handler 105e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define sa_sigaction _u._sa_sigaction 106e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 107e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#endif /* __KERNEL__ */ 108e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 109e717abac8a9f65eee6de3bb37e10c6916bced483David Howellstypedef struct sigaltstack { 110e717abac8a9f65eee6de3bb37e10c6916bced483David Howells void *ss_sp; 111e717abac8a9f65eee6de3bb37e10c6916bced483David Howells int ss_flags; 112e717abac8a9f65eee6de3bb37e10c6916bced483David Howells size_t ss_size; 113e717abac8a9f65eee6de3bb37e10c6916bced483David Howells} stack_t; 114e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 115e717abac8a9f65eee6de3bb37e10c6916bced483David Howells 116e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#endif /* _UAPI_ASM_CRIS_SIGNAL_H */ 117