/* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */ /* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */ /* Copyright (C) 2014 Stony Brook University This file is part of Graphene Library OS. Graphene Library OS is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Graphene Library OS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . */ /* * shim_table.c * * This file contains the system call table used by application libraries. */ #include #include void debug_unsupp (int num){ debug ("Unsupported system call %d\n", num); } shim_fp shim_table [LIBOS_SYSCALL_BOUND] = { (shim_fp) __shim_read, (shim_fp) __shim_write, (shim_fp) __shim_open, (shim_fp) __shim_close, (shim_fp) __shim_stat, (shim_fp) __shim_fstat, (shim_fp) __shim_lstat, (shim_fp) __shim_poll, (shim_fp) __shim_lseek, (shim_fp) __shim_mmap, (shim_fp) __shim_mprotect, (shim_fp) __shim_munmap, (shim_fp) __shim_brk, (shim_fp) __shim_rt_sigaction, (shim_fp) __shim_rt_sigprocmask, (shim_fp) __shim_rt_sigreturn, (shim_fp) __shim_ioctl, (shim_fp) __shim_pread64, (shim_fp) __shim_pwrite64, (shim_fp) __shim_readv, (shim_fp) __shim_writev, (shim_fp) __shim_access, (shim_fp) __shim_pipe, (shim_fp) __shim_select, (shim_fp) __shim_sched_yield, (shim_fp) __shim_mremap, (shim_fp) __shim_msync, (shim_fp) __shim_mincore, (shim_fp) __shim_madvise, (shim_fp) __shim_shmget, (shim_fp) __shim_shmat, (shim_fp) __shim_shmctl, (shim_fp) __shim_dup, (shim_fp) __shim_dup2, (shim_fp) __shim_pause, (shim_fp) __shim_nanosleep, (shim_fp) __shim_getitimer, (shim_fp) __shim_alarm, (shim_fp) __shim_setitimer, (shim_fp) __shim_getpid, (shim_fp) __shim_sendfile, (shim_fp) __shim_socket, (shim_fp) __shim_connect, (shim_fp) __shim_accept, (shim_fp) __shim_sendto, (shim_fp) __shim_recvfrom, (shim_fp) __shim_sendmsg, (shim_fp) __shim_recvmsg, (shim_fp) __shim_shutdown, (shim_fp) __shim_bind, (shim_fp) __shim_listen, (shim_fp) __shim_getsockname, (shim_fp) __shim_getpeername, (shim_fp) __shim_socketpair, (shim_fp) __shim_setsockopt, (shim_fp) __shim_getsockopt, (shim_fp) __shim_clone, (shim_fp) __shim_fork, (shim_fp) __shim_vfork, (shim_fp) __shim_execve, (shim_fp) __shim_exit, (shim_fp) __shim_wait4, (shim_fp) __shim_kill, (shim_fp) __shim_uname, (shim_fp) __shim_semget, (shim_fp) __shim_semop, (shim_fp) __shim_semctl, (shim_fp) __shim_shmdt, (shim_fp) __shim_msgget, (shim_fp) __shim_msgsnd, (shim_fp) __shim_msgrcv, (shim_fp) __shim_msgctl, (shim_fp) __shim_fcntl, (shim_fp) __shim_flock, (shim_fp) __shim_fsync, (shim_fp) __shim_fdatasync, (shim_fp) __shim_truncate, (shim_fp) __shim_ftruncate, (shim_fp) __shim_getdents, (shim_fp) __shim_getcwd, (shim_fp) __shim_chdir, (shim_fp) __shim_fchdir, (shim_fp) __shim_rename, (shim_fp) __shim_mkdir, (shim_fp) __shim_rmdir, (shim_fp) __shim_creat, (shim_fp) __shim_link, (shim_fp) __shim_unlink, (shim_fp) __shim_symlink, (shim_fp) __shim_readlink, (shim_fp) __shim_chmod, (shim_fp) __shim_fchmod, (shim_fp) __shim_chown, (shim_fp) __shim_fchown, (shim_fp) __shim_lchown, (shim_fp) __shim_umask, (shim_fp) __shim_gettimeofday, (shim_fp) __shim_getrlimit, (shim_fp) __shim_getrusage, (shim_fp) __shim_sysinfo, (shim_fp) __shim_times, (shim_fp) __shim_ptrace, (shim_fp) __shim_getuid, (shim_fp) __shim_syslog, (shim_fp) __shim_getgid, (shim_fp) __shim_setuid, (shim_fp) __shim_setgid, (shim_fp) __shim_geteuid, (shim_fp) __shim_getegid, (shim_fp) __shim_setpgid, (shim_fp) __shim_getppid, (shim_fp) __shim_getpgrp, (shim_fp) __shim_setsid, (shim_fp) __shim_setreuid, (shim_fp) __shim_setregid, (shim_fp) __shim_getgroups, (shim_fp) __shim_setgroups, (shim_fp) __shim_setresuid, (shim_fp) __shim_getresuid, (shim_fp) __shim_setresgid, (shim_fp) __shim_getresgid, (shim_fp) __shim_getpgid, (shim_fp) __shim_setfsuid, (shim_fp) __shim_setfsgid, (shim_fp) __shim_getsid, (shim_fp) __shim_capget, (shim_fp) __shim_capset, (shim_fp) __shim_rt_sigpending, (shim_fp) __shim_rt_sigtimedwait, (shim_fp) __shim_rt_sigqueueinfo, (shim_fp) __shim_rt_sigsuspend, (shim_fp) __shim_sigaltstack, (shim_fp) __shim_utime, (shim_fp) __shim_mknod, (shim_fp) __shim_uselib, (shim_fp) __shim_personality, (shim_fp) __shim_ustat, (shim_fp) __shim_statfs, (shim_fp) __shim_fstatfs, (shim_fp) __shim_sysfs, (shim_fp) __shim_getpriority, (shim_fp) __shim_setpriority, (shim_fp) __shim_sched_setparam, (shim_fp) __shim_sched_getparam, (shim_fp) __shim_sched_setscheduler, (shim_fp) __shim_sched_getscheduler, (shim_fp) __shim_sched_get_priority_max, (shim_fp) __shim_sched_get_priority_min, (shim_fp) __shim_sched_rr_get_interval, (shim_fp) __shim_mlock, (shim_fp) __shim_munlock, (shim_fp) __shim_mlockall, (shim_fp) __shim_munlockall, (shim_fp) __shim_vhangup, (shim_fp) __shim_modify_ldt, (shim_fp) __shim_pivot_root, (shim_fp) __shim__sysctl, (shim_fp) __shim_prctl, (shim_fp) __shim_arch_prctl, (shim_fp) __shim_adjtimex, (shim_fp) __shim_setrlimit, (shim_fp) __shim_chroot, (shim_fp) __shim_sync, (shim_fp) __shim_acct, (shim_fp) __shim_settimeofday, (shim_fp) __shim_mount, (shim_fp) __shim_umount2, (shim_fp) __shim_swapon, (shim_fp) __shim_swapoff, (shim_fp) __shim_reboot, (shim_fp) __shim_sethostname, (shim_fp) __shim_setdomainname, (shim_fp) __shim_iopl, (shim_fp) __shim_ioperm, (shim_fp) __shim_create_module, (shim_fp) __shim_init_module, (shim_fp) __shim_delete_module, (shim_fp) 0, // shim_get_kernel_syms, (shim_fp) __shim_query_module, (shim_fp) __shim_quotactl, (shim_fp) 0, // shim_nfsservctl, (shim_fp) 0, // shim_getpmsg, (shim_fp) 0, // shim_putpmsg, (shim_fp) 0, // shim_afs_syscall, (shim_fp) 0, // shim_tuxcall, (shim_fp) 0, // shim_security, (shim_fp) __shim_gettid, (shim_fp) __shim_readahead, (shim_fp) __shim_setxattr, (shim_fp) __shim_lsetxattr, (shim_fp) __shim_fsetxattr, (shim_fp) __shim_getxattr, (shim_fp) __shim_lgetxattr, (shim_fp) __shim_fgetxattr, (shim_fp) __shim_listxattr, (shim_fp) __shim_llistxattr, (shim_fp) __shim_flistxattr, (shim_fp) __shim_removexattr, (shim_fp) __shim_lremovexattr, (shim_fp) __shim_fremovexattr, (shim_fp) __shim_tkill, (shim_fp) __shim_time, (shim_fp) __shim_futex, (shim_fp) __shim_sched_setaffinity, (shim_fp) __shim_sched_getaffinity, (shim_fp) __shim_set_thread_area, (shim_fp) __shim_io_setup, (shim_fp) __shim_io_destroy, (shim_fp) __shim_io_getevents, (shim_fp) __shim_io_submit, (shim_fp) __shim_io_cancel, (shim_fp) __shim_get_thread_area, (shim_fp) __shim_lookup_dcookie, (shim_fp) __shim_epoll_create, (shim_fp) 0, // shim_epoll_ctl_old, (shim_fp) 0, // shim_epoll_wait_old, (shim_fp) __shim_remap_file_pages, (shim_fp) __shim_getdents64, (shim_fp) __shim_set_tid_address, (shim_fp) __shim_restart_syscall, (shim_fp) __shim_semtimedop, (shim_fp) __shim_fadvise64, (shim_fp) __shim_timer_create, (shim_fp) __shim_timer_settime, (shim_fp) __shim_timer_gettime, (shim_fp) __shim_timer_getoverrun, (shim_fp) __shim_timer_delete, (shim_fp) __shim_clock_settime, (shim_fp) __shim_clock_gettime, (shim_fp) __shim_clock_getres, (shim_fp) __shim_clock_nanosleep, (shim_fp) __shim_exit_group, (shim_fp) __shim_epoll_wait, (shim_fp) __shim_epoll_ctl, (shim_fp) __shim_tgkill, (shim_fp) __shim_utimes, (shim_fp) 0, // shim_vserver, (shim_fp) __shim_mbind, (shim_fp) __shim_set_mempolicy, (shim_fp) __shim_get_mempolicy, (shim_fp) __shim_mq_open, (shim_fp) __shim_mq_unlink, (shim_fp) __shim_mq_timedsend, (shim_fp) __shim_mq_timedreceive, (shim_fp) __shim_mq_notify, (shim_fp) __shim_mq_getsetattr, (shim_fp) 0, // shim_kexec_load, (shim_fp) __shim_waitid, (shim_fp) 0, // shim_add_key, (shim_fp) 0, // shim_request_key, (shim_fp) 0, // shim_keyctl, (shim_fp) __shim_ioprio_set, (shim_fp) __shim_ioprio_get, (shim_fp) __shim_inotify_init, (shim_fp) __shim_inotify_add_watch, (shim_fp) __shim_inotify_rm_watch, (shim_fp) __shim_migrate_pages, (shim_fp) __shim_openat, (shim_fp) __shim_mkdirat, (shim_fp) __shim_mknodat, (shim_fp) __shim_fchownat, (shim_fp) __shim_futimesat, (shim_fp) __shim_newfstatat, (shim_fp) __shim_unlinkat, (shim_fp) __shim_renameat, (shim_fp) __shim_linkat, (shim_fp) __shim_symlinkat, (shim_fp) __shim_readlinkat, (shim_fp) __shim_fchmodat, (shim_fp) __shim_faccessat, (shim_fp) __shim_pselect6, (shim_fp) __shim_ppoll, (shim_fp) __shim_unshare, (shim_fp) __shim_set_robust_list, (shim_fp) __shim_get_robust_list, (shim_fp) __shim_splice, (shim_fp) __shim_tee, (shim_fp) __shim_sync_file_range, (shim_fp) __shim_vmsplice, (shim_fp) __shim_move_pages, (shim_fp) __shim_utimensat, (shim_fp) __shim_epoll_pwait, (shim_fp) __shim_signalfd, (shim_fp) __shim_timerfd_create, (shim_fp) __shim_eventfd, (shim_fp) __shim_fallocate, (shim_fp) __shim_timerfd_settime, (shim_fp) __shim_timerfd_gettime, (shim_fp) __shim_accept4, (shim_fp) __shim_signalfd4, (shim_fp) __shim_eventfd2, (shim_fp) __shim_epoll_create1, (shim_fp) __shim_dup3, (shim_fp) __shim_pipe2, (shim_fp) __shim_inotify_init1, (shim_fp) __shim_preadv, (shim_fp) __shim_pwritev, (shim_fp) __shim_rt_tgsigqueueinfo, (shim_fp) __shim_perf_event_open, (shim_fp) __shim_recvmmsg, (shim_fp) __shim_fanotify_init, (shim_fp) __shim_fanotify_mark, (shim_fp) __shim_prlimit64, (shim_fp) __shim_name_to_handle_at, (shim_fp) __shim_open_by_handle_at, (shim_fp) __shim_clock_adjtime, (shim_fp) __shim_syncfs, (shim_fp) __shim_sendmmsg, (shim_fp) __shim_setns, (shim_fp) __shim_getcpu, [LIBOS_SYSCALL_BASE] = (shim_fp) NULL, (shim_fp) __shim_sandbox_create, /* 303 */ (shim_fp) __shim_sandbox_attach, /* 304 */ (shim_fp) __shim_sandbox_current, /* 305 */ (shim_fp) __shim_msgpersist, /* 306 */ (shim_fp) __shim_benchmark_rpc, /* 307 */ (shim_fp) __shim_send_rpc, /* 308 */ (shim_fp) __shim_recv_rpc, /* 309 */ (shim_fp) __shim_checkpoint, /* 310 */ };