1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _UAPI_ASM_X86_SIGNAL_H
3#define _UAPI_ASM_X86_SIGNAL_H
4
5#ifndef __ASSEMBLY__
6#include <linux/types.h>
7#include <linux/time.h>
8#include <linux/compiler.h>
9
10/* Avoid too many header ordering problems.  */
11struct siginfo;
12
13#ifndef __KERNEL__
14/* Here we must cater to libcs that poke about in kernel headers.  */
15
16#define NSIG		32
17typedef unsigned long sigset_t;
18
19#endif /* __KERNEL__ */
20#endif /* __ASSEMBLY__ */
21
22
23#define SIGHUP		 1
24#define SIGINT		 2
25#define SIGQUIT		 3
26#define SIGILL		 4
27#define SIGTRAP		 5
28#define SIGABRT		 6
29#define SIGIOT		 6
30#define SIGBUS		 7
31#define SIGFPE		 8
32#define SIGKILL		 9
33#define SIGUSR1		10
34#define SIGSEGV		11
35#define SIGUSR2		12
36#define SIGPIPE		13
37#define SIGALRM		14
38#define SIGTERM		15
39#define SIGSTKFLT	16
40#define SIGCHLD		17
41#define SIGCONT		18
42#define SIGSTOP		19
43#define SIGTSTP		20
44#define SIGTTIN		21
45#define SIGTTOU		22
46#define SIGURG		23
47#define SIGXCPU		24
48#define SIGXFSZ		25
49#define SIGVTALRM	26
50#define SIGPROF		27
51#define SIGWINCH	28
52#define SIGIO		29
53#define SIGPOLL		SIGIO
54/*
55#define SIGLOST		29
56*/
57#define SIGPWR		30
58#define SIGSYS		31
59#define	SIGUNUSED	31
60
61/* These should not be considered constants from userland.  */
62#define SIGRTMIN	32
63#define SIGRTMAX	_NSIG
64
65#define SA_RESTORER	0x04000000
66
67#define MINSIGSTKSZ	2048
68#define SIGSTKSZ	8192
69
70#include <asm-generic/signal-defs.h>
71
72#ifndef __ASSEMBLY__
73
74
75# ifndef __KERNEL__
76/* Here we must cater to libcs that poke about in kernel headers.  */
77#ifdef __i386__
78
79struct sigaction {
80	union {
81	  __sighandler_t _sa_handler;
82	  void (*_sa_sigaction)(int, struct siginfo *, void *);
83	} _u;
84	sigset_t sa_mask;
85	unsigned long sa_flags;
86	void (*sa_restorer)(void);
87};
88
89#define sa_handler	_u._sa_handler
90#define sa_sigaction	_u._sa_sigaction
91
92#else /* __i386__ */
93
94struct sigaction {
95	__sighandler_t sa_handler;
96	unsigned long sa_flags;
97	__sigrestore_t sa_restorer;
98	sigset_t sa_mask;		/* mask last for extensibility */
99};
100
101#endif /* !__i386__ */
102# endif /* ! __KERNEL__ */
103
104typedef struct sigaltstack {
105	void __user *ss_sp;
106	int ss_flags;
107	__kernel_size_t ss_size;
108} stack_t;
109
110#endif /* __ASSEMBLY__ */
111
112#endif /* _UAPI_ASM_X86_SIGNAL_H */
113