8 |
#ifndef _KLIBC_ARCHSIGNAL_H |
#ifndef _KLIBC_ARCHSIGNAL_H |
9 |
#define _KLIBC_ARCHSIGNAL_H |
#define _KLIBC_ARCHSIGNAL_H |
10 |
|
|
11 |
#include <asm/signal.h> |
/* The in-kernel headers for arm still have libc5 |
12 |
/* No special stuff for this architecture */ |
crap in them. Reconsider using <asm/signal.h> |
13 |
|
when/if it gets cleaned up; for now, duplicate |
14 |
|
the definitions here. */ |
15 |
|
|
16 |
|
#define _NSIG 64 |
17 |
|
#define _NSIG_BPW 32 |
18 |
|
#define _NSIG_WORDS (_NSIG / _NSIG_BPW) |
19 |
|
|
20 |
|
typedef struct { |
21 |
|
unsigned long sig[_NSIG_WORDS]; |
22 |
|
} sigset_t; |
23 |
|
|
24 |
|
#define SIGHUP 1 |
25 |
|
#define SIGINT 2 |
26 |
|
#define SIGQUIT 3 |
27 |
|
#define SIGILL 4 |
28 |
|
#define SIGTRAP 5 |
29 |
|
#define SIGABRT 6 |
30 |
|
#define SIGIOT 6 |
31 |
|
#define SIGBUS 7 |
32 |
|
#define SIGFPE 8 |
33 |
|
#define SIGKILL 9 |
34 |
|
#define SIGUSR1 10 |
35 |
|
#define SIGSEGV 11 |
36 |
|
#define SIGUSR2 12 |
37 |
|
#define SIGPIPE 13 |
38 |
|
#define SIGALRM 14 |
39 |
|
#define SIGTERM 15 |
40 |
|
#define SIGSTKFLT 16 |
41 |
|
#define SIGCHLD 17 |
42 |
|
#define SIGCONT 18 |
43 |
|
#define SIGSTOP 19 |
44 |
|
#define SIGTSTP 20 |
45 |
|
#define SIGTTIN 21 |
46 |
|
#define SIGTTOU 22 |
47 |
|
#define SIGURG 23 |
48 |
|
#define SIGXCPU 24 |
49 |
|
#define SIGXFSZ 25 |
50 |
|
#define SIGVTALRM 26 |
51 |
|
#define SIGPROF 27 |
52 |
|
#define SIGWINCH 28 |
53 |
|
#define SIGIO 29 |
54 |
|
#define SIGPOLL SIGIO |
55 |
|
/* |
56 |
|
#define SIGLOST 29 |
57 |
|
*/ |
58 |
|
#define SIGPWR 30 |
59 |
|
#define SIGSYS 31 |
60 |
|
#define SIGUNUSED 31 |
61 |
|
|
62 |
|
/* These should not be considered constants from userland. */ |
63 |
|
#define SIGRTMIN 32 |
64 |
|
#define SIGRTMAX _NSIG |
65 |
|
|
66 |
|
#define SIGSWI 32 |
67 |
|
|
68 |
|
/* |
69 |
|
* SA_FLAGS values: |
70 |
|
* |
71 |
|
* SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. |
72 |
|
* SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. |
73 |
|
* SA_SIGINFO deliver the signal with SIGINFO structs |
74 |
|
* SA_THIRTYTWO delivers the signal in 32-bit mode, even if the task |
75 |
|
* is running in 26-bit. |
76 |
|
* SA_ONSTACK allows alternate signal stacks (see sigaltstack(2)). |
77 |
|
* SA_RESTART flag to get restarting signals (which were the default long ago) |
78 |
|
* SA_NODEFER prevents the current signal from being masked in the handler. |
79 |
|
* SA_RESETHAND clears the handler when the signal is delivered. |
80 |
|
* |
81 |
|
* SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single |
82 |
|
* Unix names RESETHAND and NODEFER respectively. |
83 |
|
*/ |
84 |
|
#define SA_NOCLDSTOP 0x00000001 |
85 |
|
#define SA_NOCLDWAIT 0x00000002 |
86 |
|
#define SA_SIGINFO 0x00000004 |
87 |
|
#define SA_THIRTYTWO 0x02000000 |
88 |
|
#define SA_RESTORER 0x04000000 |
89 |
|
#define SA_ONSTACK 0x08000000 |
90 |
|
#define SA_RESTART 0x10000000 |
91 |
|
#define SA_NODEFER 0x40000000 |
92 |
|
#define SA_RESETHAND 0x80000000 |
93 |
|
|
94 |
|
#define SA_NOMASK SA_NODEFER |
95 |
|
#define SA_ONESHOT SA_RESETHAND |
96 |
|
|
97 |
|
|
98 |
|
/* |
99 |
|
* sigaltstack controls |
100 |
|
*/ |
101 |
|
#define SS_ONSTACK 1 |
102 |
|
#define SS_DISABLE 2 |
103 |
|
|
104 |
|
#define MINSIGSTKSZ 2048 |
105 |
|
#define SIGSTKSZ 8192 |
106 |
|
|
107 |
|
#include <asm-generic/signal-defs.h> |
108 |
|
|
109 |
|
/* This uses gcc anonymous union support... */ |
110 |
|
struct siginfo; |
111 |
|
|
112 |
|
struct sigaction { |
113 |
|
union { |
114 |
|
__sighandler_t sa_handler; |
115 |
|
void (*sa_sigaction)(int, struct siginfo *, void *); |
116 |
|
}; |
117 |
|
unsigned long sa_flags; |
118 |
|
__sigrestore_t sa_restorer; |
119 |
|
sigset_t sa_mask; |
120 |
|
}; |
121 |
|
|
122 |
#endif |
#endif |