Commit | Line | Data |
---|---|---|
0fda6bd2 | 1 | /* Machine independent support for SVR4 /proc (process file system) for GDB. |
b6ba6518 | 2 | Copyright 1999, 2000 Free Software Foundation, Inc. |
0fda6bd2 JM |
3 | Written by Michael Snyder at Cygnus Solutions. |
4 | Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others. | |
5 | ||
6 | This file is part of GDB. | |
7 | ||
8 | This program is free software; you can redistribute it and/or modify | |
9 | it under the terms of the GNU General Public License as published by | |
10 | the Free Software Foundation; either version 2 of the License, or | |
11 | (at your option) any later version. | |
12 | ||
13 | This program is distributed in the hope that it will be useful, | |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | GNU General Public License for more details. | |
17 | ||
18 | You should have received a copy of the GNU General Public License | |
19 | along with this program; if not, write to the Free Software Foundation, | |
20 | Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |
21 | ||
22 | /* | |
23 | * Pretty-print "events of interest". | |
24 | * | |
25 | * This module includes pretty-print routines for: | |
26 | * faults (hardware exceptions): | |
27 | * signals (software interrupts): | |
28 | * syscalls | |
29 | * | |
30 | * FIXME: At present, the syscall translation table must be initialized, | |
31 | * which is not true of the other translation tables. | |
32 | */ | |
33 | ||
34 | #include "defs.h" | |
35 | ||
36 | #if defined (NEW_PROC_API) | |
37 | #define _STRUCTURED_PROC 1 | |
38 | #endif | |
39 | ||
40 | #include <stdio.h> | |
41 | #include <sys/types.h> | |
42 | #include <sys/procfs.h> | |
37de36c6 | 43 | #ifdef HAVE_SYS_SYSCALL_H |
0fda6bd2 | 44 | #include <sys/syscall.h> |
37de36c6 KB |
45 | #endif |
46 | #ifdef HAVE_SYS_FAULT_H | |
0fda6bd2 | 47 | #include <sys/fault.h> |
37de36c6 | 48 | #endif |
0fda6bd2 JM |
49 | |
50 | /* Much of the information used in the /proc interface, particularly for | |
51 | printing status information, is kept as tables of structures of the | |
52 | following form. These tables can be used to map numeric values to | |
53 | their symbolic names and to a string that describes their specific use. */ | |
54 | ||
55 | struct trans { | |
56 | int value; /* The numeric value */ | |
57 | char *name; /* The equivalent symbolic value */ | |
58 | char *desc; /* Short description of value */ | |
59 | }; | |
60 | ||
61 | /* | |
62 | * pretty print syscalls | |
63 | */ | |
64 | ||
65 | /* Ugh -- Unixware and Solaris spell these differently! */ | |
66 | ||
67 | #ifdef SYS_lwpcreate | |
68 | #define SYS_lwp_create SYS_lwpcreate | |
69 | #endif | |
70 | ||
71 | #ifdef SYS_lwpexit | |
72 | #define SYS_lwp_exit SYS_lwpexit | |
73 | #endif | |
74 | ||
75 | #ifdef SYS_lwpwait | |
76 | #define SYS_lwp_wait SYS_lwpwait | |
77 | #endif | |
78 | ||
79 | #ifdef SYS_lwpself | |
80 | #define SYS_lwp_self SYS_lwpself | |
81 | #endif | |
82 | ||
83 | #ifdef SYS_lwpinfo | |
84 | #define SYS_lwp_info SYS_lwpinfo | |
85 | #endif | |
86 | ||
87 | #ifdef SYS_lwpprivate | |
88 | #define SYS_lwp_private SYS_lwpprivate | |
89 | #endif | |
90 | ||
91 | #ifdef SYS_lwpkill | |
92 | #define SYS_lwp_kill SYS_lwpkill | |
93 | #endif | |
94 | ||
95 | #ifdef SYS_lwpsuspend | |
96 | #define SYS_lwp_suspend SYS_lwpsuspend | |
97 | #endif | |
98 | ||
99 | #ifdef SYS_lwpcontinue | |
100 | #define SYS_lwp_continue SYS_lwpcontinue | |
101 | #endif | |
102 | ||
103 | ||
104 | /* Syscall translation table. */ | |
105 | ||
106 | #define MAX_SYSCALLS 262 /* pretty arbitrary */ | |
107 | static char * syscall_table[MAX_SYSCALLS]; | |
108 | ||
109 | void | |
110 | init_syscall_table (void) | |
111 | { | |
112 | #if defined (SYS_BSD_getime) | |
113 | syscall_table[SYS_BSD_getime] = "BSD_getime"; | |
114 | #endif | |
115 | #if defined (SYS_BSDgetpgrp) | |
116 | syscall_table[SYS_BSDgetpgrp] = "BSDgetpgrp"; | |
117 | #endif | |
118 | #if defined (SYS_BSDsetpgrp) | |
119 | syscall_table[SYS_BSDsetpgrp] = "BSDsetpgrp"; | |
120 | #endif | |
121 | #if defined (SYS_acancel) | |
122 | syscall_table[SYS_acancel] = "acancel"; | |
123 | #endif | |
124 | #if defined (SYS_accept) | |
125 | syscall_table[SYS_accept] = "accept"; | |
126 | #endif | |
127 | #if defined (SYS_access) | |
128 | syscall_table[SYS_access] = "access"; | |
129 | #endif | |
130 | #if defined (SYS_acct) | |
131 | syscall_table[SYS_acct] = "acct"; | |
132 | #endif | |
133 | #if defined (SYS_acl) | |
134 | syscall_table[SYS_acl] = "acl"; | |
135 | #endif | |
136 | #if defined (SYS_aclipc) | |
137 | syscall_table[SYS_aclipc] = "aclipc"; | |
138 | #endif | |
139 | #if defined (SYS_adjtime) | |
140 | syscall_table[SYS_adjtime] = "adjtime"; | |
141 | #endif | |
142 | #if defined (SYS_afs_syscall) | |
143 | syscall_table[SYS_afs_syscall] = "afs_syscall"; | |
144 | #endif | |
145 | #if defined (SYS_alarm) | |
146 | syscall_table[SYS_alarm] = "alarm"; | |
147 | #endif | |
148 | #if defined (SYS_alt_plock) | |
149 | syscall_table[SYS_alt_plock] = "alt_plock"; | |
150 | #endif | |
151 | #if defined (SYS_alt_sigpending) | |
152 | syscall_table[SYS_alt_sigpending] = "alt_sigpending"; | |
153 | #endif | |
154 | #if defined (SYS_async) | |
155 | syscall_table[SYS_async] = "async"; | |
156 | #endif | |
157 | #if defined (SYS_async_daemon) | |
158 | syscall_table[SYS_async_daemon] = "async_daemon"; | |
159 | #endif | |
160 | #if defined (SYS_audcntl) | |
161 | syscall_table[SYS_audcntl] = "audcntl"; | |
162 | #endif | |
163 | #if defined (SYS_audgen) | |
164 | syscall_table[SYS_audgen] = "audgen"; | |
165 | #endif | |
166 | #if defined (SYS_auditbuf) | |
167 | syscall_table[SYS_auditbuf] = "auditbuf"; | |
168 | #endif | |
169 | #if defined (SYS_auditctl) | |
170 | syscall_table[SYS_auditctl] = "auditctl"; | |
171 | #endif | |
172 | #if defined (SYS_auditdmp) | |
173 | syscall_table[SYS_auditdmp] = "auditdmp"; | |
174 | #endif | |
175 | #if defined (SYS_auditevt) | |
176 | syscall_table[SYS_auditevt] = "auditevt"; | |
177 | #endif | |
178 | #if defined (SYS_auditlog) | |
179 | syscall_table[SYS_auditlog] = "auditlog"; | |
180 | #endif | |
181 | #if defined (SYS_auditsys) | |
182 | syscall_table[SYS_auditsys] = "auditsys"; | |
183 | #endif | |
184 | #if defined (SYS_bind) | |
185 | syscall_table[SYS_bind] = "bind"; | |
186 | #endif | |
187 | #if defined (SYS_block) | |
188 | syscall_table[SYS_block] = "block"; | |
189 | #endif | |
190 | #if defined (SYS_brk) | |
191 | syscall_table[SYS_brk] = "brk"; | |
192 | #endif | |
193 | #if defined (SYS_cachectl) | |
194 | syscall_table[SYS_cachectl] = "cachectl"; | |
195 | #endif | |
196 | #if defined (SYS_cacheflush) | |
197 | syscall_table[SYS_cacheflush] = "cacheflush"; | |
198 | #endif | |
199 | #if defined (SYS_cancelblock) | |
200 | syscall_table[SYS_cancelblock] = "cancelblock"; | |
201 | #endif | |
202 | #if defined (SYS_cg_bind) | |
203 | syscall_table[SYS_cg_bind] = "cg_bind"; | |
204 | #endif | |
205 | #if defined (SYS_cg_current) | |
206 | syscall_table[SYS_cg_current] = "cg_current"; | |
207 | #endif | |
208 | #if defined (SYS_cg_ids) | |
209 | syscall_table[SYS_cg_ids] = "cg_ids"; | |
210 | #endif | |
211 | #if defined (SYS_cg_info) | |
212 | syscall_table[SYS_cg_info] = "cg_info"; | |
213 | #endif | |
214 | #if defined (SYS_cg_memloc) | |
215 | syscall_table[SYS_cg_memloc] = "cg_memloc"; | |
216 | #endif | |
217 | #if defined (SYS_cg_processors) | |
218 | syscall_table[SYS_cg_processors] = "cg_processors"; | |
219 | #endif | |
220 | #if defined (SYS_chdir) | |
221 | syscall_table[SYS_chdir] = "chdir"; | |
222 | #endif | |
223 | #if defined (SYS_chflags) | |
224 | syscall_table[SYS_chflags] = "chflags"; | |
225 | #endif | |
226 | #if defined (SYS_chmod) | |
227 | syscall_table[SYS_chmod] = "chmod"; | |
228 | #endif | |
229 | #if defined (SYS_chown) | |
230 | syscall_table[SYS_chown] = "chown"; | |
231 | #endif | |
232 | #if defined (SYS_chroot) | |
233 | syscall_table[SYS_chroot] = "chroot"; | |
234 | #endif | |
235 | #if defined (SYS_clocal) | |
236 | syscall_table[SYS_clocal] = "clocal"; | |
237 | #endif | |
238 | #if defined (SYS_clock_getres) | |
239 | syscall_table[SYS_clock_getres] = "clock_getres"; | |
240 | #endif | |
241 | #if defined (SYS_clock_gettime) | |
242 | syscall_table[SYS_clock_gettime] = "clock_gettime"; | |
243 | #endif | |
244 | #if defined (SYS_clock_settime) | |
245 | syscall_table[SYS_clock_settime] = "clock_settime"; | |
246 | #endif | |
247 | #if defined (SYS_close) | |
248 | syscall_table[SYS_close] = "close"; | |
249 | #endif | |
250 | #if defined (SYS_connect) | |
251 | syscall_table[SYS_connect] = "connect"; | |
252 | #endif | |
253 | #if defined (SYS_context) | |
254 | syscall_table[SYS_context] = "context"; | |
255 | #endif | |
256 | #if defined (SYS_creat) | |
257 | syscall_table[SYS_creat] = "creat"; | |
258 | #endif | |
259 | #if defined (SYS_creat64) | |
260 | syscall_table[SYS_creat64] = "creat64"; | |
261 | #endif | |
262 | #if defined (SYS_devstat) | |
263 | syscall_table[SYS_devstat] = "devstat"; | |
264 | #endif | |
265 | #if defined (SYS_dmi) | |
266 | syscall_table[SYS_dmi] = "dmi"; | |
267 | #endif | |
268 | #if defined (SYS_door) | |
269 | syscall_table[SYS_door] = "door"; | |
270 | #endif | |
271 | #if defined (SYS_dshmsys) | |
272 | syscall_table[SYS_dshmsys] = "dshmsys"; | |
273 | #endif | |
274 | #if defined (SYS_dup) | |
275 | syscall_table[SYS_dup] = "dup"; | |
276 | #endif | |
277 | #if defined (SYS_dup2) | |
278 | syscall_table[SYS_dup2] = "dup2"; | |
279 | #endif | |
280 | #if defined (SYS_evsys) | |
281 | syscall_table[SYS_evsys] = "evsys"; | |
282 | #endif | |
283 | #if defined (SYS_evtrapret) | |
284 | syscall_table[SYS_evtrapret] = "evtrapret"; | |
285 | #endif | |
286 | #if defined (SYS_exec) | |
287 | syscall_table[SYS_exec] = "exec"; | |
288 | #endif | |
289 | #if defined (SYS_exec_with_loader) | |
290 | syscall_table[SYS_exec_with_loader] = "exec_with_loader"; | |
291 | #endif | |
292 | #if defined (SYS_execv) | |
293 | syscall_table[SYS_execv] = "execv"; | |
294 | #endif | |
295 | #if defined (SYS_execve) | |
296 | syscall_table[SYS_execve] = "execve"; | |
297 | #endif | |
298 | #if defined (SYS_exit) | |
299 | syscall_table[SYS_exit] = "exit"; | |
300 | #endif | |
301 | #if defined (SYS_exportfs) | |
302 | syscall_table[SYS_exportfs] = "exportfs"; | |
303 | #endif | |
304 | #if defined (SYS_facl) | |
305 | syscall_table[SYS_facl] = "facl"; | |
306 | #endif | |
307 | #if defined (SYS_fchdir) | |
308 | syscall_table[SYS_fchdir] = "fchdir"; | |
309 | #endif | |
310 | #if defined (SYS_fchflags) | |
311 | syscall_table[SYS_fchflags] = "fchflags"; | |
312 | #endif | |
313 | #if defined (SYS_fchmod) | |
314 | syscall_table[SYS_fchmod] = "fchmod"; | |
315 | #endif | |
316 | #if defined (SYS_fchown) | |
317 | syscall_table[SYS_fchown] = "fchown"; | |
318 | #endif | |
319 | #if defined (SYS_fchroot) | |
320 | syscall_table[SYS_fchroot] = "fchroot"; | |
321 | #endif | |
322 | #if defined (SYS_fcntl) | |
323 | syscall_table[SYS_fcntl] = "fcntl"; | |
324 | #endif | |
325 | #if defined (SYS_fdatasync) | |
326 | syscall_table[SYS_fdatasync] = "fdatasync"; | |
327 | #endif | |
328 | #if defined (SYS_fdevstat) | |
329 | syscall_table[SYS_fdevstat] = "fdevstat"; | |
330 | #endif | |
331 | #if defined (SYS_fdsync) | |
332 | syscall_table[SYS_fdsync] = "fdsync"; | |
333 | #endif | |
334 | #if defined (SYS_filepriv) | |
335 | syscall_table[SYS_filepriv] = "filepriv"; | |
336 | #endif | |
337 | #if defined (SYS_flock) | |
338 | syscall_table[SYS_flock] = "flock"; | |
339 | #endif | |
340 | #if defined (SYS_flvlfile) | |
341 | syscall_table[SYS_flvlfile] = "flvlfile"; | |
342 | #endif | |
343 | #if defined (SYS_fork) | |
344 | syscall_table[SYS_fork] = "fork"; | |
345 | #endif | |
346 | #if defined (SYS_fork1) | |
347 | syscall_table[SYS_fork1] = "fork1"; | |
348 | #endif | |
349 | #if defined (SYS_forkall) | |
350 | syscall_table[SYS_forkall] = "forkall"; | |
351 | #endif | |
352 | #if defined (SYS_fpathconf) | |
353 | syscall_table[SYS_fpathconf] = "fpathconf"; | |
354 | #endif | |
355 | #if defined (SYS_fstat) | |
356 | syscall_table[SYS_fstat] = "fstat"; | |
357 | #endif | |
358 | #if defined (SYS_fstat64) | |
359 | syscall_table[SYS_fstat64] = "fstat64"; | |
360 | #endif | |
361 | #if defined (SYS_fstatfs) | |
362 | syscall_table[SYS_fstatfs] = "fstatfs"; | |
363 | #endif | |
364 | #if defined (SYS_fstatvfs) | |
365 | syscall_table[SYS_fstatvfs] = "fstatvfs"; | |
366 | #endif | |
367 | #if defined (SYS_fstatvfs64) | |
368 | syscall_table[SYS_fstatvfs64] = "fstatvfs64"; | |
369 | #endif | |
370 | #if defined (SYS_fsync) | |
371 | syscall_table[SYS_fsync] = "fsync"; | |
372 | #endif | |
373 | #if defined (SYS_ftruncate) | |
374 | syscall_table[SYS_ftruncate] = "ftruncate"; | |
375 | #endif | |
376 | #if defined (SYS_ftruncate64) | |
377 | syscall_table[SYS_ftruncate64] = "ftruncate64"; | |
378 | #endif | |
379 | #if defined (SYS_fuser) | |
380 | syscall_table[SYS_fuser] = "fuser"; | |
381 | #endif | |
382 | #if defined (SYS_fxstat) | |
383 | syscall_table[SYS_fxstat] = "fxstat"; | |
384 | #endif | |
385 | #if defined (SYS_get_sysinfo) | |
386 | syscall_table[SYS_get_sysinfo] = "get_sysinfo"; | |
387 | #endif | |
388 | #if defined (SYS_getaddressconf) | |
389 | syscall_table[SYS_getaddressconf] = "getaddressconf"; | |
390 | #endif | |
391 | #if defined (SYS_getcontext) | |
392 | syscall_table[SYS_getcontext] = "getcontext"; | |
393 | #endif | |
394 | #if defined (SYS_getdents) | |
395 | syscall_table[SYS_getdents] = "getdents"; | |
396 | #endif | |
397 | #if defined (SYS_getdents64) | |
398 | syscall_table[SYS_getdents64] = "getdents64"; | |
399 | #endif | |
400 | #if defined (SYS_getdirentries) | |
401 | syscall_table[SYS_getdirentries] = "getdirentries"; | |
402 | #endif | |
403 | #if defined (SYS_getdomainname) | |
404 | syscall_table[SYS_getdomainname] = "getdomainname"; | |
405 | #endif | |
406 | #if defined (SYS_getdtablesize) | |
407 | syscall_table[SYS_getdtablesize] = "getdtablesize"; | |
408 | #endif | |
409 | #if defined (SYS_getfh) | |
410 | syscall_table[SYS_getfh] = "getfh"; | |
411 | #endif | |
412 | #if defined (SYS_getfsstat) | |
413 | syscall_table[SYS_getfsstat] = "getfsstat"; | |
414 | #endif | |
415 | #if defined (SYS_getgid) | |
416 | syscall_table[SYS_getgid] = "getgid"; | |
417 | #endif | |
418 | #if defined (SYS_getgroups) | |
419 | syscall_table[SYS_getgroups] = "getgroups"; | |
420 | #endif | |
421 | #if defined (SYS_gethostid) | |
422 | syscall_table[SYS_gethostid] = "gethostid"; | |
423 | #endif | |
424 | #if defined (SYS_gethostname) | |
425 | syscall_table[SYS_gethostname] = "gethostname"; | |
426 | #endif | |
427 | #if defined (SYS_getitimer) | |
428 | syscall_table[SYS_getitimer] = "getitimer"; | |
429 | #endif | |
430 | #if defined (SYS_getksym) | |
431 | syscall_table[SYS_getksym] = "getksym"; | |
432 | #endif | |
433 | #if defined (SYS_getlogin) | |
434 | syscall_table[SYS_getlogin] = "getlogin"; | |
435 | #endif | |
436 | #if defined (SYS_getmnt) | |
437 | syscall_table[SYS_getmnt] = "getmnt"; | |
438 | #endif | |
439 | #if defined (SYS_getmsg) | |
440 | syscall_table[SYS_getmsg] = "getmsg"; | |
441 | #endif | |
442 | #if defined (SYS_getpagesize) | |
443 | syscall_table[SYS_getpagesize] = "getpagesize"; | |
444 | #endif | |
445 | #if defined (SYS_getpeername) | |
446 | syscall_table[SYS_getpeername] = "getpeername"; | |
447 | #endif | |
448 | #if defined (SYS_getpgid) | |
449 | syscall_table[SYS_getpgid] = "getpgid"; | |
450 | #endif | |
451 | #if defined (SYS_getpgrp) | |
452 | syscall_table[SYS_getpgrp] = "getpgrp"; | |
453 | #endif | |
454 | #if defined (SYS_getpid) | |
455 | syscall_table[SYS_getpid] = "getpid"; | |
456 | #endif | |
457 | #if defined (SYS_getpmsg) | |
458 | syscall_table[SYS_getpmsg] = "getpmsg"; | |
459 | #endif | |
460 | #if defined (SYS_getpriority) | |
461 | syscall_table[SYS_getpriority] = "getpriority"; | |
462 | #endif | |
463 | #if defined (SYS_getrlimit) | |
464 | syscall_table[SYS_getrlimit] = "getrlimit"; | |
465 | #endif | |
466 | #if defined (SYS_getrlimit64) | |
467 | syscall_table[SYS_getrlimit64] = "getrlimit64"; | |
468 | #endif | |
469 | #if defined (SYS_getrusage) | |
470 | syscall_table[SYS_getrusage] = "getrusage"; | |
471 | #endif | |
472 | #if defined (SYS_getsid) | |
473 | syscall_table[SYS_getsid] = "getsid"; | |
474 | #endif | |
475 | #if defined (SYS_getsockname) | |
476 | syscall_table[SYS_getsockname] = "getsockname"; | |
477 | #endif | |
478 | #if defined (SYS_getsockopt) | |
479 | syscall_table[SYS_getsockopt] = "getsockopt"; | |
480 | #endif | |
481 | #if defined (SYS_gettimeofday) | |
482 | syscall_table[SYS_gettimeofday] = "gettimeofday"; | |
483 | #endif | |
484 | #if defined (SYS_getuid) | |
485 | syscall_table[SYS_getuid] = "getuid"; | |
486 | #endif | |
487 | #if defined (SYS_gtty) | |
488 | syscall_table[SYS_gtty] = "gtty"; | |
489 | #endif | |
490 | #if defined (SYS_hrtsys) | |
491 | syscall_table[SYS_hrtsys] = "hrtsys"; | |
492 | #endif | |
493 | #if defined (SYS_inst_sync) | |
494 | syscall_table[SYS_inst_sync] = "inst_sync"; | |
495 | #endif | |
496 | #if defined (SYS_install_utrap) | |
497 | syscall_table[SYS_install_utrap] = "install_utrap"; | |
498 | #endif | |
499 | #if defined (SYS_invlpg) | |
500 | syscall_table[SYS_invlpg] = "invlpg"; | |
501 | #endif | |
502 | #if defined (SYS_ioctl) | |
503 | syscall_table[SYS_ioctl] = "ioctl"; | |
504 | #endif | |
505 | #if defined (SYS_kaio) | |
506 | syscall_table[SYS_kaio] = "kaio"; | |
507 | #endif | |
508 | #if defined (SYS_keyctl) | |
509 | syscall_table[SYS_keyctl] = "keyctl"; | |
510 | #endif | |
511 | #if defined (SYS_kill) | |
512 | syscall_table[SYS_kill] = "kill"; | |
513 | #endif | |
514 | #if defined (SYS_killpg) | |
515 | syscall_table[SYS_killpg] = "killpg"; | |
516 | #endif | |
517 | #if defined (SYS_kloadcall) | |
518 | syscall_table[SYS_kloadcall] = "kloadcall"; | |
519 | #endif | |
520 | #if defined (SYS_kmodcall) | |
521 | syscall_table[SYS_kmodcall] = "kmodcall"; | |
522 | #endif | |
523 | #if defined (SYS_ksigaction) | |
524 | syscall_table[SYS_ksigaction] = "ksigaction"; | |
525 | #endif | |
526 | #if defined (SYS_ksigprocmask) | |
527 | syscall_table[SYS_ksigprocmask] = "ksigprocmask"; | |
528 | #endif | |
529 | #if defined (SYS_ksigqueue) | |
530 | syscall_table[SYS_ksigqueue] = "ksigqueue"; | |
531 | #endif | |
532 | #if defined (SYS_lchown) | |
533 | syscall_table[SYS_lchown] = "lchown"; | |
534 | #endif | |
535 | #if defined (SYS_link) | |
536 | syscall_table[SYS_link] = "link"; | |
537 | #endif | |
538 | #if defined (SYS_listen) | |
539 | syscall_table[SYS_listen] = "listen"; | |
540 | #endif | |
541 | #if defined (SYS_llseek) | |
542 | syscall_table[SYS_llseek] = "llseek"; | |
543 | #endif | |
544 | #if defined (SYS_lseek) | |
545 | syscall_table[SYS_lseek] = "lseek"; | |
546 | #endif | |
547 | #if defined (SYS_lseek64) | |
548 | syscall_table[SYS_lseek64] = "lseek64"; | |
549 | #endif | |
550 | #if defined (SYS_lstat) | |
551 | syscall_table[SYS_lstat] = "lstat"; | |
552 | #endif | |
553 | #if defined (SYS_lstat64) | |
554 | syscall_table[SYS_lstat64] = "lstat64"; | |
555 | #endif | |
556 | #if defined (SYS_lvldom) | |
557 | syscall_table[SYS_lvldom] = "lvldom"; | |
558 | #endif | |
559 | #if defined (SYS_lvlequal) | |
560 | syscall_table[SYS_lvlequal] = "lvlequal"; | |
561 | #endif | |
562 | #if defined (SYS_lvlfile) | |
563 | syscall_table[SYS_lvlfile] = "lvlfile"; | |
564 | #endif | |
565 | #if defined (SYS_lvlipc) | |
566 | syscall_table[SYS_lvlipc] = "lvlipc"; | |
567 | #endif | |
568 | #if defined (SYS_lvlproc) | |
569 | syscall_table[SYS_lvlproc] = "lvlproc"; | |
570 | #endif | |
571 | #if defined (SYS_lvlvfs) | |
572 | syscall_table[SYS_lvlvfs] = "lvlvfs"; | |
573 | #endif | |
574 | #if defined (SYS_lwp_alarm) | |
575 | syscall_table[SYS_lwp_alarm] = "lwp_alarm"; | |
576 | #endif | |
577 | #if defined (SYS_lwp_cond_broadcast) | |
578 | syscall_table[SYS_lwp_cond_broadcast] = "lwp_cond_broadcast"; | |
579 | #endif | |
580 | #if defined (SYS_lwp_cond_signal) | |
581 | syscall_table[SYS_lwp_cond_signal] = "lwp_cond_signal"; | |
582 | #endif | |
583 | #if defined (SYS_lwp_cond_wait) | |
584 | syscall_table[SYS_lwp_cond_wait] = "lwp_cond_wait"; | |
585 | #endif | |
586 | #if defined (SYS_lwp_continue) | |
587 | syscall_table[SYS_lwp_continue] = "lwp_continue"; | |
588 | #endif | |
589 | #if defined (SYS_lwp_create) | |
590 | syscall_table[SYS_lwp_create] = "lwp_create"; | |
591 | #endif | |
592 | #if defined (SYS_lwp_exit) | |
593 | syscall_table[SYS_lwp_exit] = "lwp_exit"; | |
594 | #endif | |
595 | #if defined (SYS_lwp_getprivate) | |
596 | syscall_table[SYS_lwp_getprivate] = "lwp_getprivate"; | |
597 | #endif | |
598 | #if defined (SYS_lwp_info) | |
599 | syscall_table[SYS_lwp_info] = "lwp_info"; | |
600 | #endif | |
601 | #if defined (SYS_lwp_kill) | |
602 | syscall_table[SYS_lwp_kill] = "lwp_kill"; | |
603 | #endif | |
604 | #if defined (SYS_lwp_mutex_init) | |
605 | syscall_table[SYS_lwp_mutex_init] = "lwp_mutex_init"; | |
606 | #endif | |
607 | #if defined (SYS_lwp_mutex_lock) | |
608 | syscall_table[SYS_lwp_mutex_lock] = "lwp_mutex_lock"; | |
609 | #endif | |
610 | #if defined (SYS_lwp_mutex_trylock) | |
611 | syscall_table[SYS_lwp_mutex_trylock] = "lwp_mutex_trylock"; | |
612 | #endif | |
613 | #if defined (SYS_lwp_mutex_unlock) | |
614 | syscall_table[SYS_lwp_mutex_unlock] = "lwp_mutex_unlock"; | |
615 | #endif | |
616 | #if defined (SYS_lwp_private) | |
617 | syscall_table[SYS_lwp_private] = "lwp_private"; | |
618 | #endif | |
619 | #if defined (SYS_lwp_self) | |
620 | syscall_table[SYS_lwp_self] = "lwp_self"; | |
621 | #endif | |
622 | #if defined (SYS_lwp_sema_post) | |
623 | syscall_table[SYS_lwp_sema_post] = "lwp_sema_post"; | |
624 | #endif | |
625 | #if defined (SYS_lwp_sema_trywait) | |
626 | syscall_table[SYS_lwp_sema_trywait] = "lwp_sema_trywait"; | |
627 | #endif | |
628 | #if defined (SYS_lwp_sema_wait) | |
629 | syscall_table[SYS_lwp_sema_wait] = "lwp_sema_wait"; | |
630 | #endif | |
631 | #if defined (SYS_lwp_setprivate) | |
632 | syscall_table[SYS_lwp_setprivate] = "lwp_setprivate"; | |
633 | #endif | |
634 | #if defined (SYS_lwp_sigredirect) | |
635 | syscall_table[SYS_lwp_sigredirect] = "lwp_sigredirect"; | |
636 | #endif | |
637 | #if defined (SYS_lwp_suspend) | |
638 | syscall_table[SYS_lwp_suspend] = "lwp_suspend"; | |
639 | #endif | |
640 | #if defined (SYS_lwp_wait) | |
641 | syscall_table[SYS_lwp_wait] = "lwp_wait"; | |
642 | #endif | |
643 | #if defined (SYS_lxstat) | |
644 | syscall_table[SYS_lxstat] = "lxstat"; | |
645 | #endif | |
646 | #if defined (SYS_madvise) | |
647 | syscall_table[SYS_madvise] = "madvise"; | |
648 | #endif | |
649 | #if defined (SYS_memcntl) | |
650 | syscall_table[SYS_memcntl] = "memcntl"; | |
651 | #endif | |
652 | #if defined (SYS_mincore) | |
653 | syscall_table[SYS_mincore] = "mincore"; | |
654 | #endif | |
655 | #if defined (SYS_mincore) | |
656 | syscall_table[SYS_mincore] = "mincore"; | |
657 | #endif | |
658 | #if defined (SYS_mkdir) | |
659 | syscall_table[SYS_mkdir] = "mkdir"; | |
660 | #endif | |
661 | #if defined (SYS_mkmld) | |
662 | syscall_table[SYS_mkmld] = "mkmld"; | |
663 | #endif | |
664 | #if defined (SYS_mknod) | |
665 | syscall_table[SYS_mknod] = "mknod"; | |
666 | #endif | |
667 | #if defined (SYS_mldmode) | |
668 | syscall_table[SYS_mldmode] = "mldmode"; | |
669 | #endif | |
670 | #if defined (SYS_mmap) | |
671 | syscall_table[SYS_mmap] = "mmap"; | |
672 | #endif | |
673 | #if defined (SYS_mmap64) | |
674 | syscall_table[SYS_mmap64] = "mmap64"; | |
675 | #endif | |
676 | #if defined (SYS_modadm) | |
677 | syscall_table[SYS_modadm] = "modadm"; | |
678 | #endif | |
679 | #if defined (SYS_modctl) | |
680 | syscall_table[SYS_modctl] = "modctl"; | |
681 | #endif | |
682 | #if defined (SYS_modload) | |
683 | syscall_table[SYS_modload] = "modload"; | |
684 | #endif | |
685 | #if defined (SYS_modpath) | |
686 | syscall_table[SYS_modpath] = "modpath"; | |
687 | #endif | |
688 | #if defined (SYS_modstat) | |
689 | syscall_table[SYS_modstat] = "modstat"; | |
690 | #endif | |
691 | #if defined (SYS_moduload) | |
692 | syscall_table[SYS_moduload] = "moduload"; | |
693 | #endif | |
694 | #if defined (SYS_mount) | |
695 | syscall_table[SYS_mount] = "mount"; | |
696 | #endif | |
697 | #if defined (SYS_mprotect) | |
698 | syscall_table[SYS_mprotect] = "mprotect"; | |
699 | #endif | |
700 | #if defined (SYS_mremap) | |
701 | syscall_table[SYS_mremap] = "mremap"; | |
702 | #endif | |
703 | #if defined (SYS_msfs_syscall) | |
704 | syscall_table[SYS_msfs_syscall] = "msfs_syscall"; | |
705 | #endif | |
706 | #if defined (SYS_msgctl) | |
707 | syscall_table[SYS_msgctl] = "msgctl"; | |
708 | #endif | |
709 | #if defined (SYS_msgget) | |
710 | syscall_table[SYS_msgget] = "msgget"; | |
711 | #endif | |
712 | #if defined (SYS_msgrcv) | |
713 | syscall_table[SYS_msgrcv] = "msgrcv"; | |
714 | #endif | |
715 | #if defined (SYS_msgsnd) | |
716 | syscall_table[SYS_msgsnd] = "msgsnd"; | |
717 | #endif | |
718 | #if defined (SYS_msgsys) | |
719 | syscall_table[SYS_msgsys] = "msgsys"; | |
720 | #endif | |
721 | #if defined (SYS_msleep) | |
722 | syscall_table[SYS_msleep] = "msleep"; | |
723 | #endif | |
724 | #if defined (SYS_msync) | |
725 | syscall_table[SYS_msync] = "msync"; | |
726 | #endif | |
727 | #if defined (SYS_munmap) | |
728 | syscall_table[SYS_munmap] = "munmap"; | |
729 | #endif | |
730 | #if defined (SYS_mvalid) | |
731 | syscall_table[SYS_mvalid] = "mvalid"; | |
732 | #endif | |
733 | #if defined (SYS_mwakeup) | |
734 | syscall_table[SYS_mwakeup] = "mwakeup"; | |
735 | #endif | |
736 | #if defined (SYS_naccept) | |
737 | syscall_table[SYS_naccept] = "naccept"; | |
738 | #endif | |
739 | #if defined (SYS_nanosleep) | |
740 | syscall_table[SYS_nanosleep] = "nanosleep"; | |
741 | #endif | |
742 | #if defined (SYS_nfssvc) | |
743 | syscall_table[SYS_nfssvc] = "nfssvc"; | |
744 | #endif | |
745 | #if defined (SYS_nfssys) | |
746 | syscall_table[SYS_nfssys] = "nfssys"; | |
747 | #endif | |
748 | #if defined (SYS_ngetpeername) | |
749 | syscall_table[SYS_ngetpeername] = "ngetpeername"; | |
750 | #endif | |
751 | #if defined (SYS_ngetsockname) | |
752 | syscall_table[SYS_ngetsockname] = "ngetsockname"; | |
753 | #endif | |
754 | #if defined (SYS_nice) | |
755 | syscall_table[SYS_nice] = "nice"; | |
756 | #endif | |
757 | #if defined (SYS_nrecvfrom) | |
758 | syscall_table[SYS_nrecvfrom] = "nrecvfrom"; | |
759 | #endif | |
760 | #if defined (SYS_nrecvmsg) | |
761 | syscall_table[SYS_nrecvmsg] = "nrecvmsg"; | |
762 | #endif | |
763 | #if defined (SYS_nsendmsg) | |
764 | syscall_table[SYS_nsendmsg] = "nsendmsg"; | |
765 | #endif | |
766 | #if defined (SYS_ntp_adjtime) | |
767 | syscall_table[SYS_ntp_adjtime] = "ntp_adjtime"; | |
768 | #endif | |
769 | #if defined (SYS_ntp_gettime) | |
770 | syscall_table[SYS_ntp_gettime] = "ntp_gettime"; | |
771 | #endif | |
772 | #if defined (SYS_nuname) | |
773 | syscall_table[SYS_nuname] = "nuname"; | |
774 | #endif | |
775 | #if defined (SYS_obreak) | |
776 | syscall_table[SYS_obreak] = "obreak"; | |
777 | #endif | |
778 | #if defined (SYS_old_accept) | |
779 | syscall_table[SYS_old_accept] = "old_accept"; | |
780 | #endif | |
781 | #if defined (SYS_old_fstat) | |
782 | syscall_table[SYS_old_fstat] = "old_fstat"; | |
783 | #endif | |
784 | #if defined (SYS_old_getpeername) | |
785 | syscall_table[SYS_old_getpeername] = "old_getpeername"; | |
786 | #endif | |
787 | #if defined (SYS_old_getpgrp) | |
788 | syscall_table[SYS_old_getpgrp] = "old_getpgrp"; | |
789 | #endif | |
790 | #if defined (SYS_old_getsockname) | |
791 | syscall_table[SYS_old_getsockname] = "old_getsockname"; | |
792 | #endif | |
793 | #if defined (SYS_old_killpg) | |
794 | syscall_table[SYS_old_killpg] = "old_killpg"; | |
795 | #endif | |
796 | #if defined (SYS_old_lstat) | |
797 | syscall_table[SYS_old_lstat] = "old_lstat"; | |
798 | #endif | |
799 | #if defined (SYS_old_recv) | |
800 | syscall_table[SYS_old_recv] = "old_recv"; | |
801 | #endif | |
802 | #if defined (SYS_old_recvfrom) | |
803 | syscall_table[SYS_old_recvfrom] = "old_recvfrom"; | |
804 | #endif | |
805 | #if defined (SYS_old_recvmsg) | |
806 | syscall_table[SYS_old_recvmsg] = "old_recvmsg"; | |
807 | #endif | |
808 | #if defined (SYS_old_send) | |
809 | syscall_table[SYS_old_send] = "old_send"; | |
810 | #endif | |
811 | #if defined (SYS_old_sendmsg) | |
812 | syscall_table[SYS_old_sendmsg] = "old_sendmsg"; | |
813 | #endif | |
814 | #if defined (SYS_old_sigblock) | |
815 | syscall_table[SYS_old_sigblock] = "old_sigblock"; | |
816 | #endif | |
817 | #if defined (SYS_old_sigsetmask) | |
818 | syscall_table[SYS_old_sigsetmask] = "old_sigsetmask"; | |
819 | #endif | |
820 | #if defined (SYS_old_sigvec) | |
821 | syscall_table[SYS_old_sigvec] = "old_sigvec"; | |
822 | #endif | |
823 | #if defined (SYS_old_stat) | |
824 | syscall_table[SYS_old_stat] = "old_stat"; | |
825 | #endif | |
826 | #if defined (SYS_old_vhangup) | |
827 | syscall_table[SYS_old_vhangup] = "old_vhangup"; | |
828 | #endif | |
829 | #if defined (SYS_old_wait) | |
830 | syscall_table[SYS_old_wait] = "old_wait"; | |
831 | #endif | |
832 | #if defined (SYS_oldquota) | |
833 | syscall_table[SYS_oldquota] = "oldquota"; | |
834 | #endif | |
835 | #if defined (SYS_online) | |
836 | syscall_table[SYS_online] = "online"; | |
837 | #endif | |
838 | #if defined (SYS_open) | |
839 | syscall_table[SYS_open] = "open"; | |
840 | #endif | |
841 | #if defined (SYS_open64) | |
842 | syscall_table[SYS_open64] = "open64"; | |
843 | #endif | |
844 | #if defined (SYS_ovadvise) | |
845 | syscall_table[SYS_ovadvise] = "ovadvise"; | |
846 | #endif | |
847 | #if defined (SYS_p_online) | |
848 | syscall_table[SYS_p_online] = "p_online"; | |
849 | #endif | |
850 | #if defined (SYS_pagelock) | |
851 | syscall_table[SYS_pagelock] = "pagelock"; | |
852 | #endif | |
853 | #if defined (SYS_pathconf) | |
854 | syscall_table[SYS_pathconf] = "pathconf"; | |
855 | #endif | |
856 | #if defined (SYS_pause) | |
857 | syscall_table[SYS_pause] = "pause"; | |
858 | #endif | |
859 | #if defined (SYS_pgrpsys) | |
860 | syscall_table[SYS_pgrpsys] = "pgrpsys"; | |
861 | #endif | |
862 | #if defined (SYS_pid_block) | |
863 | syscall_table[SYS_pid_block] = "pid_block"; | |
864 | #endif | |
865 | #if defined (SYS_pid_unblock) | |
866 | syscall_table[SYS_pid_unblock] = "pid_unblock"; | |
867 | #endif | |
868 | #if defined (SYS_pipe) | |
869 | syscall_table[SYS_pipe] = "pipe"; | |
870 | #endif | |
871 | #if defined (SYS_plock) | |
872 | syscall_table[SYS_plock] = "plock"; | |
873 | #endif | |
874 | #if defined (SYS_poll) | |
875 | syscall_table[SYS_poll] = "poll"; | |
876 | #endif | |
877 | #if defined (SYS_prctl) | |
878 | syscall_table[SYS_prctl] = "prctl"; | |
879 | #endif | |
880 | #if defined (SYS_pread) | |
881 | syscall_table[SYS_pread] = "pread"; | |
882 | #endif | |
883 | #if defined (SYS_pread64) | |
884 | syscall_table[SYS_pread64] = "pread64"; | |
885 | #endif | |
886 | #if defined (SYS_pread64) | |
887 | syscall_table[SYS_pread64] = "pread64"; | |
888 | #endif | |
889 | #if defined (SYS_prepblock) | |
890 | syscall_table[SYS_prepblock] = "prepblock"; | |
891 | #endif | |
892 | #if defined (SYS_priocntl) | |
893 | syscall_table[SYS_priocntl] = "priocntl"; | |
894 | #endif | |
895 | #if defined (SYS_priocntllst) | |
896 | syscall_table[SYS_priocntllst] = "priocntllst"; | |
897 | #endif | |
898 | #if defined (SYS_priocntlset) | |
899 | syscall_table[SYS_priocntlset] = "priocntlset"; | |
900 | #endif | |
901 | #if defined (SYS_priocntlsys) | |
902 | syscall_table[SYS_priocntlsys] = "priocntlsys"; | |
903 | #endif | |
904 | #if defined (SYS_procblk) | |
905 | syscall_table[SYS_procblk] = "procblk"; | |
906 | #endif | |
907 | #if defined (SYS_processor_bind) | |
908 | syscall_table[SYS_processor_bind] = "processor_bind"; | |
909 | #endif | |
910 | #if defined (SYS_processor_exbind) | |
911 | syscall_table[SYS_processor_exbind] = "processor_exbind"; | |
912 | #endif | |
913 | #if defined (SYS_processor_info) | |
914 | syscall_table[SYS_processor_info] = "processor_info"; | |
915 | #endif | |
916 | #if defined (SYS_procpriv) | |
917 | syscall_table[SYS_procpriv] = "procpriv"; | |
918 | #endif | |
919 | #if defined (SYS_profil) | |
920 | syscall_table[SYS_profil] = "profil"; | |
921 | #endif | |
922 | #if defined (SYS_proplist_syscall) | |
923 | syscall_table[SYS_proplist_syscall] = "proplist_syscall"; | |
924 | #endif | |
925 | #if defined (SYS_pset) | |
926 | syscall_table[SYS_pset] = "pset"; | |
927 | #endif | |
928 | #if defined (SYS_ptrace) | |
929 | syscall_table[SYS_ptrace] = "ptrace"; | |
930 | #endif | |
931 | #if defined (SYS_putmsg) | |
932 | syscall_table[SYS_putmsg] = "putmsg"; | |
933 | #endif | |
934 | #if defined (SYS_putpmsg) | |
935 | syscall_table[SYS_putpmsg] = "putpmsg"; | |
936 | #endif | |
937 | #if defined (SYS_pwrite) | |
938 | syscall_table[SYS_pwrite] = "pwrite"; | |
939 | #endif | |
940 | #if defined (SYS_pwrite64) | |
941 | syscall_table[SYS_pwrite64] = "pwrite64"; | |
942 | #endif | |
943 | #if defined (SYS_quotactl) | |
944 | syscall_table[SYS_quotactl] = "quotactl"; | |
945 | #endif | |
946 | #if defined (SYS_rdblock) | |
947 | syscall_table[SYS_rdblock] = "rdblock"; | |
948 | #endif | |
949 | #if defined (SYS_read) | |
950 | syscall_table[SYS_read] = "read"; | |
951 | #endif | |
952 | #if defined (SYS_readlink) | |
953 | syscall_table[SYS_readlink] = "readlink"; | |
954 | #endif | |
955 | #if defined (SYS_readv) | |
956 | syscall_table[SYS_readv] = "readv"; | |
957 | #endif | |
958 | #if defined (SYS_reboot) | |
959 | syscall_table[SYS_reboot] = "reboot"; | |
960 | #endif | |
961 | #if defined (SYS_recv) | |
962 | syscall_table[SYS_recv] = "recv"; | |
963 | #endif | |
964 | #if defined (SYS_recvfrom) | |
965 | syscall_table[SYS_recvfrom] = "recvfrom"; | |
966 | #endif | |
967 | #if defined (SYS_recvmsg) | |
968 | syscall_table[SYS_recvmsg] = "recvmsg"; | |
969 | #endif | |
970 | #if defined (SYS_rename) | |
971 | syscall_table[SYS_rename] = "rename"; | |
972 | #endif | |
973 | #if defined (SYS_resolvepath) | |
974 | syscall_table[SYS_resolvepath] = "resolvepath"; | |
975 | #endif | |
976 | #if defined (SYS_revoke) | |
977 | syscall_table[SYS_revoke] = "revoke"; | |
978 | #endif | |
979 | #if defined (SYS_rfsys) | |
980 | syscall_table[SYS_rfsys] = "rfsys"; | |
981 | #endif | |
982 | #if defined (SYS_rmdir) | |
983 | syscall_table[SYS_rmdir] = "rmdir"; | |
984 | #endif | |
985 | #if defined (SYS_rpcsys) | |
986 | syscall_table[SYS_rpcsys] = "rpcsys"; | |
987 | #endif | |
988 | #if defined (SYS_sbrk) | |
989 | syscall_table[SYS_sbrk] = "sbrk"; | |
990 | #endif | |
991 | #if defined (SYS_schedctl) | |
992 | syscall_table[SYS_schedctl] = "schedctl"; | |
993 | #endif | |
994 | #if defined (SYS_secadvise) | |
995 | syscall_table[SYS_secadvise] = "secadvise"; | |
996 | #endif | |
997 | #if defined (SYS_secsys) | |
998 | syscall_table[SYS_secsys] = "secsys"; | |
999 | #endif | |
1000 | #if defined (SYS_security) | |
1001 | syscall_table[SYS_security] = "security"; | |
1002 | #endif | |
1003 | #if defined (SYS_select) | |
1004 | syscall_table[SYS_select] = "select"; | |
1005 | #endif | |
1006 | #if defined (SYS_semctl) | |
1007 | syscall_table[SYS_semctl] = "semctl"; | |
1008 | #endif | |
1009 | #if defined (SYS_semget) | |
1010 | syscall_table[SYS_semget] = "semget"; | |
1011 | #endif | |
1012 | #if defined (SYS_semop) | |
1013 | syscall_table[SYS_semop] = "semop"; | |
1014 | #endif | |
1015 | #if defined (SYS_semsys) | |
1016 | syscall_table[SYS_semsys] = "semsys"; | |
1017 | #endif | |
1018 | #if defined (SYS_send) | |
1019 | syscall_table[SYS_send] = "send"; | |
1020 | #endif | |
1021 | #if defined (SYS_sendmsg) | |
1022 | syscall_table[SYS_sendmsg] = "sendmsg"; | |
1023 | #endif | |
1024 | #if defined (SYS_sendto) | |
1025 | syscall_table[SYS_sendto] = "sendto"; | |
1026 | #endif | |
1027 | #if defined (SYS_set_program_attributes) | |
1028 | syscall_table[SYS_set_program_attributes] = "set_program_attributes"; | |
1029 | #endif | |
1030 | #if defined (SYS_set_speculative) | |
1031 | syscall_table[SYS_set_speculative] = "set_speculative"; | |
1032 | #endif | |
1033 | #if defined (SYS_set_sysinfo) | |
1034 | syscall_table[SYS_set_sysinfo] = "set_sysinfo"; | |
1035 | #endif | |
1036 | #if defined (SYS_setcontext) | |
1037 | syscall_table[SYS_setcontext] = "setcontext"; | |
1038 | #endif | |
1039 | #if defined (SYS_setdomainname) | |
1040 | syscall_table[SYS_setdomainname] = "setdomainname"; | |
1041 | #endif | |
1042 | #if defined (SYS_setegid) | |
1043 | syscall_table[SYS_setegid] = "setegid"; | |
1044 | #endif | |
1045 | #if defined (SYS_seteuid) | |
1046 | syscall_table[SYS_seteuid] = "seteuid"; | |
1047 | #endif | |
1048 | #if defined (SYS_setgid) | |
1049 | syscall_table[SYS_setgid] = "setgid"; | |
1050 | #endif | |
1051 | #if defined (SYS_setgroups) | |
1052 | syscall_table[SYS_setgroups] = "setgroups"; | |
1053 | #endif | |
1054 | #if defined (SYS_sethostid) | |
1055 | syscall_table[SYS_sethostid] = "sethostid"; | |
1056 | #endif | |
1057 | #if defined (SYS_sethostname) | |
1058 | syscall_table[SYS_sethostname] = "sethostname"; | |
1059 | #endif | |
1060 | #if defined (SYS_setitimer) | |
1061 | syscall_table[SYS_setitimer] = "setitimer"; | |
1062 | #endif | |
1063 | #if defined (SYS_setlogin) | |
1064 | syscall_table[SYS_setlogin] = "setlogin"; | |
1065 | #endif | |
1066 | #if defined (SYS_setpgid) | |
1067 | syscall_table[SYS_setpgid] = "setpgid"; | |
1068 | #endif | |
1069 | #if defined (SYS_setpgrp) | |
1070 | syscall_table[SYS_setpgrp] = "setpgrp"; | |
1071 | #endif | |
1072 | #if defined (SYS_setpriority) | |
1073 | syscall_table[SYS_setpriority] = "setpriority"; | |
1074 | #endif | |
1075 | #if defined (SYS_setregid) | |
1076 | syscall_table[SYS_setregid] = "setregid"; | |
1077 | #endif | |
1078 | #if defined (SYS_setreuid) | |
1079 | syscall_table[SYS_setreuid] = "setreuid"; | |
1080 | #endif | |
1081 | #if defined (SYS_setrlimit) | |
1082 | syscall_table[SYS_setrlimit] = "setrlimit"; | |
1083 | #endif | |
1084 | #if defined (SYS_setrlimit64) | |
1085 | syscall_table[SYS_setrlimit64] = "setrlimit64"; | |
1086 | #endif | |
1087 | #if defined (SYS_setsid) | |
1088 | syscall_table[SYS_setsid] = "setsid"; | |
1089 | #endif | |
1090 | #if defined (SYS_setsockopt) | |
1091 | syscall_table[SYS_setsockopt] = "setsockopt"; | |
1092 | #endif | |
1093 | #if defined (SYS_settimeofday) | |
1094 | syscall_table[SYS_settimeofday] = "settimeofday"; | |
1095 | #endif | |
1096 | #if defined (SYS_setuid) | |
1097 | syscall_table[SYS_setuid] = "setuid"; | |
1098 | #endif | |
1099 | #if defined (SYS_sgi) | |
1100 | syscall_table[SYS_sgi] = "sgi"; | |
1101 | #endif | |
1102 | #if defined (SYS_sgifastpath) | |
1103 | syscall_table[SYS_sgifastpath] = "sgifastpath"; | |
1104 | #endif | |
1105 | #if defined (SYS_sgikopt) | |
1106 | syscall_table[SYS_sgikopt] = "sgikopt"; | |
1107 | #endif | |
1108 | #if defined (SYS_sginap) | |
1109 | syscall_table[SYS_sginap] = "sginap"; | |
1110 | #endif | |
1111 | #if defined (SYS_shmat) | |
1112 | syscall_table[SYS_shmat] = "shmat"; | |
1113 | #endif | |
1114 | #if defined (SYS_shmctl) | |
1115 | syscall_table[SYS_shmctl] = "shmctl"; | |
1116 | #endif | |
1117 | #if defined (SYS_shmdt) | |
1118 | syscall_table[SYS_shmdt] = "shmdt"; | |
1119 | #endif | |
1120 | #if defined (SYS_shmget) | |
1121 | syscall_table[SYS_shmget] = "shmget"; | |
1122 | #endif | |
1123 | #if defined (SYS_shmsys) | |
1124 | syscall_table[SYS_shmsys] = "shmsys"; | |
1125 | #endif | |
1126 | #if defined (SYS_shutdown) | |
1127 | syscall_table[SYS_shutdown] = "shutdown"; | |
1128 | #endif | |
1129 | #if defined (SYS_sigaction) | |
1130 | syscall_table[SYS_sigaction] = "sigaction"; | |
1131 | #endif | |
1132 | #if defined (SYS_sigaltstack) | |
1133 | syscall_table[SYS_sigaltstack] = "sigaltstack"; | |
1134 | #endif | |
1135 | #if defined (SYS_sigaltstack) | |
1136 | syscall_table[SYS_sigaltstack] = "sigaltstack"; | |
1137 | #endif | |
1138 | #if defined (SYS_sigblock) | |
1139 | syscall_table[SYS_sigblock] = "sigblock"; | |
1140 | #endif | |
1141 | #if defined (SYS_signal) | |
1142 | syscall_table[SYS_signal] = "signal"; | |
1143 | #endif | |
1144 | #if defined (SYS_signotify) | |
1145 | syscall_table[SYS_signotify] = "signotify"; | |
1146 | #endif | |
1147 | #if defined (SYS_signotifywait) | |
1148 | syscall_table[SYS_signotifywait] = "signotifywait"; | |
1149 | #endif | |
1150 | #if defined (SYS_sigpending) | |
1151 | syscall_table[SYS_sigpending] = "sigpending"; | |
1152 | #endif | |
1153 | #if defined (SYS_sigpoll) | |
1154 | syscall_table[SYS_sigpoll] = "sigpoll"; | |
1155 | #endif | |
1156 | #if defined (SYS_sigprocmask) | |
1157 | syscall_table[SYS_sigprocmask] = "sigprocmask"; | |
1158 | #endif | |
1159 | #if defined (SYS_sigqueue) | |
1160 | syscall_table[SYS_sigqueue] = "sigqueue"; | |
1161 | #endif | |
1162 | #if defined (SYS_sigreturn) | |
1163 | syscall_table[SYS_sigreturn] = "sigreturn"; | |
1164 | #endif | |
1165 | #if defined (SYS_sigsendset) | |
1166 | syscall_table[SYS_sigsendset] = "sigsendset"; | |
1167 | #endif | |
1168 | #if defined (SYS_sigsendsys) | |
1169 | syscall_table[SYS_sigsendsys] = "sigsendsys"; | |
1170 | #endif | |
1171 | #if defined (SYS_sigsetmask) | |
1172 | syscall_table[SYS_sigsetmask] = "sigsetmask"; | |
1173 | #endif | |
1174 | #if defined (SYS_sigstack) | |
1175 | syscall_table[SYS_sigstack] = "sigstack"; | |
1176 | #endif | |
1177 | #if defined (SYS_sigsuspend) | |
1178 | syscall_table[SYS_sigsuspend] = "sigsuspend"; | |
1179 | #endif | |
1180 | #if defined (SYS_sigvec) | |
1181 | syscall_table[SYS_sigvec] = "sigvec"; | |
1182 | #endif | |
1183 | #if defined (SYS_sigwait) | |
1184 | syscall_table[SYS_sigwait] = "sigwait"; | |
1185 | #endif | |
1186 | #if defined (SYS_sigwaitprim) | |
1187 | syscall_table[SYS_sigwaitprim] = "sigwaitprim"; | |
1188 | #endif | |
1189 | #if defined (SYS_sleep) | |
1190 | syscall_table[SYS_sleep] = "sleep"; | |
1191 | #endif | |
1192 | #if defined (SYS_so_socket) | |
1193 | syscall_table[SYS_so_socket] = "so_socket"; | |
1194 | #endif | |
1195 | #if defined (SYS_so_socketpair) | |
1196 | syscall_table[SYS_so_socketpair] = "so_socketpair"; | |
1197 | #endif | |
1198 | #if defined (SYS_sockconfig) | |
1199 | syscall_table[SYS_sockconfig] = "sockconfig"; | |
1200 | #endif | |
1201 | #if defined (SYS_socket) | |
1202 | syscall_table[SYS_socket] = "socket"; | |
1203 | #endif | |
1204 | #if defined (SYS_socketpair) | |
1205 | syscall_table[SYS_socketpair] = "socketpair"; | |
1206 | #endif | |
1207 | #if defined (SYS_sproc) | |
1208 | syscall_table[SYS_sproc] = "sproc"; | |
1209 | #endif | |
1210 | #if defined (SYS_sprocsp) | |
1211 | syscall_table[SYS_sprocsp] = "sprocsp"; | |
1212 | #endif | |
1213 | #if defined (SYS_sstk) | |
1214 | syscall_table[SYS_sstk] = "sstk"; | |
1215 | #endif | |
1216 | #if defined (SYS_stat) | |
1217 | syscall_table[SYS_stat] = "stat"; | |
1218 | #endif | |
1219 | #if defined (SYS_stat64) | |
1220 | syscall_table[SYS_stat64] = "stat64"; | |
1221 | #endif | |
1222 | #if defined (SYS_statfs) | |
1223 | syscall_table[SYS_statfs] = "statfs"; | |
1224 | #endif | |
1225 | #if defined (SYS_statvfs) | |
1226 | syscall_table[SYS_statvfs] = "statvfs"; | |
1227 | #endif | |
1228 | #if defined (SYS_statvfs64) | |
1229 | syscall_table[SYS_statvfs64] = "statvfs64"; | |
1230 | #endif | |
1231 | #if defined (SYS_stime) | |
1232 | syscall_table[SYS_stime] = "stime"; | |
1233 | #endif | |
1234 | #if defined (SYS_stty) | |
1235 | syscall_table[SYS_stty] = "stty"; | |
1236 | #endif | |
1237 | #if defined (SYS_subsys_info) | |
1238 | syscall_table[SYS_subsys_info] = "subsys_info"; | |
1239 | #endif | |
1240 | #if defined (SYS_swapctl) | |
1241 | syscall_table[SYS_swapctl] = "swapctl"; | |
1242 | #endif | |
1243 | #if defined (SYS_swapon) | |
1244 | syscall_table[SYS_swapon] = "swapon"; | |
1245 | #endif | |
1246 | #if defined (SYS_symlink) | |
1247 | syscall_table[SYS_symlink] = "symlink"; | |
1248 | #endif | |
1249 | #if defined (SYS_sync) | |
1250 | syscall_table[SYS_sync] = "sync"; | |
1251 | #endif | |
1252 | #if defined (SYS_sys3b) | |
1253 | syscall_table[SYS_sys3b] = "sys3b"; | |
1254 | #endif | |
1255 | #if defined (SYS_syscall) | |
1256 | syscall_table[SYS_syscall] = "syscall"; | |
1257 | #endif | |
1258 | #if defined (SYS_sysconfig) | |
1259 | syscall_table[SYS_sysconfig] = "sysconfig"; | |
1260 | #endif | |
1261 | #if defined (SYS_sysfs) | |
1262 | syscall_table[SYS_sysfs] = "sysfs"; | |
1263 | #endif | |
1264 | #if defined (SYS_sysi86) | |
1265 | syscall_table[SYS_sysi86] = "sysi86"; | |
1266 | #endif | |
1267 | #if defined (SYS_sysinfo) | |
1268 | syscall_table[SYS_sysinfo] = "sysinfo"; | |
1269 | #endif | |
1270 | #if defined (SYS_sysmips) | |
1271 | syscall_table[SYS_sysmips] = "sysmips"; | |
1272 | #endif | |
1273 | #if defined (SYS_syssun) | |
1274 | syscall_table[SYS_syssun] = "syssun"; | |
1275 | #endif | |
1276 | #if defined (SYS_systeminfo) | |
1277 | syscall_table[SYS_systeminfo] = "systeminfo"; | |
1278 | #endif | |
1279 | #if defined (SYS_table) | |
1280 | syscall_table[SYS_table] = "table"; | |
1281 | #endif | |
1282 | #if defined (SYS_time) | |
1283 | syscall_table[SYS_time] = "time"; | |
1284 | #endif | |
1285 | #if defined (SYS_timedwait) | |
1286 | syscall_table[SYS_timedwait] = "timedwait"; | |
1287 | #endif | |
1288 | #if defined (SYS_timer_create) | |
1289 | syscall_table[SYS_timer_create] = "timer_create"; | |
1290 | #endif | |
1291 | #if defined (SYS_timer_delete) | |
1292 | syscall_table[SYS_timer_delete] = "timer_delete"; | |
1293 | #endif | |
1294 | #if defined (SYS_timer_getoverrun) | |
1295 | syscall_table[SYS_timer_getoverrun] = "timer_getoverrun"; | |
1296 | #endif | |
1297 | #if defined (SYS_timer_gettime) | |
1298 | syscall_table[SYS_timer_gettime] = "timer_gettime"; | |
1299 | #endif | |
1300 | #if defined (SYS_timer_settime) | |
1301 | syscall_table[SYS_timer_settime] = "timer_settime"; | |
1302 | #endif | |
1303 | #if defined (SYS_times) | |
1304 | syscall_table[SYS_times] = "times"; | |
1305 | #endif | |
1306 | #if defined (SYS_truncate) | |
1307 | syscall_table[SYS_truncate] = "truncate"; | |
1308 | #endif | |
1309 | #if defined (SYS_truncate64) | |
1310 | syscall_table[SYS_truncate64] = "truncate64"; | |
1311 | #endif | |
1312 | #if defined (SYS_tsolsys) | |
1313 | syscall_table[SYS_tsolsys] = "tsolsys"; | |
1314 | #endif | |
1315 | #if defined (SYS_uadmin) | |
1316 | syscall_table[SYS_uadmin] = "uadmin"; | |
1317 | #endif | |
1318 | #if defined (SYS_ulimit) | |
1319 | syscall_table[SYS_ulimit] = "ulimit"; | |
1320 | #endif | |
1321 | #if defined (SYS_umask) | |
1322 | syscall_table[SYS_umask] = "umask"; | |
1323 | #endif | |
1324 | #if defined (SYS_umount) | |
1325 | syscall_table[SYS_umount] = "umount"; | |
1326 | #endif | |
1327 | #if defined (SYS_uname) | |
1328 | syscall_table[SYS_uname] = "uname"; | |
1329 | #endif | |
1330 | #if defined (SYS_unblock) | |
1331 | syscall_table[SYS_unblock] = "unblock"; | |
1332 | #endif | |
1333 | #if defined (SYS_unlink) | |
1334 | syscall_table[SYS_unlink] = "unlink"; | |
1335 | #endif | |
1336 | #if defined (SYS_unmount) | |
1337 | syscall_table[SYS_unmount] = "unmount"; | |
1338 | #endif | |
1339 | #if defined (SYS_usleep_thread) | |
1340 | syscall_table[SYS_usleep_thread] = "usleep_thread"; | |
1341 | #endif | |
1342 | #if defined (SYS_uswitch) | |
1343 | syscall_table[SYS_uswitch] = "uswitch"; | |
1344 | #endif | |
1345 | #if defined (SYS_utc_adjtime) | |
1346 | syscall_table[SYS_utc_adjtime] = "utc_adjtime"; | |
1347 | #endif | |
1348 | #if defined (SYS_utc_gettime) | |
1349 | syscall_table[SYS_utc_gettime] = "utc_gettime"; | |
1350 | #endif | |
1351 | #if defined (SYS_utime) | |
1352 | syscall_table[SYS_utime] = "utime"; | |
1353 | #endif | |
1354 | #if defined (SYS_utimes) | |
1355 | syscall_table[SYS_utimes] = "utimes"; | |
1356 | #endif | |
1357 | #if defined (SYS_utssys) | |
1358 | syscall_table[SYS_utssys] = "utssys"; | |
1359 | #endif | |
1360 | #if defined (SYS_vfork) | |
1361 | syscall_table[SYS_vfork] = "vfork"; | |
1362 | #endif | |
1363 | #if defined (SYS_vhangup) | |
1364 | syscall_table[SYS_vhangup] = "vhangup"; | |
1365 | #endif | |
1366 | #if defined (SYS_vtrace) | |
1367 | syscall_table[SYS_vtrace] = "vtrace"; | |
1368 | #endif | |
1369 | #if defined (SYS_wait) | |
1370 | syscall_table[SYS_wait] = "wait"; | |
1371 | #endif | |
1372 | #if defined (SYS_waitid) | |
1373 | syscall_table[SYS_waitid] = "waitid"; | |
1374 | #endif | |
1375 | #if defined (SYS_waitsys) | |
1376 | syscall_table[SYS_waitsys] = "waitsys"; | |
1377 | #endif | |
1378 | #if defined (SYS_write) | |
1379 | syscall_table[SYS_write] = "write"; | |
1380 | #endif | |
1381 | #if defined (SYS_writev) | |
1382 | syscall_table[SYS_writev] = "writev"; | |
1383 | #endif | |
1384 | #if defined (SYS_xenix) | |
1385 | syscall_table[SYS_xenix] = "xenix"; | |
1386 | #endif | |
1387 | #if defined (SYS_xmknod) | |
1388 | syscall_table[SYS_xmknod] = "xmknod"; | |
1389 | #endif | |
1390 | #if defined (SYS_xstat) | |
1391 | syscall_table[SYS_xstat] = "xstat"; | |
1392 | #endif | |
1393 | #if defined (SYS_yield) | |
1394 | syscall_table[SYS_yield] = "yield"; | |
1395 | #endif | |
5bfb05ca | 1396 | } |
0fda6bd2 JM |
1397 | |
1398 | /* | |
1399 | * Prettyprint a single syscall by number. | |
1400 | */ | |
1401 | ||
1402 | void | |
fba45db2 | 1403 | proc_prettyfprint_syscall (FILE *file, int num, int verbose) |
0fda6bd2 JM |
1404 | { |
1405 | if (syscall_table[num]) | |
1406 | fprintf (file, "SYS_%s ", syscall_table[num]); | |
1407 | else | |
1408 | fprintf (file, "<Unknown syscall %d> ", num); | |
1409 | } | |
1410 | ||
1411 | void | |
fba45db2 | 1412 | proc_prettyprint_syscall (int num, int verbose) |
0fda6bd2 JM |
1413 | { |
1414 | proc_prettyfprint_syscall (stdout, num, verbose); | |
1415 | } | |
1416 | ||
1417 | /* | |
1418 | * Prettyprint all of the syscalls in a sysset_t set. | |
1419 | */ | |
1420 | ||
1421 | void | |
fba45db2 | 1422 | proc_prettyfprint_syscalls (FILE *file, sysset_t *sysset, int verbose) |
0fda6bd2 JM |
1423 | { |
1424 | int i; | |
1425 | ||
1426 | for (i = 0; i < MAX_SYSCALLS; i++) | |
1427 | if (prismember (sysset, i)) | |
1428 | { | |
1429 | proc_prettyfprint_syscall (file, i, verbose); | |
1430 | } | |
1431 | fprintf (file, "\n"); | |
1432 | } | |
1433 | ||
1434 | void | |
fba45db2 | 1435 | proc_prettyprint_syscalls (sysset_t *sysset, int verbose) |
0fda6bd2 JM |
1436 | { |
1437 | proc_prettyfprint_syscalls (stdout, sysset, verbose); | |
1438 | } | |
1439 | ||
1440 | /* FIXME: add real-time signals */ | |
1441 | ||
1442 | static struct trans signal_table[] = | |
1443 | { | |
1444 | { 0, "<no signal>", "no signal" }, | |
1445 | #ifdef SIGHUP | |
1446 | { SIGHUP, "SIGHUP", "Hangup" }, | |
1447 | #endif | |
1448 | #ifdef SIGINT | |
1449 | { SIGINT, "SIGINT", "Interrupt (rubout)" }, | |
1450 | #endif | |
1451 | #ifdef SIGQUIT | |
1452 | { SIGQUIT, "SIGQUIT", "Quit (ASCII FS)" }, | |
1453 | #endif | |
1454 | #ifdef SIGILL | |
1455 | { SIGILL, "SIGILL", "Illegal instruction" }, /* not reset when caught */ | |
1456 | #endif | |
1457 | #ifdef SIGTRAP | |
1458 | { SIGTRAP, "SIGTRAP", "Trace trap" }, /* not reset when caught */ | |
1459 | #endif | |
1460 | #ifdef SIGABRT | |
1461 | { SIGABRT, "SIGABRT", "used by abort()" }, /* replaces SIGIOT */ | |
1462 | #endif | |
1463 | #ifdef SIGIOT | |
1464 | { SIGIOT, "SIGIOT", "IOT instruction" }, | |
1465 | #endif | |
1466 | #ifdef SIGEMT | |
1467 | { SIGEMT, "SIGEMT", "EMT instruction" }, | |
1468 | #endif | |
1469 | #ifdef SIGFPE | |
1470 | { SIGFPE, "SIGFPE", "Floating point exception" }, | |
1471 | #endif | |
1472 | #ifdef SIGKILL | |
1473 | { SIGKILL, "SIGKILL", "Kill" }, /* Solaris: cannot be caught/ignored */ | |
1474 | #endif | |
1475 | #ifdef SIGBUS | |
1476 | { SIGBUS, "SIGBUS", "Bus error" }, | |
1477 | #endif | |
1478 | #ifdef SIGSEGV | |
1479 | { SIGSEGV, "SIGSEGV", "Segmentation violation" }, | |
1480 | #endif | |
1481 | #ifdef SIGSYS | |
1482 | { SIGSYS, "SIGSYS", "Bad argument to system call" }, | |
1483 | #endif | |
1484 | #ifdef SIGPIPE | |
1485 | { SIGPIPE, "SIGPIPE", "Write to pipe with no one to read it" }, | |
1486 | #endif | |
1487 | #ifdef SIGALRM | |
1488 | { SIGALRM, "SIGALRM", "Alarm clock" }, | |
1489 | #endif | |
1490 | #ifdef SIGTERM | |
1491 | { SIGTERM, "SIGTERM", "Software termination signal from kill" }, | |
1492 | #endif | |
1493 | #ifdef SIGUSR1 | |
1494 | { SIGUSR1, "SIGUSR1", "User defined signal 1" }, | |
1495 | #endif | |
1496 | #ifdef SIGUSR2 | |
1497 | { SIGUSR2, "SIGUSR2", "User defined signal 2" }, | |
1498 | #endif | |
1499 | #ifdef SIGCHLD | |
1500 | { SIGCHLD, "SIGCHLD", "Child status changed" }, /* Posix version */ | |
1501 | #endif | |
1502 | #ifdef SIGCLD | |
1503 | { SIGCLD, "SIGCLD", "Child status changed" }, /* Solaris version */ | |
1504 | #endif | |
1505 | #ifdef SIGPWR | |
1506 | { SIGPWR, "SIGPWR", "Power-fail restart" }, | |
1507 | #endif | |
1508 | #ifdef SIGWINCH | |
1509 | { SIGWINCH, "SIGWINCH", "Window size change" }, | |
1510 | #endif | |
1511 | #ifdef SIGURG | |
1512 | { SIGURG, "SIGURG", "Urgent socket condition" }, | |
1513 | #endif | |
1514 | #ifdef SIGPOLL | |
1515 | { SIGPOLL, "SIGPOLL", "Pollable event" }, | |
1516 | #endif | |
1517 | #ifdef SIGIO | |
1518 | { SIGIO, "SIGIO", "Socket I/O possible" }, /* alias for SIGPOLL */ | |
1519 | #endif | |
1520 | #ifdef SIGSTOP | |
1521 | { SIGSTOP, "SIGSTOP", "Stop, not from tty" }, /* cannot be caught or ignored */ | |
1522 | #endif | |
1523 | #ifdef SIGTSTP | |
1524 | { SIGTSTP, "SIGTSTP", "User stop from tty" }, | |
1525 | #endif | |
1526 | #ifdef SIGCONT | |
1527 | { SIGCONT, "SIGCONT", "Stopped process has been continued" }, | |
1528 | #endif | |
1529 | #ifdef SIGTTIN | |
1530 | { SIGTTIN, "SIGTTIN", "Background tty read attempted" }, | |
1531 | #endif | |
1532 | #ifdef SIGTTOU | |
1533 | { SIGTTOU, "SIGTTOU", "Background tty write attempted" }, | |
1534 | #endif | |
1535 | #ifdef SIGVTALRM | |
1536 | { SIGVTALRM, "SIGVTALRM", "Virtual timer expired" }, | |
1537 | #endif | |
1538 | #ifdef SIGPROF | |
1539 | { SIGPROF, "SIGPROF", "Profiling timer expired" }, | |
1540 | #endif | |
1541 | #ifdef SIGXCPU | |
1542 | { SIGXCPU, "SIGXCPU", "Exceeded CPU limit" }, | |
1543 | #endif | |
1544 | #ifdef SIGXFSZ | |
1545 | { SIGXFSZ, "SIGXFSZ", "Exceeded file size limit" }, | |
1546 | #endif | |
1547 | #ifdef SIGWAITING | |
1548 | { SIGWAITING, "SIGWAITING", "Process's LWPs are blocked" }, | |
1549 | #endif | |
1550 | #ifdef SIGLWP | |
1551 | { SIGLWP, "SIGLWP", "Used by thread library" }, | |
1552 | #endif | |
1553 | #ifdef SIGFREEZE | |
1554 | { SIGFREEZE, "SIGFREEZE", "Used by CPR" }, | |
1555 | #endif | |
1556 | #ifdef SIGTHAW | |
1557 | { SIGTHAW, "SIGTHAW", "Used by CPR" }, | |
1558 | #endif | |
1559 | #ifdef SIGCANCEL | |
1560 | { SIGCANCEL, "SIGCANCEL", "Used by libthread" }, | |
1561 | #endif | |
1562 | #ifdef SIGLOST | |
1563 | { SIGLOST, "SIGLOST", "Resource lost" }, | |
1564 | #endif | |
1565 | #ifdef SIG32 | |
1566 | { SIG32, "SIG32", "Reserved for kernel usage (Irix)" }, | |
1567 | #endif | |
1568 | #ifdef SIGPTINTR | |
1569 | { SIGPTINTR, "SIGPTINTR", "Posix 1003.1b" }, | |
1570 | #endif | |
1571 | #ifdef SIGTRESCHED | |
1572 | { SIGTRESCHED, "SIGTRESCHED", "Posix 1003.1b" }, | |
1573 | #endif | |
1574 | #ifdef SIGINFO | |
1575 | { SIGINFO, "SIGINFO", "Information request" }, | |
1576 | #endif | |
1577 | #ifdef SIGRESV | |
1578 | { SIGRESV, "SIGRESV", "Reserved by Digital for future use" }, | |
1579 | #endif | |
1580 | #ifdef SIGAIO | |
1581 | { SIGAIO, "SIGAIO", "Asynchronous I/O signal" }, | |
1582 | #endif | |
1583 | }; | |
1584 | ||
1585 | /* | |
1586 | * Prettyprint a single signal by number. | |
1587 | * Accepts a signal number and finds it in the signal table, | |
1588 | * then pretty-prints it. | |
1589 | */ | |
1590 | ||
1591 | void | |
fba45db2 | 1592 | proc_prettyfprint_signal (FILE *file, int signo, int verbose) |
0fda6bd2 JM |
1593 | { |
1594 | int i; | |
1595 | ||
1596 | for (i = 0; i < sizeof (signal_table) / sizeof (signal_table[0]); i++) | |
1597 | if (signo == signal_table[i].value) | |
1598 | { | |
1599 | fprintf (file, "%s", signal_table[i].name); | |
1600 | if (verbose) | |
1601 | fprintf (file, ": %s\n", signal_table[i].desc); | |
1602 | else | |
1603 | fprintf (file, " "); | |
1604 | return; | |
1605 | } | |
1606 | fprintf (file, "Unknown signal %d%c", signo, verbose ? '\n' : ' '); | |
1607 | } | |
1608 | ||
1609 | void | |
fba45db2 | 1610 | proc_prettyprint_signal (int signo, int verbose) |
0fda6bd2 JM |
1611 | { |
1612 | proc_prettyfprint_signal (stdout, signo, verbose); | |
1613 | } | |
1614 | ||
1615 | /* | |
1616 | * Prettyprint all of the signals in a sigset_t set. | |
1617 | * | |
1618 | * This function loops over all signal numbers from 0 to NSIG, | |
1619 | * uses them as indexes for prismember, and prints them pretty. | |
1620 | * | |
1621 | * It does not loop over the signal table, as is done with the | |
1622 | * fault table, because the signal table may contain aliases. | |
1623 | * If it did, both aliases would be printed. | |
1624 | */ | |
1625 | ||
1626 | void | |
fba45db2 | 1627 | proc_prettyfprint_signalset (FILE *file, sigset_t *sigset, int verbose) |
0fda6bd2 JM |
1628 | { |
1629 | int i; | |
1630 | ||
1631 | for (i = 0; i < NSIG; i++) | |
1632 | if (prismember (sigset, i)) | |
1633 | proc_prettyfprint_signal (file, i, verbose); | |
1634 | ||
1635 | if (!verbose) | |
1636 | fprintf (file, "\n"); | |
1637 | } | |
1638 | ||
1639 | void | |
fba45db2 | 1640 | proc_prettyprint_signalset (sigset_t *sigset, int verbose) |
0fda6bd2 JM |
1641 | { |
1642 | proc_prettyfprint_signalset (stdout, sigset, verbose); | |
1643 | } | |
1644 | ||
1645 | /* Hardware fault translation table. */ | |
1646 | ||
1647 | static struct trans fault_table[] = | |
1648 | { | |
1649 | #if defined (FLTILL) | |
1650 | { FLTILL, "FLTILL", "Illegal instruction" }, | |
1651 | #endif | |
1652 | #if defined (FLTPRIV) | |
1653 | { FLTPRIV, "FLTPRIV", "Privileged instruction" }, | |
1654 | #endif | |
1655 | #if defined (FLTBPT) | |
1656 | { FLTBPT, "FLTBPT", "Breakpoint trap" }, | |
1657 | #endif | |
1658 | #if defined (FLTTRACE) | |
1659 | { FLTTRACE, "FLTTRACE", "Trace trap" }, | |
1660 | #endif | |
1661 | #if defined (FLTACCESS) | |
1662 | { FLTACCESS, "FLTACCESS", "Memory access fault" }, | |
1663 | #endif | |
1664 | #if defined (FLTBOUNDS) | |
1665 | { FLTBOUNDS, "FLTBOUNDS", "Memory bounds violation" }, | |
1666 | #endif | |
1667 | #if defined (FLTIOVF) | |
1668 | { FLTIOVF, "FLTIOVF", "Integer overflow" }, | |
1669 | #endif | |
1670 | #if defined (FLTIZDIV) | |
1671 | { FLTIZDIV, "FLTIZDIV", "Integer zero divide" }, | |
1672 | #endif | |
1673 | #if defined (FLTFPE) | |
1674 | { FLTFPE, "FLTFPE", "Floating-point exception" }, | |
1675 | #endif | |
1676 | #if defined (FLTSTACK) | |
1677 | { FLTSTACK, "FLTSTACK", "Unrecoverable stack fault" }, | |
1678 | #endif | |
1679 | #if defined (FLTPAGE) | |
1680 | { FLTPAGE, "FLTPAGE", "Recoverable page fault" }, | |
1681 | #endif | |
1682 | #if defined (FLTPCINVAL) | |
1683 | { FLTPCINVAL, "FLTPCINVAL", "Invalid PC exception" }, | |
1684 | #endif | |
1685 | #if defined (FLTWATCH) | |
1686 | { FLTWATCH, "FLTWATCH", "User watchpoint" }, | |
1687 | #endif | |
1688 | #if defined (FLTKWATCH) | |
1689 | { FLTKWATCH, "FLTKWATCH", "Kernel watchpoint" }, | |
1690 | #endif | |
1691 | #if defined (FLTSCWATCH) | |
1692 | { FLTSCWATCH, "FLTSCWATCH", "Hit a store conditional on a watched page" }, | |
1693 | #endif | |
1694 | }; | |
1695 | ||
1696 | /* | |
1697 | * Work horse. Accepts an index into the fault table, prints it pretty. | |
1698 | */ | |
1699 | ||
1700 | static void | |
fba45db2 | 1701 | prettyfprint_faulttable_entry (FILE *file, int i, int verbose) |
0fda6bd2 JM |
1702 | { |
1703 | fprintf (file, "%s", fault_table[i].name); | |
1704 | if (verbose) | |
1705 | fprintf (file, ": %s\n", fault_table[i].desc); | |
1706 | else | |
1707 | fprintf (file, " "); | |
1708 | } | |
1709 | ||
1710 | /* | |
1711 | * Prettyprint a hardware fault by number. | |
1712 | */ | |
1713 | ||
1714 | void | |
fba45db2 | 1715 | proc_prettyfprint_fault (FILE *file, int faultno, int verbose) |
0fda6bd2 JM |
1716 | { |
1717 | int i; | |
1718 | ||
1719 | for (i = 0; i < sizeof (fault_table) / sizeof (fault_table[0]); i++) | |
1720 | if (faultno == fault_table[i].value) | |
1721 | { | |
1722 | prettyfprint_faulttable_entry (file, i, verbose); | |
1723 | return; | |
1724 | } | |
1725 | ||
1726 | fprintf (file, "Unknown hardware fault %d%c", | |
1727 | faultno, verbose ? '\n' : ' '); | |
1728 | } | |
1729 | ||
1730 | void | |
fba45db2 | 1731 | proc_prettyprint_fault (int faultno, int verbose) |
0fda6bd2 JM |
1732 | { |
1733 | proc_prettyfprint_fault (stdout, faultno, verbose); | |
1734 | } | |
1735 | ||
1736 | /* | |
1737 | * Prettyprint all the faults in a fltset_t set. | |
1738 | * | |
1739 | * This function loops thru the fault table, | |
1740 | * using the value field as the index to prismember. | |
1741 | * The fault table had better not contain aliases, | |
1742 | * for if it does they will both be printed. | |
1743 | */ | |
1744 | ||
1745 | void | |
fba45db2 | 1746 | proc_prettyfprint_faultset (FILE *file, fltset_t *fltset, int verbose) |
0fda6bd2 JM |
1747 | { |
1748 | int i; | |
1749 | ||
1750 | for (i = 0; i < sizeof (fault_table) / sizeof (fault_table[0]); i++) | |
1751 | if (prismember (fltset, fault_table[i].value)) | |
1752 | prettyfprint_faulttable_entry (file, i, verbose); | |
1753 | ||
1754 | if (!verbose) | |
1755 | fprintf (file, "\n"); | |
1756 | } | |
1757 | ||
1758 | void | |
fba45db2 | 1759 | proc_prettyprint_faultset (fltset_t *fltset, int verbose) |
0fda6bd2 JM |
1760 | { |
1761 | proc_prettyfprint_faultset (stdout, fltset, verbose); | |
1762 | } | |
1763 | ||
1764 | /* | |
1765 | * Todo: actions, holds... | |
1766 | */ | |
1767 | ||
1768 | void | |
1769 | proc_prettyprint_actionset (struct sigaction *actions, int verbose) | |
1770 | { | |
1771 | } | |
1772 | ||
1773 | void | |
fba45db2 | 1774 | _initialize_proc_events (void) |
0fda6bd2 JM |
1775 | { |
1776 | init_syscall_table (); | |
1777 | } |