Contents of /alx-src/tags/kernel26-2.6.12-alx-r9/include/asm-alpha/signal.h
Parent Directory | Revision Log
Revision 630 -
(show annotations)
(download)
Wed Mar 4 11:03:09 2009 UTC (15 years, 3 months ago) by niro
File MIME type: text/plain
File size: 4017 byte(s)
Wed Mar 4 11:03:09 2009 UTC (15 years, 3 months ago) by niro
File MIME type: text/plain
File size: 4017 byte(s)
Tag kernel26-2.6.12-alx-r9
1 | #ifndef _ASMAXP_SIGNAL_H |
2 | #define _ASMAXP_SIGNAL_H |
3 | |
4 | #include <linux/types.h> |
5 | |
6 | /* Avoid too many header ordering problems. */ |
7 | struct siginfo; |
8 | |
9 | #ifdef __KERNEL__ |
10 | /* Digital Unix defines 64 signals. Most things should be clean enough |
11 | to redefine this at will, if care is taken to make libc match. */ |
12 | |
13 | #define _NSIG 64 |
14 | #define _NSIG_BPW 64 |
15 | #define _NSIG_WORDS (_NSIG / _NSIG_BPW) |
16 | |
17 | typedef unsigned long old_sigset_t; /* at least 32 bits */ |
18 | |
19 | typedef struct { |
20 | unsigned long sig[_NSIG_WORDS]; |
21 | } sigset_t; |
22 | |
23 | #else |
24 | /* Here we must cater to libcs that poke about in kernel headers. */ |
25 | |
26 | #define NSIG 32 |
27 | typedef unsigned long sigset_t; |
28 | |
29 | #endif /* __KERNEL__ */ |
30 | |
31 | |
32 | /* |
33 | * Linux/AXP has different signal numbers that Linux/i386: I'm trying |
34 | * to make it OSF/1 binary compatible, at least for normal binaries. |
35 | */ |
36 | #define SIGHUP 1 |
37 | #define SIGINT 2 |
38 | #define SIGQUIT 3 |
39 | #define SIGILL 4 |
40 | #define SIGTRAP 5 |
41 | #define SIGABRT 6 |
42 | #define SIGEMT 7 |
43 | #define SIGFPE 8 |
44 | #define SIGKILL 9 |
45 | #define SIGBUS 10 |
46 | #define SIGSEGV 11 |
47 | #define SIGSYS 12 |
48 | #define SIGPIPE 13 |
49 | #define SIGALRM 14 |
50 | #define SIGTERM 15 |
51 | #define SIGURG 16 |
52 | #define SIGSTOP 17 |
53 | #define SIGTSTP 18 |
54 | #define SIGCONT 19 |
55 | #define SIGCHLD 20 |
56 | #define SIGTTIN 21 |
57 | #define SIGTTOU 22 |
58 | #define SIGIO 23 |
59 | #define SIGXCPU 24 |
60 | #define SIGXFSZ 25 |
61 | #define SIGVTALRM 26 |
62 | #define SIGPROF 27 |
63 | #define SIGWINCH 28 |
64 | #define SIGINFO 29 |
65 | #define SIGUSR1 30 |
66 | #define SIGUSR2 31 |
67 | |
68 | #define SIGPOLL SIGIO |
69 | #define SIGPWR SIGINFO |
70 | #define SIGIOT SIGABRT |
71 | |
72 | /* These should not be considered constants from userland. */ |
73 | #define SIGRTMIN 32 |
74 | #define SIGRTMAX _NSIG |
75 | |
76 | /* |
77 | * SA_FLAGS values: |
78 | * |
79 | * SA_ONSTACK indicates that a registered stack_t will be used. |
80 | * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the |
81 | * SA_RESTART flag to get restarting signals (which were the default long ago) |
82 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. |
83 | * SA_RESETHAND clears the handler when the signal is delivered. |
84 | * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. |
85 | * SA_NODEFER prevents the current signal from being masked in the handler. |
86 | * |
87 | * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single |
88 | * Unix names RESETHAND and NODEFER respectively. |
89 | */ |
90 | |
91 | #define SA_ONSTACK 0x00000001 |
92 | #define SA_RESTART 0x00000002 |
93 | #define SA_NOCLDSTOP 0x00000004 |
94 | #define SA_NODEFER 0x00000008 |
95 | #define SA_RESETHAND 0x00000010 |
96 | #define SA_NOCLDWAIT 0x00000020 |
97 | #define SA_SIGINFO 0x00000040 |
98 | |
99 | #define SA_ONESHOT SA_RESETHAND |
100 | #define SA_NOMASK SA_NODEFER |
101 | #define SA_INTERRUPT 0x20000000 /* dummy -- ignored */ |
102 | |
103 | /* |
104 | * sigaltstack controls |
105 | */ |
106 | #define SS_ONSTACK 1 |
107 | #define SS_DISABLE 2 |
108 | |
109 | #define MINSIGSTKSZ 4096 |
110 | #define SIGSTKSZ 16384 |
111 | |
112 | #define SIG_BLOCK 1 /* for blocking signals */ |
113 | #define SIG_UNBLOCK 2 /* for unblocking signals */ |
114 | #define SIG_SETMASK 3 /* for setting the signal mask */ |
115 | |
116 | #include <asm-generic/signal.h> |
117 | |
118 | #ifdef __KERNEL__ |
119 | struct osf_sigaction { |
120 | __sighandler_t sa_handler; |
121 | old_sigset_t sa_mask; |
122 | int sa_flags; |
123 | }; |
124 | |
125 | struct sigaction { |
126 | __sighandler_t sa_handler; |
127 | unsigned long sa_flags; |
128 | sigset_t sa_mask; /* mask last for extensibility */ |
129 | }; |
130 | |
131 | struct k_sigaction { |
132 | struct sigaction sa; |
133 | __sigrestore_t ka_restorer; |
134 | }; |
135 | #else |
136 | /* Here we must cater to libcs that poke about in kernel headers. */ |
137 | |
138 | struct sigaction { |
139 | union { |
140 | __sighandler_t _sa_handler; |
141 | void (*_sa_sigaction)(int, struct siginfo *, void *); |
142 | } _u; |
143 | sigset_t sa_mask; |
144 | int sa_flags; |
145 | }; |
146 | |
147 | #define sa_handler _u._sa_handler |
148 | #define sa_sigaction _u._sa_sigaction |
149 | |
150 | #endif /* __KERNEL__ */ |
151 | |
152 | typedef struct sigaltstack { |
153 | void __user *ss_sp; |
154 | int ss_flags; |
155 | size_t ss_size; |
156 | } stack_t; |
157 | |
158 | /* sigstack(2) is deprecated, and will be withdrawn in a future version |
159 | of the X/Open CAE Specification. Use sigaltstack instead. It is only |
160 | implemented here for OSF/1 compatibility. */ |
161 | |
162 | struct sigstack { |
163 | void __user *ss_sp; |
164 | int ss_onstack; |
165 | }; |
166 | |
167 | #ifdef __KERNEL__ |
168 | #include <asm/sigcontext.h> |
169 | |
170 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) |
171 | |
172 | #endif |
173 | |
174 | #endif |