boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

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