1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _ASM_X86_SIGNAL_H
3 #define _ASM_X86_SIGNAL_H
6 #include <linux/types.h>
7 #include <linux/time.h>
10 /* Avoid too many header ordering problems. */
13 /* Here we must cater to libcs that poke about in kernel headers. */
16 typedef unsigned long sigset_t;
18 #endif /* __ASSEMBLY__ */
59 /* These should not be considered constants from userland. */
61 #define SIGRTMAX _NSIG
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.
73 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
74 * Unix names RESETHAND and NODEFER respectively.
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
84 #define SA_NOMASK SA_NODEFER
85 #define SA_ONESHOT SA_RESETHAND
87 #define SA_RESTORER 0x04000000
89 #define MINSIGSTKSZ 2048
92 #include <asm-generic/signal-defs.h>
97 /* Here we must cater to libcs that poke about in kernel headers. */
102 __sighandler_t _sa_handler;
103 void (*_sa_sigaction)(int, struct siginfo *, void *);
106 unsigned long sa_flags;
107 void (*sa_restorer)(void);
110 #define sa_handler _u._sa_handler
111 #define sa_sigaction _u._sa_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 */
122 #endif /* !__i386__ */
124 typedef struct sigaltstack {
130 #endif /* __ASSEMBLY__ */
132 #endif /* _ASM_X86_SIGNAL_H */