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