blob: c9a3ea1d8d4166349dfee7c20a27444efa37dcac [file] [log] [blame]
Greg Kroah-Hartman6f52b162017-11-01 15:08:43 +01001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
David Howellscb8db5d2012-10-12 13:05:52 +01002#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/*
Peter Collingbourne90caa1ef2020-11-12 18:53:33 -080063 * SA_THIRTYTWO historically meant deliver the signal in 32-bit mode, even if
64 * the task is running in 26-bit. But since the kernel no longer supports
65 * 26-bit mode, the flag has no effect.
David Howellscb8db5d2012-10-12 13:05:52 +010066 */
David Howellscb8db5d2012-10-12 13:05:52 +010067#define SA_THIRTYTWO 0x02000000
68#define SA_RESTORER 0x04000000
David Howellscb8db5d2012-10-12 13:05:52 +010069
David Howellscb8db5d2012-10-12 13:05:52 +010070#define MINSIGSTKSZ 2048
71#define SIGSTKSZ 8192
72
73#include <asm-generic/signal-defs.h>
74
75#ifndef __KERNEL__
76/* Here we must cater to libcs that poke about in kernel headers. */
77
78struct sigaction {
79 union {
80 __sighandler_t _sa_handler;
81 void (*_sa_sigaction)(int, struct siginfo *, void *);
82 } _u;
83 sigset_t sa_mask;
84 unsigned long sa_flags;
85 void (*sa_restorer)(void);
86};
87
88#define sa_handler _u._sa_handler
89#define sa_sigaction _u._sa_sigaction
90
91#endif /* __KERNEL__ */
92
93typedef struct sigaltstack {
94 void __user *ss_sp;
95 int ss_flags;
96 size_t ss_size;
97} stack_t;
98
99
100#endif /* _UAPI_ASMARM_SIGNAL_H */