OSDN Git Service

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