* breakpoint.c:
[platform/upstream/binutils.git] / gdb / proc-events.c
1 /* Machine-independent support for SVR4 /proc (process file system)
2
3    Copyright (C) 1999, 2000, 2004 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 }