183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells/* 283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * include/asm-xtensa/signal.h 383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * 483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * Swiped from SH. 583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * 683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * This file is subject to the terms and conditions of the GNU General Public 783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * License. See the file "COPYING" in the main directory of this archive 883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * for more details. 983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * 1083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * Copyright (C) 2001 - 2005 Tensilica Inc. 1183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells */ 1283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 1383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#ifndef _UAPI_XTENSA_SIGNAL_H 1483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define _UAPI_XTENSA_SIGNAL_H 1583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 1683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 1783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define _NSIG 64 1883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define _NSIG_BPW 32 1983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define _NSIG_WORDS (_NSIG / _NSIG_BPW) 2083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 2183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#ifndef __ASSEMBLY__ 2283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 2383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#include <linux/types.h> 2483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 2583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells/* Avoid too many header ordering problems. */ 2683596729adbca4ff3b0273de22e166c64aea49ecDavid Howellsstruct siginfo; 2783596729adbca4ff3b0273de22e166c64aea49ecDavid Howellstypedef unsigned long old_sigset_t; /* at least 32 bits */ 2883596729adbca4ff3b0273de22e166c64aea49ecDavid Howellstypedef struct { 2983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells unsigned long sig[_NSIG_WORDS]; 3083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells} sigset_t; 3183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 3283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#endif 3383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 3483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGHUP 1 3583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGINT 2 3683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGQUIT 3 3783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGILL 4 3883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGTRAP 5 3983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGABRT 6 4083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGIOT 6 4183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGBUS 7 4283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGFPE 8 4383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGKILL 9 4483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGUSR1 10 4583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGSEGV 11 4683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGUSR2 12 4783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGPIPE 13 4883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGALRM 14 4983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGTERM 15 5083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGSTKFLT 16 5183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGCHLD 17 5283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGCONT 18 5383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGSTOP 19 5483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGTSTP 20 5583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGTTIN 21 5683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGTTOU 22 5783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGURG 23 5883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGXCPU 24 5983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGXFSZ 25 6083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGVTALRM 26 6183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGPROF 27 6283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGWINCH 28 6383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGIO 29 6483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGPOLL SIGIO 6583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells/* #define SIGLOST 29 */ 6683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGPWR 30 6783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGSYS 31 6883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGUNUSED 31 6983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 7083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells/* These should not be considered constants from userland. */ 7183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGRTMIN 32 7283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGRTMAX (_NSIG-1) 7383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 7483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells/* 7583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_FLAGS values: 7683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * 7783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_ONSTACK indicates that a registered stack_t will be used. 7883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_RESTART flag to get restarting signals (which were the default long ago) 7983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 8083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_RESETHAND clears the handler when the signal is delivered. 8183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 8283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_NODEFER prevents the current signal from being masked in the handler. 8383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * 8483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 8583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells * Unix names RESETHAND and NODEFER respectively. 8683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells */ 8783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_NOCLDSTOP 0x00000001 8883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_NOCLDWAIT 0x00000002 /* not supported yet */ 8983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_SIGINFO 0x00000004 9083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_ONSTACK 0x08000000 9183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_RESTART 0x10000000 9283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_NODEFER 0x40000000 9383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_RESETHAND 0x80000000 9483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 9583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_NOMASK SA_NODEFER 9683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_ONESHOT SA_RESETHAND 9783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 9883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SA_RESTORER 0x04000000 9983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 10083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define MINSIGSTKSZ 2048 10183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define SIGSTKSZ 8192 10283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 10383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#ifndef __ASSEMBLY__ 10483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 1055d9f36b94db82fb630acdc38ac380af4cf107f8eMax Filippov#include <asm-generic/signal-defs.h> 10683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 10783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#ifndef __KERNEL__ 10883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 10983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells/* Here we must cater to libcs that poke about in kernel headers. */ 11083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 11183596729adbca4ff3b0273de22e166c64aea49ecDavid Howellsstruct sigaction { 11283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells union { 11383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells __sighandler_t _sa_handler; 11483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells void (*_sa_sigaction)(int, struct siginfo *, void *); 11583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells } _u; 11683596729adbca4ff3b0273de22e166c64aea49ecDavid Howells sigset_t sa_mask; 11783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells unsigned long sa_flags; 11883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells void (*sa_restorer)(void); 11983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells}; 12083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 12183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define sa_handler _u._sa_handler 12283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#define sa_sigaction _u._sa_sigaction 12383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 12483596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#endif /* __KERNEL__ */ 12583596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 12683596729adbca4ff3b0273de22e166c64aea49ecDavid Howellstypedef struct sigaltstack { 12783596729adbca4ff3b0273de22e166c64aea49ecDavid Howells void *ss_sp; 12883596729adbca4ff3b0273de22e166c64aea49ecDavid Howells int ss_flags; 12983596729adbca4ff3b0273de22e166c64aea49ecDavid Howells size_t ss_size; 13083596729adbca4ff3b0273de22e166c64aea49ecDavid Howells} stack_t; 13183596729adbca4ff3b0273de22e166c64aea49ecDavid Howells 13283596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#endif /* __ASSEMBLY__ */ 13383596729adbca4ff3b0273de22e166c64aea49ecDavid Howells#endif /* _UAPI_XTENSA_SIGNAL_H */ 134