/* 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 ();
}
