dius 0.1.0
Loading...
Searching...
No Matches
syscalls.h File Reference
#include "di/container/path/path.h"
#include "di/container/path/path_view.h"
#include "di/vocab/error/prelude.h"
#include "di/vocab/expected/prelude.h"
#include "di/vocab/span/prelude.h"
#include "dius/c_definitions.h"
#include "dius/platform_process.h"

Go to the source code of this file.

Namespaces

namespace  dius
 
namespace  dius::syscalls
 

Typedefs

template<typename T = void>
using dius::syscalls::Result = di::Expected<T, di::GenericCode>
 

Functions

auto dius::syscalls::sys_read (int fd, di::Span< byte > data) -> Result< usize >
 
auto dius::syscalls::sys_write (int fd, di::Span< byte const > data) -> Result< usize >
 
auto dius::syscalls::sys_pread (int fd, u64 offset, di::Span< byte > data) -> Result< usize >
 
auto dius::syscalls::sys_pwrite (int fd, u64 offset, di::Span< byte const > data) -> Result< usize >
 
auto dius::syscalls::sys_close (int fd) -> Result<>
 
auto dius::syscalls::sys_dup2 (int old_fd, int new_fd) -> Result<>
 
auto dius::syscalls::sys_open (di::PathView path, int flags, u16 create_mode) -> Result< int >
 
auto dius::syscalls::sys_ftruncate (int fd, u64 size) -> Result<>
 
auto dius::syscalls::sys_munmap (byte *data, usize length) -> Result<>
 
auto dius::syscalls::sys_mmap (void *addr, usize length, int prot, int flags, int fd, u64 offset) -> Result< byte * >
 
auto dius::syscalls::sys_ioctl (int fd, unsigned long code, void *arg) -> Result<>
 
auto dius::syscalls::sys_setsid () -> Result<>
 
auto dius::syscalls::sys_fork () -> Result< ProcessId >
 
auto dius::syscalls::sys_execve (char const *path, char **args, char **env) -> Result<>
 
auto dius::syscalls::sys_ptsname (int fd) -> Result< di::Path >
 
auto dius::syscalls::sys_grantpt (int fd) -> Result<>
 
auto dius::syscalls::sys_unlockpt (int fd) -> Result<>
 
auto dius::syscalls::sys_tcgetattr (int fd) -> Result< termios >
 
auto dius::syscalls::sys_tcsetattr (int fd, termios const &termios) -> Result<>
 
auto dius::syscalls::sys_mkdir (di::PathView path, u32 perms) -> Result<>
 
auto dius::syscalls::sys_mknod (di::PathView path, u32 type, u32 perms) -> Result<>
 
auto dius::syscalls::sys_stat (di::PathView path) -> Result< Stat >
 
auto dius::syscalls::sys_lstat (di::PathView path) -> Result< Stat >
 
auto dius::syscalls::sys_clock_nanosleep (int clock, int flags, timespec timespec) -> Result<::timespec >