7#include <asm-generic/ioctls.h>
8#include <asm-generic/termios.h>
9#include <linux/fcntl.h>
10#include <linux/mman.h>
22#include DIUS_ARCH_PLATFORM_PATH(system_call.h)
75template<detail::SystemCallResult R>
88template<detail::SystemCallResult R, detail::SystemCallArgument T1>
103template<detail::SystemCallResult R, detail::SystemCallArgument T1, detail::SystemCallArgument T2>
104auto system_call(
Number number, T1&& a1, T2&& a2) -> di::Expected<R, di::BasicError> {
122auto system_call(
Number number, T1&& a1, T2&& a2, T3&& a3) -> di::Expected<R, di::BasicError> {
142auto system_call(
Number number, T1&& a1, T2&& a2, T3&& a3, T4&& a4) -> di::Expected<R, di::BasicError> {
164auto system_call(
Number number, T1&& a1, T2&& a2, T3&& a3, T4&& a4, T5&& a5) -> di::Expected<R, di::BasicError> {
189auto system_call(
Number number, T1&& a1, T2&& a2, T3&& a3, T4&& a4, T5&& a5, T6&& a6)
190 -> di::Expected<R, di::BasicError> {
#define DIUS_SYSTEM_CALL_ASM_ARG5
Definition system_call.h:13
#define DIUS_SYSTEM_CALL_CLOBBER
Definition system_call.h:16
#define DIUS_SYSTEM_CALL_ASM_ARG2
Definition system_call.h:10
#define DIUS_SYSTEM_CALL_ASM_ARG1
Definition system_call.h:9
#define DIUS_SYSTEM_CALL_ASM_RESULT
Definition system_call.h:5
#define DIUS_SYSTEM_CALL_ASM_NUMBER
Definition system_call.h:7
#define DIUS_SYSTEM_CALL_INSTRUCTION
Definition system_call.h:3
#define DIUS_SYSTEM_CALL_ASM_ARG4
Definition system_call.h:12
#define DIUS_SYSTEM_CALL_ASM_ARG3
Definition system_call.h:11
#define DIUS_SYSTEM_CALL_ASM_ARG6
Definition system_call.h:14
Definition expected_forward_declaration.h:8
Definition unexpected.h:14
Definition operations.h:11
Definition system_call.h:20
Definition system_call.h:23
constexpr auto to_underlying
Definition to_underlying.h:15
Definition system_call.h:11
unsigned long SystemCallArg
Definition system_call.h:14
Number
Definition system_call.h:25
@ bind
Definition system_call.h:51
@ rt_sigprocmask
Definition system_call.h:54
@ clone3
Definition system_call.h:43
@ pwrite
Definition system_call.h:30
@ clock_nanosleep
Definition system_call.h:58
@ mknodat
Definition system_call.h:49
@ exit_group
Definition system_call.h:42
@ pread
Definition system_call.h:29
@ wait4
Definition system_call.h:45
@ clock_gettime
Definition system_call.h:59
@ mkdirat
Definition system_call.h:50
@ io_uring_setup
Definition system_call.h:27
@ dup2
Definition system_call.h:61
@ kill
Definition system_call.h:56
@ io_uring_enter
Definition system_call.h:26
@ futex
Definition system_call.h:47
@ arch_prctl
Definition system_call.h:40
@ close
Definition system_call.h:33
@ setsid
Definition system_call.h:60
@ listen
Definition system_call.h:52
@ execve
Definition system_call.h:44
@ brk
Definition system_call.h:41
@ ioctl
Definition system_call.h:53
@ mmap
Definition system_call.h:35
@ fstatat64
Definition system_call.h:38
@ rt_sigtimedwait
Definition system_call.h:55
@ lseek
Definition system_call.h:48
@ getpid
Definition system_call.h:57
@ openat
Definition system_call.h:34
@ read
Definition system_call.h:31
@ io_uring_register
Definition system_call.h:28
@ write
Definition system_call.h:32
@ exit
Definition system_call.h:46
@ ftruncate
Definition system_call.h:39
@ getdents64
Definition system_call.h:37
@ munmap
Definition system_call.h:36
unsigned long SystemCallResult
Definition system_call.h:15
auto system_call(Number number) -> di::Expected< R, di::BasicError >
Definition system_call.h:27