Lines 113-134
static struct syscall syscalls[] = {
Link Here
|
113 |
{ .name = "getsid", .ret_type = 1, .nargs = 1, |
113 |
{ .name = "getsid", .ret_type = 1, .nargs = 1, |
114 |
.args = { { Int, 0 } } }, |
114 |
.args = { { Int, 0 } } }, |
115 |
{ .name = "getuid", .ret_type = 1, .nargs = 0 }, |
115 |
{ .name = "getuid", .ret_type = 1, .nargs = 0 }, |
|
|
116 |
{ .name = "issetugid", .ret_type = 1, .nargs = 0 }, |
116 |
{ .name = "readlink", .ret_type = 1, .nargs = 3, |
117 |
{ .name = "readlink", .ret_type = 1, .nargs = 3, |
117 |
.args = { { Name, 0 } , { Readlinkres | OUT, 1 }, { Int, 2 } } }, |
118 |
.args = { { Name, 0 } , { Readlinkres | OUT, 1 }, { Int, 2 } } }, |
|
|
119 |
{ .name = "dup", .ret_type = 1, .nargs = 1, |
120 |
.args = { { Int, 0 } } }, |
121 |
{ .name = "dup2", .ret_type = 1, .nargs = 2, |
122 |
.args = { { Int, 0 }, { Int, 1 } } }, |
118 |
{ .name = "lseek", .ret_type = 2, .nargs = 3, |
123 |
{ .name = "lseek", .ret_type = 2, .nargs = 3, |
119 |
.args = { { Int, 0 }, { Quad, 1 + QUAD_ALIGN }, { Whence, 1 + QUAD_SLOTS + QUAD_ALIGN } } }, |
124 |
.args = { { Int, 0 }, { Quad, 1 + QUAD_ALIGN }, { Whence, 1 + QUAD_SLOTS + QUAD_ALIGN } } }, |
120 |
{ .name = "linux_lseek", .ret_type = 2, .nargs = 3, |
125 |
{ .name = "linux_lseek", .ret_type = 2, .nargs = 3, |
121 |
.args = { { Int, 0 }, { Int, 1 }, { Whence, 2 } } }, |
126 |
.args = { { Int, 0 }, { Int, 1 }, { Whence, 2 } } }, |
|
|
127 |
{ .name = "posix_fadvise", .ret_type = 1, .nargs = 4, |
128 |
.args = { { Int, 0 }, { Quad, 1 + QUAD_ALIGN }, { Quad, 1 + QUAD_SLOTS + QUAD_ALIGN }, { Int, 1 + 2 * (QUAD_SLOTS + QUAD_ALIGN) } } }, |
122 |
{ .name = "mmap", .ret_type = 2, .nargs = 6, |
129 |
{ .name = "mmap", .ret_type = 2, .nargs = 6, |
123 |
.args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 }, { Mmapflags, 3 }, { Int, 4 }, { Quad, 5 + QUAD_ALIGN } } }, |
130 |
.args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 }, { Mmapflags, 3 }, { Int, 4 }, { Quad, 5 + QUAD_ALIGN } } }, |
124 |
{ .name = "linux_mkdir", .ret_type = 1, .nargs = 2, |
131 |
{ .name = "linux_mkdir", .ret_type = 1, .nargs = 2, |
125 |
.args = { { Name | IN, 0} , {Int, 1}}}, |
132 |
.args = { { Name | IN, 0} , {Int, 1}}}, |
126 |
{ .name = "mprotect", .ret_type = 1, .nargs = 3, |
133 |
{ .name = "mprotect", .ret_type = 1, .nargs = 3, |
127 |
.args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 } } }, |
134 |
.args = { { Ptr, 0 }, { Int, 1 }, { Mprot, 2 } } }, |
|
|
135 |
{ .name = "openat", .ret_type = 1, .nargs = 4, |
136 |
.args = { { Int, 0 }, { Name | IN, 1 } , { Open, 2 }, { Octal, 3 } } }, |
128 |
{ .name = "open", .ret_type = 1, .nargs = 3, |
137 |
{ .name = "open", .ret_type = 1, .nargs = 3, |
129 |
.args = { { Name | IN, 0 } , { Open, 1 }, { Octal, 2 } } }, |
138 |
.args = { { Name | IN, 0 } , { Open, 1 }, { Octal, 2 } } }, |
130 |
{ .name = "mkdir", .ret_type = 1, .nargs = 2, |
139 |
{ .name = "mkdir", .ret_type = 1, .nargs = 2, |
131 |
.args = { { Name, 0 } , { Octal, 1 } } }, |
140 |
.args = { { Name, 0 } , { Octal, 1 } } }, |
|
|
141 |
{ .name = "mkdirat", .ret_type = 1, .nargs = 3, |
142 |
.args = { { Int, 0 }, { Name, 1 }, { Octal, 2 } } }, |
132 |
{ .name = "linux_open", .ret_type = 1, .nargs = 3, |
143 |
{ .name = "linux_open", .ret_type = 1, .nargs = 3, |
133 |
.args = { { Name, 0 }, { Hex, 1 }, { Octal, 2 } } }, |
144 |
.args = { { Name, 0 }, { Hex, 1 }, { Octal, 2 } } }, |
134 |
{ .name = "close", .ret_type = 1, .nargs = 1, |
145 |
{ .name = "close", .ret_type = 1, .nargs = 1, |
Lines 137-142
static struct syscall syscalls[] = {
Link Here
|
137 |
.args = { { Name, 0 }, { Name, 1 } } }, |
148 |
.args = { { Name, 0 }, { Name, 1 } } }, |
138 |
{ .name = "unlink", .ret_type = 0, .nargs = 1, |
149 |
{ .name = "unlink", .ret_type = 0, .nargs = 1, |
139 |
.args = { { Name, 0 } } }, |
150 |
.args = { { Name, 0 } } }, |
|
|
151 |
{ .name = "unlinkat", .ret_type = 0, .nargs = 3, |
152 |
.args = { { Int, 0 }, { Name, 1 }, { Int, 2 } } }, |
140 |
{ .name = "chdir", .ret_type = 0, .nargs = 1, |
153 |
{ .name = "chdir", .ret_type = 0, .nargs = 1, |
141 |
.args = { { Name, 0 } } }, |
154 |
.args = { { Name, 0 } } }, |
142 |
{ .name = "chroot", .ret_type = 0, .nargs = 1, |
155 |
{ .name = "chroot", .ret_type = 0, .nargs = 1, |
Lines 145-150
static struct syscall syscalls[] = {
Link Here
|
145 |
.args = { { Name, 0 }, { Octal, 1 }, { Int, 3 } } }, |
158 |
.args = { { Name, 0 }, { Octal, 1 }, { Int, 3 } } }, |
146 |
{ .name = "chmod", .ret_type = 0, .nargs = 2, |
159 |
{ .name = "chmod", .ret_type = 0, .nargs = 2, |
147 |
.args = { { Name, 0 }, { Octal, 1 } } }, |
160 |
.args = { { Name, 0 }, { Octal, 1 } } }, |
|
|
161 |
{ .name = "lchmod", .ret_type = 0, .nargs = 2, |
162 |
.args = { { Name, 0 }, { Octal, 1 } } }, |
163 |
{ .name = "fchmod", .ret_type = 0, .nargs = 2, |
164 |
.args = { { Int, 0 }, { Octal, 1 } } }, |
165 |
{ .name = "fchmodat", .ret_type = 0, .nargs = 4, |
166 |
.args = { { Int, 0 }, { Name, 1 }, { Octal, 2 }, { Int, 3 } } }, |
148 |
{ .name = "chown", .ret_type = 0, .nargs = 3, |
167 |
{ .name = "chown", .ret_type = 0, .nargs = 3, |
149 |
.args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } }, |
168 |
.args = { { Name, 0 }, { Int, 1 }, { Int, 2 } } }, |
150 |
{ .name = "linux_stat64", .ret_type = 1, .nargs = 3, |
169 |
{ .name = "linux_stat64", .ret_type = 1, .nargs = 3, |
Lines 153-160
static struct syscall syscalls[] = {
Link Here
|
153 |
.args = { { Name, 0 }, { Name, 1 }, { Int, 2 }, { Ptr, 3 } } }, |
172 |
.args = { { Name, 0 }, { Name, 1 }, { Int, 2 }, { Ptr, 3 } } }, |
154 |
{ .name = "umount", .ret_type = 0, .nargs = 2, |
173 |
{ .name = "umount", .ret_type = 0, .nargs = 2, |
155 |
.args = { { Name, 0 }, { Int, 2 } } }, |
174 |
.args = { { Name, 0 }, { Int, 2 } } }, |
|
|
175 |
{ .name = "getdirentries", .ret_type = 1, .nargs = 4, |
176 |
.args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 }, { Ptr, 3 } } }, |
156 |
{ .name = "fstat", .ret_type = 1, .nargs = 2, |
177 |
{ .name = "fstat", .ret_type = 1, .nargs = 2, |
157 |
.args = { { Int, 0 }, { Stat | OUT , 1 } } }, |
178 |
.args = { { Int, 0 }, { Stat | OUT , 1 } } }, |
|
|
179 |
{ .name = "fstatat", .ret_type = 1, .nargs = 4, |
180 |
.args = { { Int, 0 }, { Name | IN, 1 }, { Stat | OUT, 2 }, { Int, 3 } } }, |
158 |
{ .name = "stat", .ret_type = 1, .nargs = 2, |
181 |
{ .name = "stat", .ret_type = 1, .nargs = 2, |
159 |
.args = { { Name | IN, 0 }, { Stat | OUT, 1 } } }, |
182 |
.args = { { Name | IN, 0 }, { Stat | OUT, 1 } } }, |
160 |
{ .name = "lstat", .ret_type = 1, .nargs = 2, |
183 |
{ .name = "lstat", .ret_type = 1, .nargs = 2, |
Lines 165-170
static struct syscall syscalls[] = {
Link Here
|
165 |
.args = { { Name, 0 }, { Int, 1 }}}, |
188 |
.args = { { Name, 0 }, { Int, 1 }}}, |
166 |
{ .name = "linux_newfstat", .ret_type = 1, .nargs = 2, |
189 |
{ .name = "linux_newfstat", .ret_type = 1, .nargs = 2, |
167 |
.args = { { Int, 0 }, { Ptr | OUT, 1 } } }, |
190 |
.args = { { Int, 0 }, { Ptr | OUT, 1 } } }, |
|
|
191 |
{ .name = "pwrite", .ret_type = 1, .nargs = 4, |
192 |
.args = { { Int, 0 }, { BinString | IN, 1 }, { Int, 2 }, { Quad, 3 + QUAD_ALIGN } } }, |
168 |
{ .name = "write", .ret_type = 1, .nargs = 3, |
193 |
{ .name = "write", .ret_type = 1, .nargs = 3, |
169 |
.args = { { Int, 0 }, { BinString | IN, 1 }, { Int, 2 } } }, |
194 |
.args = { { Int, 0 }, { BinString | IN, 1 }, { Int, 2 } } }, |
170 |
{ .name = "ioctl", .ret_type = 1, .nargs = 3, |
195 |
{ .name = "ioctl", .ret_type = 1, .nargs = 3, |
Lines 223-228
static struct syscall syscalls[] = {
Link Here
|
223 |
.args = { { Int, 0 }, { Itimerval, 1 } , { Itimerval | OUT, 2 } } }, |
248 |
.args = { { Int, 0 }, { Itimerval, 1 } , { Itimerval | OUT, 2 } } }, |
224 |
{ .name = "kse_release", .ret_type = 0, .nargs = 1, |
249 |
{ .name = "kse_release", .ret_type = 0, .nargs = 1, |
225 |
.args = { { Timespec, 0 } } }, |
250 |
.args = { { Timespec, 0 } } }, |
|
|
251 |
{ .name = "kqueue", .ret_type = 0, .nargs = 0 }, |
226 |
{ .name = "kevent", .ret_type = 0, .nargs = 6, |
252 |
{ .name = "kevent", .ret_type = 0, .nargs = 6, |
227 |
.args = { { Int, 0 }, { Kevent, 1 }, { Int, 2 }, { Kevent | OUT, 3 }, { Int, 4 }, { Timespec, 5 } } }, |
253 |
.args = { { Int, 0 }, { Kevent, 1 }, { Int, 2 }, { Kevent | OUT, 3 }, { Int, 4 }, { Timespec, 5 } } }, |
228 |
{ .name = "_umtx_lock", .ret_type = 0, .nargs = 1, |
254 |
{ .name = "_umtx_lock", .ret_type = 0, .nargs = 1, |
Lines 259-264
static struct syscall syscalls[] = {
Link Here
|
259 |
.args = { { Name | IN, 0 }, { Pathconf, 1 } } }, |
285 |
.args = { { Name | IN, 0 }, { Pathconf, 1 } } }, |
260 |
{ .name = "pipe", .ret_type = 1, .nargs = 1, |
286 |
{ .name = "pipe", .ret_type = 1, .nargs = 1, |
261 |
.args = { { Ptr, 0 } } }, |
287 |
.args = { { Ptr, 0 } } }, |
|
|
288 |
{ .name = "pipe2", .ret_type = 1, .nargs = 2, |
289 |
.args = { { Ptr, 0 }, { Int, 1 } } }, |
262 |
{ .name = "truncate", .ret_type = 1, .nargs = 3, |
290 |
{ .name = "truncate", .ret_type = 1, .nargs = 3, |
263 |
.args = { { Name | IN, 0 }, { Int | IN, 1 }, { Quad | IN, 2 } } }, |
291 |
.args = { { Name | IN, 0 }, { Int | IN, 1 }, { Quad | IN, 2 } } }, |
264 |
{ .name = "ftruncate", .ret_type = 1, .nargs = 3, |
292 |
{ .name = "ftruncate", .ret_type = 1, .nargs = 3, |
Lines 267-278
static struct syscall syscalls[] = {
Link Here
|
267 |
.args = { { Int | IN, 0 }, { Signal | IN, 1 } } }, |
295 |
.args = { { Int | IN, 0 }, { Signal | IN, 1 } } }, |
268 |
{ .name = "munmap", .ret_type = 1, .nargs = 2, |
296 |
{ .name = "munmap", .ret_type = 1, .nargs = 2, |
269 |
.args = { { Ptr, 0 }, { Int, 1 } } }, |
297 |
.args = { { Ptr, 0 }, { Int, 1 } } }, |
|
|
298 |
{ .name = "pread", .ret_type = 1, .nargs = 4, |
299 |
.args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 }, { Quad, 3 + QUAD_ALIGN } } }, |
270 |
{ .name = "read", .ret_type = 1, .nargs = 3, |
300 |
{ .name = "read", .ret_type = 1, .nargs = 3, |
271 |
.args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 } } }, |
301 |
.args = { { Int, 0 }, { BinString | OUT, 1 }, { Int, 2 } } }, |
272 |
{ .name = "rename", .ret_type = 1, .nargs = 2, |
302 |
{ .name = "rename", .ret_type = 1, .nargs = 2, |
273 |
.args = { { Name , 0 } , { Name, 1 } } }, |
303 |
.args = { { Name , 0 } , { Name, 1 } } }, |
274 |
{ .name = "symlink", .ret_type = 1, .nargs = 2, |
304 |
{ .name = "symlink", .ret_type = 1, .nargs = 2, |
275 |
.args = { { Name , 0 } , { Name, 1 } } }, |
305 |
.args = { { Name , 0 } , { Name, 1 } } }, |
|
|
306 |
{ .name = "symlinkat", .ret_type = 1, .nargs = 3, |
307 |
.args = { { Name , 0 } , { Int, 1 }, { Name, 2 } } }, |
276 |
{ .name = "posix_openpt", .ret_type = 1, .nargs = 1, |
308 |
{ .name = "posix_openpt", .ret_type = 1, .nargs = 1, |
277 |
.args = { { Open, 0 } } }, |
309 |
.args = { { Open, 0 } } }, |
278 |
{ .name = "wait4", .ret_type = 1, .nargs = 4, |
310 |
{ .name = "wait4", .ret_type = 1, .nargs = 4, |