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