diff --git a/Userland/DevTools/UserspaceEmulator/Emulator.cpp b/Userland/DevTools/UserspaceEmulator/Emulator.cpp index 107dbf5cbb..8248aedf53 100644 --- a/Userland/DevTools/UserspaceEmulator/Emulator.cpp +++ b/Userland/DevTools/UserspaceEmulator/Emulator.cpp @@ -453,6 +453,12 @@ u32 Emulator::virt_syscall(u32 function, u32 arg1, u32 arg2, u32 arg3) return virt$mprotect(arg1, arg2, arg3); case SC_madvise: return virt$madvise(arg1, arg2, arg3); + case SC_anon_create: + return virt$anon_create(arg1, arg2); + case SC_sendfd: + return virt$sendfd(arg1, arg2); + case SC_recvfd: + return virt$recvfd(arg1); case SC_open: return virt$open(arg1); case SC_pipe: @@ -545,6 +551,21 @@ u32 Emulator::virt_syscall(u32 function, u32 arg1, u32 arg2, u32 arg3) } } +int Emulator::virt$anon_create(size_t size, int options) +{ + return syscall(SC_anon_create, size, options); +} + +int Emulator::virt$sendfd(int socket, int fd) +{ + return syscall(SC_sendfd, socket, fd); +} + +int Emulator::virt$recvfd(int socket) +{ + return syscall(SC_recvfd, socket); +} + int Emulator::virt$shbuf_create(int size, FlatPtr buffer) { u8* host_data = nullptr; diff --git a/Userland/DevTools/UserspaceEmulator/Emulator.h b/Userland/DevTools/UserspaceEmulator/Emulator.h index ff8fad1235..d842de77a3 100644 --- a/Userland/DevTools/UserspaceEmulator/Emulator.h +++ b/Userland/DevTools/UserspaceEmulator/Emulator.h @@ -175,6 +175,9 @@ private: int virt$beep(); int virt$ftruncate(int fd, off_t); mode_t virt$umask(mode_t); + int virt$anon_create(size_t, int); + int virt$recvfd(int); + int virt$sendfd(int, int); FlatPtr allocate_vm(size_t size, size_t alignment); bool find_malloc_symbols(const MmapRegion& libc_text);