1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * Modified 1998-2001, 2003
4 *	David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
5 *
6 * Unfortunately, this file is being included by bits/signal.h in
7 * glibc-2.x.  Hence the #ifdef __KERNEL__ ugliness.
8 */
9#ifndef _UAPI_ASM_IA64_SIGNAL_H
10#define _UAPI_ASM_IA64_SIGNAL_H
11
12
13#define SIGHUP		 1
14#define SIGINT		 2
15#define SIGQUIT		 3
16#define SIGILL		 4
17#define SIGTRAP		 5
18#define SIGABRT		 6
19#define SIGIOT		 6
20#define SIGBUS		 7
21#define SIGFPE		 8
22#define SIGKILL		 9
23#define SIGUSR1		10
24#define SIGSEGV		11
25#define SIGUSR2		12
26#define SIGPIPE		13
27#define SIGALRM		14
28#define SIGTERM		15
29#define SIGSTKFLT	16
30#define SIGCHLD		17
31#define SIGCONT		18
32#define SIGSTOP		19
33#define SIGTSTP		20
34#define SIGTTIN		21
35#define SIGTTOU		22
36#define SIGURG		23
37#define SIGXCPU		24
38#define SIGXFSZ		25
39#define SIGVTALRM	26
40#define SIGPROF		27
41#define SIGWINCH	28
42#define SIGIO		29
43#define SIGPOLL		SIGIO
44/*
45#define SIGLOST		29
46*/
47#define SIGPWR		30
48#define SIGSYS		31
49/* signal 31 is no longer "unused", but the SIGUNUSED macro remains for backwards compatibility */
50#define	SIGUNUSED	31
51
52/* These should not be considered constants from userland.  */
53#define SIGRTMIN	32
54#define SIGRTMAX	_NSIG
55
56/*
57 * SA_FLAGS values:
58 *
59 * SA_ONSTACK indicates that a registered stack_t will be used.
60 * SA_RESTART flag to get restarting signals (which were the default long ago)
61 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
62 * SA_RESETHAND clears the handler when the signal is delivered.
63 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
64 * SA_NODEFER prevents the current signal from being masked in the handler.
65 *
66 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
67 * Unix names RESETHAND and NODEFER respectively.
68 */
69#define SA_NOCLDSTOP	0x00000001
70#define SA_NOCLDWAIT	0x00000002
71#define SA_SIGINFO	0x00000004
72#define SA_ONSTACK	0x08000000
73#define SA_RESTART	0x10000000
74#define SA_NODEFER	0x40000000
75#define SA_RESETHAND	0x80000000
76
77#define SA_NOMASK	SA_NODEFER
78#define SA_ONESHOT	SA_RESETHAND
79
80#define SA_RESTORER	0x04000000
81
82/*
83 * The minimum stack size needs to be fairly large because we want to
84 * be sure that an app compiled for today's CPUs will continue to run
85 * on all future CPU models.  The CPU model matters because the signal
86 * frame needs to have space for the complete machine state, including
87 * all physical stacked registers.  The number of physical stacked
88 * registers is CPU model dependent, but given that the width of
89 * ar.rsc.loadrs is 14 bits, we can assume that they'll never take up
90 * more than 16KB of space.
91 */
92#if 1
93  /*
94   * This is a stupid typo: the value was _meant_ to be 131072 (0x20000), but I typed it
95   * in wrong. ;-(  To preserve backwards compatibility, we leave the kernel at the
96   * incorrect value and fix libc only.
97   */
98# define MINSIGSTKSZ	131027	/* min. stack size for sigaltstack() */
99#else
100# define MINSIGSTKSZ	131072	/* min. stack size for sigaltstack() */
101#endif
102#define SIGSTKSZ	262144	/* default stack size for sigaltstack() */
103
104
105#include <asm-generic/signal-defs.h>
106
107# ifndef __ASSEMBLY__
108
109#  include <linux/types.h>
110
111/* Avoid too many header ordering problems.  */
112struct siginfo;
113
114typedef struct sigaltstack {
115	void __user *ss_sp;
116	int ss_flags;
117	size_t ss_size;
118} stack_t;
119
120
121# endif /* !__ASSEMBLY__ */
122#endif /* _UAPI_ASM_IA64_SIGNAL_H */
123