hc
2023-11-22 983d7f83616922a6439b4352d1b3af488ee27f95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_ASMAXP_SIGNAL_H
#define _UAPI_ASMAXP_SIGNAL_H
 
#include <linux/types.h>
 
/* Avoid too many header ordering problems.  */
struct siginfo;
 
#ifndef __KERNEL__
/* Here we must cater to libcs that poke about in kernel headers.  */
 
#define NSIG        32
typedef unsigned long sigset_t;
 
#endif /* __KERNEL__ */
 
 
/*
 * Linux/AXP has different signal numbers that Linux/i386: I'm trying
 * to make it OSF/1 binary compatible, at least for normal binaries.
 */
#define SIGHUP         1
#define SIGINT         2
#define SIGQUIT         3
#define SIGILL         4
#define SIGTRAP         5
#define SIGABRT         6
#define SIGEMT         7
#define SIGFPE         8
#define SIGKILL         9
#define SIGBUS        10
#define SIGSEGV        11
#define SIGSYS        12
#define SIGPIPE        13
#define SIGALRM        14
#define SIGTERM        15
#define SIGURG        16
#define SIGSTOP        17
#define SIGTSTP        18
#define SIGCONT        19
#define SIGCHLD        20
#define SIGTTIN        21
#define SIGTTOU        22
#define SIGIO        23
#define SIGXCPU        24
#define SIGXFSZ        25
#define SIGVTALRM    26
#define SIGPROF        27
#define SIGWINCH    28
#define SIGINFO        29
#define SIGUSR1        30
#define SIGUSR2        31
 
#define SIGPOLL    SIGIO
#define SIGPWR    SIGINFO
#define SIGIOT    SIGABRT
 
/* These should not be considered constants from userland.  */
#define SIGRTMIN    32
#define SIGRTMAX    _NSIG
 
/*
 * SA_FLAGS values:
 *
 * SA_ONSTACK indicates that a registered stack_t will be used.
 * SA_RESTART flag to get restarting signals (which were the default long ago)
 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
 * SA_RESETHAND clears the handler when the signal is delivered.
 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
 * SA_NODEFER prevents the current signal from being masked in the handler.
 *
 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
 * Unix names RESETHAND and NODEFER respectively.
 */
 
#define SA_ONSTACK    0x00000001
#define SA_RESTART    0x00000002
#define SA_NOCLDSTOP    0x00000004
#define SA_NODEFER    0x00000008
#define SA_RESETHAND    0x00000010
#define SA_NOCLDWAIT    0x00000020
#define SA_SIGINFO    0x00000040
 
#define SA_ONESHOT    SA_RESETHAND
#define SA_NOMASK    SA_NODEFER
 
#define MINSIGSTKSZ    4096
#define SIGSTKSZ    16384
 
#define SIG_BLOCK          1    /* for blocking signals */
#define SIG_UNBLOCK        2    /* for unblocking signals */
#define SIG_SETMASK        3    /* for setting the signal mask */
 
#include <asm-generic/signal-defs.h>
 
#ifndef __KERNEL__
/* Here we must cater to libcs that poke about in kernel headers.  */
 
struct sigaction {
   union {
     __sighandler_t    _sa_handler;
     void (*_sa_sigaction)(int, struct siginfo *, void *);
   } _u;
   sigset_t    sa_mask;
   int        sa_flags;
};
 
#define sa_handler    _u._sa_handler
#define sa_sigaction    _u._sa_sigaction
 
#endif /* __KERNEL__ */
 
typedef struct sigaltstack {
   void __user *ss_sp;
   int ss_flags;
   size_t ss_size;
} stack_t;
 
/* sigstack(2) is deprecated, and will be withdrawn in a future version
   of the X/Open CAE Specification.  Use sigaltstack instead.  It is only
   implemented here for OSF/1 compatibility.  */
 
struct sigstack {
   void __user *ss_sp;
   int ss_onstack;
};
 
 
#endif /* _UAPI_ASMAXP_SIGNAL_H */