printf: Remove unused 'bprintf'
[drm/drm-misc.git] / include / linux / signal_types.h
blobcaf4f7a59ab96d23bdf94e689be0efc7c3c34656
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_SIGNAL_TYPES_H
3 #define _LINUX_SIGNAL_TYPES_H
5 /*
6 * Basic signal handling related data type definitions:
7 */
9 #include <linux/types.h>
10 #include <uapi/linux/signal.h>
12 typedef struct kernel_siginfo {
13 __SIGINFO;
14 } kernel_siginfo_t;
16 struct ucounts;
19 * Real Time signals may be queued.
22 struct sigqueue {
23 struct list_head list;
24 int flags;
25 kernel_siginfo_t info;
26 struct ucounts *ucounts;
29 /* flags values. */
30 #define SIGQUEUE_PREALLOC 1
32 struct sigpending {
33 struct list_head list;
34 sigset_t signal;
37 struct sigaction {
38 #ifndef __ARCH_HAS_IRIX_SIGACTION
39 __sighandler_t sa_handler;
40 unsigned long sa_flags;
41 #else
42 unsigned int sa_flags;
43 __sighandler_t sa_handler;
44 #endif
45 #ifdef __ARCH_HAS_SA_RESTORER
46 __sigrestore_t sa_restorer;
47 #endif
48 sigset_t sa_mask; /* mask last for extensibility */
51 struct k_sigaction {
52 struct sigaction sa;
53 #ifdef __ARCH_HAS_KA_RESTORER
54 __sigrestore_t ka_restorer;
55 #endif
58 #ifdef CONFIG_OLD_SIGACTION
59 struct old_sigaction {
60 __sighandler_t sa_handler;
61 old_sigset_t sa_mask;
62 unsigned long sa_flags;
63 __sigrestore_t sa_restorer;
65 #endif
67 struct ksignal {
68 struct k_sigaction ka;
69 kernel_siginfo_t info;
70 int sig;
73 /* Used to kill the race between sigaction and forced signals */
74 #define SA_IMMUTABLE 0x00800000
76 #ifndef __ARCH_UAPI_SA_FLAGS
77 #ifdef SA_RESTORER
78 #define __ARCH_UAPI_SA_FLAGS SA_RESTORER
79 #else
80 #define __ARCH_UAPI_SA_FLAGS 0
81 #endif
82 #endif
84 #define UAPI_SA_FLAGS \
85 (SA_NOCLDSTOP | SA_NOCLDWAIT | SA_SIGINFO | SA_ONSTACK | SA_RESTART | \
86 SA_NODEFER | SA_RESETHAND | SA_EXPOSE_TAGBITS | __ARCH_UAPI_SA_FLAGS)
88 #endif /* _LINUX_SIGNAL_TYPES_H */