Fennix  1.0.0
Full Documentation
Loading...
Searching...
No Matches
syscalls.h
Go to the documentation of this file.
1/*
2 This file is part of Fennix Kernel.
3
4 Fennix Kernel is free software: you can redistribute it and/or
5 modify it under the terms of the GNU General Public License as
6 published by the Free Software Foundation, either version 3 of
7 the License, or (at your option) any later version.
8
9 Fennix Kernel is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
16*/
17
18#ifndef __FENNIX_API_SYSCALLS_LIST_H__
19#define __FENNIX_API_SYSCALLS_LIST_H__
20
21#pragma region Syscall Wrappers
22
23#define scarg __UINTPTR_TYPE__
24
33static inline scarg syscall0(scarg syscall)
34{
35 scarg ret;
36#if defined(__amd64__)
37 __asm__ __volatile__("syscall"
38 : "=a"(ret)
39 : "a"(syscall)
40 : "rcx", "r11", "memory");
41#elif defined(__i386__)
42#warning "i386 syscall wrapper not implemented"
43#else
44#error "Unsupported architecture"
45#endif
46 return ret;
47}
48
58static inline scarg syscall1(scarg syscall, scarg arg1)
59{
60 scarg ret;
61#if defined(__amd64__)
62 __asm__ __volatile__("syscall"
63 : "=a"(ret)
64 : "a"(syscall), "D"(arg1)
65 : "rcx", "r11", "memory");
66#elif defined(__i386__)
67#warning "i386 syscall wrapper not implemented"
68#else
69#error "Unsupported architecture"
70#endif
71 return ret;
72}
73
84static inline scarg syscall2(scarg syscall, scarg arg1, scarg arg2)
85{
86 scarg ret;
87#if defined(__amd64__)
88 __asm__ __volatile__("syscall"
89 : "=a"(ret)
90 : "a"(syscall), "D"(arg1), "S"(arg2)
91 : "rcx", "r11", "memory");
92#elif defined(__i386__)
93#warning "i386 syscall wrapper not implemented"
94#else
95#error "Unsupported architecture"
96#endif
97 return ret;
98}
99
111static inline scarg syscall3(scarg syscall, scarg arg1, scarg arg2, scarg arg3)
112{
113 scarg ret;
114#if defined(__amd64__)
115 __asm__ __volatile__("syscall"
116 : "=a"(ret)
117 : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3)
118 : "rcx", "r11", "memory");
119#elif defined(__i386__)
120#warning "i386 syscall wrapper not implemented"
121#else
122#error "Unsupported architecture"
123#endif
124 return ret;
125}
126
139static inline scarg syscall4(scarg syscall, scarg arg1, scarg arg2, scarg arg3, scarg arg4)
140{
141 scarg ret;
142#if defined(__amd64__)
143 register scarg r10 __asm__("r10") = arg4;
144 __asm__ __volatile__("syscall"
145 : "=a"(ret)
146 : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10)
147 : "rcx", "r11", "memory");
148#elif defined(__i386__)
149#warning "i386 syscall wrapper not implemented"
150#else
151#error "Unsupported architecture"
152#endif
153 return ret;
154}
155
169static inline scarg syscall5(scarg syscall, scarg arg1, scarg arg2, scarg arg3, scarg arg4, scarg arg5)
170{
171 scarg ret;
172#if defined(__amd64__)
173 register scarg r10 __asm__("r10") = arg4;
174 register scarg r8 __asm__("r8") = arg5;
175 __asm__ __volatile__("syscall"
176 : "=a"(ret)
177 : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10), "r"(r8)
178 : "rcx", "r11", "memory");
179#elif defined(__i386__)
180#warning "i386 syscall wrapper not implemented"
181#else
182#error "Unsupported architecture"
183#endif
184 return ret;
185}
186
201static inline scarg syscall6(scarg syscall, scarg arg1, scarg arg2, scarg arg3, scarg arg4, scarg arg5, scarg arg6)
202{
203 scarg ret;
204#if defined(__amd64__)
205 register scarg r10 __asm__("r10") = arg4;
206 register scarg r8 __asm__("r8") = arg5;
207 register scarg r9 __asm__("r9") = arg6;
208 __asm__ __volatile__("syscall"
209 : "=a"(ret)
210 : "a"(syscall), "D"(arg1), "S"(arg2), "d"(arg3), "r"(r10), "r"(r8), "r"(r9)
211 : "rcx", "r11", "memory");
212#elif defined(__i386__)
213#warning "i386 syscall wrapper not implemented"
214#else
215#error "Unsupported architecture"
216#endif
217 return ret;
218}
219
220#pragma endregion Syscall Wrappers
221
229#define __SYS_NULL ((void *)0)
230
244
260
268
276#ifdef __kernel__
277typedef syscall_prctl_options_t prctl_options_t;
278#endif
279
286
287typedef enum
288{
290 /* Process abort signal. */
292 /* Alarm clock. */
294 /* Access to an undefined portion of a memory object. */
296 /* Child process terminated, stopped, or continued. */
298 /* Continue executing, if stopped. */
300 /* Erroneous arithmetic operation. */
302 /* Hangup. */
304 /* Illegal instruction. */
306 /* Terminal interrupt signal. */
308 /* Kill (cannot be caught or ignored). */
310 /* Write on a pipe with no one to read it. */
312 /* Terminal quit signal. */
314 /* Invalid memory reference. */
316 /* Stop executing (cannot be caught or ignored). */
318 /* Termination signal. */
320 /* Terminal stop signal. */
322 /* Background process attempting read. */
324 /* Background process attempting write. */
326 /* User-defined signal 1. */
328 /* User-defined signal 2. */
330 /* Pollable event. */
332 /* Profiling timer expired. */
334 /* Bad system call. */
336 /* Trace/breakpoint trap. */
338 /* High bandwidth data is available at a socket. */
340 /* Virtual timer expired. */
342 /* CPU time limit exceeded. */
344 /* File size limit exceeded. */
346
354
355 /* Real-time signals. */
389
390 /* Maximum signal number. */
393#ifdef __kernel__
394typedef syscall_signal_t signal_t;
395#endif
396
410#ifdef __kernel__
411typedef syscall_signal_disposition_t signal_disposition_t;
412#endif
413
420
431
438
446
447#ifndef __cplusplus
448_Static_assert((int)__SYS_SIG_IGN == (int)___SYS_SIG_IGN, "SIG_IGN values do not match");
449#else
450static_assert((int)__SYS_SIG_IGN == (int)___SYS_SIG_IGN, "SIG_IGN values do not match");
451#endif
452
453typedef int __SYS_clockid_t;
454typedef unsigned int __SYS_socklen_t;
455
1447
1448/* Initialization */
1449
1451#define call_api_version(version) syscall1(SYS_API_VERSION, (scarg)version)
1452
1453/* I/O */
1454
1456#define call_read(fd, buf, count) syscall3(SYS_READ, (scarg)fd, (scarg)buf, (scarg)count)
1457
1459#define call_pread(fd, buf, count, offset) syscall4(SYS_PREAD, (scarg)fd, (scarg)buf, (scarg)count, (scarg)offset)
1460
1462#define call_write(fd, buf, count) syscall3(SYS_WRITE, (scarg)fd, (scarg)buf, (scarg)count)
1463
1465#define call_pwrite(fd, buf, count, offset) syscall4(SYS_PWRITE, (scarg)fd, (scarg)buf, (scarg)count, (scarg)offset)
1466
1468#define call_open(pathname, flags, mode) syscall3(SYS_OPEN, (scarg)pathname, (scarg)flags, (scarg)mode)
1469
1471#define call_close(fd) syscall1(SYS_CLOSE, fd)
1472
1474#define call_ioctl(fd, request, argp) syscall3(SYS_IOCTL, (scarg)fd, (scarg)request, (scarg)argp)
1475
1476/* File Status */
1477
1479#define call_stat(pathname, statbuf) syscall2(SYS_STAT, (scarg)pathname, (scarg)statbuf)
1480
1482#define call_fstat(fd, statbuf) syscall2(SYS_FSTAT, (scarg)fd, (scarg)statbuf)
1483
1485#define call_lstat(pathname, statbuf) syscall2(SYS_LSTAT, (scarg)pathname, (scarg)statbuf)
1486
1488#define call_access(pathname, mode) syscall2(SYS_ACCESS, (scarg)pathname, (scarg)mode)
1489
1491#define call_truncate(pathname, length) syscall2(SYS_TRUNCATE, (scarg)pathname, (scarg)length)
1492
1494#define call_ftruncate(fd, length) syscall2(SYS_FTRUNCATE, (scarg)fd, (scarg)length)
1495
1497#define call_tell(fd) syscall1(SYS_TELL, (scarg)fd)
1498
1500#define call_seek(fd, offset, whence) syscall3(SYS_SEEK, (scarg)fd, (scarg)offset, (scarg)whence)
1501
1502/* Process Control */
1503
1505#define call_exit(status) syscall1(SYS_EXIT, (scarg)status)
1506
1508#define call_fork() syscall0(SYS_FORK)
1509
1511#define call_execve(pathname, argv, envp) syscall3(SYS_EXECVE, (scarg)pathname, (scarg)argv, (scarg)envp)
1512
1514#define call_getpid() syscall0(SYS_GETPID)
1515
1517#define call_getppid() syscall0(SYS_GETPPID)
1518
1520#define call_waitpid(pid, wstatus, options) syscall3(SYS_WAITPID, (scarg)pid, (scarg)wstatus, (scarg)options)
1521
1523#define call_kill(pid, sig) syscall2(SYS_KILL, (scarg)pid, (scarg)sig)
1524
1526#define call_prctl(option, arg1, arg2, arg3, arg4) syscall5(SYS_PRCTL, (scarg)option, (scarg)arg1, (scarg)arg2, (scarg)arg3, (scarg)arg4)
1527
1528/* Memory */
1529
1531#define call_brk(end_data) syscall1(SYS_BRK, (scarg)end_data)
1532
1534#define call_mmap(addr, length, prot, flags, fd, offset) syscall6(SYS_MMAP, (scarg)addr, (scarg)length, (scarg)prot, (scarg)flags, (scarg)fd, (scarg)offset)
1535
1537#define call_munmap(addr, length) syscall2(SYS_MUNMAP, (scarg)addr, (scarg)length)
1538
1540#define call_mprotect(addr, length, prot) syscall3(SYS_MPROTECT, (scarg)addr, (scarg)length, (scarg)prot)
1541
1543#define call_madvise(addr, length, advice) syscall3(SYS_MADVISE, (scarg)addr, (scarg)length, (scarg)advice)
1544
1545/* Communication */
1546
1548#define call_pipe(pipefd) syscall1(SYS_PIPE, (scarg)pipefd)
1549
1551#define call_dup(oldfd) syscall1(SYS_DUP, (scarg)oldfd)
1552
1554#define call_dup2(oldfd, newfd) syscall2(SYS_DUP2, (scarg)oldfd, (scarg)newfd)
1555
1557#define call_socket(domain, type, protocol) syscall3(SYS_SOCKET, (scarg)domain, (scarg)type, (scarg)protocol)
1558
1560#define call_bind(sockfd, addr, addrlen) syscall3(SYS_BIND, (scarg)sockfd, (scarg)addr, (scarg)addrlen)
1561
1563#define call_connect(sockfd, addr, addrlen) syscall3(SYS_CONNECT, (scarg)sockfd, (scarg)addr, (scarg)addrlen)
1564
1566#define call_listen(sockfd, backlog) syscall2(SYS_LISTEN, (scarg)sockfd, (scarg)backlog)
1567
1569#define call_accept(sockfd, addr, addrlen) syscall3(SYS_ACCEPT, (scarg)sockfd, (scarg)addr, (scarg)addrlen)
1570
1572#define call_send(sockfd, buf, len, flags) syscall4(SYS_SEND, (scarg)sockfd, (scarg)buf, (scarg)len, (scarg)flags)
1573
1575#define call_recv(sockfd, buf, len, flags) syscall4(SYS_RECV, (scarg)sockfd, (scarg)buf, (scarg)len, (scarg)flags)
1576
1578#define call_shutdown(sockfd, how) syscall2(SYS_SHUTDOWN, (scarg)sockfd, (scarg)how)
1579
1580/* Time */
1581
1583#define call_time(t) syscall1(SYS_TIME, t)
1584
1586#define call_clock_gettime(clockid, tp) syscall2(SYS_CLOCK_GETTIME, (scarg)clockid, (scarg)tp)
1587
1589#define call_clock_settime(clockid, tp) syscall2(SYS_CLOCK_SETTIME, (scarg)clockid, (scarg)tp)
1590
1592#define call_nanosleep(req, rem) syscall2(SYS_NANOSLEEP, (scarg)req, (scarg)rem)
1593
1594/* Miscellaneous */
1595
1597#define call_getcwd(buf, size) syscall2(SYS_GETCWD, (scarg)buf, (scarg)size)
1598
1600#define call_chdir(path) syscall1(SYS_CHDIR, (scarg)path)
1601
1603#define call_mkdir(path, mode) syscall2(SYS_MKDIR, (scarg)path, (scarg)mode)
1604
1606#define call_rmdir(path) syscall1(SYS_RMDIR, (scarg)path)
1607
1609#define call_unlink(pathname) syscall1(SYS_UNLINK, (scarg)pathname)
1610
1612#define call_rename(oldpath, newpath) syscall2(SYS_RENAME, (scarg)oldpath, (scarg)newpath)
1613
1614#endif // !__FENNIX_API_SYSCALLS_LIST_H__
syscall_signal_t
Definition syscalls.h:288
@ __SYS_SIGRTMAX
Definition syscalls.h:388
@ __SYS_SIGRT_11
Definition syscalls.h:367
@ __SYS_SIGRT_7
Definition syscalls.h:363
@ __SYS_SIGTTIN
Definition syscalls.h:323
@ __SYS_SIGUSR1
Definition syscalls.h:327
@ __SYS_SIGTSTP
Definition syscalls.h:321
@ __SYS_SIGTERM
Definition syscalls.h:319
@ __SYS_SIGPOLL
Definition syscalls.h:331
@ __SYS_SIGFPE
Definition syscalls.h:301
@ __SYS_SIGKILL
Definition syscalls.h:309
@ __SYS_SIGCOMP3
Definition syscalls.h:353
@ __SYS_SIGRT_29
Definition syscalls.h:385
@ __SYS_SIGRT_9
Definition syscalls.h:365
@ __SYS_SIGRT_1
Definition syscalls.h:357
@ __SYS_SIGRT_23
Definition syscalls.h:379
@ __SYS_SIGQUIT
Definition syscalls.h:313
@ __SYS_SIGURG
Definition syscalls.h:339
@ __SYS_SIGRT_15
Definition syscalls.h:371
@ __SYS_SIGBUS
Definition syscalls.h:295
@ __SYS_SIGTRAP
Definition syscalls.h:337
@ __SYS_SIGRT_3
Definition syscalls.h:359
@ __SYS_SIGRT_13
Definition syscalls.h:369
@ __SYS_SIGCOMP1
Definition syscalls.h:351
@ __SYS_SIGRT_4
Definition syscalls.h:360
@ __SYS_SIGRT_24
Definition syscalls.h:380
@ __SYS_SIGRT_17
Definition syscalls.h:373
@ __SYS_SIGNULL
Definition syscalls.h:289
@ __SYS_SIGCOMP2
Definition syscalls.h:352
@ __SYS_SIGABRT
Definition syscalls.h:291
@ __SYS_SIGRT_5
Definition syscalls.h:361
@ __SYS_SIGTTOU
Definition syscalls.h:325
@ __SYS_SIGNAL_MAX
Definition syscalls.h:391
@ __SYS_SIGALRM
Definition syscalls.h:293
@ __SYS_SIGRT_28
Definition syscalls.h:384
@ __SYS_SIGXFSZ
Definition syscalls.h:345
@ __SYS_SIGINT
Definition syscalls.h:307
@ __SYS_SIGSEGV
Definition syscalls.h:315
@ __SYS_SIGVTALRM
Definition syscalls.h:341
@ __SYS_SIGCONT
Definition syscalls.h:299
@ __SYS_SIGRT_30
Definition syscalls.h:386
@ __SYS_SIGSTOP
Definition syscalls.h:317
@ __SYS_SIGRT_25
Definition syscalls.h:381
@ __SYS_SIGRT_12
Definition syscalls.h:368
@ __SYS_SIGHUP
Definition syscalls.h:303
@ __SYS_SIGRTMIN
Definition syscalls.h:356
@ __SYS_SIGPIPE
Definition syscalls.h:311
@ __SYS_SIGXCPU
Definition syscalls.h:343
@ __SYS_SIGRT_20
Definition syscalls.h:376
@ __SYS_SIGRT_10
Definition syscalls.h:366
@ __SYS_SIGRT_26
Definition syscalls.h:382
@ __SYS_SIGRT_31
Definition syscalls.h:387
@ __SYS_SIGRT_16
Definition syscalls.h:372
@ __SYS_SIGRT_14
Definition syscalls.h:370
@ __SYS_SIGRT_18
Definition syscalls.h:374
@ __SYS_SIGRT_8
Definition syscalls.h:364
@ __SYS_SIGRT_2
Definition syscalls.h:358
@ __SYS_SIGSYS
Definition syscalls.h:335
@ __SYS_SIGRT_21
Definition syscalls.h:377
@ __SYS_SIGRT_22
Definition syscalls.h:378
@ __SYS_SIGCHLD
Definition syscalls.h:297
@ __SYS_SIGRT_19
Definition syscalls.h:375
@ __SYS_SIGRT_27
Definition syscalls.h:383
@ __SYS_SIGPROF
Definition syscalls.h:333
@ __SYS_SIGILL
Definition syscalls.h:305
@ __SYS_SIGUSR2
Definition syscalls.h:329
@ __SYS_SIGRT_6
Definition syscalls.h:362
syscall_open_flags_t
Definition syscalls.h:246
@ __SYS_O_RDWR
Definition syscalls.h:249
@ __SYS_O_DSYNC
Definition syscalls.h:252
@ __SYS_O_NONBLOCK
Definition syscalls.h:255
@ __SYS_O_RDONLY
Definition syscalls.h:247
@ __SYS_O_RSYNC
Definition syscalls.h:256
@ __SYS_O_WRONLY
Definition syscalls.h:248
@ __SYS_O_NOCTTY
Definition syscalls.h:254
@ __SYS_O_EXCL
Definition syscalls.h:253
@ __SYS_O_APPEND
Definition syscalls.h:250
@ __SYS_O_SYNC
Definition syscalls.h:257
@ __SYS_O_TRUNC
Definition syscalls.h:258
@ __SYS_O_CREAT
Definition syscalls.h:251
syscall_seek_whence_t
Definition syscalls.h:281
@ __SYS_SEEK_CUR
Definition syscalls.h:283
@ __SYS_SEEK_SET
Definition syscalls.h:282
@ __SYS_SEEK_END
Definition syscalls.h:284
syscall_access_flags_t
Definition syscalls.h:262
@ __SYS_X_OK
Definition syscalls.h:266
@ __SYS_R_OK
Definition syscalls.h:264
@ __SYS_F_OK
Definition syscalls.h:263
@ __SYS_W_OK
Definition syscalls.h:265
unsigned int __SYS_socklen_t
Definition syscalls.h:454
#define scarg
Definition syscalls.h:23
syscall_signal_disposition_t
Definition syscalls.h:398
@ __SYS_SIG_TERM
Definition syscalls.h:400
@ __SYS_SIG_STOP
Definition syscalls.h:406
@ __SYS_SIG_CORE
Definition syscalls.h:408
@ __SYS_SIG_CONT
Definition syscalls.h:404
@ __SYS_SIG_IGN
Definition syscalls.h:402
syscalls_t
List of syscalls.
Definition syscalls.h:463
@ SYS_UNLINK
Remove a file.
Definition syscalls.h:1414
@ SYS_MMAP
Map files or devices into memory.
Definition syscalls.h:1003
@ SYS_SHUTDOWN
Shut down part of a full-duplex connection.
Definition syscalls.h:1256
@ SYS_RECV
Receive data on a socket.
Definition syscalls.h:1239
@ SYS_MAX
Max number of syscalls.
Definition syscalls.h:1445
@ SYS_STAT
Retrieve file status.
Definition syscalls.h:664
@ SYS_WRITE
Write to a file descriptor.
Definition syscalls.h:553
@ SYS_NANOSLEEP
Sleep for a specified time.
Definition syscalls.h:1326
@ SYS_TELL
Get the current file offset.
Definition syscalls.h:780
@ SYS_TRUNCATE
Change the size of a file.
Definition syscalls.h:746
@ SYS_PIPE
Create a pipe.
Definition syscalls.h:1078
@ SYS_RMDIR
Remove an empty directory.
Definition syscalls.h:1397
@ SYS_READ
Read from a file descriptor.
Definition syscalls.h:510
@ SYS_GETPPID
Get the parent process ID.
Definition syscalls.h:884
@ SYS_CLOSE
Close a file descriptor.
Definition syscalls.h:624
@ SYS_MADVISE
Provide advice about memory usage.
Definition syscalls.h:1058
@ SYS_EXECVE
Execute a program.
Definition syscalls.h:858
@ SYS_LISTEN
Listen for incoming connections on a socket.
Definition syscalls.h:1183
@ SYS_WAITPID
Wait for a child process to change state.
Definition syscalls.h:902
@ SYS_BRK
Set the program break.
Definition syscalls.h:960
@ SYS_MUNMAP
Unmap a mapped memory region.
Definition syscalls.h:1021
@ SYS_EXIT
Terminate the calling process.
Definition syscalls.h:822
@ SYS_OPEN
Open a file.
Definition syscalls.h:608
@ SYS_CONNECT
Connect to a remote address.
Definition syscalls.h:1166
@ SYS_IOCTL
Control a device.
Definition syscalls.h:643
@ SYS_PREAD
Read from a file descriptor.
Definition syscalls.h:532
@ SYS_RENAME
Rename a file or directory.
Definition syscalls.h:1432
@ SYS_GETPID
Get the process ID of the calling process.
Definition syscalls.h:871
@ SYS_FSTAT
Retrieve file status for an open file descriptor.
Definition syscalls.h:682
@ SYS_PWRITE
Write to a file descriptor.
Definition syscalls.h:574
@ SYS_BIND
Bind a socket to a local address.
Definition syscalls.h:1148
@ SYS_TIME
Get the current time.
Definition syscalls.h:1275
@ SYS_DUP
Duplicate a file descriptor.
Definition syscalls.h:1094
@ SYS_SOCKET
Create an endpoint for communication.
Definition syscalls.h:1130
@ SYS_CLOCK_SETTIME
Set the current time of a specific clock.
Definition syscalls.h:1309
@ SYS_API_VERSION
Set syscall version.
Definition syscalls.h:486
@ SYS_FORK
Create a child process.
Definition syscalls.h:838
@ SYS_SEND
Send data on a socket.
Definition syscalls.h:1220
@ SYS_PRCTL
Process/Thread Control.
Definition syscalls.h:941
@ SYS_LSTAT
Retrieve file status with symbolic link resolution.
Definition syscalls.h:701
@ SYS_DUP2
Duplicate a file descriptor to a specific value.
Definition syscalls.h:1112
@ SYS_KILL
Send a signal to a process.
Definition syscalls.h:920
@ SYS_MPROTECT
Change memory protection.
Definition syscalls.h:1039
@ SYS_MKDIR
Create a new directory.
Definition syscalls.h:1381
@ SYS_CHDIR
Change the current working directory.
Definition syscalls.h:1363
@ SYS_ACCEPT
Accept an incoming connection on a socket.
Definition syscalls.h:1201
@ SYS_FTRUNCATE
Change the size of a file referred by a file descriptor.
Definition syscalls.h:764
@ SYS_SEEK
Set the file offset.
Definition syscalls.h:804
@ SYS_GETCWD
Get the current working directory.
Definition syscalls.h:1346
@ SYS_CLOCK_GETTIME
Get the current time of a specific clock.
Definition syscalls.h:1292
@ SYS_ACCESS
Check a file's accessibility.
Definition syscalls.h:727
static scarg syscall6(scarg syscall, scarg arg1, scarg arg2, scarg arg3, scarg arg4, scarg arg5, scarg arg6)
Syscall wrapper with 6 arguments.
Definition syscalls.h:201
syscall_clockid_t
Definition syscalls.h:440
@ __SYS_CLOCK_PROCESS_CPUTIME_ID
Definition syscalls.h:442
@ __SYS_CLOCK_REALTIME
Definition syscalls.h:443
@ __SYS_CLOCK_THREAD_CPUTIME_ID
Definition syscalls.h:444
@ __SYS_CLOCK_MONOTONIC
Definition syscalls.h:441
syscall_mmap_flags_t
Definition syscalls.h:232
@ __SYS_MAP_ANON
Definition syscalls.h:242
@ __SYS_PROT_NONE
Definition syscalls.h:236
@ __SYS_PROT_READ
Definition syscalls.h:233
@ __SYS_MAP_FIXED
Definition syscalls.h:240
@ __SYS_MAP_SHARED
Definition syscalls.h:238
@ __SYS_PROT_EXEC
Definition syscalls.h:235
@ __SYS_PROT_WRITE
Definition syscalls.h:234
@ __SYS_MAP_PRIVATE
Definition syscalls.h:239
@ __SYS_MAP_ANONYMOUS
Definition syscalls.h:241
syscall_prctl_options_t
Definition syscalls.h:270
@ __SYS_GET_FS
Definition syscalls.h:273
@ __SYS_SET_GS
Definition syscalls.h:272
@ __SYS_GET_GS
Definition syscalls.h:271
@ __SYS_SET_FS
Definition syscalls.h:274
static scarg syscall5(scarg syscall, scarg arg1, scarg arg2, scarg arg3, scarg arg4, scarg arg5)
Syscall wrapper with 5 arguments.
Definition syscalls.h:169
static scarg syscall4(scarg syscall, scarg arg1, scarg arg2, scarg arg3, scarg arg4)
Syscall wrapper with 4 arguments.
Definition syscalls.h:139
static scarg syscall1(scarg syscall, scarg arg1)
Syscall wrapper with 1 argument.
Definition syscalls.h:58
syscall_signal_actions_t
Definition syscalls.h:415
@ __SYS_SIG_UNBLOCK
Definition syscalls.h:417
@ __SYS_SIG_SETMASK
Definition syscalls.h:418
@ __SYS_SIG_BLOCK
Definition syscalls.h:416
static scarg syscall0(scarg syscall)
Syscall wrapper with 0 arguments.
Definition syscalls.h:33
syscall_signal_action_flags_t
Definition syscalls.h:422
@ __SYS_SA_SIGINFO
Definition syscalls.h:427
@ __SYS_SA_RESTART
Definition syscalls.h:426
@ __SYS_SA_RESETHAND
Definition syscalls.h:425
@ __SYS_SA_ONSTACK
Definition syscalls.h:424
@ __SYS_SA_NODEFER
Definition syscalls.h:429
@ __SYS_SA_NOCLDSTOP
Definition syscalls.h:423
@ __SYS_SA_NOCLDWAIT
Definition syscalls.h:428
static scarg syscall2(scarg syscall, scarg arg1, scarg arg2)
Syscall wrapper with 2 arguments.
Definition syscalls.h:84
syscall_signal_action_disposition_t
Definition syscalls.h:433
@ __SYS_SIG_ERR
Definition syscalls.h:434
@ ___SYS_SIG_IGN
Definition syscalls.h:436
@ __SYS_SIG_DFL
Definition syscalls.h:435
static scarg syscall3(scarg syscall, scarg arg1, scarg arg2, scarg arg3)
Syscall wrapper with 3 arguments.
Definition syscalls.h:111
int __SYS_clockid_t
Definition syscalls.h:453