Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/s390/include/uapi/asm/signal.h
26481 views
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
/*
3
* S390 version
4
*
5
* Derived from "include/asm-i386/signal.h"
6
*/
7
8
#ifndef _UAPI_ASMS390_SIGNAL_H
9
#define _UAPI_ASMS390_SIGNAL_H
10
11
#include <linux/types.h>
12
#include <linux/time.h>
13
14
/* Avoid too many header ordering problems. */
15
struct siginfo;
16
struct pt_regs;
17
18
#ifndef __KERNEL__
19
/* Here we must cater to libcs that poke about in kernel headers. */
20
21
#define NSIG 32
22
typedef unsigned long sigset_t;
23
24
#endif /* __KERNEL__ */
25
26
#define SIGHUP 1
27
#define SIGINT 2
28
#define SIGQUIT 3
29
#define SIGILL 4
30
#define SIGTRAP 5
31
#define SIGABRT 6
32
#define SIGIOT 6
33
#define SIGBUS 7
34
#define SIGFPE 8
35
#define SIGKILL 9
36
#define SIGUSR1 10
37
#define SIGSEGV 11
38
#define SIGUSR2 12
39
#define SIGPIPE 13
40
#define SIGALRM 14
41
#define SIGTERM 15
42
#define SIGSTKFLT 16
43
#define SIGCHLD 17
44
#define SIGCONT 18
45
#define SIGSTOP 19
46
#define SIGTSTP 20
47
#define SIGTTIN 21
48
#define SIGTTOU 22
49
#define SIGURG 23
50
#define SIGXCPU 24
51
#define SIGXFSZ 25
52
#define SIGVTALRM 26
53
#define SIGPROF 27
54
#define SIGWINCH 28
55
#define SIGIO 29
56
#define SIGPOLL SIGIO
57
/*
58
#define SIGLOST 29
59
*/
60
#define SIGPWR 30
61
#define SIGSYS 31
62
#define SIGUNUSED 31
63
64
/* These should not be considered constants from userland. */
65
#define SIGRTMIN 32
66
#define SIGRTMAX _NSIG
67
68
#define SA_RESTORER 0x04000000
69
70
#define MINSIGSTKSZ 2048
71
#define SIGSTKSZ 8192
72
73
#include <asm-generic/signal-defs.h>
74
75
#ifndef __KERNEL__
76
77
/*
78
* There are two system calls in regard to sigaction, sys_rt_sigaction
79
* and sys_sigaction. Internally the kernel uses the struct old_sigaction
80
* for the older sys_sigaction system call, and the kernel version of the
81
* struct sigaction for the newer sys_rt_sigaction.
82
*
83
* The uapi definition for struct sigaction has made a strange distinction
84
* between 31-bit and 64-bit in the past. For 64-bit the uapi structure
85
* looks like the kernel struct sigaction, but for 31-bit it used to
86
* look like the kernel struct old_sigaction. That practically made the
87
* structure unusable for either system call. To get around this problem
88
* the glibc always had its own definitions for the sigaction structures.
89
*
90
* The current struct sigaction uapi definition below is suitable for the
91
* sys_rt_sigaction system call only.
92
*/
93
struct sigaction {
94
union {
95
__sighandler_t _sa_handler;
96
void (*_sa_sigaction)(int, struct siginfo *, void *);
97
} _u;
98
unsigned long sa_flags;
99
void (*sa_restorer)(void);
100
sigset_t sa_mask;
101
};
102
103
#define sa_handler _u._sa_handler
104
#define sa_sigaction _u._sa_sigaction
105
106
#endif /* __KERNEL__ */
107
108
typedef struct sigaltstack {
109
void __user *ss_sp;
110
int ss_flags;
111
__kernel_size_t ss_size;
112
} stack_t;
113
114
115
#endif /* _UAPI_ASMS390_SIGNAL_H */
116
117