hc
2023-10-25 6c2073b7aa40e29d0eca7d571dd7bc590c7ecaa7
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
131
132
133
134
135
136
137
138
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_ASM_POWERPC_SIGNAL_H
#define _UAPI_ASM_POWERPC_SIGNAL_H
 
#include <linux/types.h>
 
#define _NSIG        64
#ifdef __powerpc64__
#define _NSIG_BPW    64
#else
#define _NSIG_BPW    32
#endif
#define _NSIG_WORDS    (_NSIG / _NSIG_BPW)
 
typedef unsigned long old_sigset_t;        /* at least 32 bits */
 
typedef struct {
   unsigned long sig[_NSIG_WORDS];
} sigset_t;
 
#define SIGHUP         1
#define SIGINT         2
#define SIGQUIT         3
#define SIGILL         4
#define SIGTRAP         5
#define SIGABRT         6
#define SIGIOT         6
#define SIGBUS         7
#define SIGFPE         8
#define SIGKILL         9
#define SIGUSR1        10
#define SIGSEGV        11
#define SIGUSR2        12
#define SIGPIPE        13
#define SIGALRM        14
#define SIGTERM        15
#define SIGSTKFLT    16
#define SIGCHLD        17
#define SIGCONT        18
#define SIGSTOP        19
#define SIGTSTP        20
#define SIGTTIN        21
#define SIGTTOU        22
#define SIGURG        23
#define SIGXCPU        24
#define SIGXFSZ        25
#define SIGVTALRM    26
#define SIGPROF        27
#define SIGWINCH    28
#define SIGIO        29
#define SIGPOLL        SIGIO
/*
#define SIGLOST        29
*/
#define SIGPWR        30
#define SIGSYS        31
#define    SIGUNUSED    31
 
/* These should not be considered constants from userland.  */
#define SIGRTMIN    32
#define SIGRTMAX    _NSIG
 
/*
 * SA_FLAGS values:
 *
 * SA_ONSTACK is not currently supported, but will allow sigaltstack(2).
 * 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_NOCLDSTOP    0x00000001U
#define SA_NOCLDWAIT    0x00000002U
#define SA_SIGINFO    0x00000004U
#define SA_ONSTACK    0x08000000U
#define SA_RESTART    0x10000000U
#define SA_NODEFER    0x40000000U
#define SA_RESETHAND    0x80000000U
 
#define SA_NOMASK    SA_NODEFER
#define SA_ONESHOT    SA_RESETHAND
 
#define SA_RESTORER    0x04000000U
 
#define MINSIGSTKSZ    2048
#define SIGSTKSZ    8192
 
#include <asm-generic/signal-defs.h>
 
#ifndef __KERNEL__
struct old_sigaction {
   __sighandler_t sa_handler;
   old_sigset_t sa_mask;
   unsigned long sa_flags;
   __sigrestore_t sa_restorer;
};
 
struct sigaction {
   __sighandler_t sa_handler;
   unsigned long sa_flags;
   __sigrestore_t sa_restorer;
   sigset_t sa_mask;        /* mask last for extensibility */
};
#endif
 
typedef struct sigaltstack {
   void __user *ss_sp;
   int ss_flags;
   size_t ss_size;
} stack_t;
 
 
#ifndef __powerpc64__
/*
 * These are parameters to dbg_sigreturn syscall.  They enable or
 * disable certain debugging things that can be done from signal
 * handlers.  The dbg_sigreturn syscall *must* be called from a
 * SA_SIGINFO signal so the ucontext can be passed to it.  It takes an
 * array of struct sig_dbg_op, which has the debug operations to
 * perform before returning from the signal.
 */
struct sig_dbg_op {
   int dbg_type;
   unsigned long dbg_value;
};
 
/* Enable or disable single-stepping.  The value sets the state. */
#define SIG_DBG_SINGLE_STEPPING        1
 
/* Enable or disable branch tracing.  The value sets the state. */
#define SIG_DBG_BRANCH_TRACING        2
#endif /* ! __powerpc64__ */
 
#endif /* _UAPI_ASM_POWERPC_SIGNAL_H */