GNU Linux-libre 4.14.290-gnu1
[releases.git] / arch / mn10300 / include / uapi / asm / signal.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /* MN10300 Signal definitions
3  *
4  * Copyright (C) 2007 Matsushita Electric Industrial Co., Ltd.
5  * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public Licence
9  * as published by the Free Software Foundation; either version
10  * 2 of the Licence, or (at your option) any later version.
11  */
12 #ifndef _UAPI_ASM_SIGNAL_H
13 #define _UAPI_ASM_SIGNAL_H
14
15 #include <linux/types.h>
16
17 /* Avoid too many header ordering problems.  */
18 struct siginfo;
19
20 #ifndef __KERNEL__
21 /* Here we must cater to libcs that poke about in kernel headers.  */
22
23 #define NSIG            32
24 typedef unsigned long sigset_t;
25
26 #endif /* __KERNEL__ */
27
28 #define SIGHUP           1
29 #define SIGINT           2
30 #define SIGQUIT          3
31 #define SIGILL           4
32 #define SIGTRAP          5
33 #define SIGABRT          6
34 #define SIGIOT           6
35 #define SIGBUS           7
36 #define SIGFPE           8
37 #define SIGKILL          9
38 #define SIGUSR1         10
39 #define SIGSEGV         11
40 #define SIGUSR2         12
41 #define SIGPIPE         13
42 #define SIGALRM         14
43 #define SIGTERM         15
44 #define SIGSTKFLT       16
45 #define SIGCHLD         17
46 #define SIGCONT         18
47 #define SIGSTOP         19
48 #define SIGTSTP         20
49 #define SIGTTIN         21
50 #define SIGTTOU         22
51 #define SIGURG          23
52 #define SIGXCPU         24
53 #define SIGXFSZ         25
54 #define SIGVTALRM       26
55 #define SIGPROF         27
56 #define SIGWINCH        28
57 #define SIGIO           29
58 #define SIGPOLL         SIGIO
59 /*
60 #define SIGLOST         29
61 */
62 #define SIGPWR          30
63 #define SIGSYS          31
64 #define SIGUNUSED       31
65
66 /* These should not be considered constants from userland.  */
67 #define SIGRTMIN        32
68 #define SIGRTMAX        _NSIG
69
70 /*
71  * SA_FLAGS values:
72  *
73  * SA_ONSTACK indicates that a registered stack_t will be used.
74  * SA_RESTART flag to get restarting signals (which were the default long ago)
75  * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
76  * SA_RESETHAND clears the handler when the signal is delivered.
77  * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
78  * SA_NODEFER prevents the current signal from being masked in the handler.
79  *
80  * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
81  * Unix names RESETHAND and NODEFER respectively.
82  */
83 #define SA_NOCLDSTOP    0x00000001U
84 #define SA_NOCLDWAIT    0x00000002U
85 #define SA_SIGINFO      0x00000004U
86 #define SA_ONSTACK      0x08000000U
87 #define SA_RESTART      0x10000000U
88 #define SA_NODEFER      0x40000000U
89 #define SA_RESETHAND    0x80000000U
90
91 #define SA_NOMASK       SA_NODEFER
92 #define SA_ONESHOT      SA_RESETHAND
93
94 #define SA_RESTORER     0x04000000
95
96 #define MINSIGSTKSZ     2048
97 #define SIGSTKSZ        8192
98
99 #include <asm-generic/signal-defs.h>
100
101 #ifndef __KERNEL__
102 /* Here we must cater to libcs that poke about in kernel headers.  */
103
104 struct sigaction {
105         union {
106           __sighandler_t _sa_handler;
107           void (*_sa_sigaction)(int, struct siginfo *, void *);
108         } _u;
109         sigset_t sa_mask;
110         unsigned long sa_flags;
111         void (*sa_restorer)(void);
112 };
113
114 #define sa_handler      _u._sa_handler
115 #define sa_sigaction    _u._sa_sigaction
116
117 #endif /* __KERNEL__ */
118
119 typedef struct sigaltstack {
120         void __user     *ss_sp;
121         int             ss_flags;
122         size_t          ss_size;
123 } stack_t;
124
125
126 #endif /* _UAPI_ASM_SIGNAL_H */