aboutsummaryrefslogtreecommitdiff
path: root/lib/sys/syscalls.h
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2022-12-14 18:26:49 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2022-12-14 18:26:49 +0100
commitd179f1846f9372920ef02f08cfb4d3abe99b383f (patch)
tree4b6ddc71566be95a1ce520ef9d957f4cac1af6c9 /lib/sys/syscalls.h
first commit
Diffstat (limited to 'lib/sys/syscalls.h')
-rw-r--r--lib/sys/syscalls.h336
1 files changed, 336 insertions, 0 deletions
diff --git a/lib/sys/syscalls.h b/lib/sys/syscalls.h
new file mode 100644
index 0000000..03ce997
--- /dev/null
+++ b/lib/sys/syscalls.h
@@ -0,0 +1,336 @@
+#ifndef SYSCALLS_H
+#define SYSCALLS_H
+
+__asm__ (
+ "syscall:\n"
+ "endbr64\n"
+ "mov %rdi, %rax\n"
+ "mov %rsi, %rdi\n"
+ "mov %rdx, %rsi\n"
+ "mov %rcx, %rdx\n"
+ "mov %r8, %rcx\n"
+ "mov %r9, %r8\n"
+ "mov 8(%rsp), %r9\n"
+ "syscall\n"
+ "ret\n"
+);
+
+enum {
+ READ,
+ WRITE,
+ OPEN,
+ CLOSE,
+ STAT,
+ FSTAT,
+ LSTAT,
+ POLL,
+ LSEEK,
+ MMAP,
+ MPROTECT,
+ MUNMAP,
+ BRK,
+ RT_SIGACTION,
+ RT_SIGPROCMASK,
+ RT_SIGRETURN,
+ IOCTL,
+ PREAD64,
+ PWRITE64,
+ READV,
+ WRITEV,
+ ACCESS,
+ PIPE,
+ SELECT,
+ SCHED_YIELD,
+ MREMAP,
+ MSYNC,
+ MINCORE,
+ MADVISE,
+ SHMGET,
+ SHMAT,
+ SHMCTL,
+ DUP,
+ DUP2,
+ PAUSE,
+ NANOSLEEP,
+ GETITIMER,
+ ALARM,
+ SETITIMER,
+ GETPID,
+ SENDFILE,
+ SOCKET,
+ CONNECT,
+ ACCEPT,
+ SENDTO,
+ RECVFROM,
+ SENDMSG,
+ RECVMSG,
+ SHUTDOWN,
+ BIND,
+ LISTEN,
+ GETSOCKNAME,
+ GETPEERNAME,
+ SOCKETPAIR,
+ SETSOCKOPT,
+ GETSOCKOPT,
+ CLONE,
+ FORK,
+ VFORK,
+ EXECVE,
+ EXIT,
+ WAIT4,
+ KILL,
+ UNAME,
+ SEMGET,
+ SEMOP,
+ SEMCTL,
+ SHMDT,
+ MSGGET,
+ MSGSND,
+ MSGRCV,
+ MSGCTL,
+ FCNTL,
+ FLOCK,
+ FSYNC,
+ FDATASYNC,
+ TRUNCATE,
+ FTRUNCATE,
+ GETDENTS,
+ GETCWD,
+ CHDIR,
+ FCHDIR,
+ RENAME,
+ MKDIR,
+ RMDIR,
+ CREAT,
+ LINK,
+ UNLINK,
+ SYMLINK,
+ READLINK,
+ CHMOD,
+ FCHMOD,
+ CHOWN,
+ FCHOWN,
+ LCHOWN,
+ UMASK,
+ GETTIMEOFDAY,
+ GETRLIMIT,
+ GETRUSAGE,
+ SYSINFO,
+ TIMES,
+ PTRACE,
+ GETUID,
+ SYSLOG,
+ GETGID,
+ SETUID,
+ SETGID,
+ GETEUID,
+ GETEGID,
+ SETPGID,
+ GETPPID,
+ GETPGRP,
+ SETSID,
+ SETREUID,
+ SETREGID,
+ GETGROUPS,
+ SETGROUPS,
+ SETRESUID,
+ GETRESUID,
+ SETRESGID,
+ GETRESGID,
+ GETPGID,
+ SETFSUID,
+ SETFSGID,
+ GETSID,
+ CAPGET,
+ CAPSET,
+ RT_SIGPENDING,
+ RT_SIGTIMEDWAIT,
+ RT_SIGQUEUEINFO,
+ RT_SIGSUSPEND,
+ SIGALTSTACK,
+ UTIME,
+ MKNOD,
+ USELIB,
+ PERSONALITY,
+ USTAT,
+ STATFS,
+ FSTATFS,
+ SYSFS,
+ GETPRIORITY,
+ SETPRIORITY,
+ SCHED_SETPARAM,
+ SCHED_GETPARAM,
+ SCHED_SETSCHEDULER,
+ SCHED_GETSCHEDULER,
+ SCHED_GET_PRIORITY_MAX,
+ SCHED_GET_PRIORITY_MIN,
+ SCHED_RR_GET_INTERVAL,
+ MLOCK,
+ MUNLOCK,
+ MLOCKALL,
+ MUNLOCKALL,
+ VHANGUP,
+ MODIFY_LDT,
+ PIVOT_ROOT,
+ _SYSCTL,
+ PRCTL,
+ ARCH_PRCTL,
+ ADJTIMEX,
+ SETRLIMIT,
+ CHROOT,
+ SYNC,
+ ACCT,
+ SETTIMEOFDAY,
+ MOUNT,
+ UMOUNT2,
+ SWAPON,
+ SWAPOFF,
+ REBOOT,
+ SETHOSTNAME,
+ SETDOMAINNAME,
+ IOPL,
+ IOPERM,
+ CREATE_MODULE,
+ INIT_MODULE,
+ DELETE_MODULE,
+ GET_KERNEL_SYMS,
+ QUERY_MODULE,
+ QUOTACTL,
+ NFSSERVCTL,
+ GETPMSG,
+ PUTPMSG,
+ AFS_SYSCALL,
+ TUXCALL,
+ SECURITY,
+ GETTID,
+ READAHEAD,
+ SETXATTR,
+ LSETXATTR,
+ FSETXATTR,
+ GETXATTR,
+ LGETXATTR,
+ FGETXATTR,
+ LISTXATTR,
+ LLISTXATTR,
+ FLISTXATTR,
+ REMOVEXATTR,
+ LREMOVEXATTR,
+ FREMOVEXATTR,
+ TKILL,
+ TIME,
+ FUTEX,
+ SCHED_SETAFFINITY,
+ SCHED_GETAFFINITY,
+ SET_THREAD_AREA,
+ IO_SETUP,
+ IO_DESTROY,
+ IO_GETEVENTS,
+ IO_SUBMIT,
+ IO_CANCEL,
+ GET_THREAD_AREA,
+ LOOKUP_DCOOKIE,
+ EPOLL_CREATE,
+ EPOLL_CTL_OLD,
+ EPOLL_WAIT_OLD,
+ REMAP_FILE_PAGES,
+ GETDENTS64,
+ SET_TID_ADDRESS,
+ RESTART_SYSCALL,
+ SEMTIMEDOP,
+ FADVISE64,
+ TIMER_CREATE,
+ TIMER_SETTIME,
+ TIMER_GETTIME,
+ TIMER_GETOVERRUN,
+ TIMER_DELETE,
+ CLOCK_SETTIME,
+ CLOCK_GETTIME,
+ CLOCK_GETRES,
+ CLOCK_NANOSLEEP,
+ EXIT_GROUP,
+ EPOLL_WAIT,
+ EPOLL_CTL,
+ TGKILL,
+ UTIMES,
+ VSERVER,
+ MBIND,
+ SET_MEMPOLICY,
+ GET_MEMPOLICY,
+ MQ_OPEN,
+ MQ_UNLINK,
+ MQ_TIMEDSEND,
+ MQ_TIMEDRECEIVE,
+ MQ_NOTIFY,
+ MQ_GETSETATTR,
+ KEXEC_LOAD,
+ WAITID,
+ ADD_KEY,
+ REQUEST_KEY,
+ KEYCTL,
+ IOPRIO_SET,
+ IOPRIO_GET,
+ INOTIFY_INIT,
+ INOTIFY_ADD_WATCH,
+ INOTIFY_RM_WATCH,
+ MIGRATE_PAGES,
+ OPENAT,
+ MKDIRAT,
+ MKNODAT,
+ FCHOWNAT,
+ FUTIMESAT,
+ NEWFSTATAT,
+ UNLINKAT,
+ RENAMEAT,
+ LINKAT,
+ SYMLINKAT,
+ READLINKAT,
+ FCHMODAT,
+ FACCESSAT,
+ PSELECT6,
+ PPOLL,
+ UNSHARE,
+ SET_ROBUST_LIST,
+ GET_ROBUST_LIST,
+ SPLICE,
+ TEE,
+ SYNC_FILE_RANGE,
+ VMSPLICE,
+ MOVE_PAGES,
+ UTIMENSAT,
+ EPOLL_PWAIT,
+ SIGNALFD,
+ TIMERFD_CREATE,
+ EVENTFD,
+ FALLOCATE,
+ TIMERFD_SETTIME,
+ TIMERFD_GETTIME,
+ ACCEPT4,
+ SIGNALFD4,
+ EVENTFD2,
+ EPOLL_CREATE1,
+ DUP3,
+ PIPE2,
+ INOTIFY_INIT1,
+ PREADV,
+ PWRITEV,
+ RT_TGSIGQUEUEINFO,
+ PERF_EVENT_OPEN,
+ RECVMMSG,
+ FANOTIFY_INIT,
+ FANOTIFY_MARK,
+ PRLIMIT64,
+ NAME_TO_HANDLE_AT,
+ OPEN_BY_HANDLE_AT,
+ CLOCK_ADJTIME,
+ SYNCFS,
+ SENDMMSG,
+ SETNS,
+ GETCPU,
+ PROCESS_VM_READV,
+ PROCESS_VM_WRITEV,
+ KCMP,
+ FINIT_MODULE,
+};
+
+
+#endif