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