1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_ASM_PARISC_SIGNAL_H
3#define _UAPI_ASM_PARISC_SIGNAL_H
4
5#define SIGHUP		 1
6#define SIGINT		 2
7#define SIGQUIT		 3
8#define SIGILL		 4
9#define SIGTRAP		 5
10#define SIGABRT		 6
11#define SIGIOT		 6
12#define SIGSTKFLT	 7
13#define SIGFPE		 8
14#define SIGKILL		 9
15#define SIGBUS		10
16#define SIGSEGV		11
17#define SIGXCPU		12
18#define SIGPIPE		13
19#define SIGALRM		14
20#define SIGTERM		15
21#define SIGUSR1		16
22#define SIGUSR2		17
23#define SIGCHLD		18
24#define SIGPWR		19
25#define SIGVTALRM	20
26#define SIGPROF		21
27#define SIGIO		22
28#define SIGPOLL		SIGIO
29#define SIGWINCH	23
30#define SIGSTOP		24
31#define SIGTSTP		25
32#define SIGCONT		26
33#define SIGTTIN		27
34#define SIGTTOU		28
35#define SIGURG		29
36#define SIGXFSZ		30
37#define SIGUNUSED	31
38#define SIGSYS		31
39
40/* These should not be considered constants from userland.  */
41#define SIGRTMIN	32
42#define SIGRTMAX	_NSIG
43
44/*
45 * SA_FLAGS values:
46 *
47 * SA_ONSTACK indicates that a registered stack_t will be used.
48 * SA_RESTART flag to get restarting signals (which were the default long ago)
49 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
50 * SA_RESETHAND clears the handler when the signal is delivered.
51 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
52 * SA_NODEFER prevents the current signal from being masked in the handler.
53 *
54 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
55 * Unix names RESETHAND and NODEFER respectively.
56 */
57#define SA_ONSTACK	0x00000001
58#define SA_RESETHAND	0x00000004
59#define SA_NOCLDSTOP	0x00000008
60#define SA_SIGINFO	0x00000010
61#define SA_NODEFER	0x00000020
62#define SA_RESTART	0x00000040
63#define SA_NOCLDWAIT	0x00000080
64
65#define SA_NOMASK	SA_NODEFER
66#define SA_ONESHOT	SA_RESETHAND
67
68#define MINSIGSTKSZ	2048
69#define SIGSTKSZ	8192
70
71
72#define SIG_BLOCK          0	/* for blocking signals */
73#define SIG_UNBLOCK        1	/* for unblocking signals */
74#define SIG_SETMASK        2	/* for setting the signal mask */
75
76#define SIG_DFL	((__sighandler_t)0)	/* default signal handling */
77#define SIG_IGN	((__sighandler_t)1)	/* ignore signal */
78#define SIG_ERR	((__sighandler_t)-1)	/* error return from signal */
79
80# ifndef __ASSEMBLY__
81
82#  include <linux/types.h>
83
84/* Avoid too many header ordering problems.  */
85struct siginfo;
86
87/* Type of a signal handler.  */
88#if defined(__LP64__)
89/* function pointers on 64-bit parisc are pointers to little structs and the
90 * compiler doesn't support code which changes or tests the address of
91 * the function in the little struct.  This is really ugly -PB
92 */
93typedef char __user *__sighandler_t;
94#else
95typedef void __signalfn_t(int);
96typedef __signalfn_t __user *__sighandler_t;
97#endif
98
99typedef struct sigaltstack {
100	void __user *ss_sp;
101	int ss_flags;
102	size_t ss_size;
103} stack_t;
104
105#endif /* !__ASSEMBLY */
106#endif /* _UAPI_ASM_PARISC_SIGNAL_H */
107