Contents of /trunk/mkinitrd-magellan/klibc/usr/include/arch/i386/klibc/archsignal.h
Parent Directory | Revision Log
Revision 905 -
(show annotations)
(download)
Fri Oct 16 11:35:59 2009 UTC (14 years, 6 months ago) by niro
File MIME type: text/plain
File size: 2905 byte(s)
Fri Oct 16 11:35:59 2009 UTC (14 years, 6 months ago) by niro
File MIME type: text/plain
File size: 2905 byte(s)
-fixed signal changes with linux-2.6.30 and above
1 | /* |
2 | * arch/i386/include/klibc/archsignal.h |
3 | * |
4 | * Architecture-specific signal definitions |
5 | * |
6 | */ |
7 | |
8 | #ifndef _KLIBC_ARCHSIGNAL_H |
9 | #define _KLIBC_ARCHSIGNAL_H |
10 | |
11 | /* The in-kernel headers for i386 still have libc5 |
12 | 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 | #define SIGPWR 30 |
56 | #define SIGSYS 31 |
57 | #define SIGUNUSED 31 |
58 | |
59 | #define SIGRTMIN 32 |
60 | #define SIGRTMAX (_NSIG-1) |
61 | |
62 | /* |
63 | * SA_FLAGS values: |
64 | * |
65 | * SA_ONSTACK indicates that a registered stack_t will be used. |
66 | * SA_INTERRUPT is a no-op, but left due to historical reasons. Use the |
67 | * SA_RESTART flag to get restarting signals (which were the default long ago) |
68 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. |
69 | * SA_RESETHAND clears the handler when the signal is delivered. |
70 | * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. |
71 | * SA_NODEFER prevents the current signal from being masked in the handler. |
72 | * |
73 | * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single |
74 | * Unix names RESETHAND and NODEFER respectively. |
75 | */ |
76 | #define SA_NOCLDSTOP 0x00000001u |
77 | #define SA_NOCLDWAIT 0x00000002u |
78 | #define SA_SIGINFO 0x00000004u |
79 | #define SA_ONSTACK 0x08000000u |
80 | #define SA_RESTART 0x10000000u |
81 | #define SA_NODEFER 0x40000000u |
82 | #define SA_RESETHAND 0x80000000u |
83 | |
84 | #define SA_NOMASK SA_NODEFER |
85 | #define SA_ONESHOT SA_RESETHAND |
86 | #define SA_INTERRUPT 0x20000000 /* dummy -- ignored */ |
87 | |
88 | #define SA_RESTORER 0x04000000 |
89 | |
90 | /* |
91 | * sigaltstack controls |
92 | */ |
93 | #define SS_ONSTACK 1 |
94 | #define SS_DISABLE 2 |
95 | |
96 | #define MINSIGSTKSZ 2048 |
97 | #define SIGSTKSZ 8192 |
98 | |
99 | #include <asm-generic/signal-defs.h> |
100 | |
101 | /* This uses gcc anonymous union support... */ |
102 | struct siginfo; |
103 | |
104 | struct sigaction { |
105 | union { |
106 | __sighandler_t sa_handler; |
107 | void (*sa_sigaction)(int, struct siginfo *, void *); |
108 | }; |
109 | unsigned long sa_flags; |
110 | __sigrestore_t sa_restorer; |
111 | sigset_t sa_mask; |
112 | }; |
113 | |
114 | #endif |