xref: /openbmc/linux/arch/parisc/include/asm/signal.h (revision df2634f43f5106947f3735a0b61a6527a4b278cd)
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 /* 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_RESTART flag to get restarting signals (which were the default long ago)
52  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
53  * SA_RESETHAND clears the handler when the signal is delivered.
54  * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
55  * SA_NODEFER prevents the current signal from being masked in the handler.
56  *
57  * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
58  * Unix names RESETHAND and NODEFER respectively.
59  */
60 #define SA_ONSTACK	0x00000001
61 #define SA_RESETHAND	0x00000004
62 #define SA_NOCLDSTOP	0x00000008
63 #define SA_SIGINFO	0x00000010
64 #define SA_NODEFER	0x00000020
65 #define SA_RESTART	0x00000040
66 #define SA_NOCLDWAIT	0x00000080
67 #define _SA_SIGGFAULT	0x00000100 /* HPUX */
68 
69 #define SA_NOMASK	SA_NODEFER
70 #define SA_ONESHOT	SA_RESETHAND
71 
72 #define SA_RESTORER	0x04000000 /* obsolete -- ignored */
73 
74 /*
75  * sigaltstack controls
76  */
77 #define SS_ONSTACK	1
78 #define SS_DISABLE	2
79 
80 #define MINSIGSTKSZ	2048
81 #define SIGSTKSZ	8192
82 
83 #ifdef __KERNEL__
84 
85 #define _NSIG		64
86 /* bits-per-word, where word apparently means 'long' not 'int' */
87 #define _NSIG_BPW	BITS_PER_LONG
88 #define _NSIG_WORDS	(_NSIG / _NSIG_BPW)
89 
90 #endif /* __KERNEL__ */
91 
92 #define SIG_BLOCK          0	/* for blocking signals */
93 #define SIG_UNBLOCK        1	/* for unblocking signals */
94 #define SIG_SETMASK        2	/* for setting the signal mask */
95 
96 #define SIG_DFL	((__sighandler_t)0)	/* default signal handling */
97 #define SIG_IGN	((__sighandler_t)1)	/* ignore signal */
98 #define SIG_ERR	((__sighandler_t)-1)	/* error return from signal */
99 
100 # ifndef __ASSEMBLY__
101 
102 #  include <linux/types.h>
103 
104 /* Avoid too many header ordering problems.  */
105 struct siginfo;
106 
107 /* Type of a signal handler.  */
108 #ifdef CONFIG_64BIT
109 /* function pointers on 64-bit parisc are pointers to little structs and the
110  * compiler doesn't support code which changes or tests the address of
111  * the function in the little struct.  This is really ugly -PB
112  */
113 typedef char __user *__sighandler_t;
114 #else
115 typedef void __signalfn_t(int);
116 typedef __signalfn_t __user *__sighandler_t;
117 #endif
118 
119 typedef struct sigaltstack {
120 	void __user *ss_sp;
121 	int ss_flags;
122 	size_t ss_size;
123 } stack_t;
124 
125 #ifdef __KERNEL__
126 
127 /* Most things should be clean enough to redefine this at will, if care
128    is taken to make libc match.  */
129 
130 typedef unsigned long old_sigset_t;		/* at least 32 bits */
131 
132 typedef struct {
133 	/* next_signal() assumes this is a long - no choice */
134 	unsigned long sig[_NSIG_WORDS];
135 } sigset_t;
136 
137 struct sigaction {
138 	__sighandler_t sa_handler;
139 	unsigned long sa_flags;
140 	sigset_t sa_mask;		/* mask last for extensibility */
141 };
142 
143 struct k_sigaction {
144 	struct sigaction sa;
145 };
146 
147 #define ptrace_signal_deliver(regs, cookie) do { } while (0)
148 
149 #include <asm/sigcontext.h>
150 
151 #endif /* __KERNEL__ */
152 #endif /* !__ASSEMBLY */
153 #endif /* _ASM_PARISC_SIGNAL_H */
154