syscall.h (2805B)
1 /* -*-comment-start: "//";comment-end:""-*- 2 * GNU Mes --- Maxwell Equations of Software 3 * Copyright © 2018,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> 4 * Copyright © 2024 Andrius Štikonas <andrius@stikonas.eu> 5 * 6 * This file is part of GNU Mes. 7 * 8 * GNU Mes is free software; you can redistribute it and/or modify it 9 * under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 3 of the License, or (at 11 * your option) any later version. 12 * 13 * GNU Mes is distributed in the hope that it will be useful, but 14 * WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with GNU Mes. If not, see <http://www.gnu.org/licenses/>. 20 */ 21 /* Commentary: 22 * See https://github.com/torvalds/linux/blob/v4.19/arch/x86/entry/syscalls/syscall_64.tbl 23 * https://github.com/torvalds/linux/raw/v4.19/arch/x86/entry/syscalls/syscall_64.tbl 24 * 25 * Code: 26 */ 27 #ifndef __MES_LINUX_X86_64_SYSCALL_H 28 #define __MES_LINUX_X86_64_SYSCALL_H 1 29 30 // libc-mini 31 #ifndef SYS_write 32 #define SYS_write 0x01 33 #endif 34 #ifndef SYS_exit 35 #define SYS_exit 0x3c 36 #endif 37 38 // libc 39 #define SYS_fork 0x39 40 #define SYS_read 0x00 41 #define SYS_open 0x02 42 //#define SYS_waitpid 43 #define SYS_wait4 0x3d 44 #define SYS_execve 0x3b 45 #define SYS_chmod 0x5a 46 #define SYS_access 0x15 47 #define SYS_brk 0x0c 48 #define SYS_ioctl 0x10 49 #define SYS_fsync 0x4a 50 #define SYS_getcwd 0x4f 51 #define SYS_dup 0x20 52 #define SYS_dup2 0x21 53 #define SYS_unlink 0x57 54 #define SYS_gettimeofday 0x60 55 #define SYS_clock_gettime 0xe4 56 #define SYS_time 0xc9 57 #define SYS_newuname 0x3f 58 59 // libc+tcc 60 #define SYS_close 0x03 61 #define SYS_lseek 0x08 62 #define SYS_rmdir 0x54 63 #define SYS_stat 0x04 64 65 // libc+gnu 66 #define SYS_chdir 0x50 67 #define SYS_link 0x56 68 #define SYS_getpid 0x27 69 #define SYS_getuid 0x66 70 #define SYS_kill 0x3e 71 #define SYS_rename 0x52 72 #define SYS_mkdir 0x53 73 #define SYS_pipe 0x16 74 #define SYS_getgid 0x68 75 #define SYS_rt_sigaction 0x0d 76 #define SYS_rt_sigreturn 0x0f 77 #define SYS_fcntl 0x48 78 #define SYS_getrusage 0x62 79 #define SYS_lstat 0x06 80 #define SYS_setitimer 0x26 81 #define SYS_fstat 0x05 82 #define SYS_nanosleep 0x33 83 #define SYS_getdents64 0xd9 84 85 // bash 86 #define SYS_setuid 0x69 87 #define SYS_setgid 0x6a 88 #define SYS_geteuid 0x6b 89 #define SYS_getegid 0x6c 90 #define SYS_getppid 0x6e 91 92 // make+SYSTEM_LIBC 93 #define SYS_rt_sigprocmask 0x0e 94 95 // tar 96 #define SYS_symlink 0x58 97 #define SYS_readlink 0x59 98 #define SYS_mknod 0x85 99 100 /* gash */ 101 #define SYS_umask 0x5f 102 #define SYS_utimensat 0x118 103 104 #endif // __MES_LINUX_X86_64_SYSCALL_H