Loading [MathJax]/extensions/tex2jax.js
dius 0.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
dius::syscalls Namespace Reference

Classes

struct  Stat
 

Typedefs

using Stat = struct ::stat
 
template<typename T = void>
using Result = di::Expected<T, di::GenericCode>
 

Functions

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

Typedef Documentation

◆ Result

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

◆ Stat

using dius::syscalls::Stat = struct ::stat

Function Documentation

◆ sys_clock_nanosleep()

auto dius::syscalls::sys_clock_nanosleep ( int clock,
int flags,
timespec timespec ) -> Result<::timespec >

◆ sys_close()

auto dius::syscalls::sys_close ( int fd) -> Result<>

◆ sys_dup2()

auto dius::syscalls::sys_dup2 ( int old_fd,
int new_fd ) -> Result<>

◆ sys_execve()

auto dius::syscalls::sys_execve ( char const * path,
char ** args,
char ** env ) -> Result<>

◆ sys_fork()

auto dius::syscalls::sys_fork ( ) -> Result< ProcessId >

◆ sys_ftruncate()

auto dius::syscalls::sys_ftruncate ( int fd,
u64 size ) -> Result<>

◆ sys_grantpt()

auto dius::syscalls::sys_grantpt ( int fd) -> Result<>

◆ sys_ioctl()

auto dius::syscalls::sys_ioctl ( int fd,
unsigned long code,
void * arg ) -> Result<>

◆ sys_lstat()

auto dius::syscalls::sys_lstat ( di::PathView path) -> Result< Stat >

◆ sys_mkdir()

auto dius::syscalls::sys_mkdir ( di::PathView path,
u32 perms ) -> Result<>

◆ sys_mknod()

auto dius::syscalls::sys_mknod ( di::PathView path,
u32 type,
u32 perms ) -> Result<>

◆ sys_mmap()

auto dius::syscalls::sys_mmap ( void * addr,
usize length,
int prot,
int flags,
int fd,
u64 offset ) -> Result< byte * >

◆ sys_munmap()

auto dius::syscalls::sys_munmap ( byte * data,
usize length ) -> Result<>

◆ sys_open()

auto dius::syscalls::sys_open ( di::PathView path,
int flags,
u16 create_mode ) -> Result< int >

◆ sys_pread()

auto dius::syscalls::sys_pread ( int fd,
u64 offset,
di::Span< byte > data ) -> Result< usize >

◆ sys_ptsname()

auto dius::syscalls::sys_ptsname ( int fd) -> Result< di::Path >

◆ sys_pwrite()

auto dius::syscalls::sys_pwrite ( int fd,
u64 offset,
di::Span< byte const > data ) -> Result< usize >

◆ sys_read()

auto dius::syscalls::sys_read ( int fd,
di::Span< byte > data ) -> Result< usize >

◆ sys_setsid()

auto dius::syscalls::sys_setsid ( ) -> Result<>

◆ sys_stat()

auto dius::syscalls::sys_stat ( di::PathView path) -> Result< Stat >

◆ sys_tcgetattr()

auto dius::syscalls::sys_tcgetattr ( int fd) -> Result< termios >

◆ sys_tcsetattr()

auto dius::syscalls::sys_tcsetattr ( int fd,
termios const & termios ) -> Result<>

◆ sys_unlockpt()

auto dius::syscalls::sys_unlockpt ( int fd) -> Result<>

◆ sys_write()

auto dius::syscalls::sys_write ( int fd,
di::Span< byte const > data ) -> Result< usize >