Skip to content

Instantly share code, notes, and snippets.

@Unam3dd
Created May 30, 2023 16:43
Show Gist options
  • Save Unam3dd/4f7342e98bf82c4dd9c571294cf35f13 to your computer and use it in GitHub Desktop.
Save Unam3dd/4f7342e98bf82c4dd9c571294cf35f13 to your computer and use it in GitHub Desktop.
Vostrok Syscall header
#ifndef VS_SYSCALL_H
#define VS_SYSCALL_H
/////////////////////////////
//
// TYPEDEFS
//
/////////////////////////////
typedef enum vs_sysnb_t vs_sysnb_t;
#if defined(__x86_64) || defined(__x86_64__)
typedef long vs_sys_ret_t;
typedef unsigned long vs_sys_nr_t;
typedef unsigned long vs_sys_reg_t;
#else
typedef int vs_sys_ret_t;
typedef unsigned int vs_sys_nr_t;
typedef unsigned int vs_sys_reg_t;
#endif
/////////////////////////////
//
// ENUM
//
/////////////////////////////
enum vs_sysnb_t
{
#if defined(__x86_64) || defined(__x86_64__)
VS_SYS_READ,
VS_SYS_WRITE,
VS_SYS_OPEN,
VS_SYS_CLOSE,
VS_SYS_STAT,
VS_SYS_FSTAT,
VS_SYS_LSTAT,
VS_SYS_POLL,
VS_SYS_LSEEK,
VS_SYS_MMAP,
VS_SYS_MPROTECT,
VS_SYS_MUNMAP,
VS_SYS_BRK,
VS_SYS_RT_SIGACTION,
VS_SYS_RT_SIGPROCMASK,
VS_SYS_RT_SIGRETURN,
VS_SYS_IOCTL,
VS_SYS_PREAD64,
VS_SYS_PWRITE64,
VS_SYS_READV,
VS_SYS_WRITEV,
VS_SYS_ACCESS,
VS_SYS_PIPE,
VS_SYS_SELECT,
VS_SYS_SCHED_YIELD,
VS_SYS_MREMAP,
VS_SYS_MSYNC,
VS_SYS_MINCORE,
VS_SYS_MADVISE,
VS_SYS_SHMGET,
VS_SYS_SHMAT,
VS_SYS_SHMCTL,
VS_SYS_DUP,
VS_SYS_DUP2,
VS_SYS_PAUSE,
VS_SYS_NANOSLEEP,
VS_SYS_GETITIMER,
VS_SYS_ALARM,
VS_SYS_SETITIMER,
VS_SYS_GETPID,
VS_SYS_SENDFILE,
VS_SYS_SOCKET,
VS_SYS_CONNECT,
VS_SYS_ACCEPT,
VS_SYS_SENDTO,
VS_SYS_RECVFROM,
VS_SYS_SENDMSG,
VS_SYS_RECVMSG,
VS_SYS_SHUTDOWN,
VS_SYS_BIND,
VS_SYS_LISTEN,
VS_SYS_GETSOCKNAME,
VS_SYS_GETPEERNAME,
VS_SYS_SOCKETPAIR,
VS_SYS_SETSOCKOPT,
VS_SYS_GETSOCKOPT,
VS_SYS_CLONE,
VS_SYS_FORK,
VS_SYS_VFORK,
VS_SYS_EXECVE,
VS_SYS_EXIT,
VS_SYS_WAIT4,
VS_SYS_KILL,
VS_SYS_UNAME,
VS_SYS_SEMGET,
VS_SYS_SEMOP,
VS_SYS_SEMCTL,
VS_SYS_SHMDT,
VS_SYS_MSGGET,
VS_SYS_MSGSND,
VS_SYS_MSGRCV,
VS_SYS_MSGCTL,
VS_SYS_FCNTL,
VS_SYS_FLOCK,
VS_SYS_FSYNC,
VS_SYS_FDATASYNC,
VS_SYS_TRUNCATE,
VS_SYS_FTRUNCATE,
VS_SYS_GETDENTS,
VS_SYS_GETCWD,
VS_SYS_CHDIR,
VS_SYS_FCHDIR,
VS_SYS_RENAME,
VS_SYS_MKDIR,
VS_SYS_RMDIR,
VS_SYS_CREAT,
VS_SYS_LINK,
VS_SYS_UNLINK,
VS_SYS_SYMLINK,
VS_SYS_READLINK,
VS_SYS_CHMOD,
VS_SYS_FCHMOD,
VS_SYS_CHOWN,
VS_SYS_FCHOWN,
VS_SYS_LCHOWN,
VS_SYS_UMASK,
VS_SYS_GETTIMEOFDAY,
VS_SYS_GETRLIMIT,
VS_SYS_GETRUSAGE,
VS_SYS_SYSINFO,
VS_SYS_TIMES,
VS_SYS_PTRACE,
VS_SYS_GETUID,
VS_SYS_SYSLOG,
VS_SYS_GETGID,
VS_SYS_SETUID,
VS_SYS_SETGID,
VS_SYS_GETEUID,
VS_SYS_GETEGID,
VS_SYS_SETPGID,
VS_SYS_GETPPID,
VS_SYS_GETPGRP,
VS_SYS_SETSID,
VS_SYS_SETREUID,
VS_SYS_SETREGID,
VS_SYS_GETGROUPS,
VS_SYS_SETGROUPS,
VS_SYS_SETRESUID,
VS_SYS_GETRESUID,
VS_SYS_SETRESGID,
VS_SYS_GETPGID,
VS_SYS_SETFSUID,
VS_SYS_SETFSGID,
VS_SYS_GETSID,
VS_SYS_CAPGET,
VS_SYS_CAPSET,
VS_SYS_RT_SIGPENDING,
VS_SYS_RT_SIGTIMEDWAIT,
VS_SYS_RT_SIGQUEUEINFO,
VS_SYS_RT_SIGSUSPEND,
VS_SYS_RT_SIGALTSTACK,
VS_SYS_UTIME,
VS_SYS_MKNOD,
VS_SYS_USELIB,
VS_SYS_PERSONALITY,
VS_SYS_USTAT,
VS_SYS_STATFS,
VS_SYS_FSTATFS,
VS_SYS_SYSFS,
VS_SYS_GETPRIORITY,
VS_SYS_SETPRIORITY,
VS_SYS_SCHED_SETPARAM,
VS_SYS_SCHED_GETPARAM,
VS_SYS_SCHED_SETSCHEDULER,
VS_SYS_SCHED_GETSCHEDULER,
VS_SYS_SCHED_GET_PRIORITY_MAX,
VS_SYS_SCHED_GET_PRIORITY_MIN,
VS_SYS_SCHED_RR_GET_INTERVAL,
VS_SYS_MLOCK,
VS_SYS_MUNLOCK,
VS_SYS_MLOCKALL,
VS_SYS_MUNLOCKALL,
VS_SYS_VHANGUP,
VS_SYS_MODIFY_LDT,
VS_SYS_PIVOT_ROOT,
VS_SYS_SYSCTL,
VS_SYS_PRCTL,
VS_SYS_ARCH_PRCTL,
VS_SYS_ADJTIMEX,
VS_SYS_SETRLIMIT,
VS_SYS_CHROOT,
VS_SYS_SYNC,
VS_SYS_ACCT,
VS_SYS_SETTIMEOFDAY,
VS_SYS_MOUNT,
VS_SYS_UMOUNT2,
VS_SYS_SWAPON,
VS_SYS_SWAPOFF,
VS_SYS_REBOOT,
VS_SYS_SETHOSTNAME,
VS_SYS_SETDOMAINNAME,
VS_SYS_IOPL,
VS_SYS_IOPERM,
VS_SYS_CREATE_MODULE,
VS_SYS_INIT_MODULE,
VS_SYS_DELETE_MODULE,
VS_SYS_GET_KERNEL_SYMS,
VS_SYS_QUERY_MODULE,
VS_SYS_QUOTACTL,
VS_SYS_NFSSERVCTL,
VS_SYS_GETPMSG,
VS_SYS_PUTPMSG,
VS_SYS_AFS_SYSCALL,
VS_SYS_TUXCALL,
VS_SYS_SECURITY,
VS_SYS_GETTID,
VS_SYS_READAHEAD,
VS_SYS_SETXATTR,
VS_SYS_LSETXATTR,
VS_SYS_FSETXATTR,
VS_SYS_GETXATTR,
VS_SYS_LGETXATTR,
VS_SYS_FGETXATTR,
VS_SYS_LISTXATTR,
VS_SYS_LLISTXATTR,
VS_SYS_FLISTXATTR,
VS_SYS_REMOVEXATTR,
VS_SYS_LREMOVEXATTR,
VS_SYS_FREMOVEXATTR,
VS_SYS_TKILL,
VS_SYS_TIME,
VS_SYS_FUTEX,
VS_SYS_SCHED_SET_AFFINITY,
VS_SYS_SCHED_GET_AFFINITY,
VS_SYS_SET_THREAD_AREA,
VS_SYS_IO_SETUP,
VS_SYS_IO_DESTROY,
VS_SYS_IO_GETEVENTS,
VS_SYS_IO_SUBMIT,
VS_SYS_IO_CANCEL,
VS_SYS_GET_THREAD_AREA,
VS_SYS_LOOKUP_DCOOKIE,
VS_SYS_EPOLL_CREATE,
VS_SYS_EPOLL_CTL_OLD,
VS_SYS_EPOLL_WAIT_OLD,
VS_SYS_REMAP_FILE_PAGES,
VS_SYS_GETENTS64,
VS_SYS_SET_TID_ADDRESS,
VS_SYS_RESTART_SYSCALL,
VS_SYS_SEMTIMEDOP,
VS_SYS_FADVISE64,
VS_SYS_TIMER_CREATE,
VS_SYS_TIMER_SETTIME,
VS_SYS_TIMER_GETTIME,
VS_SYS_TIMER_GETOVERRUN,
VS_SYS_TIMER_DELETE,
VS_SYS_CLOCK_SETTIME,
VS_SYS_CLOCK_GETTIME,
VS_SYS_CLOCK_GETRES,
VS_SYS_CLOCK_NANOSLEEP,
VS_SYS_EXIT_GROUP,
VS_SYS_EPOLL_WAIT,
VS_SYS_EPOLL_CTL,
VS_SYS_TGKILL,
VS_SYS_UTIMES,
VS_SYS_VSERVER,
VS_SYS_MBIND,
VS_SYS_SET_MEMPOLICY,
VS_SYS_GET_MEMPOLICY,
VS_SYS_MQ_OPEN,
VS_SYS_MQ_UNLINK,
VS_SYS_MQ_TIMEDSEND,
VS_SYS_MQ_TIMEDRECV,
VS_SYS_MQ_NOTIFY,
VS_SYS_MQ_GETSETATTR,
VS_SYS_KEXEC_LOAD,
VS_SYS_WAITID,
VS_SYS_ADD_KEY,
VS_SYS_REQUEST_KEY,
VS_SYS_KEYCTL,
VS_SYS_IOPRIO_SET,
VS_SYS_IOPRIO_GET,
VS_SYS_INOTIFY_INIT,
VS_SYS_INOTIFY_ADD_WATCH,
VS_SYS_INOTIFY_RM_WATCH,
VS_SYS_MIGRATE_PAGES,
VS_SYS_OPENAT,
VS_SYS_MKDIRAT,
VS_SYS_MKNODAT,
VS_SYS_FCHOWNAT,
VS_SYS_FUTIMESAT,
VS_SYS_NEWFSTATAT,
VS_SYS_UNLINKAT,
VS_SYS_RENAMEAT,
VS_SYS_LINKAT,
VS_SYS_SYMLINKAT,
VS_SYS_READLINKAT,
VS_SYS_FCHMODAT,
VS_SYS_FACCESSAT,
VS_SYS_PSELECT6,
VS_SYS_PPOLL,
VS_SYS_UNSHARE,
VS_SYS_SET_ROBUST_LIST,
VS_SYS_GET_ROBUST_LIST,
VS_SYS_SPLICE,
VS_SYS_TEE,
VS_SYS_SYNC_FILE_RANGE,
VS_SYS_VMSPLICE,
VS_SYS_MOVE_PAGES,
VS_SYS_UTIMENSAT,
VS_SYS_EPOLL_PWAIT,
VS_SYS_SIGNALFD,
VS_SYS_TIMERFD_CREATE,
VS_SYS_EVENTFD,
VS_SYS_FALLOCATE,
VS_SYS_TIMERFD_SETTIME,
VS_SYS_TIMERFD_GETTIME,
VS_SYS_ACCEPT4,
VS_SYS_SIGNALFD4,
VS_SYS_EVENTFD2,
VS_SYS_EPOLL_CREATE1,
VS_SYS_DUP3,
VS_SYS_PIPE2,
VS_SYS_INOTIFY_INIT1,
VS_SYS_PREADV,
VS_SYS_PWRITEV,
VS_SYS_RT_TGSIGQUEUEINFO,
VS_SYS_PERF_EVENT_OPEN,
VS_SYS_RECVMMSG,
VS_SYS_FANOTIFY_INIT,
VS_SYS_FANOTIFY_MARK,
VS_SYS_PRLIMIT64,
VS_SYS_NAME_TO_HANDLE_AT,
VS_SYS_OPEN_BY_HANDLE_AT,
VS_SYS_CLOCK_ADJTIME,
VS_SYS_SYNCFS,
VS_SYS_SENDMMSG,
VS_SYS_SETNS,
VS_SYS_GETCPU,
VS_SYS_PROCESS_VM_READV,
VS_SYS_PROCESS_VM_WRITEV,
VS_SYS_KCMP,
VS_SYS_FINIT_MODULE,
VS_SYS_SCHED_SETATTR,
VS_SYS_SCHED_GETATTR,
VS_SYS_RENAMEAT2,
VS_SYS_SECCOMP,
VS_SYS_GETRANDOM,
VS_SYS_MEMFD_CREATE,
VS_SYS_KEXEC_FILE_LOAD,
VS_SYS_BPF,
VS_SYS_STUB_EXECVEAT,
VS_SYS_USERFAULTFD,
VS_SYS_MEMBARRIER,
VS_SYS_MLOCK2,
VS_SYS_COPY_FILE_RANGE,
VS_SYS_PREADV2,
VS_SYS_PWRITEV2,
VS_SYS_PKEY_MPROTECT,
VS_SYS_PKEY_ALLOC,
VS_SYS_PKEY_FREE,
VS_SYS_STATX,
VS_SYS_IO_PGETEVENTS,
VS_SYS_RSEQ,
VS_SYS_PKEY_MPROTECTALIAS
#endif
};
extern vs_sys_ret_t vs_syscall(vs_sys_nr_t, ...);
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment