Skip to content

Instantly share code, notes, and snippets.

@willb
Created October 3, 2008 01:57
Show Gist options
  • Save willb/14488 to your computer and use it in GitHub Desktop.
Save willb/14488 to your computer and use it in GitHub Desktop.
This is some example code showing how to use the ptrace system call under Linux to trace the system calls of a child process.
/*
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 <sys/ptrace.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/user.h>
#include <syscall.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
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, &regs);
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";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment