mescc: Support GNU Bash.
[mes.git] / include / linux / x86_64 / syscall.h
1 /* -*-comment-start: "//";comment-end:""-*-
2  * GNU Mes --- Maxwell Equations of Software
3  * Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of GNU Mes.
6  *
7  * GNU Mes is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or (at
10  * your option) any later version.
11  *
12  * GNU Mes is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #ifndef __MES_LINUX_X86_64_SYSCALL_H
21 #define __MES_LINUX_X86_64_SYSCALL_H 1
22
23 // libc-mini
24 // #define SYS_write   0x01
25 // #define SYS_exit    0x3c
26
27 // libc
28 #define SYS_fork    0x39
29 #define SYS_read    0x00
30 #define SYS_open    0x02
31 //#define SYS_waitpid
32 #define SYS_wait4   0x3d
33 #define SYS_execve  0x3b
34 #define SYS_chmod   0x5a
35 #define SYS_access  0x15
36 #define SYS_brk     0x0c
37 #define SYS_ioctl   0x10
38 #define SYS_fsync   0x4a
39
40 // libc+tcc
41 #define SYS_close  0x03
42 #define SYS_time   0xc9
43 #define SYS_lseek  0x08
44 #define SYS_unlink 0x57
45 #define SYS_rmdir  0x54
46 #define SYS_gettimeofday 0x60
47 #define SYS_stat   0x04
48 #define SYS_getcwd 0x4f
49
50 // libc+gnu
51 #define SYS_chdir     0x50
52 #define SYS_link      0x56
53 #define SYS_getpid    0x27
54 #define SYS_getuid    0x66
55 #define SYS_kill      0x3e
56 #define SYS_rename    0x52
57 #define SYS_mkdir     0x53
58 #define SYS_dup       0x20
59 #define SYS_pipe      0x16
60 #define SYS_getgid    0x68
61 #define SYS_rt_sigaction 0x0d
62 #define SYS_fcntl     0x48
63 #define SYS_dup2      0x21
64 #define SYS_getrusage 0x62
65 #define SYS_lstat     0x06
66 #define SYS_setitimer 0x26
67 #define SYS_fstat     0x05
68 #define SYS_nanosleep 0x33
69 #define SYS_getdents  0x4e
70 #define SYS_clock_gettime 0xe4
71
72 // bash
73 #define SYS_setuid    0x69
74 #define SYS_setgid    0x6a
75 #define SYS_geteuid   0x6b
76 #define SYS_getegid   0x6c
77
78 #endif // __MES_LINUX_X86_64_SYSCALL_H