blob: 9b4185ba4f8a5baea01d7ce93d740780e05524bc [file] [log] [blame]
Christopher Ferris25981132017-11-14 16:53:49 -08001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Ben Chengd1c09392013-11-06 15:23:59 -08002#ifndef _UAPI_ASMARM_SIGNAL_H
3#define _UAPI_ASMARM_SIGNAL_H
4
5#include <linux/types.h>
6
7/* Avoid too many header ordering problems. */
8struct siginfo;
9
10#ifndef __KERNEL__
11/* Here we must cater to libcs that poke about in kernel headers. */
12
13#define NSIG 32
14typedef unsigned long sigset_t;
15
16#endif /* __KERNEL__ */
17
18#define SIGHUP 1
19#define SIGINT 2
20#define SIGQUIT 3
21#define SIGILL 4
22#define SIGTRAP 5
23#define SIGABRT 6
24#define SIGIOT 6
25#define SIGBUS 7
26#define SIGFPE 8
27#define SIGKILL 9
28#define SIGUSR1 10
29#define SIGSEGV 11
30#define SIGUSR2 12
31#define SIGPIPE 13
32#define SIGALRM 14
33#define SIGTERM 15
34#define SIGSTKFLT 16
35#define SIGCHLD 17
36#define SIGCONT 18
37#define SIGSTOP 19
38#define SIGTSTP 20
39#define SIGTTIN 21
40#define SIGTTOU 22
41#define SIGURG 23
42#define SIGXCPU 24
43#define SIGXFSZ 25
44#define SIGVTALRM 26
45#define SIGPROF 27
46#define SIGWINCH 28
47#define SIGIO 29
48#define SIGPOLL SIGIO
49/*
50#define SIGLOST 29
51*/
52#define SIGPWR 30
53#define SIGSYS 31
54#define SIGUNUSED 31
55
56/* These should not be considered constants from userland. */
57#define SIGRTMIN 32
58#define SIGRTMAX _NSIG
59
60#define SIGSWI 32
61
62/*
63 * SA_FLAGS values:
64 *
65 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
66 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
67 * SA_SIGINFO deliver the signal with SIGINFO structs
68 * SA_THIRTYTWO delivers the signal in 32-bit mode, even if the task
69 * is running in 26-bit.
70 * SA_ONSTACK allows alternate signal stacks (see sigaltstack(2)).
71 * SA_RESTART flag to get restarting signals (which were the default long ago)
72 * SA_NODEFER prevents the current signal from being masked in the handler.
73 * SA_RESETHAND clears the handler when the signal is delivered.
74 *
75 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
76 * Unix names RESETHAND and NODEFER respectively.
77 */
78#define SA_NOCLDSTOP 0x00000001
79#define SA_NOCLDWAIT 0x00000002
80#define SA_SIGINFO 0x00000004
81#define SA_THIRTYTWO 0x02000000
82#define SA_RESTORER 0x04000000
83#define SA_ONSTACK 0x08000000
84#define SA_RESTART 0x10000000
85#define SA_NODEFER 0x40000000
86#define SA_RESETHAND 0x80000000
87
88#define SA_NOMASK SA_NODEFER
89#define SA_ONESHOT SA_RESETHAND
90
91#define MINSIGSTKSZ 2048
92#define SIGSTKSZ 8192
93
94#include <asm-generic/signal-defs.h>
95
96#ifndef __KERNEL__
97/* Here we must cater to libcs that poke about in kernel headers. */
98
99struct sigaction {
100 union {
101 __sighandler_t _sa_handler;
102 void (*_sa_sigaction)(int, struct siginfo *, void *);
103 } _u;
104 sigset_t sa_mask;
105 unsigned long sa_flags;
106 void (*sa_restorer)(void);
107};
108
109#define sa_handler _u._sa_handler
110#define sa_sigaction _u._sa_sigaction
111
112#endif /* __KERNEL__ */
113
114typedef struct sigaltstack {
115 void __user *ss_sp;
116 int ss_flags;
117 size_t ss_size;
118} stack_t;
119
120
121#endif /* _UAPI_ASMARM_SIGNAL_H */