This source file includes following definitions.
- siginfo_t
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 #ifndef _SYS_SIGINFO_H
29 #define _SYS_SIGINFO_H
30
31 #include <sys/cdefs.h>
32
33 union sigval {
34 int sival_int;
35 void *sival_ptr;
36 };
37
38
39
40
41
42 #define SI_FROMUSER(sip) ((sip)->si_code <= 0)
43 #define SI_FROMKERNEL(sip) ((sip)->si_code > 0)
44
45 #define SI_NOINFO 32767
46 #define SI_USER 0
47 #define SI_LWP (-1)
48 #define SI_QUEUE (-2)
49 #define SI_TIMER (-3)
50
51 #if __POSIX_VISIBLE >= 199309 || __XPG_VISIBLE
52
53
54
55
56 #define ILL_ILLOPC 1
57 #define ILL_ILLOPN 2
58 #define ILL_ILLADR 3
59 #define ILL_ILLTRP 4
60 #define ILL_PRVOPC 5
61 #define ILL_PRVREG 6
62 #define ILL_COPROC 7
63 #define ILL_BADSTK 8
64 #define NSIGILL 8
65
66 #define EMT_TAGOVF 1
67 #define NSIGEMT 1
68
69 #define FPE_INTDIV 1
70 #define FPE_INTOVF 2
71 #define FPE_FLTDIV 3
72 #define FPE_FLTOVF 4
73 #define FPE_FLTUND 5
74 #define FPE_FLTRES 6
75 #define FPE_FLTINV 7
76 #define FPE_FLTSUB 8
77 #define NSIGFPE 8
78
79 #define SEGV_MAPERR 1
80 #define SEGV_ACCERR 2
81 #define NSIGSEGV 2
82
83 #define BUS_ADRALN 1
84 #define BUS_ADRERR 2
85 #define BUS_OBJERR 3
86 #define NSIGBUS 3
87
88 #endif
89
90
91
92
93 #define TRAP_BRKPT 1
94 #define TRAP_TRACE 2
95 #define NSIGTRAP 2
96
97
98
99
100 #define CLD_EXITED 1
101 #define CLD_KILLED 2
102 #define CLD_DUMPED 3
103 #define CLD_TRAPPED 4
104 #define CLD_STOPPED 5
105 #define CLD_CONTINUED 6
106 #define NSIGCLD 6
107
108 #if 0
109
110
111
112 #define POLL_IN 1
113 #define POLL_OUT 2
114 #define POLL_MSG 3
115 #define POLL_ERR 4
116 #define POLL_PRI 5
117 #define POLL_HUP 6
118 #define NSIGPOLL 6
119
120
121
122
123 #define PROF_SIG 1
124 #define NSIGPROF 1
125 #endif
126
127 #define SI_MAXSZ 128
128 #define SI_PAD ((SI_MAXSZ / sizeof (int)) - 3)
129
130 #include <sys/time.h>
131
132 typedef struct {
133 int si_signo;
134 int si_code;
135 int si_errno;
136 union {
137 int _pad[SI_PAD];
138 struct {
139 pid_t _pid;
140 union {
141 struct {
142 uid_t _uid;
143 union sigval _value;
144 } _kill;
145 struct {
146 clock_t _utime;
147 int _status;
148 clock_t _stime;
149 } _cld;
150 } _pdata;
151 } _proc;
152 struct {
153 caddr_t _addr;
154 int _trapno;
155 } _fault;
156 #if 0
157 struct {
158
159 int _fd;
160 long _band;
161 } _file;
162 struct {
163 caddr_t _faddr;
164 timespec _tstamp;
165 short _syscall;
166 char _nsysarg;
167 char _fault;
168 long _sysarg[8];
169 long _mstate[17];
170 } _prof;
171 #endif
172 } _data;
173 } siginfo_t;
174
175 #define si_pid _data._proc._pid
176
177 #define si_status _data._proc._pdata._cld._status
178 #define si_stime _data._proc._pdata._cld._stime
179 #define si_utime _data._proc._pdata._cld._utime
180 #define si_uid _data._proc._pdata._kill._uid
181 #define si_value _data._proc._pdata._kill._value
182 #define si_addr _data._fault._addr
183 #define si_trapno _data._fault._trapno
184 #define si_fd _data._file._fd
185 #define si_band _data._file._band
186
187 #define si_tstamp _data._prof._tstamp
188 #define si_syscall _data._prof._syscall
189 #define si_nsysarg _data._prof._nsysarg
190 #define si_sysarg _data._prof._sysarg
191 #define si_fault _data._prof._fault
192 #define si_faddr _data._prof._faddr
193 #define si_mstate _data._prof._mstate
194
195 #if defined(_KERNEL)
196 void initsiginfo(siginfo_t *, int, u_long, int, union sigval);
197 #endif
198
199 #endif