File: syscall.h

package info (click to toggle)
mes 0.24.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 6,908 kB
  • sloc: ansic: 24,104; lisp: 11,490; sh: 6,609; asm: 187; makefile: 36
file content (131 lines) | stat: -rw-r--r-- 3,418 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* -*-comment-start: "//";comment-end:""-*-
 * GNU Mes --- Maxwell Equations of Software
 * Copyright © 2018,2022 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 * Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
 *
 * This file is part of GNU Mes.
 *
 * GNU Mes is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or (at
 * your option) any later version.
 *
 * GNU Mes is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef __MES_LINUX_ARM_SYSCALL_H
#define __MES_LINUX_ARM_SYSCALL_H 1

/* See https://github.com/torvalds/linux/blob/v4.19/arch/arm/tools/syscall.tbl */

/* libc-mini */
#ifndef SYS_exit
// CONSTANT SYS_exit 0x01
#define SYS_exit    0x01
#endif
#ifndef SYS_write
// CONSTANT SYS_write 0x04
#define SYS_write   0x04
#endif

/* libc */
// CONSTANT SYS_fork 0x02
#define SYS_fork    0x02
// CONSTANT SYS_read 0x03
#define SYS_read    0x03
// CONSTANT SYS_open 0x05
#define SYS_open    0x05
//#define SYS_waitpid
// CONSTANT SYS_wait4 0x72
#define SYS_wait4   0x72
// CONSTANT SYS_execve 0x0b
#define SYS_execve  0x0b
// CONSTANT SYS_chmod 0x0f
#define SYS_chmod   0x0f
// CONSTANT SYS_access 0x21
#define SYS_access  0x21
// CONSTANT SYS_brk 0x2d
#define SYS_brk     0x2d
// CONSTANT SYS_ioctl 0x36
#define SYS_ioctl   0x36
// CONSTANT SYS_fsync 0x76
#define SYS_fsync   0x76
// CONSTANT SYS_getcwd 0xb7
#define SYS_getcwd  0xb7
// CONSTANT SYS_dup 0x29
#define SYS_dup     0x29
// CONSTANT SYS_dup2 0x3f
#define SYS_dup2    0x3f
// CONSTANT SYS_unlink 0x0a
#define SYS_unlink  0x0a
// CONSTANT SYS_gettimeofday 0x4e
#define SYS_gettimeofday 0x4e
// CONSTANT SYS_clock_gettime 0x107
#define SYS_clock_gettime 0x107

/* libc+tcc */
#define SYS_close  0x06
#define SYS_lseek  0x13
#define SYS_rmdir  0x28
#define SYS_stat   0x6a

/* libc+gnu */
#define SYS_chdir     0x0c
#define SYS_link      0x09
#define SYS_getpid    0x14
#define SYS_getuid    0x18
#define SYS_kill      0x25
#define SYS_rename    0x26
#define SYS_mkdir     0x27
#define SYS_pipe      0x2a
#define SYS_getgid    0x2f
#define SYS_rt_sigaction 0xae
#define SYS_rt_sigreturn 0xad
#define SYS_fcntl     0x37
#define SYS_getrusage 0x4d
#define SYS_lstat     0x6b
#define SYS_setitimer 0x68
#define SYS_fstat     0x6c
#define SYS_nanosleep 0xa2
#define SYS_getdents  0x8d

/* bash */
#define SYS_setuid    0x17
#define SYS_setgid    0x2e
#define SYS_geteuid   0x31
#define SYS_getegid   0x32
#define SYS_getppid   0x40

/* make+WITH_GLIBC */
#define SYS_rt_sigprocmask 0xaf

/* tar */
#define SYS_symlink   0x53
#define SYS_readlink  0x55
#define SYS_mknod     0x0e

#if __SIZEOF_LONG_LONG__ == 8

#define SYS_stat64     0xc3
#define SYS_lstat64    0xc4
#define SYS_fstat64    0xc5
#define SYS_fcntl64    0xdd
#define SYS_getdents64 0xdc

#undef SYS_stat
#define SYS_stat SYS_stat64

#undef SYS_lstat
#define SYS_lstat SYS_lstat64

#undef SYS_fstat
#define SYS_fstat SYS_fstat64

#endif  // __SIZEOF_LONG_LONG__ == 8

#endif /* __MES_LINUX_ARM_SYSCALL_H */