diff options
author | Jason Molenda <jmolenda@apple.com> | 2000-01-25 02:40:50 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2000-01-25 02:40:50 +0000 |
commit | 0fda6bd286fe931a998c4d5322ad12a4ed610f87 (patch) | |
tree | d26808089bd54c9de4bf565a6cf7a34be7d320b9 /gdb/proc-events.c | |
parent | b5f303f092e873d88d2b9459deb105e20ff5222c (diff) | |
download | gdb-0fda6bd286fe931a998c4d5322ad12a4ed610f87.zip gdb-0fda6bd286fe931a998c4d5322ad12a4ed610f87.tar.gz gdb-0fda6bd286fe931a998c4d5322ad12a4ed610f87.tar.bz2 |
import gdb-2000-01-24 snapshot
Diffstat (limited to 'gdb/proc-events.c')
-rw-r--r-- | gdb/proc-events.c | 1806 |
1 files changed, 1806 insertions, 0 deletions
diff --git a/gdb/proc-events.c b/gdb/proc-events.c new file mode 100644 index 0000000..2a430d8 --- /dev/null +++ b/gdb/proc-events.c @@ -0,0 +1,1806 @@ +/* Machine independent support for SVR4 /proc (process file system) for GDB. + Copyright 1999 Free Software Foundation, Inc. + Written by Michael Snyder at Cygnus Solutions. + Based on work by Fred Fish, Stu Grossman, Geoff Noer, and others. + +This file is part of GDB. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + +/* + * Pretty-print "events of interest". + * + * This module includes pretty-print routines for: + * faults (hardware exceptions): + * signals (software interrupts): + * syscalls + * + * FIXME: At present, the syscall translation table must be initialized, + * which is not true of the other translation tables. + */ + +#include "defs.h" + +#if defined (NEW_PROC_API) +#define _STRUCTURED_PROC 1 +#endif + +#include <stdio.h> +#include <sys/types.h> +#include <sys/procfs.h> +#include <sys/syscall.h> +#include <sys/fault.h> + +/* Much of the information used in the /proc interface, particularly for + printing status information, is kept as tables of structures of the + following form. These tables can be used to map numeric values to + their symbolic names and to a string that describes their specific use. */ + +struct trans { + int value; /* The numeric value */ + char *name; /* The equivalent symbolic value */ + char *desc; /* Short description of value */ +}; + +/* + * pretty print syscalls + */ + +/* Ugh -- Unixware and Solaris spell these differently! */ + +#ifdef SYS_lwpcreate +#define SYS_lwp_create SYS_lwpcreate +#endif + +#ifdef SYS_lwpexit +#define SYS_lwp_exit SYS_lwpexit +#endif + +#ifdef SYS_lwpwait +#define SYS_lwp_wait SYS_lwpwait +#endif + +#ifdef SYS_lwpself +#define SYS_lwp_self SYS_lwpself +#endif + +#ifdef SYS_lwpinfo +#define SYS_lwp_info SYS_lwpinfo +#endif + +#ifdef SYS_lwpprivate +#define SYS_lwp_private SYS_lwpprivate +#endif + +#ifdef SYS_lwpkill +#define SYS_lwp_kill SYS_lwpkill +#endif + +#ifdef SYS_lwpsuspend +#define SYS_lwp_suspend SYS_lwpsuspend +#endif + +#ifdef SYS_lwpcontinue +#define SYS_lwp_continue SYS_lwpcontinue +#endif + + +/* Syscall translation table. */ + +#define MAX_SYSCALLS 262 /* pretty arbitrary */ +static char * syscall_table[MAX_SYSCALLS]; + +void +init_syscall_table (void) +{ +#if defined (SYS_BSD_getime) + syscall_table[SYS_BSD_getime] = "BSD_getime"; +#endif +#if defined (SYS_BSDgetpgrp) + syscall_table[SYS_BSDgetpgrp] = "BSDgetpgrp"; +#endif +#if defined (SYS_BSDsetpgrp) + syscall_table[SYS_BSDsetpgrp] = "BSDsetpgrp"; +#endif +#if defined (SYS_acancel) + syscall_table[SYS_acancel] = "acancel"; +#endif +#if defined (SYS_accept) + syscall_table[SYS_accept] = "accept"; +#endif +#if defined (SYS_access) + syscall_table[SYS_access] = "access"; +#endif +#if defined (SYS_acct) + syscall_table[SYS_acct] = "acct"; +#endif +#if defined (SYS_acl) + syscall_table[SYS_acl] = "acl"; +#endif +#if defined (SYS_aclipc) + syscall_table[SYS_aclipc] = "aclipc"; +#endif +#if defined (SYS_adjtime) + syscall_table[SYS_adjtime] = "adjtime"; +#endif +#if defined (SYS_afs_syscall) + syscall_table[SYS_afs_syscall] = "afs_syscall"; +#endif +#if defined (SYS_alarm) + syscall_table[SYS_alarm] = "alarm"; +#endif +#if defined (SYS_alt_plock) + syscall_table[SYS_alt_plock] = "alt_plock"; +#endif +#if defined (SYS_alt_sigpending) + syscall_table[SYS_alt_sigpending] = "alt_sigpending"; +#endif +#if defined (SYS_async) + syscall_table[SYS_async] = "async"; +#endif +#if defined (SYS_async_daemon) + syscall_table[SYS_async_daemon] = "async_daemon"; +#endif +#if defined (SYS_audcntl) + syscall_table[SYS_audcntl] = "audcntl"; +#endif +#if defined (SYS_audgen) + syscall_table[SYS_audgen] = "audgen"; +#endif +#if defined (SYS_auditbuf) + syscall_table[SYS_auditbuf] = "auditbuf"; +#endif +#if defined (SYS_auditctl) + syscall_table[SYS_auditctl] = "auditctl"; +#endif +#if defined (SYS_auditdmp) + syscall_table[SYS_auditdmp] = "auditdmp"; +#endif +#if defined (SYS_auditevt) + syscall_table[SYS_auditevt] = "auditevt"; +#endif +#if defined (SYS_auditlog) + syscall_table[SYS_auditlog] = "auditlog"; +#endif +#if defined (SYS_auditsys) + syscall_table[SYS_auditsys] = "auditsys"; +#endif +#if defined (SYS_bind) + syscall_table[SYS_bind] = "bind"; +#endif +#if defined (SYS_block) + syscall_table[SYS_block] = "block"; +#endif +#if defined (SYS_brk) + syscall_table[SYS_brk] = "brk"; +#endif +#if defined (SYS_cachectl) + syscall_table[SYS_cachectl] = "cachectl"; +#endif +#if defined (SYS_cacheflush) + syscall_table[SYS_cacheflush] = "cacheflush"; +#endif +#if defined (SYS_cancelblock) + syscall_table[SYS_cancelblock] = "cancelblock"; +#endif +#if defined (SYS_cg_bind) + syscall_table[SYS_cg_bind] = "cg_bind"; +#endif +#if defined (SYS_cg_current) + syscall_table[SYS_cg_current] = "cg_current"; +#endif +#if defined (SYS_cg_ids) + syscall_table[SYS_cg_ids] = "cg_ids"; +#endif +#if defined (SYS_cg_info) + syscall_table[SYS_cg_info] = "cg_info"; +#endif +#if defined (SYS_cg_memloc) + syscall_table[SYS_cg_memloc] = "cg_memloc"; +#endif +#if defined (SYS_cg_processors) + syscall_table[SYS_cg_processors] = "cg_processors"; +#endif +#if defined (SYS_chdir) + syscall_table[SYS_chdir] = "chdir"; +#endif +#if defined (SYS_chflags) + syscall_table[SYS_chflags] = "chflags"; +#endif +#if defined (SYS_chmod) + syscall_table[SYS_chmod] = "chmod"; +#endif +#if defined (SYS_chown) + syscall_table[SYS_chown] = "chown"; +#endif +#if defined (SYS_chroot) + syscall_table[SYS_chroot] = "chroot"; +#endif +#if defined (SYS_clocal) + syscall_table[SYS_clocal] = "clocal"; +#endif +#if defined (SYS_clock_getres) + syscall_table[SYS_clock_getres] = "clock_getres"; +#endif +#if defined (SYS_clock_gettime) + syscall_table[SYS_clock_gettime] = "clock_gettime"; +#endif +#if defined (SYS_clock_settime) + syscall_table[SYS_clock_settime] = "clock_settime"; +#endif +#if defined (SYS_close) + syscall_table[SYS_close] = "close"; +#endif +#if defined (SYS_connect) + syscall_table[SYS_connect] = "connect"; +#endif +#if defined (SYS_context) + syscall_table[SYS_context] = "context"; +#endif +#if defined (SYS_creat) + syscall_table[SYS_creat] = "creat"; +#endif +#if defined (SYS_creat64) + syscall_table[SYS_creat64] = "creat64"; +#endif +#if defined (SYS_devstat) + syscall_table[SYS_devstat] = "devstat"; +#endif +#if defined (SYS_dmi) + syscall_table[SYS_dmi] = "dmi"; +#endif +#if defined (SYS_door) + syscall_table[SYS_door] = "door"; +#endif +#if defined (SYS_dshmsys) + syscall_table[SYS_dshmsys] = "dshmsys"; +#endif +#if defined (SYS_dup) + syscall_table[SYS_dup] = "dup"; +#endif +#if defined (SYS_dup2) + syscall_table[SYS_dup2] = "dup2"; +#endif +#if defined (SYS_evsys) + syscall_table[SYS_evsys] = "evsys"; +#endif +#if defined (SYS_evtrapret) + syscall_table[SYS_evtrapret] = "evtrapret"; +#endif +#if defined (SYS_exec) + syscall_table[SYS_exec] = "exec"; +#endif +#if defined (SYS_exec_with_loader) + syscall_table[SYS_exec_with_loader] = "exec_with_loader"; +#endif +#if defined (SYS_execv) + syscall_table[SYS_execv] = "execv"; +#endif +#if defined (SYS_execve) + syscall_table[SYS_execve] = "execve"; +#endif +#if defined (SYS_exit) + syscall_table[SYS_exit] = "exit"; +#endif +#if defined (SYS_exportfs) + syscall_table[SYS_exportfs] = "exportfs"; +#endif +#if defined (SYS_facl) + syscall_table[SYS_facl] = "facl"; +#endif +#if defined (SYS_fchdir) + syscall_table[SYS_fchdir] = "fchdir"; +#endif +#if defined (SYS_fchflags) + syscall_table[SYS_fchflags] = "fchflags"; +#endif +#if defined (SYS_fchmod) + syscall_table[SYS_fchmod] = "fchmod"; +#endif +#if defined (SYS_fchown) + syscall_table[SYS_fchown] = "fchown"; +#endif +#if defined (SYS_fchroot) + syscall_table[SYS_fchroot] = "fchroot"; +#endif +#if defined (SYS_fcntl) + syscall_table[SYS_fcntl] = "fcntl"; +#endif +#if defined (SYS_fdatasync) + syscall_table[SYS_fdatasync] = "fdatasync"; +#endif +#if defined (SYS_fdevstat) + syscall_table[SYS_fdevstat] = "fdevstat"; +#endif +#if defined (SYS_fdsync) + syscall_table[SYS_fdsync] = "fdsync"; +#endif +#if defined (SYS_filepriv) + syscall_table[SYS_filepriv] = "filepriv"; +#endif +#if defined (SYS_flock) + syscall_table[SYS_flock] = "flock"; +#endif +#if defined (SYS_flvlfile) + syscall_table[SYS_flvlfile] = "flvlfile"; +#endif +#if defined (SYS_fork) + syscall_table[SYS_fork] = "fork"; +#endif +#if defined (SYS_fork1) + syscall_table[SYS_fork1] = "fork1"; +#endif +#if defined (SYS_forkall) + syscall_table[SYS_forkall] = "forkall"; +#endif +#if defined (SYS_fpathconf) + syscall_table[SYS_fpathconf] = "fpathconf"; +#endif +#if defined (SYS_fstat) + syscall_table[SYS_fstat] = "fstat"; +#endif +#if defined (SYS_fstat64) + syscall_table[SYS_fstat64] = "fstat64"; +#endif +#if defined (SYS_fstatfs) + syscall_table[SYS_fstatfs] = "fstatfs"; +#endif +#if defined (SYS_fstatvfs) + syscall_table[SYS_fstatvfs] = "fstatvfs"; +#endif +#if defined (SYS_fstatvfs64) + syscall_table[SYS_fstatvfs64] = "fstatvfs64"; +#endif +#if defined (SYS_fsync) + syscall_table[SYS_fsync] = "fsync"; +#endif +#if defined (SYS_ftruncate) + syscall_table[SYS_ftruncate] = "ftruncate"; +#endif +#if defined (SYS_ftruncate64) + syscall_table[SYS_ftruncate64] = "ftruncate64"; +#endif +#if defined (SYS_fuser) + syscall_table[SYS_fuser] = "fuser"; +#endif +#if defined (SYS_fxstat) + syscall_table[SYS_fxstat] = "fxstat"; +#endif +#if defined (SYS_get_sysinfo) + syscall_table[SYS_get_sysinfo] = "get_sysinfo"; +#endif +#if defined (SYS_getaddressconf) + syscall_table[SYS_getaddressconf] = "getaddressconf"; +#endif +#if defined (SYS_getcontext) + syscall_table[SYS_getcontext] = "getcontext"; +#endif +#if defined (SYS_getdents) + syscall_table[SYS_getdents] = "getdents"; +#endif +#if defined (SYS_getdents64) + syscall_table[SYS_getdents64] = "getdents64"; +#endif +#if defined (SYS_getdirentries) + syscall_table[SYS_getdirentries] = "getdirentries"; +#endif +#if defined (SYS_getdomainname) + syscall_table[SYS_getdomainname] = "getdomainname"; +#endif +#if defined (SYS_getdtablesize) + syscall_table[SYS_getdtablesize] = "getdtablesize"; +#endif +#if defined (SYS_getfh) + syscall_table[SYS_getfh] = "getfh"; +#endif +#if defined (SYS_getfsstat) + syscall_table[SYS_getfsstat] = "getfsstat"; +#endif +#if defined (SYS_getgid) + syscall_table[SYS_getgid] = "getgid"; +#endif +#if defined (SYS_getgroups) + syscall_table[SYS_getgroups] = "getgroups"; +#endif +#if defined (SYS_gethostid) + syscall_table[SYS_gethostid] = "gethostid"; +#endif +#if defined (SYS_gethostname) + syscall_table[SYS_gethostname] = "gethostname"; +#endif +#if defined (SYS_getitimer) + syscall_table[SYS_getitimer] = "getitimer"; +#endif +#if defined (SYS_getksym) + syscall_table[SYS_getksym] = "getksym"; +#endif +#if defined (SYS_getlogin) + syscall_table[SYS_getlogin] = "getlogin"; +#endif +#if defined (SYS_getmnt) + syscall_table[SYS_getmnt] = "getmnt"; +#endif +#if defined (SYS_getmsg) + syscall_table[SYS_getmsg] = "getmsg"; +#endif +#if defined (SYS_getpagesize) + syscall_table[SYS_getpagesize] = "getpagesize"; +#endif +#if defined (SYS_getpeername) + syscall_table[SYS_getpeername] = "getpeername"; +#endif +#if defined (SYS_getpgid) + syscall_table[SYS_getpgid] = "getpgid"; +#endif +#if defined (SYS_getpgrp) + syscall_table[SYS_getpgrp] = "getpgrp"; +#endif +#if defined (SYS_getpid) + syscall_table[SYS_getpid] = "getpid"; +#endif +#if defined (SYS_getpmsg) + syscall_table[SYS_getpmsg] = "getpmsg"; +#endif +#if defined (SYS_getpriority) + syscall_table[SYS_getpriority] = "getpriority"; +#endif +#if defined (SYS_getrlimit) + syscall_table[SYS_getrlimit] = "getrlimit"; +#endif +#if defined (SYS_getrlimit64) + syscall_table[SYS_getrlimit64] = "getrlimit64"; +#endif +#if defined (SYS_getrusage) + syscall_table[SYS_getrusage] = "getrusage"; +#endif +#if defined (SYS_getsid) + syscall_table[SYS_getsid] = "getsid"; +#endif +#if defined (SYS_getsockname) + syscall_table[SYS_getsockname] = "getsockname"; +#endif +#if defined (SYS_getsockopt) + syscall_table[SYS_getsockopt] = "getsockopt"; +#endif +#if defined (SYS_gettimeofday) + syscall_table[SYS_gettimeofday] = "gettimeofday"; +#endif +#if defined (SYS_getuid) + syscall_table[SYS_getuid] = "getuid"; +#endif +#if defined (SYS_gtty) + syscall_table[SYS_gtty] = "gtty"; +#endif +#if defined (SYS_hrtsys) + syscall_table[SYS_hrtsys] = "hrtsys"; +#endif +#if defined (SYS_inst_sync) + syscall_table[SYS_inst_sync] = "inst_sync"; +#endif +#if defined (SYS_install_utrap) + syscall_table[SYS_install_utrap] = "install_utrap"; +#endif +#if defined (SYS_invlpg) + syscall_table[SYS_invlpg] = "invlpg"; +#endif +#if defined (SYS_ioctl) + syscall_table[SYS_ioctl] = "ioctl"; +#endif +#if defined (SYS_kaio) + syscall_table[SYS_kaio] = "kaio"; +#endif +#if defined (SYS_keyctl) + syscall_table[SYS_keyctl] = "keyctl"; +#endif +#if defined (SYS_kill) + syscall_table[SYS_kill] = "kill"; +#endif +#if defined (SYS_killpg) + syscall_table[SYS_killpg] = "killpg"; +#endif +#if defined (SYS_kloadcall) + syscall_table[SYS_kloadcall] = "kloadcall"; +#endif +#if defined (SYS_kmodcall) + syscall_table[SYS_kmodcall] = "kmodcall"; +#endif +#if defined (SYS_ksigaction) + syscall_table[SYS_ksigaction] = "ksigaction"; +#endif +#if defined (SYS_ksigprocmask) + syscall_table[SYS_ksigprocmask] = "ksigprocmask"; +#endif +#if defined (SYS_ksigqueue) + syscall_table[SYS_ksigqueue] = "ksigqueue"; +#endif +#if defined (SYS_lchown) + syscall_table[SYS_lchown] = "lchown"; +#endif +#if defined (SYS_link) + syscall_table[SYS_link] = "link"; +#endif +#if defined (SYS_listen) + syscall_table[SYS_listen] = "listen"; +#endif +#if defined (SYS_llseek) + syscall_table[SYS_llseek] = "llseek"; +#endif +#if defined (SYS_lseek) + syscall_table[SYS_lseek] = "lseek"; +#endif +#if defined (SYS_lseek64) + syscall_table[SYS_lseek64] = "lseek64"; +#endif +#if defined (SYS_lstat) + syscall_table[SYS_lstat] = "lstat"; +#endif +#if defined (SYS_lstat64) + syscall_table[SYS_lstat64] = "lstat64"; +#endif +#if defined (SYS_lvldom) + syscall_table[SYS_lvldom] = "lvldom"; +#endif +#if defined (SYS_lvlequal) + syscall_table[SYS_lvlequal] = "lvlequal"; +#endif +#if defined (SYS_lvlfile) + syscall_table[SYS_lvlfile] = "lvlfile"; +#endif +#if defined (SYS_lvlipc) + syscall_table[SYS_lvlipc] = "lvlipc"; +#endif +#if defined (SYS_lvlproc) + syscall_table[SYS_lvlproc] = "lvlproc"; +#endif +#if defined (SYS_lvlvfs) + syscall_table[SYS_lvlvfs] = "lvlvfs"; +#endif +#if defined (SYS_lwp_alarm) + syscall_table[SYS_lwp_alarm] = "lwp_alarm"; +#endif +#if defined (SYS_lwp_cond_broadcast) + syscall_table[SYS_lwp_cond_broadcast] = "lwp_cond_broadcast"; +#endif +#if defined (SYS_lwp_cond_signal) + syscall_table[SYS_lwp_cond_signal] = "lwp_cond_signal"; +#endif +#if defined (SYS_lwp_cond_wait) + syscall_table[SYS_lwp_cond_wait] = "lwp_cond_wait"; +#endif +#if defined (SYS_lwp_continue) + syscall_table[SYS_lwp_continue] = "lwp_continue"; +#endif +#if defined (SYS_lwp_create) + syscall_table[SYS_lwp_create] = "lwp_create"; +#endif +#if defined (SYS_lwp_exit) + syscall_table[SYS_lwp_exit] = "lwp_exit"; +#endif +#if defined (SYS_lwp_getprivate) + syscall_table[SYS_lwp_getprivate] = "lwp_getprivate"; +#endif +#if defined (SYS_lwp_info) + syscall_table[SYS_lwp_info] = "lwp_info"; +#endif +#if defined (SYS_lwp_kill) + syscall_table[SYS_lwp_kill] = "lwp_kill"; +#endif +#if defined (SYS_lwp_mutex_init) + syscall_table[SYS_lwp_mutex_init] = "lwp_mutex_init"; +#endif +#if defined (SYS_lwp_mutex_lock) + syscall_table[SYS_lwp_mutex_lock] = "lwp_mutex_lock"; +#endif +#if defined (SYS_lwp_mutex_trylock) + syscall_table[SYS_lwp_mutex_trylock] = "lwp_mutex_trylock"; +#endif +#if defined (SYS_lwp_mutex_unlock) + syscall_table[SYS_lwp_mutex_unlock] = "lwp_mutex_unlock"; +#endif +#if defined (SYS_lwp_private) + syscall_table[SYS_lwp_private] = "lwp_private"; +#endif +#if defined (SYS_lwp_self) + syscall_table[SYS_lwp_self] = "lwp_self"; +#endif +#if defined (SYS_lwp_sema_post) + syscall_table[SYS_lwp_sema_post] = "lwp_sema_post"; +#endif +#if defined (SYS_lwp_sema_trywait) + syscall_table[SYS_lwp_sema_trywait] = "lwp_sema_trywait"; +#endif +#if defined (SYS_lwp_sema_wait) + syscall_table[SYS_lwp_sema_wait] = "lwp_sema_wait"; +#endif +#if defined (SYS_lwp_setprivate) + syscall_table[SYS_lwp_setprivate] = "lwp_setprivate"; +#endif +#if defined (SYS_lwp_sigredirect) + syscall_table[SYS_lwp_sigredirect] = "lwp_sigredirect"; +#endif +#if defined (SYS_lwp_suspend) + syscall_table[SYS_lwp_suspend] = "lwp_suspend"; +#endif +#if defined (SYS_lwp_wait) + syscall_table[SYS_lwp_wait] = "lwp_wait"; +#endif +#if defined (SYS_lxstat) + syscall_table[SYS_lxstat] = "lxstat"; +#endif +#if defined (SYS_madvise) + syscall_table[SYS_madvise] = "madvise"; +#endif +#if defined (SYS_memcntl) + syscall_table[SYS_memcntl] = "memcntl"; +#endif +#if defined (SYS_mincore) + syscall_table[SYS_mincore] = "mincore"; +#endif +#if defined (SYS_mincore) + syscall_table[SYS_mincore] = "mincore"; +#endif +#if defined (SYS_mkdir) + syscall_table[SYS_mkdir] = "mkdir"; +#endif +#if defined (SYS_mkmld) + syscall_table[SYS_mkmld] = "mkmld"; +#endif +#if defined (SYS_mknod) + syscall_table[SYS_mknod] = "mknod"; +#endif +#if defined (SYS_mldmode) + syscall_table[SYS_mldmode] = "mldmode"; +#endif +#if defined (SYS_mmap) + syscall_table[SYS_mmap] = "mmap"; +#endif +#if defined (SYS_mmap64) + syscall_table[SYS_mmap64] = "mmap64"; +#endif +#if defined (SYS_modadm) + syscall_table[SYS_modadm] = "modadm"; +#endif +#if defined (SYS_modctl) + syscall_table[SYS_modctl] = "modctl"; +#endif +#if defined (SYS_modload) + syscall_table[SYS_modload] = "modload"; +#endif +#if defined (SYS_modpath) + syscall_table[SYS_modpath] = "modpath"; +#endif +#if defined (SYS_modstat) + syscall_table[SYS_modstat] = "modstat"; +#endif +#if defined (SYS_moduload) + syscall_table[SYS_moduload] = "moduload"; +#endif +#if defined (SYS_mount) + syscall_table[SYS_mount] = "mount"; +#endif +#if defined (SYS_mprotect) + syscall_table[SYS_mprotect] = "mprotect"; +#endif +#if defined (SYS_mremap) + syscall_table[SYS_mremap] = "mremap"; +#endif +#if defined (SYS_msfs_syscall) + syscall_table[SYS_msfs_syscall] = "msfs_syscall"; +#endif +#if defined (SYS_msgctl) + syscall_table[SYS_msgctl] = "msgctl"; +#endif +#if defined (SYS_msgget) + syscall_table[SYS_msgget] = "msgget"; +#endif +#if defined (SYS_msgrcv) + syscall_table[SYS_msgrcv] = "msgrcv"; +#endif +#if defined (SYS_msgsnd) + syscall_table[SYS_msgsnd] = "msgsnd"; +#endif +#if defined (SYS_msgsys) + syscall_table[SYS_msgsys] = "msgsys"; +#endif +#if defined (SYS_msleep) + syscall_table[SYS_msleep] = "msleep"; +#endif +#if defined (SYS_msync) + syscall_table[SYS_msync] = "msync"; +#endif +#if defined (SYS_munmap) + syscall_table[SYS_munmap] = "munmap"; +#endif +#if defined (SYS_mvalid) + syscall_table[SYS_mvalid] = "mvalid"; +#endif +#if defined (SYS_mwakeup) + syscall_table[SYS_mwakeup] = "mwakeup"; +#endif +#if defined (SYS_naccept) + syscall_table[SYS_naccept] = "naccept"; +#endif +#if defined (SYS_nanosleep) + syscall_table[SYS_nanosleep] = "nanosleep"; +#endif +#if defined (SYS_nfssvc) + syscall_table[SYS_nfssvc] = "nfssvc"; +#endif +#if defined (SYS_nfssys) + syscall_table[SYS_nfssys] = "nfssys"; +#endif +#if defined (SYS_ngetpeername) + syscall_table[SYS_ngetpeername] = "ngetpeername"; +#endif +#if defined (SYS_ngetsockname) + syscall_table[SYS_ngetsockname] = "ngetsockname"; +#endif +#if defined (SYS_nice) + syscall_table[SYS_nice] = "nice"; +#endif +#if defined (SYS_nrecvfrom) + syscall_table[SYS_nrecvfrom] = "nrecvfrom"; +#endif +#if defined (SYS_nrecvmsg) + syscall_table[SYS_nrecvmsg] = "nrecvmsg"; +#endif +#if defined (SYS_nsendmsg) + syscall_table[SYS_nsendmsg] = "nsendmsg"; +#endif +#if defined (SYS_ntp_adjtime) + syscall_table[SYS_ntp_adjtime] = "ntp_adjtime"; +#endif +#if defined (SYS_ntp_gettime) + syscall_table[SYS_ntp_gettime] = "ntp_gettime"; +#endif +#if defined (SYS_nuname) + syscall_table[SYS_nuname] = "nuname"; +#endif +#if defined (SYS_obreak) + syscall_table[SYS_obreak] = "obreak"; +#endif +#if defined (SYS_old_accept) + syscall_table[SYS_old_accept] = "old_accept"; +#endif +#if defined (SYS_old_fstat) + syscall_table[SYS_old_fstat] = "old_fstat"; +#endif +#if defined (SYS_old_getpeername) + syscall_table[SYS_old_getpeername] = "old_getpeername"; +#endif +#if defined (SYS_old_getpgrp) + syscall_table[SYS_old_getpgrp] = "old_getpgrp"; +#endif +#if defined (SYS_old_getsockname) + syscall_table[SYS_old_getsockname] = "old_getsockname"; +#endif +#if defined (SYS_old_killpg) + syscall_table[SYS_old_killpg] = "old_killpg"; +#endif +#if defined (SYS_old_lstat) + syscall_table[SYS_old_lstat] = "old_lstat"; +#endif +#if defined (SYS_old_recv) + syscall_table[SYS_old_recv] = "old_recv"; +#endif +#if defined (SYS_old_recvfrom) + syscall_table[SYS_old_recvfrom] = "old_recvfrom"; +#endif +#if defined (SYS_old_recvmsg) + syscall_table[SYS_old_recvmsg] = "old_recvmsg"; +#endif +#if defined (SYS_old_send) + syscall_table[SYS_old_send] = "old_send"; +#endif +#if defined (SYS_old_sendmsg) + syscall_table[SYS_old_sendmsg] = "old_sendmsg"; +#endif +#if defined (SYS_old_sigblock) + syscall_table[SYS_old_sigblock] = "old_sigblock"; +#endif +#if defined (SYS_old_sigsetmask) + syscall_table[SYS_old_sigsetmask] = "old_sigsetmask"; +#endif +#if defined (SYS_old_sigvec) + syscall_table[SYS_old_sigvec] = "old_sigvec"; +#endif +#if defined (SYS_old_stat) + syscall_table[SYS_old_stat] = "old_stat"; +#endif +#if defined (SYS_old_vhangup) + syscall_table[SYS_old_vhangup] = "old_vhangup"; +#endif +#if defined (SYS_old_wait) + syscall_table[SYS_old_wait] = "old_wait"; +#endif +#if defined (SYS_oldquota) + syscall_table[SYS_oldquota] = "oldquota"; +#endif +#if defined (SYS_online) + syscall_table[SYS_online] = "online"; +#endif +#if defined (SYS_open) + syscall_table[SYS_open] = "open"; +#endif +#if defined (SYS_open64) + syscall_table[SYS_open64] = "open64"; +#endif +#if defined (SYS_ovadvise) + syscall_table[SYS_ovadvise] = "ovadvise"; +#endif +#if defined (SYS_p_online) + syscall_table[SYS_p_online] = "p_online"; +#endif +#if defined (SYS_pagelock) + syscall_table[SYS_pagelock] = "pagelock"; +#endif +#if defined (SYS_pathconf) + syscall_table[SYS_pathconf] = "pathconf"; +#endif +#if defined (SYS_pause) + syscall_table[SYS_pause] = "pause"; +#endif +#if defined (SYS_pgrpsys) + syscall_table[SYS_pgrpsys] = "pgrpsys"; +#endif +#if defined (SYS_pid_block) + syscall_table[SYS_pid_block] = "pid_block"; +#endif +#if defined (SYS_pid_unblock) + syscall_table[SYS_pid_unblock] = "pid_unblock"; +#endif +#if defined (SYS_pipe) + syscall_table[SYS_pipe] = "pipe"; +#endif +#if defined (SYS_plock) + syscall_table[SYS_plock] = "plock"; +#endif +#if defined (SYS_poll) + syscall_table[SYS_poll] = "poll"; +#endif +#if defined (SYS_prctl) + syscall_table[SYS_prctl] = "prctl"; +#endif +#if defined (SYS_pread) + syscall_table[SYS_pread] = "pread"; +#endif +#if defined (SYS_pread64) + syscall_table[SYS_pread64] = "pread64"; +#endif +#if defined (SYS_pread64) + syscall_table[SYS_pread64] = "pread64"; +#endif +#if defined (SYS_prepblock) + syscall_table[SYS_prepblock] = "prepblock"; +#endif +#if defined (SYS_priocntl) + syscall_table[SYS_priocntl] = "priocntl"; +#endif +#if defined (SYS_priocntllst) + syscall_table[SYS_priocntllst] = "priocntllst"; +#endif +#if defined (SYS_priocntlset) + syscall_table[SYS_priocntlset] = "priocntlset"; +#endif +#if defined (SYS_priocntlsys) + syscall_table[SYS_priocntlsys] = "priocntlsys"; +#endif +#if defined (SYS_procblk) + syscall_table[SYS_procblk] = "procblk"; +#endif +#if defined (SYS_processor_bind) + syscall_table[SYS_processor_bind] = "processor_bind"; +#endif +#if defined (SYS_processor_exbind) + syscall_table[SYS_processor_exbind] = "processor_exbind"; +#endif +#if defined (SYS_processor_info) + syscall_table[SYS_processor_info] = "processor_info"; +#endif +#if defined (SYS_procpriv) + syscall_table[SYS_procpriv] = "procpriv"; +#endif +#if defined (SYS_profil) + syscall_table[SYS_profil] = "profil"; +#endif +#if defined (SYS_proplist_syscall) + syscall_table[SYS_proplist_syscall] = "proplist_syscall"; +#endif +#if defined (SYS_pset) + syscall_table[SYS_pset] = "pset"; +#endif +#if defined (SYS_ptrace) + syscall_table[SYS_ptrace] = "ptrace"; +#endif +#if defined (SYS_putmsg) + syscall_table[SYS_putmsg] = "putmsg"; +#endif +#if defined (SYS_putpmsg) + syscall_table[SYS_putpmsg] = "putpmsg"; +#endif +#if defined (SYS_pwrite) + syscall_table[SYS_pwrite] = "pwrite"; +#endif +#if defined (SYS_pwrite64) + syscall_table[SYS_pwrite64] = "pwrite64"; +#endif +#if defined (SYS_quotactl) + syscall_table[SYS_quotactl] = "quotactl"; +#endif +#if defined (SYS_rdblock) + syscall_table[SYS_rdblock] = "rdblock"; +#endif +#if defined (SYS_read) + syscall_table[SYS_read] = "read"; +#endif +#if defined (SYS_readlink) + syscall_table[SYS_readlink] = "readlink"; +#endif +#if defined (SYS_readv) + syscall_table[SYS_readv] = "readv"; +#endif +#if defined (SYS_reboot) + syscall_table[SYS_reboot] = "reboot"; +#endif +#if defined (SYS_recv) + syscall_table[SYS_recv] = "recv"; +#endif +#if defined (SYS_recvfrom) + syscall_table[SYS_recvfrom] = "recvfrom"; +#endif +#if defined (SYS_recvmsg) + syscall_table[SYS_recvmsg] = "recvmsg"; +#endif +#if defined (SYS_rename) + syscall_table[SYS_rename] = "rename"; +#endif +#if defined (SYS_resolvepath) + syscall_table[SYS_resolvepath] = "resolvepath"; +#endif +#if defined (SYS_revoke) + syscall_table[SYS_revoke] = "revoke"; +#endif +#if defined (SYS_rfsys) + syscall_table[SYS_rfsys] = "rfsys"; +#endif +#if defined (SYS_rmdir) + syscall_table[SYS_rmdir] = "rmdir"; +#endif +#if defined (SYS_rpcsys) + syscall_table[SYS_rpcsys] = "rpcsys"; +#endif +#if defined (SYS_sbrk) + syscall_table[SYS_sbrk] = "sbrk"; +#endif +#if defined (SYS_schedctl) + syscall_table[SYS_schedctl] = "schedctl"; +#endif +#if defined (SYS_secadvise) + syscall_table[SYS_secadvise] = "secadvise"; +#endif +#if defined (SYS_secsys) + syscall_table[SYS_secsys] = "secsys"; +#endif +#if defined (SYS_security) + syscall_table[SYS_security] = "security"; +#endif +#if defined (SYS_select) + syscall_table[SYS_select] = "select"; +#endif +#if defined (SYS_semctl) + syscall_table[SYS_semctl] = "semctl"; +#endif +#if defined (SYS_semget) + syscall_table[SYS_semget] = "semget"; +#endif +#if defined (SYS_semop) + syscall_table[SYS_semop] = "semop"; +#endif +#if defined (SYS_semsys) + syscall_table[SYS_semsys] = "semsys"; +#endif +#if defined (SYS_send) + syscall_table[SYS_send] = "send"; +#endif +#if defined (SYS_sendmsg) + syscall_table[SYS_sendmsg] = "sendmsg"; +#endif +#if defined (SYS_sendto) + syscall_table[SYS_sendto] = "sendto"; +#endif +#if defined (SYS_set_program_attributes) + syscall_table[SYS_set_program_attributes] = "set_program_attributes"; +#endif +#if defined (SYS_set_speculative) + syscall_table[SYS_set_speculative] = "set_speculative"; +#endif +#if defined (SYS_set_sysinfo) + syscall_table[SYS_set_sysinfo] = "set_sysinfo"; +#endif +#if defined (SYS_setcontext) + syscall_table[SYS_setcontext] = "setcontext"; +#endif +#if defined (SYS_setdomainname) + syscall_table[SYS_setdomainname] = "setdomainname"; +#endif +#if defined (SYS_setegid) + syscall_table[SYS_setegid] = "setegid"; +#endif +#if defined (SYS_seteuid) + syscall_table[SYS_seteuid] = "seteuid"; +#endif +#if defined (SYS_setgid) + syscall_table[SYS_setgid] = "setgid"; +#endif +#if defined (SYS_setgroups) + syscall_table[SYS_setgroups] = "setgroups"; +#endif +#if defined (SYS_sethostid) + syscall_table[SYS_sethostid] = "sethostid"; +#endif +#if defined (SYS_sethostname) + syscall_table[SYS_sethostname] = "sethostname"; +#endif +#if defined (SYS_setitimer) + syscall_table[SYS_setitimer] = "setitimer"; +#endif +#if defined (SYS_setlogin) + syscall_table[SYS_setlogin] = "setlogin"; +#endif +#if defined (SYS_setpgid) + syscall_table[SYS_setpgid] = "setpgid"; +#endif +#if defined (SYS_setpgrp) + syscall_table[SYS_setpgrp] = "setpgrp"; +#endif +#if defined (SYS_setpriority) + syscall_table[SYS_setpriority] = "setpriority"; +#endif +#if defined (SYS_setregid) + syscall_table[SYS_setregid] = "setregid"; +#endif +#if defined (SYS_setreuid) + syscall_table[SYS_setreuid] = "setreuid"; +#endif +#if defined (SYS_setrlimit) + syscall_table[SYS_setrlimit] = "setrlimit"; +#endif +#if defined (SYS_setrlimit64) + syscall_table[SYS_setrlimit64] = "setrlimit64"; +#endif +#if defined (SYS_setsid) + syscall_table[SYS_setsid] = "setsid"; +#endif +#if defined (SYS_setsockopt) + syscall_table[SYS_setsockopt] = "setsockopt"; +#endif +#if defined (SYS_settimeofday) + syscall_table[SYS_settimeofday] = "settimeofday"; +#endif +#if defined (SYS_setuid) + syscall_table[SYS_setuid] = "setuid"; +#endif +#if defined (SYS_sgi) + syscall_table[SYS_sgi] = "sgi"; +#endif +#if defined (SYS_sgifastpath) + syscall_table[SYS_sgifastpath] = "sgifastpath"; +#endif +#if defined (SYS_sgikopt) + syscall_table[SYS_sgikopt] = "sgikopt"; +#endif +#if defined (SYS_sginap) + syscall_table[SYS_sginap] = "sginap"; +#endif +#if defined (SYS_shmat) + syscall_table[SYS_shmat] = "shmat"; +#endif +#if defined (SYS_shmctl) + syscall_table[SYS_shmctl] = "shmctl"; +#endif +#if defined (SYS_shmdt) + syscall_table[SYS_shmdt] = "shmdt"; +#endif +#if defined (SYS_shmget) + syscall_table[SYS_shmget] = "shmget"; +#endif +#if defined (SYS_shmsys) + syscall_table[SYS_shmsys] = "shmsys"; +#endif +#if defined (SYS_shutdown) + syscall_table[SYS_shutdown] = "shutdown"; +#endif +#if defined (SYS_sigaction) + syscall_table[SYS_sigaction] = "sigaction"; +#endif +#if defined (SYS_sigaltstack) + syscall_table[SYS_sigaltstack] = "sigaltstack"; +#endif +#if defined (SYS_sigaltstack) + syscall_table[SYS_sigaltstack] = "sigaltstack"; +#endif +#if defined (SYS_sigblock) + syscall_table[SYS_sigblock] = "sigblock"; +#endif +#if defined (SYS_signal) + syscall_table[SYS_signal] = "signal"; +#endif +#if defined (SYS_signotify) + syscall_table[SYS_signotify] = "signotify"; +#endif +#if defined (SYS_signotifywait) + syscall_table[SYS_signotifywait] = "signotifywait"; +#endif +#if defined (SYS_sigpending) + syscall_table[SYS_sigpending] = "sigpending"; +#endif +#if defined (SYS_sigpoll) + syscall_table[SYS_sigpoll] = "sigpoll"; +#endif +#if defined (SYS_sigprocmask) + syscall_table[SYS_sigprocmask] = "sigprocmask"; +#endif +#if defined (SYS_sigqueue) + syscall_table[SYS_sigqueue] = "sigqueue"; +#endif +#if defined (SYS_sigreturn) + syscall_table[SYS_sigreturn] = "sigreturn"; +#endif +#if defined (SYS_sigsendset) + syscall_table[SYS_sigsendset] = "sigsendset"; +#endif +#if defined (SYS_sigsendsys) + syscall_table[SYS_sigsendsys] = "sigsendsys"; +#endif +#if defined (SYS_sigsetmask) + syscall_table[SYS_sigsetmask] = "sigsetmask"; +#endif +#if defined (SYS_sigstack) + syscall_table[SYS_sigstack] = "sigstack"; +#endif +#if defined (SYS_sigsuspend) + syscall_table[SYS_sigsuspend] = "sigsuspend"; +#endif +#if defined (SYS_sigvec) + syscall_table[SYS_sigvec] = "sigvec"; +#endif +#if defined (SYS_sigwait) + syscall_table[SYS_sigwait] = "sigwait"; +#endif +#if defined (SYS_sigwaitprim) + syscall_table[SYS_sigwaitprim] = "sigwaitprim"; +#endif +#if defined (SYS_sleep) + syscall_table[SYS_sleep] = "sleep"; +#endif +#if defined (SYS_so_socket) + syscall_table[SYS_so_socket] = "so_socket"; +#endif +#if defined (SYS_so_socketpair) + syscall_table[SYS_so_socketpair] = "so_socketpair"; +#endif +#if defined (SYS_sockconfig) + syscall_table[SYS_sockconfig] = "sockconfig"; +#endif +#if defined (SYS_socket) + syscall_table[SYS_socket] = "socket"; +#endif +#if defined (SYS_socketpair) + syscall_table[SYS_socketpair] = "socketpair"; +#endif +#if defined (SYS_sproc) + syscall_table[SYS_sproc] = "sproc"; +#endif +#if defined (SYS_sprocsp) + syscall_table[SYS_sprocsp] = "sprocsp"; +#endif +#if defined (SYS_sstk) + syscall_table[SYS_sstk] = "sstk"; +#endif +#if defined (SYS_stat) + syscall_table[SYS_stat] = "stat"; +#endif +#if defined (SYS_stat64) + syscall_table[SYS_stat64] = "stat64"; +#endif +#if defined (SYS_statfs) + syscall_table[SYS_statfs] = "statfs"; +#endif +#if defined (SYS_statvfs) + syscall_table[SYS_statvfs] = "statvfs"; +#endif +#if defined (SYS_statvfs64) + syscall_table[SYS_statvfs64] = "statvfs64"; +#endif +#if defined (SYS_stime) + syscall_table[SYS_stime] = "stime"; +#endif +#if defined (SYS_stty) + syscall_table[SYS_stty] = "stty"; +#endif +#if defined (SYS_subsys_info) + syscall_table[SYS_subsys_info] = "subsys_info"; +#endif +#if defined (SYS_swapctl) + syscall_table[SYS_swapctl] = "swapctl"; +#endif +#if defined (SYS_swapon) + syscall_table[SYS_swapon] = "swapon"; +#endif +#if defined (SYS_symlink) + syscall_table[SYS_symlink] = "symlink"; +#endif +#if defined (SYS_sync) + syscall_table[SYS_sync] = "sync"; +#endif +#if defined (SYS_sys3b) + syscall_table[SYS_sys3b] = "sys3b"; +#endif +#if defined (SYS_syscall) + syscall_table[SYS_syscall] = "syscall"; +#endif +#if defined (SYS_sysconfig) + syscall_table[SYS_sysconfig] = "sysconfig"; +#endif +#if defined (SYS_sysfs) + syscall_table[SYS_sysfs] = "sysfs"; +#endif +#if defined (SYS_sysi86) + syscall_table[SYS_sysi86] = "sysi86"; +#endif +#if defined (SYS_sysinfo) + syscall_table[SYS_sysinfo] = "sysinfo"; +#endif +#if defined (SYS_sysmips) + syscall_table[SYS_sysmips] = "sysmips"; +#endif +#if defined (SYS_syssun) + syscall_table[SYS_syssun] = "syssun"; +#endif +#if defined (SYS_systeminfo) + syscall_table[SYS_systeminfo] = "systeminfo"; +#endif +#if defined (SYS_table) + syscall_table[SYS_table] = "table"; +#endif +#if defined (SYS_time) + syscall_table[SYS_time] = "time"; +#endif +#if defined (SYS_timedwait) + syscall_table[SYS_timedwait] = "timedwait"; +#endif +#if defined (SYS_timer_create) + syscall_table[SYS_timer_create] = "timer_create"; +#endif +#if defined (SYS_timer_delete) + syscall_table[SYS_timer_delete] = "timer_delete"; +#endif +#if defined (SYS_timer_getoverrun) + syscall_table[SYS_timer_getoverrun] = "timer_getoverrun"; +#endif +#if defined (SYS_timer_gettime) + syscall_table[SYS_timer_gettime] = "timer_gettime"; +#endif +#if defined (SYS_timer_settime) + syscall_table[SYS_timer_settime] = "timer_settime"; +#endif +#if defined (SYS_times) + syscall_table[SYS_times] = "times"; +#endif +#if defined (SYS_truncate) + syscall_table[SYS_truncate] = "truncate"; +#endif +#if defined (SYS_truncate64) + syscall_table[SYS_truncate64] = "truncate64"; +#endif +#if defined (SYS_tsolsys) + syscall_table[SYS_tsolsys] = "tsolsys"; +#endif +#if defined (SYS_uadmin) + syscall_table[SYS_uadmin] = "uadmin"; +#endif +#if defined (SYS_ulimit) + syscall_table[SYS_ulimit] = "ulimit"; +#endif +#if defined (SYS_umask) + syscall_table[SYS_umask] = "umask"; +#endif +#if defined (SYS_umount) + syscall_table[SYS_umount] = "umount"; +#endif +#if defined (SYS_uname) + syscall_table[SYS_uname] = "uname"; +#endif +#if defined (SYS_unblock) + syscall_table[SYS_unblock] = "unblock"; +#endif +#if defined (SYS_unlink) + syscall_table[SYS_unlink] = "unlink"; +#endif +#if defined (SYS_unmount) + syscall_table[SYS_unmount] = "unmount"; +#endif +#if defined (SYS_usleep_thread) + syscall_table[SYS_usleep_thread] = "usleep_thread"; +#endif +#if defined (SYS_uswitch) + syscall_table[SYS_uswitch] = "uswitch"; +#endif +#if defined (SYS_utc_adjtime) + syscall_table[SYS_utc_adjtime] = "utc_adjtime"; +#endif +#if defined (SYS_utc_gettime) + syscall_table[SYS_utc_gettime] = "utc_gettime"; +#endif +#if defined (SYS_utime) + syscall_table[SYS_utime] = "utime"; +#endif +#if defined (SYS_utimes) + syscall_table[SYS_utimes] = "utimes"; +#endif +#if defined (SYS_utssys) + syscall_table[SYS_utssys] = "utssys"; +#endif +#if defined (SYS_vfork) + syscall_table[SYS_vfork] = "vfork"; +#endif +#if defined (SYS_vhangup) + syscall_table[SYS_vhangup] = "vhangup"; +#endif +#if defined (SYS_vtrace) + syscall_table[SYS_vtrace] = "vtrace"; +#endif +#if defined (SYS_wait) + syscall_table[SYS_wait] = "wait"; +#endif +#if defined (SYS_waitid) + syscall_table[SYS_waitid] = "waitid"; +#endif +#if defined (SYS_waitsys) + syscall_table[SYS_waitsys] = "waitsys"; +#endif +#if defined (SYS_write) + syscall_table[SYS_write] = "write"; +#endif +#if defined (SYS_writev) + syscall_table[SYS_writev] = "writev"; +#endif +#if defined (SYS_xenix) + syscall_table[SYS_xenix] = "xenix"; +#endif +#if defined (SYS_xmknod) + syscall_table[SYS_xmknod] = "xmknod"; +#endif +#if defined (SYS_xstat) + syscall_table[SYS_xstat] = "xstat"; +#endif +#if defined (SYS_yield) + syscall_table[SYS_yield] = "yield"; +#endif +}; + +/* + * Prettyprint a single syscall by number. + */ + +void +proc_prettyfprint_syscall (file, num, verbose) + FILE *file; + int num; + int verbose; +{ + if (syscall_table[num]) + fprintf (file, "SYS_%s ", syscall_table[num]); + else + fprintf (file, "<Unknown syscall %d> ", num); +} + +void +proc_prettyprint_syscall (num, verbose) + int num; + int verbose; +{ + proc_prettyfprint_syscall (stdout, num, verbose); +} + +/* + * Prettyprint all of the syscalls in a sysset_t set. + */ + +void +proc_prettyfprint_syscalls (file, sysset, verbose) + FILE *file; + sysset_t *sysset; + int verbose; +{ + int i; + + for (i = 0; i < MAX_SYSCALLS; i++) + if (prismember (sysset, i)) + { + proc_prettyfprint_syscall (file, i, verbose); + } + fprintf (file, "\n"); +} + +void +proc_prettyprint_syscalls (sysset, verbose) + sysset_t *sysset; + int verbose; +{ + proc_prettyfprint_syscalls (stdout, sysset, verbose); +} + +/* FIXME: add real-time signals */ + +static struct trans signal_table[] = +{ + { 0, "<no signal>", "no signal" }, +#ifdef SIGHUP + { SIGHUP, "SIGHUP", "Hangup" }, +#endif +#ifdef SIGINT + { SIGINT, "SIGINT", "Interrupt (rubout)" }, +#endif +#ifdef SIGQUIT + { SIGQUIT, "SIGQUIT", "Quit (ASCII FS)" }, +#endif +#ifdef SIGILL + { SIGILL, "SIGILL", "Illegal instruction" }, /* not reset when caught */ +#endif +#ifdef SIGTRAP + { SIGTRAP, "SIGTRAP", "Trace trap" }, /* not reset when caught */ +#endif +#ifdef SIGABRT + { SIGABRT, "SIGABRT", "used by abort()" }, /* replaces SIGIOT */ +#endif +#ifdef SIGIOT + { SIGIOT, "SIGIOT", "IOT instruction" }, +#endif +#ifdef SIGEMT + { SIGEMT, "SIGEMT", "EMT instruction" }, +#endif +#ifdef SIGFPE + { SIGFPE, "SIGFPE", "Floating point exception" }, +#endif +#ifdef SIGKILL + { SIGKILL, "SIGKILL", "Kill" }, /* Solaris: cannot be caught/ignored */ +#endif +#ifdef SIGBUS + { SIGBUS, "SIGBUS", "Bus error" }, +#endif +#ifdef SIGSEGV + { SIGSEGV, "SIGSEGV", "Segmentation violation" }, +#endif +#ifdef SIGSYS + { SIGSYS, "SIGSYS", "Bad argument to system call" }, +#endif +#ifdef SIGPIPE + { SIGPIPE, "SIGPIPE", "Write to pipe with no one to read it" }, +#endif +#ifdef SIGALRM + { SIGALRM, "SIGALRM", "Alarm clock" }, +#endif +#ifdef SIGTERM + { SIGTERM, "SIGTERM", "Software termination signal from kill" }, +#endif +#ifdef SIGUSR1 + { SIGUSR1, "SIGUSR1", "User defined signal 1" }, +#endif +#ifdef SIGUSR2 + { SIGUSR2, "SIGUSR2", "User defined signal 2" }, +#endif +#ifdef SIGCHLD + { SIGCHLD, "SIGCHLD", "Child status changed" }, /* Posix version */ +#endif +#ifdef SIGCLD + { SIGCLD, "SIGCLD", "Child status changed" }, /* Solaris version */ +#endif +#ifdef SIGPWR + { SIGPWR, "SIGPWR", "Power-fail restart" }, +#endif +#ifdef SIGWINCH + { SIGWINCH, "SIGWINCH", "Window size change" }, +#endif +#ifdef SIGURG + { SIGURG, "SIGURG", "Urgent socket condition" }, +#endif +#ifdef SIGPOLL + { SIGPOLL, "SIGPOLL", "Pollable event" }, +#endif +#ifdef SIGIO + { SIGIO, "SIGIO", "Socket I/O possible" }, /* alias for SIGPOLL */ +#endif +#ifdef SIGSTOP + { SIGSTOP, "SIGSTOP", "Stop, not from tty" }, /* cannot be caught or ignored */ +#endif +#ifdef SIGTSTP + { SIGTSTP, "SIGTSTP", "User stop from tty" }, +#endif +#ifdef SIGCONT + { SIGCONT, "SIGCONT", "Stopped process has been continued" }, +#endif +#ifdef SIGTTIN + { SIGTTIN, "SIGTTIN", "Background tty read attempted" }, +#endif +#ifdef SIGTTOU + { SIGTTOU, "SIGTTOU", "Background tty write attempted" }, +#endif +#ifdef SIGVTALRM + { SIGVTALRM, "SIGVTALRM", "Virtual timer expired" }, +#endif +#ifdef SIGPROF + { SIGPROF, "SIGPROF", "Profiling timer expired" }, +#endif +#ifdef SIGXCPU + { SIGXCPU, "SIGXCPU", "Exceeded CPU limit" }, +#endif +#ifdef SIGXFSZ + { SIGXFSZ, "SIGXFSZ", "Exceeded file size limit" }, +#endif +#ifdef SIGWAITING + { SIGWAITING, "SIGWAITING", "Process's LWPs are blocked" }, +#endif +#ifdef SIGLWP + { SIGLWP, "SIGLWP", "Used by thread library" }, +#endif +#ifdef SIGFREEZE + { SIGFREEZE, "SIGFREEZE", "Used by CPR" }, +#endif +#ifdef SIGTHAW + { SIGTHAW, "SIGTHAW", "Used by CPR" }, +#endif +#ifdef SIGCANCEL + { SIGCANCEL, "SIGCANCEL", "Used by libthread" }, +#endif +#ifdef SIGLOST + { SIGLOST, "SIGLOST", "Resource lost" }, +#endif +#ifdef SIG32 + { SIG32, "SIG32", "Reserved for kernel usage (Irix)" }, +#endif +#ifdef SIGPTINTR + { SIGPTINTR, "SIGPTINTR", "Posix 1003.1b" }, +#endif +#ifdef SIGTRESCHED + { SIGTRESCHED, "SIGTRESCHED", "Posix 1003.1b" }, +#endif +#ifdef SIGINFO + { SIGINFO, "SIGINFO", "Information request" }, +#endif +#ifdef SIGRESV + { SIGRESV, "SIGRESV", "Reserved by Digital for future use" }, +#endif +#ifdef SIGAIO + { SIGAIO, "SIGAIO", "Asynchronous I/O signal" }, +#endif +}; + +/* + * Prettyprint a single signal by number. + * Accepts a signal number and finds it in the signal table, + * then pretty-prints it. + */ + +void +proc_prettyfprint_signal (file, signo, verbose) + FILE *file; + int signo; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (signal_table) / sizeof (signal_table[0]); i++) + if (signo == signal_table[i].value) + { + fprintf (file, "%s", signal_table[i].name); + if (verbose) + fprintf (file, ": %s\n", signal_table[i].desc); + else + fprintf (file, " "); + return; + } + fprintf (file, "Unknown signal %d%c", signo, verbose ? '\n' : ' '); +} + +void +proc_prettyprint_signal (signo, verbose) + int signo; + int verbose; +{ + proc_prettyfprint_signal (stdout, signo, verbose); +} + +/* + * Prettyprint all of the signals in a sigset_t set. + * + * This function loops over all signal numbers from 0 to NSIG, + * uses them as indexes for prismember, and prints them pretty. + * + * It does not loop over the signal table, as is done with the + * fault table, because the signal table may contain aliases. + * If it did, both aliases would be printed. + */ + +void +proc_prettyfprint_signalset (file, sigset, verbose) + FILE *file; + sigset_t *sigset; + int verbose; +{ + int i; + + for (i = 0; i < NSIG; i++) + if (prismember (sigset, i)) + proc_prettyfprint_signal (file, i, verbose); + + if (!verbose) + fprintf (file, "\n"); +} + +void +proc_prettyprint_signalset (sigset, verbose) + sigset_t *sigset; + int verbose; +{ + proc_prettyfprint_signalset (stdout, sigset, verbose); +} + +/* Hardware fault translation table. */ + +static struct trans fault_table[] = +{ +#if defined (FLTILL) + { FLTILL, "FLTILL", "Illegal instruction" }, +#endif +#if defined (FLTPRIV) + { FLTPRIV, "FLTPRIV", "Privileged instruction" }, +#endif +#if defined (FLTBPT) + { FLTBPT, "FLTBPT", "Breakpoint trap" }, +#endif +#if defined (FLTTRACE) + { FLTTRACE, "FLTTRACE", "Trace trap" }, +#endif +#if defined (FLTACCESS) + { FLTACCESS, "FLTACCESS", "Memory access fault" }, +#endif +#if defined (FLTBOUNDS) + { FLTBOUNDS, "FLTBOUNDS", "Memory bounds violation" }, +#endif +#if defined (FLTIOVF) + { FLTIOVF, "FLTIOVF", "Integer overflow" }, +#endif +#if defined (FLTIZDIV) + { FLTIZDIV, "FLTIZDIV", "Integer zero divide" }, +#endif +#if defined (FLTFPE) + { FLTFPE, "FLTFPE", "Floating-point exception" }, +#endif +#if defined (FLTSTACK) + { FLTSTACK, "FLTSTACK", "Unrecoverable stack fault" }, +#endif +#if defined (FLTPAGE) + { FLTPAGE, "FLTPAGE", "Recoverable page fault" }, +#endif +#if defined (FLTPCINVAL) + { FLTPCINVAL, "FLTPCINVAL", "Invalid PC exception" }, +#endif +#if defined (FLTWATCH) + { FLTWATCH, "FLTWATCH", "User watchpoint" }, +#endif +#if defined (FLTKWATCH) + { FLTKWATCH, "FLTKWATCH", "Kernel watchpoint" }, +#endif +#if defined (FLTSCWATCH) + { FLTSCWATCH, "FLTSCWATCH", "Hit a store conditional on a watched page" }, +#endif +}; + +/* + * Work horse. Accepts an index into the fault table, prints it pretty. + */ + +static void +prettyfprint_faulttable_entry (file, i, verbose) + FILE *file; + int i; + int verbose; +{ + fprintf (file, "%s", fault_table[i].name); + if (verbose) + fprintf (file, ": %s\n", fault_table[i].desc); + else + fprintf (file, " "); +} + +/* + * Prettyprint a hardware fault by number. + */ + +void +proc_prettyfprint_fault (file, faultno, verbose) + FILE *file; + int faultno; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (fault_table) / sizeof (fault_table[0]); i++) + if (faultno == fault_table[i].value) + { + prettyfprint_faulttable_entry (file, i, verbose); + return; + } + + fprintf (file, "Unknown hardware fault %d%c", + faultno, verbose ? '\n' : ' '); +} + +void +proc_prettyprint_fault (faultno, verbose) + int faultno; + int verbose; +{ + proc_prettyfprint_fault (stdout, faultno, verbose); +} + +/* + * Prettyprint all the faults in a fltset_t set. + * + * This function loops thru the fault table, + * using the value field as the index to prismember. + * The fault table had better not contain aliases, + * for if it does they will both be printed. + */ + +void +proc_prettyfprint_faultset (file, fltset, verbose) + FILE *file; + fltset_t *fltset; + int verbose; +{ + int i; + + for (i = 0; i < sizeof (fault_table) / sizeof (fault_table[0]); i++) + if (prismember (fltset, fault_table[i].value)) + prettyfprint_faulttable_entry (file, i, verbose); + + if (!verbose) + fprintf (file, "\n"); +} + +void +proc_prettyprint_faultset (fltset, verbose) + fltset_t *fltset; + int verbose; +{ + proc_prettyfprint_faultset (stdout, fltset, verbose); +} + +/* + * Todo: actions, holds... + */ + +void +proc_prettyprint_actionset (struct sigaction *actions, int verbose) +{ +} + +void +_initialize_proc_events () +{ + init_syscall_table (); +} |