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