/* ptr_inspect.c Demonstration code; shows how to trace the system calls in a child process with ptrace. Only works on 64-bit x86 Linux for now, I'm afraid. (Even worse, it's only tested on Linux 2.6....) The callname() function looks clunky and machine-generated because it *is* clunky and machine-generated. I got inspiration and a starting point from this old LJ article: http://www.linuxjournal.com/article/6100 This code is in the public domain. Share and enjoy. Will Benton Madison, 2008 */ #include #include #include #include #include #include #include #include const char* callname(long call); #if __WORDSIZE == 64 #define REG(reg) reg.orig_rax #else #define REG(reg) reg.orig_eax #endif int main(int argc, char* argv[]) { pid_t child; if (argc == 1) { exit(0); } char* chargs[argc]; int i = 0; while (i < argc - 1) { chargs[i] = argv[i+1]; i++; } chargs[i] = NULL; child = fork(); if(child == 0) { ptrace(PTRACE_TRACEME, 0, NULL, NULL); execvp(chargs[0], chargs); } else { int status; while(waitpid(child, &status, 0) && ! WIFEXITED(status)) { struct user_regs_struct regs; ptrace(PTRACE_GETREGS, child, NULL, ®s); fprintf(stderr, "system call %s from pid %d\n", callname(REG(regs)), child); ptrace(PTRACE_SYSCALL, child, NULL, NULL); } } exit(0); } const char* callname(long call) { switch(call) { #ifdef SYS__sysctl case SYS__sysctl : return "_sysctl"; #endif #ifdef SYS_access case SYS_access : return "access"; #endif #ifdef SYS_acct case SYS_acct : return "acct"; #endif #ifdef SYS_add_key case SYS_add_key : return "add_key"; #endif #ifdef SYS_adjtimex case SYS_adjtimex : return "adjtimex"; #endif #ifdef SYS_afs_syscall case SYS_afs_syscall : return "afs_syscall"; #endif #ifdef SYS_alarm case SYS_alarm : return "alarm"; #endif #ifdef SYS_brk case SYS_brk : return "brk"; #endif #ifdef SYS_capget case SYS_capget : return "capget"; #endif #ifdef SYS_capset case SYS_capset : return "capset"; #endif #ifdef SYS_chdir case SYS_chdir : return "chdir"; #endif #ifdef SYS_chmod case SYS_chmod : return "chmod"; #endif #ifdef SYS_chown case SYS_chown : return "chown"; #endif #ifdef SYS_chroot case SYS_chroot : return "chroot"; #endif #ifdef SYS_clock_getres case SYS_clock_getres : return "clock_getres"; #endif #ifdef SYS_clock_gettime case SYS_clock_gettime : return "clock_gettime"; #endif #ifdef SYS_clock_nanosleep case SYS_clock_nanosleep : return "clock_nanosleep"; #endif #ifdef SYS_clock_settime case SYS_clock_settime : return "clock_settime"; #endif #ifdef SYS_clone case SYS_clone : return "clone"; #endif #ifdef SYS_close case SYS_close : return "close"; #endif #ifdef SYS_creat case SYS_creat : return "creat"; #endif #ifdef SYS_create_module case SYS_create_module : return "create_module"; #endif #ifdef SYS_delete_module case SYS_delete_module : return "delete_module"; #endif #ifdef SYS_dup case SYS_dup : return "dup"; #endif #ifdef SYS_dup2 case SYS_dup2 : return "dup2"; #endif #ifdef SYS_epoll_create case SYS_epoll_create : return "epoll_create"; #endif #ifdef SYS_epoll_ctl case SYS_epoll_ctl : return "epoll_ctl"; #endif #ifdef SYS_epoll_pwait case SYS_epoll_pwait : return "epoll_pwait"; #endif #ifdef SYS_epoll_wait case SYS_epoll_wait : return "epoll_wait"; #endif #ifdef SYS_eventfd case SYS_eventfd : return "eventfd"; #endif #ifdef SYS_execve case SYS_execve : return "execve"; #endif #ifdef SYS_exit case SYS_exit : return "exit"; #endif #ifdef SYS_exit_group case SYS_exit_group : return "exit_group"; #endif #ifdef SYS_faccessat case SYS_faccessat : return "faccessat"; #endif #ifdef SYS_fadvise64 case SYS_fadvise64 : return "fadvise64"; #endif #ifdef SYS_fallocate case SYS_fallocate : return "fallocate"; #endif #ifdef SYS_fchdir case SYS_fchdir : return "fchdir"; #endif #ifdef SYS_fchmod case SYS_fchmod : return "fchmod"; #endif #ifdef SYS_fchmodat case SYS_fchmodat : return "fchmodat"; #endif #ifdef SYS_fchown case SYS_fchown : return "fchown"; #endif #ifdef SYS_fchownat case SYS_fchownat : return "fchownat"; #endif #ifdef SYS_fcntl case SYS_fcntl : return "fcntl"; #endif #ifdef SYS_fdatasync case SYS_fdatasync : return "fdatasync"; #endif #ifdef SYS_fgetxattr case SYS_fgetxattr : return "fgetxattr"; #endif #ifdef SYS_flistxattr case SYS_flistxattr : return "flistxattr"; #endif #ifdef SYS_flock case SYS_flock : return "flock"; #endif #ifdef SYS_fork case SYS_fork : return "fork"; #endif #ifdef SYS_fremovexattr case SYS_fremovexattr : return "fremovexattr"; #endif #ifdef SYS_fsetxattr case SYS_fsetxattr : return "fsetxattr"; #endif #ifdef SYS_fstat case SYS_fstat : return "fstat"; #endif #ifdef SYS_fstatfs case SYS_fstatfs : return "fstatfs"; #endif #ifdef SYS_fsync case SYS_fsync : return "fsync"; #endif #ifdef SYS_ftruncate case SYS_ftruncate : return "ftruncate"; #endif #ifdef SYS_futex case SYS_futex : return "futex"; #endif #ifdef SYS_futimesat case SYS_futimesat : return "futimesat"; #endif #ifdef SYS_get_kernel_syms case SYS_get_kernel_syms : return "get_kernel_syms"; #endif #ifdef SYS_get_mempolicy case SYS_get_mempolicy : return "get_mempolicy"; #endif #ifdef SYS_get_robust_list case SYS_get_robust_list : return "get_robust_list"; #endif #ifdef SYS_get_thread_area case SYS_get_thread_area : return "get_thread_area"; #endif #ifdef SYS_getcwd case SYS_getcwd : return "getcwd"; #endif #ifdef SYS_getdents case SYS_getdents : return "getdents"; #endif #ifdef SYS_getdents64 case SYS_getdents64 : return "getdents64"; #endif #ifdef SYS_getegid case SYS_getegid : return "getegid"; #endif #ifdef SYS_geteuid case SYS_geteuid : return "geteuid"; #endif #ifdef SYS_getgid case SYS_getgid : return "getgid"; #endif #ifdef SYS_getgroups case SYS_getgroups : return "getgroups"; #endif #ifdef SYS_getitimer case SYS_getitimer : return "getitimer"; #endif #ifdef SYS_getpgid case SYS_getpgid : return "getpgid"; #endif #ifdef SYS_getpgrp case SYS_getpgrp : return "getpgrp"; #endif #ifdef SYS_getpid case SYS_getpid : return "getpid"; #endif #ifdef SYS_getpmsg case SYS_getpmsg : return "getpmsg"; #endif #ifdef SYS_getppid case SYS_getppid : return "getppid"; #endif #ifdef SYS_getpriority case SYS_getpriority : return "getpriority"; #endif #ifdef SYS_getresgid case SYS_getresgid : return "getresgid"; #endif #ifdef SYS_getresuid case SYS_getresuid : return "getresuid"; #endif #ifdef SYS_getrlimit case SYS_getrlimit : return "getrlimit"; #endif #ifdef SYS_getrusage case SYS_getrusage : return "getrusage"; #endif #ifdef SYS_getsid case SYS_getsid : return "getsid"; #endif #ifdef SYS_gettid case SYS_gettid : return "gettid"; #endif #ifdef SYS_gettimeofday case SYS_gettimeofday : return "gettimeofday"; #endif #ifdef SYS_getuid case SYS_getuid : return "getuid"; #endif #ifdef SYS_getxattr case SYS_getxattr : return "getxattr"; #endif #ifdef SYS_init_module case SYS_init_module : return "init_module"; #endif #ifdef SYS_inotify_add_watch case SYS_inotify_add_watch : return "inotify_add_watch"; #endif #ifdef SYS_inotify_init case SYS_inotify_init : return "inotify_init"; #endif #ifdef SYS_inotify_rm_watch case SYS_inotify_rm_watch : return "inotify_rm_watch"; #endif #ifdef SYS_io_cancel case SYS_io_cancel : return "io_cancel"; #endif #ifdef SYS_io_destroy case SYS_io_destroy : return "io_destroy"; #endif #ifdef SYS_io_getevents case SYS_io_getevents : return "io_getevents"; #endif #ifdef SYS_io_setup case SYS_io_setup : return "io_setup"; #endif #ifdef SYS_io_submit case SYS_io_submit : return "io_submit"; #endif #ifdef SYS_ioctl case SYS_ioctl : return "ioctl"; #endif #ifdef SYS_ioperm case SYS_ioperm : return "ioperm"; #endif #ifdef SYS_iopl case SYS_iopl : return "iopl"; #endif #ifdef SYS_ioprio_get case SYS_ioprio_get : return "ioprio_get"; #endif #ifdef SYS_ioprio_set case SYS_ioprio_set : return "ioprio_set"; #endif #ifdef SYS_kexec_load case SYS_kexec_load : return "kexec_load"; #endif #ifdef SYS_keyctl case SYS_keyctl : return "keyctl"; #endif #ifdef SYS_kill case SYS_kill : return "kill"; #endif #ifdef SYS_lchown case SYS_lchown : return "lchown"; #endif #ifdef SYS_lgetxattr case SYS_lgetxattr : return "lgetxattr"; #endif #ifdef SYS_link case SYS_link : return "link"; #endif #ifdef SYS_linkat case SYS_linkat : return "linkat"; #endif #ifdef SYS_listxattr case SYS_listxattr : return "listxattr"; #endif #ifdef SYS_llistxattr case SYS_llistxattr : return "llistxattr"; #endif #ifdef SYS_lookup_dcookie case SYS_lookup_dcookie : return "lookup_dcookie"; #endif #ifdef SYS_lremovexattr case SYS_lremovexattr : return "lremovexattr"; #endif #ifdef SYS_lseek case SYS_lseek : return "lseek"; #endif #ifdef SYS_lsetxattr case SYS_lsetxattr : return "lsetxattr"; #endif #ifdef SYS_lstat case SYS_lstat : return "lstat"; #endif #ifdef SYS_madvise case SYS_madvise : return "madvise"; #endif #ifdef SYS_mbind case SYS_mbind : return "mbind"; #endif #ifdef SYS_migrate_pages case SYS_migrate_pages : return "migrate_pages"; #endif #ifdef SYS_mincore case SYS_mincore : return "mincore"; #endif #ifdef SYS_mkdir case SYS_mkdir : return "mkdir"; #endif #ifdef SYS_mkdirat case SYS_mkdirat : return "mkdirat"; #endif #ifdef SYS_mknod case SYS_mknod : return "mknod"; #endif #ifdef SYS_mknodat case SYS_mknodat : return "mknodat"; #endif #ifdef SYS_mlock case SYS_mlock : return "mlock"; #endif #ifdef SYS_mlockall case SYS_mlockall : return "mlockall"; #endif #ifdef SYS_mmap case SYS_mmap : return "mmap"; #endif #ifdef SYS_modify_ldt case SYS_modify_ldt : return "modify_ldt"; #endif #ifdef SYS_mount case SYS_mount : return "mount"; #endif #ifdef SYS_move_pages case SYS_move_pages : return "move_pages"; #endif #ifdef SYS_mprotect case SYS_mprotect : return "mprotect"; #endif #ifdef SYS_mq_getsetattr case SYS_mq_getsetattr : return "mq_getsetattr"; #endif #ifdef SYS_mq_notify case SYS_mq_notify : return "mq_notify"; #endif #ifdef SYS_mq_open case SYS_mq_open : return "mq_open"; #endif #ifdef SYS_mq_timedreceive case SYS_mq_timedreceive : return "mq_timedreceive"; #endif #ifdef SYS_mq_timedsend case SYS_mq_timedsend : return "mq_timedsend"; #endif #ifdef SYS_mq_unlink case SYS_mq_unlink : return "mq_unlink"; #endif #ifdef SYS_mremap case SYS_mremap : return "mremap"; #endif #ifdef SYS_msync case SYS_msync : return "msync"; #endif #ifdef SYS_munlock case SYS_munlock : return "munlock"; #endif #ifdef SYS_munlockall case SYS_munlockall : return "munlockall"; #endif #ifdef SYS_munmap case SYS_munmap : return "munmap"; #endif #ifdef SYS_nanosleep case SYS_nanosleep : return "nanosleep"; #endif #ifdef SYS_nfsservctl case SYS_nfsservctl : return "nfsservctl"; #endif #ifdef SYS_open case SYS_open : return "open"; #endif #ifdef SYS_openat case SYS_openat : return "openat"; #endif #ifdef SYS_pause case SYS_pause : return "pause"; #endif #ifdef SYS_personality case SYS_personality : return "personality"; #endif #ifdef SYS_pipe case SYS_pipe : return "pipe"; #endif #ifdef SYS_pivot_root case SYS_pivot_root : return "pivot_root"; #endif #ifdef SYS_poll case SYS_poll : return "poll"; #endif #ifdef SYS_ppoll case SYS_ppoll : return "ppoll"; #endif #ifdef SYS_prctl case SYS_prctl : return "prctl"; #endif #ifdef SYS_pread64 case SYS_pread64 : return "pread64"; #endif #ifdef SYS_pselect6 case SYS_pselect6 : return "pselect6"; #endif #ifdef SYS_ptrace case SYS_ptrace : return "ptrace"; #endif #ifdef SYS_putpmsg case SYS_putpmsg : return "putpmsg"; #endif #ifdef SYS_pwrite64 case SYS_pwrite64 : return "pwrite64"; #endif #ifdef SYS_query_module case SYS_query_module : return "query_module"; #endif #ifdef SYS_quotactl case SYS_quotactl : return "quotactl"; #endif #ifdef SYS_read case SYS_read : return "read"; #endif #ifdef SYS_readahead case SYS_readahead : return "readahead"; #endif #ifdef SYS_readlink case SYS_readlink : return "readlink"; #endif #ifdef SYS_readlinkat case SYS_readlinkat : return "readlinkat"; #endif #ifdef SYS_readv case SYS_readv : return "readv"; #endif #ifdef SYS_reboot case SYS_reboot : return "reboot"; #endif #ifdef SYS_remap_file_pages case SYS_remap_file_pages : return "remap_file_pages"; #endif #ifdef SYS_removexattr case SYS_removexattr : return "removexattr"; #endif #ifdef SYS_rename case SYS_rename : return "rename"; #endif #ifdef SYS_renameat case SYS_renameat : return "renameat"; #endif #ifdef SYS_request_key case SYS_request_key : return "request_key"; #endif #ifdef SYS_restart_syscall case SYS_restart_syscall : return "restart_syscall"; #endif #ifdef SYS_rmdir case SYS_rmdir : return "rmdir"; #endif #ifdef SYS_rt_sigaction case SYS_rt_sigaction : return "rt_sigaction"; #endif #ifdef SYS_rt_sigpending case SYS_rt_sigpending : return "rt_sigpending"; #endif #ifdef SYS_rt_sigprocmask case SYS_rt_sigprocmask : return "rt_sigprocmask"; #endif #ifdef SYS_rt_sigqueueinfo case SYS_rt_sigqueueinfo : return "rt_sigqueueinfo"; #endif #ifdef SYS_rt_sigreturn case SYS_rt_sigreturn : return "rt_sigreturn"; #endif #ifdef SYS_rt_sigsuspend case SYS_rt_sigsuspend : return "rt_sigsuspend"; #endif #ifdef SYS_rt_sigtimedwait case SYS_rt_sigtimedwait : return "rt_sigtimedwait"; #endif #ifdef SYS_sched_get_priority_max case SYS_sched_get_priority_max : return "sched_get_priority_max"; #endif #ifdef SYS_sched_get_priority_min case SYS_sched_get_priority_min : return "sched_get_priority_min"; #endif #ifdef SYS_sched_getaffinity case SYS_sched_getaffinity : return "sched_getaffinity"; #endif #ifdef SYS_sched_getparam case SYS_sched_getparam : return "sched_getparam"; #endif #ifdef SYS_sched_getscheduler case SYS_sched_getscheduler : return "sched_getscheduler"; #endif #ifdef SYS_sched_rr_get_interval case SYS_sched_rr_get_interval : return "sched_rr_get_interval"; #endif #ifdef SYS_sched_setaffinity case SYS_sched_setaffinity : return "sched_setaffinity"; #endif #ifdef SYS_sched_setparam case SYS_sched_setparam : return "sched_setparam"; #endif #ifdef SYS_sched_setscheduler case SYS_sched_setscheduler : return "sched_setscheduler"; #endif #ifdef SYS_sched_yield case SYS_sched_yield : return "sched_yield"; #endif #ifdef SYS_select case SYS_select : return "select"; #endif #ifdef SYS_sendfile case SYS_sendfile : return "sendfile"; #endif #ifdef SYS_set_mempolicy case SYS_set_mempolicy : return "set_mempolicy"; #endif #ifdef SYS_set_robust_list case SYS_set_robust_list : return "set_robust_list"; #endif #ifdef SYS_set_thread_area case SYS_set_thread_area : return "set_thread_area"; #endif #ifdef SYS_set_tid_address case SYS_set_tid_address : return "set_tid_address"; #endif #ifdef SYS_setdomainname case SYS_setdomainname : return "setdomainname"; #endif #ifdef SYS_setfsgid case SYS_setfsgid : return "setfsgid"; #endif #ifdef SYS_setfsuid case SYS_setfsuid : return "setfsuid"; #endif #ifdef SYS_setgid case SYS_setgid : return "setgid"; #endif #ifdef SYS_setgroups case SYS_setgroups : return "setgroups"; #endif #ifdef SYS_sethostname case SYS_sethostname : return "sethostname"; #endif #ifdef SYS_setitimer case SYS_setitimer : return "setitimer"; #endif #ifdef SYS_setpgid case SYS_setpgid : return "setpgid"; #endif #ifdef SYS_setpriority case SYS_setpriority : return "setpriority"; #endif #ifdef SYS_setregid case SYS_setregid : return "setregid"; #endif #ifdef SYS_setresgid case SYS_setresgid : return "setresgid"; #endif #ifdef SYS_setresuid case SYS_setresuid : return "setresuid"; #endif #ifdef SYS_setreuid case SYS_setreuid : return "setreuid"; #endif #ifdef SYS_setrlimit case SYS_setrlimit : return "setrlimit"; #endif #ifdef SYS_setsid case SYS_setsid : return "setsid"; #endif #ifdef SYS_settimeofday case SYS_settimeofday : return "settimeofday"; #endif #ifdef SYS_setuid case SYS_setuid : return "setuid"; #endif #ifdef SYS_setxattr case SYS_setxattr : return "setxattr"; #endif #ifdef SYS_sigaltstack case SYS_sigaltstack : return "sigaltstack"; #endif #ifdef SYS_signalfd case SYS_signalfd : return "signalfd"; #endif #ifdef SYS_splice case SYS_splice : return "splice"; #endif #ifdef SYS_stat case SYS_stat : return "stat"; #endif #ifdef SYS_statfs case SYS_statfs : return "statfs"; #endif #ifdef SYS_swapoff case SYS_swapoff : return "swapoff"; #endif #ifdef SYS_swapon case SYS_swapon : return "swapon"; #endif #ifdef SYS_symlink case SYS_symlink : return "symlink"; #endif #ifdef SYS_symlinkat case SYS_symlinkat : return "symlinkat"; #endif #ifdef SYS_sync case SYS_sync : return "sync"; #endif #ifdef SYS_sync_file_range case SYS_sync_file_range : return "sync_file_range"; #endif #ifdef SYS_sysfs case SYS_sysfs : return "sysfs"; #endif #ifdef SYS_sysinfo case SYS_sysinfo : return "sysinfo"; #endif #ifdef SYS_syslog case SYS_syslog : return "syslog"; #endif #ifdef SYS_tee case SYS_tee : return "tee"; #endif #ifdef SYS_tgkill case SYS_tgkill : return "tgkill"; #endif #ifdef SYS_time case SYS_time : return "time"; #endif #ifdef SYS_timer_create case SYS_timer_create : return "timer_create"; #endif #ifdef SYS_timer_delete case SYS_timer_delete : return "timer_delete"; #endif #ifdef SYS_timer_getoverrun case SYS_timer_getoverrun : return "timer_getoverrun"; #endif #ifdef SYS_timer_gettime case SYS_timer_gettime : return "timer_gettime"; #endif #ifdef SYS_timer_settime case SYS_timer_settime : return "timer_settime"; #endif #ifdef SYS_timerfd_create case SYS_timerfd_create : return "timerfd_create"; #endif #ifdef SYS_timerfd_gettime case SYS_timerfd_gettime : return "timerfd_gettime"; #endif #ifdef SYS_timerfd_settime case SYS_timerfd_settime : return "timerfd_settime"; #endif #ifdef SYS_times case SYS_times : return "times"; #endif #ifdef SYS_tkill case SYS_tkill : return "tkill"; #endif #ifdef SYS_truncate case SYS_truncate : return "truncate"; #endif #ifdef SYS_umask case SYS_umask : return "umask"; #endif #ifdef SYS_umount2 case SYS_umount2 : return "umount2"; #endif #ifdef SYS_uname case SYS_uname : return "uname"; #endif #ifdef SYS_unlink case SYS_unlink : return "unlink"; #endif #ifdef SYS_unlinkat case SYS_unlinkat : return "unlinkat"; #endif #ifdef SYS_unshare case SYS_unshare : return "unshare"; #endif #ifdef SYS_uselib case SYS_uselib : return "uselib"; #endif #ifdef SYS_ustat case SYS_ustat : return "ustat"; #endif #ifdef SYS_utime case SYS_utime : return "utime"; #endif #ifdef SYS_utimensat case SYS_utimensat : return "utimensat"; #endif #ifdef SYS_utimes case SYS_utimes : return "utimes"; #endif #ifdef SYS_vfork case SYS_vfork : return "vfork"; #endif #ifdef SYS_vhangup case SYS_vhangup : return "vhangup"; #endif #ifdef SYS_vmsplice case SYS_vmsplice : return "vmsplice"; #endif #ifdef SYS_vserver case SYS_vserver : return "vserver"; #endif #ifdef SYS_wait4 case SYS_wait4 : return "wait4"; #endif #ifdef SYS_waitid case SYS_waitid : return "waitid"; #endif #ifdef SYS_write case SYS_write : return "write"; #endif #ifdef SYS_writev case SYS_writev : return "writev"; #endif #ifdef SYS_accept case SYS_accept : return "accept"; #endif #ifdef SYS_arch_prctl case SYS_arch_prctl : return "arch_prctl"; #endif #ifdef SYS_bind case SYS_bind : return "bind"; #endif #ifdef SYS_connect case SYS_connect : return "connect"; #endif #ifdef SYS_epoll_ctl_old case SYS_epoll_ctl_old : return "epoll_ctl_old"; #endif #ifdef SYS_epoll_wait_old case SYS_epoll_wait_old : return "epoll_wait_old"; #endif #ifdef SYS_getpeername case SYS_getpeername : return "getpeername"; #endif #ifdef SYS_getsockname case SYS_getsockname : return "getsockname"; #endif #ifdef SYS_getsockopt case SYS_getsockopt : return "getsockopt"; #endif #ifdef SYS_listen case SYS_listen : return "listen"; #endif #ifdef SYS_msgctl case SYS_msgctl : return "msgctl"; #endif #ifdef SYS_msgget case SYS_msgget : return "msgget"; #endif #ifdef SYS_msgrcv case SYS_msgrcv : return "msgrcv"; #endif #ifdef SYS_msgsnd case SYS_msgsnd : return "msgsnd"; #endif #ifdef SYS_newfstatat case SYS_newfstatat : return "newfstatat"; #endif #ifdef SYS_recvfrom case SYS_recvfrom : return "recvfrom"; #endif #ifdef SYS_recvmsg case SYS_recvmsg : return "recvmsg"; #endif #ifdef SYS_security case SYS_security : return "security"; #endif #ifdef SYS_semctl case SYS_semctl : return "semctl"; #endif #ifdef SYS_semget case SYS_semget : return "semget"; #endif #ifdef SYS_semop case SYS_semop : return "semop"; #endif #ifdef SYS_semtimedop case SYS_semtimedop : return "semtimedop"; #endif #ifdef SYS_sendmsg case SYS_sendmsg : return "sendmsg"; #endif #ifdef SYS_sendto case SYS_sendto : return "sendto"; #endif #ifdef SYS_setsockopt case SYS_setsockopt : return "setsockopt"; #endif #ifdef SYS_shmat case SYS_shmat : return "shmat"; #endif #ifdef SYS_shmctl case SYS_shmctl : return "shmctl"; #endif #ifdef SYS_shmdt case SYS_shmdt : return "shmdt"; #endif #ifdef SYS_shmget case SYS_shmget : return "shmget"; #endif #ifdef SYS_shutdown case SYS_shutdown : return "shutdown"; #endif #ifdef SYS_socket case SYS_socket : return "socket"; #endif #ifdef SYS_socketpair case SYS_socketpair : return "socketpair"; #endif #ifdef SYS_tuxcall case SYS_tuxcall : return "tuxcall"; #endif #ifdef SYS__llseek case SYS__llseek : return "_llseek"; #endif #ifdef SYS__newselect case SYS__newselect : return "_newselect"; #endif #ifdef SYS_bdflush case SYS_bdflush : return "bdflush"; #endif #ifdef SYS_break case SYS_break : return "break"; #endif #ifdef SYS_chown32 case SYS_chown32 : return "chown32"; #endif #ifdef SYS_fadvise64_64 case SYS_fadvise64_64 : return "fadvise64_64"; #endif #ifdef SYS_fchown32 case SYS_fchown32 : return "fchown32"; #endif #ifdef SYS_fcntl64 case SYS_fcntl64 : return "fcntl64"; #endif #ifdef SYS_fstat64 case SYS_fstat64 : return "fstat64"; #endif #ifdef SYS_fstatat64 case SYS_fstatat64 : return "fstatat64"; #endif #ifdef SYS_fstatfs64 case SYS_fstatfs64 : return "fstatfs64"; #endif #ifdef SYS_ftime case SYS_ftime : return "ftime"; #endif #ifdef SYS_ftruncate64 case SYS_ftruncate64 : return "ftruncate64"; #endif #ifdef SYS_getcpu case SYS_getcpu : return "getcpu"; #endif #ifdef SYS_getegid32 case SYS_getegid32 : return "getegid32"; #endif #ifdef SYS_geteuid32 case SYS_geteuid32 : return "geteuid32"; #endif #ifdef SYS_getgid32 case SYS_getgid32 : return "getgid32"; #endif #ifdef SYS_getgroups32 case SYS_getgroups32 : return "getgroups32"; #endif #ifdef SYS_getresgid32 case SYS_getresgid32 : return "getresgid32"; #endif #ifdef SYS_getresuid32 case SYS_getresuid32 : return "getresuid32"; #endif #ifdef SYS_getuid32 case SYS_getuid32 : return "getuid32"; #endif #ifdef SYS_gtty case SYS_gtty : return "gtty"; #endif #ifdef SYS_idle case SYS_idle : return "idle"; #endif #ifdef SYS_ipc case SYS_ipc : return "ipc"; #endif #ifdef SYS_lchown32 case SYS_lchown32 : return "lchown32"; #endif #ifdef SYS_lock case SYS_lock : return "lock"; #endif #ifdef SYS_lstat64 case SYS_lstat64 : return "lstat64"; #endif #ifdef SYS_madvise1 case SYS_madvise1 : return "madvise1"; #endif #ifdef SYS_mmap2 case SYS_mmap2 : return "mmap2"; #endif #ifdef SYS_mpx case SYS_mpx : return "mpx"; #endif #ifdef SYS_nice case SYS_nice : return "nice"; #endif #ifdef SYS_oldfstat case SYS_oldfstat : return "oldfstat"; #endif #ifdef SYS_oldlstat case SYS_oldlstat : return "oldlstat"; #endif #ifdef SYS_oldolduname case SYS_oldolduname : return "oldolduname"; #endif #ifdef SYS_oldstat case SYS_oldstat : return "oldstat"; #endif #ifdef SYS_olduname case SYS_olduname : return "olduname"; #endif #ifdef SYS_prof case SYS_prof : return "prof"; #endif #ifdef SYS_profil case SYS_profil : return "profil"; #endif #ifdef SYS_readdir case SYS_readdir : return "readdir"; #endif #ifdef SYS_sendfile64 case SYS_sendfile64 : return "sendfile64"; #endif #ifdef SYS_setfsgid32 case SYS_setfsgid32 : return "setfsgid32"; #endif #ifdef SYS_setfsuid32 case SYS_setfsuid32 : return "setfsuid32"; #endif #ifdef SYS_setgid32 case SYS_setgid32 : return "setgid32"; #endif #ifdef SYS_setgroups32 case SYS_setgroups32 : return "setgroups32"; #endif #ifdef SYS_setregid32 case SYS_setregid32 : return "setregid32"; #endif #ifdef SYS_setresgid32 case SYS_setresgid32 : return "setresgid32"; #endif #ifdef SYS_setresuid32 case SYS_setresuid32 : return "setresuid32"; #endif #ifdef SYS_setreuid32 case SYS_setreuid32 : return "setreuid32"; #endif #ifdef SYS_setuid32 case SYS_setuid32 : return "setuid32"; #endif #ifdef SYS_sgetmask case SYS_sgetmask : return "sgetmask"; #endif #ifdef SYS_sigaction case SYS_sigaction : return "sigaction"; #endif #ifdef SYS_signal case SYS_signal : return "signal"; #endif #ifdef SYS_sigpending case SYS_sigpending : return "sigpending"; #endif #ifdef SYS_sigprocmask case SYS_sigprocmask : return "sigprocmask"; #endif #ifdef SYS_sigreturn case SYS_sigreturn : return "sigreturn"; #endif #ifdef SYS_sigsuspend case SYS_sigsuspend : return "sigsuspend"; #endif #ifdef SYS_socketcall case SYS_socketcall : return "socketcall"; #endif #ifdef SYS_ssetmask case SYS_ssetmask : return "ssetmask"; #endif #ifdef SYS_stat64 case SYS_stat64 : return "stat64"; #endif #ifdef SYS_statfs64 case SYS_statfs64 : return "statfs64"; #endif #ifdef SYS_stime case SYS_stime : return "stime"; #endif #ifdef SYS_stty case SYS_stty : return "stty"; #endif #ifdef SYS_truncate64 case SYS_truncate64 : return "truncate64"; #endif #ifdef SYS_ugetrlimit case SYS_ugetrlimit : return "ugetrlimit"; #endif #ifdef SYS_ulimit case SYS_ulimit : return "ulimit"; #endif #ifdef SYS_umount case SYS_umount : return "umount"; #endif #ifdef SYS_vm86 case SYS_vm86 : return "vm86"; #endif #ifdef SYS_vm86old case SYS_vm86old : return "vm86old"; #endif #ifdef SYS_waitpid case SYS_waitpid : return "waitpid"; #endif default: return "unknown"; } }