cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / x86_64-linux-gnu / asm / signal.h
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.  */
11 struct siginfo;
12
13 /* Here we must cater to libcs that poke about in kernel headers.  */
14
15 #define NSIG            32
16 typedef 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 /*
64  * SA_FLAGS values:
65  *
66  * SA_ONSTACK indicates that a registered stack_t will be used.
67  * SA_RESTART flag to get restarting signals (which were the default long ago)
68  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
69  * SA_RESETHAND clears the handler when the signal is delivered.
70  * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
71  * SA_NODEFER prevents the current signal from being masked in the handler.
72  *
73  * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
74  * Unix names RESETHAND and NODEFER respectively.
75  */
76 #define SA_NOCLDSTOP    0x00000001u
77 #define SA_NOCLDWAIT    0x00000002u
78 #define SA_SIGINFO      0x00000004u
79 #define SA_ONSTACK      0x08000000u
80 #define SA_RESTART      0x10000000u
81 #define SA_NODEFER      0x40000000u
82 #define SA_RESETHAND    0x80000000u
83
84 #define SA_NOMASK       SA_NODEFER
85 #define SA_ONESHOT      SA_RESETHAND
86
87 #define SA_RESTORER     0x04000000
88
89 #define MINSIGSTKSZ     2048
90 #define SIGSTKSZ        8192
91
92 #include <asm-generic/signal-defs.h>
93
94 #ifndef __ASSEMBLY__
95
96
97 /* Here we must cater to libcs that poke about in kernel headers.  */
98 #ifdef __i386__
99
100 struct sigaction {
101         union {
102           __sighandler_t _sa_handler;
103           void (*_sa_sigaction)(int, struct siginfo *, void *);
104         } _u;
105         sigset_t sa_mask;
106         unsigned long sa_flags;
107         void (*sa_restorer)(void);
108 };
109
110 #define sa_handler      _u._sa_handler
111 #define sa_sigaction    _u._sa_sigaction
112
113 #else /* __i386__ */
114
115 struct sigaction {
116         __sighandler_t sa_handler;
117         unsigned long sa_flags;
118         __sigrestore_t sa_restorer;
119         sigset_t sa_mask;               /* mask last for extensibility */
120 };
121
122 #endif /* !__i386__ */
123
124 typedef struct sigaltstack {
125         void *ss_sp;
126         int ss_flags;
127         size_t ss_size;
128 } stack_t;
129
130 #endif /* __ASSEMBLY__ */
131
132 #endif /* _ASM_X86_SIGNAL_H */