1#ifndef _ASM_PARISC_SIGNAL_H 2#define _ASM_PARISC_SIGNAL_H 3 4#define SIGHUP 1 5#define SIGINT 2 6#define SIGQUIT 3 7#define SIGILL 4 8#define SIGTRAP 5 9#define SIGABRT 6 10#define SIGIOT 6 11#define SIGEMT 7 12#define SIGFPE 8 13#define SIGKILL 9 14#define SIGBUS 10 15#define SIGSEGV 11 16#define SIGSYS 12 /* Linux doesn't use this */ 17#define SIGPIPE 13 18#define SIGALRM 14 19#define SIGTERM 15 20#define SIGUSR1 16 21#define SIGUSR2 17 22#define SIGCHLD 18 23#define SIGPWR 19 24#define SIGVTALRM 20 25#define SIGPROF 21 26#define SIGIO 22 27#define SIGPOLL SIGIO 28#define SIGWINCH 23 29#define SIGSTOP 24 30#define SIGTSTP 25 31#define SIGCONT 26 32#define SIGTTIN 27 33#define SIGTTOU 28 34#define SIGURG 29 35#define SIGLOST 30 /* Linux doesn't use this either */ 36#define SIGUNUSED 31 37#define SIGRESERVE SIGUNUSED 38 39#define SIGXCPU 33 40#define SIGXFSZ 34 41#define SIGSTKFLT 36 42 43/* These should not be considered constants from userland. */ 44#define SIGRTMIN 37 45#define SIGRTMAX (_NSIG-1) /* it's 44 under HP/UX */ 46 47/* 48 * SA_FLAGS values: 49 * 50 * SA_ONSTACK indicates that a registered stack_t will be used. 51 * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the 52 * SA_RESTART flag to get restarting signals (which were the default long ago) 53 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 54 * SA_RESETHAND clears the handler when the signal is delivered. 55 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 56 * SA_NODEFER prevents the current signal from being masked in the handler. 57 * 58 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 59 * Unix names RESETHAND and NODEFER respectively. 60 */ 61#define SA_ONSTACK 0x00000001 62#define SA_RESETHAND 0x00000004 63#define SA_NOCLDSTOP 0x00000008 64#define SA_SIGINFO 0x00000010 65#define SA_NODEFER 0x00000020 66#define SA_RESTART 0x00000040 67#define SA_NOCLDWAIT 0x00000080 /* not supported yet */ 68#define _SA_SIGGFAULT 0x00000100 /* HPUX */ 69 70#define SA_NOMASK SA_NODEFER 71#define SA_ONESHOT SA_RESETHAND 72#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */ 73 74#define SA_RESTORER 0x04000000 /* obsolete -- ignored */ 75 76/* 77 * sigaltstack controls 78 */ 79#define SS_ONSTACK 1 80#define SS_DISABLE 2 81 82#define MINSIGSTKSZ 2048 83#define SIGSTKSZ 8192 84 85#ifdef __KERNEL__ 86 87#define _NSIG 64 88/* bits-per-word, where word apparently means 'long' not 'int' */ 89#define _NSIG_BPW BITS_PER_LONG 90#define _NSIG_WORDS (_NSIG / _NSIG_BPW) 91 92/* 93 * These values of sa_flags are used only by the kernel as part of the 94 * irq handling routines. 95 * 96 * SA_INTERRUPT is also used by the irq handling routines. 97 * SA_SHIRQ is for shared interrupt support on PCI and EISA. 98 */ 99#define SA_PROBE SA_ONESHOT 100#define SA_SAMPLE_RANDOM SA_RESTART 101#define SA_SHIRQ 0x04000000 102 103#endif /* __KERNEL__ */ 104 105#define SIG_BLOCK 0 /* for blocking signals */ 106#define SIG_UNBLOCK 1 /* for unblocking signals */ 107#define SIG_SETMASK 2 /* for setting the signal mask */ 108 109#define SIG_DFL ((__sighandler_t)0) /* default signal handling */ 110#define SIG_IGN ((__sighandler_t)1) /* ignore signal */ 111#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */ 112 113# ifndef __ASSEMBLY__ 114 115# include <linux/types.h> 116 117/* Avoid too many header ordering problems. */ 118struct siginfo; 119 120/* Type of a signal handler. */ 121#ifdef __LP64__ 122/* function pointers on 64-bit parisc are pointers to little structs and the 123 * compiler doesn't support code which changes or tests the address of 124 * the function in the little struct. This is really ugly -PB 125 */ 126typedef __kernel_caddr_t __sighandler_t; 127#else 128typedef void (*__sighandler_t)(int); 129#endif 130 131typedef struct sigaltstack { 132 void *ss_sp; 133 int ss_flags; 134 size_t ss_size; 135} stack_t; 136 137#ifdef __KERNEL__ 138 139/* Most things should be clean enough to redefine this at will, if care 140 is taken to make libc match. */ 141 142typedef unsigned long old_sigset_t; /* at least 32 bits */ 143 144typedef struct { 145 /* next_signal() assumes this is a long - no choice */ 146 unsigned long sig[_NSIG_WORDS]; 147} sigset_t; 148 149struct sigaction { 150 __sighandler_t sa_handler; 151 unsigned long sa_flags; 152 sigset_t sa_mask; /* mask last for extensibility */ 153}; 154 155struct k_sigaction { 156 struct sigaction sa; 157}; 158 159#include <asm/sigcontext.h> 160 161#endif /* __KERNEL__ */ 162#endif /* !__ASSEMBLY */ 163#endif /* _ASM_PARISC_SIGNAL_H */ 164