1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20: #if !defined _SIGNAL_H && !defined __need_siginfo_t \
21: && !defined __need_sigevent_t
22: # error "Never include this file directly. Use <signal.h> instead"
23: #endif
24:
25: #if (!defined __have_sigval_t \
26: && (defined _SIGNAL_H || defined __need_siginfo_t \
27: || defined __need_sigevent_t))
28: # define __have_sigval_t 1
29:
30:
31: typedef union sigval
32: {
33: int sival_int;
34: void *sival_ptr;
35: } sigval_t;
36: #endif
37:
38: #if (!defined __have_siginfo_t \
39: && (defined _SIGNAL_H || defined __need_siginfo_t))
40: # define __have_siginfo_t 1
41:
42: typedef struct siginfo
43: {
44: int si_signo;
45: int si_errno;
46:
47: int si_code;
48: __pid_t si_pid;
49: __uid_t si_uid;
50: void *si_addr;
51: int si_status;
52: long int si_band;
53: union sigval si_value;
54: } siginfo_t;
55:
56:
57:
58:
59: enum
60: {
61: SI_ASYNCIO = -4,
62: # define SI_ASYNCIO SI_ASYNCIO
63: SI_MESGQ,
64: # define SI_MESGQ SI_MESGQ
65: SI_TIMER,
66: # define SI_TIMER SI_TIMER
67: SI_QUEUE,
68: # define SI_QUEUE SI_QUEUE
69: SI_USER
70: # define SI_USER SI_USER
71: };
72:
73:
74:
75: enum
76: {
77: ILL_ILLOPC = 1,
78: # define ILL_ILLOPC ILL_ILLOPC
79: ILL_ILLOPN,
80: # define ILL_ILLOPN ILL_ILLOPN
81: ILL_ILLADR,
82: # define ILL_ILLADR ILL_ILLADR
83: ILL_ILLTRP,
84: # define ILL_ILLTRP ILL_ILLTRP
85: ILL_PRVOPC,
86: # define ILL_PRVOPC ILL_PRVOPC
87: ILL_PRVREG,
88: # define ILL_PRVREG ILL_PRVREG
89: ILL_COPROC,
90: # define ILL_COPROC ILL_COPROC
91: ILL_BADSTK
92: # define ILL_BADSTK ILL_BADSTK
93: };
94:
95:
96: enum
97: {
98: FPE_INTDIV = 1,
99: # define FPE_INTDIV FPE_INTDIV
100: FPE_INTOVF,
101: # define FPE_INTOVF FPE_INTOVF
102: FPE_FLTDIV,
103: # define FPE_FLTDIV FPE_FLTDIV
104: FPE_FLTOVF,
105: # define FPE_FLTOVF FPE_FLTOVF
106: FPE_FLTUND,
107: # define FPE_FLTUND FPE_FLTUND
108: FPE_FLTRES,
109: # define FPE_FLTRES FPE_FLTRES
110: FPE_FLTINV,
111: # define FPE_FLTINV FPE_FLTINV
112: FPE_FLTSUB
113: # define FPE_FLTSUB FPE_FLTSUB
114: };
115:
116:
117: enum
118: {
119: SEGV_MAPERR = 1,
120: # define SEGV_MAPERR SEGV_MAPERR
121: SEGV_ACCERR
122: # define SEGV_ACCERR SEGV_ACCERR
123: };
124:
125:
126: enum
127: {
128: BUS_ADRALN = 1,
129: # define BUS_ADRALN BUS_ADRALN
130: BUS_ADRERR,
131: # define BUS_ADRERR BUS_ADRERR
132: BUS_OBJERR
133: # define BUS_OBJERR BUS_OBJERR
134: };
135:
136:
137: enum
138: {
139: TRAP_BRKPT = 1,
140: # define TRAP_BRKPT TRAP_BRKPT
141: TRAP_TRACE
142: # define TRAP_TRACE TRAP_TRACE
143: };
144:
145:
146: enum
147: {
148: CLD_EXITED = 1,
149: # define CLD_EXITED CLD_EXITED
150: CLD_KILLED,
151: # define CLD_KILLED CLD_KILLED
152: CLD_DUMPED,
153: # define CLD_DUMPED CLD_DUMPED
154: CLD_TRAPPED,
155: # define CLD_TRAPPED CLD_TRAPPED
156: CLD_STOPPED,
157: # define CLD_STOPPED CLD_STOPPED
158: CLD_CONTINUED
159: # define CLD_CONTINUED CLD_CONTINUED
160: };
161:
162:
163: enum
164: {
165: POLL_IN = 1,
166: # define POLL_IN POLL_IN
167: POLL_OUT,
168: # define POLL_OUT POLL_OUT
169: POLL_MSG,
170: # define POLL_MSG POLL_MSG
171: POLL_ERR,
172: # define POLL_ERR POLL_ERR
173: POLL_PRI,
174: # define POLL_PRI POLL_PRI
175: POLL_HUP
176: # define POLL_HUP POLL_HUP
177: };
178:
179: # undef __need_siginfo_t
180: #endif
181:
182:
183: #if (defined _SIGNAL_H || defined __need_sigevent_t) \
184: && !defined __have_sigevent_t
185: # define __have_sigevent_t 1
186:
187:
188: # define SIGEV_MAX_SIZE 64
189: # define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE / sizeof (int)) - 3)
190:
191: typedef struct sigevent
192: {
193: sigval_t sigev_value;
194: int sigev_signo;
195: int sigev_notify;
196: void (*sigev_notify_function) (sigval_t);
197: void *sigev_notify_attributes;
198: } sigevent_t;
199:
200:
201: enum
202: {
203: SIGEV_SIGNAL = 0,
204: # define SIGEV_SIGNAL SIGEV_SIGNAL
205: SIGEV_NONE,
206: # define SIGEV_NONE SIGEV_NONE
207: SIGEV_THREAD
208: # define SIGEV_THREAD SIGEV_THREAD
209: };
210:
211: #endif