From c59951c03842e0bfc0b2027e2c572c4c1d7ec802 Mon Sep 17 00:00:00 2001 From: vasilito Date: Wed, 8 Jul 2026 00:58:27 +0300 Subject: [PATCH] Add missing syscall numbers and wrapper --- src/call.rs | 12 ++++++++++++ src/number.rs | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/src/call.rs b/src/call.rs index 2537572b19..f0288ae579 100644 --- a/src/call.rs +++ b/src/call.rs @@ -101,6 +101,18 @@ pub fn fstat(fd: usize, stat: &mut Stat) -> Result { } } +/// Get filesystem metadata about a file descriptor +pub fn fstatvfs(fd: usize, stat: &mut Stat) -> Result { + unsafe { + syscall3( + SYS_FSTATVFS, + fd, + stat as *mut Stat as usize, + mem::size_of::(), + ) + } +} + /// Sync a file descriptor to its underlying medium pub fn fsync(fd: usize) -> Result { unsafe { syscall1(SYS_FSYNC, fd) } diff --git a/src/number.rs b/src/number.rs index f53a82da42..56edbc379b 100644 --- a/src/number.rs +++ b/src/number.rs @@ -37,6 +37,11 @@ pub const SYS_LSEEK: usize = SYS_CLASS_FILE | 19; pub const SYS_FCHOWN: usize = SYS_CLASS_FILE | 207; pub const SYS_FCNTL: usize = SYS_CLASS_FILE | 55; pub const SYS_FEVENT: usize = SYS_CLASS_FILE | 927; +pub const SYS_GETDENTS: usize = SYS_CLASS_FILE | 0x1B2; +pub const SYS_FTRUNCATE: usize = SYS_CLASS_FILE | 0x1B3; +pub const SYS_FUTIMENS: usize = SYS_CLASS_FILE | 0x1B4; +pub const SYS_FSTATVFS: usize = SYS_CLASS_FILE | 0x1B5; +pub const SYS_MKNS: usize = SYS_CLASS_FILE | 0x1B6; // SYS_CALL, fd, inout buf ptr, inout buf len, flags, metadata buf ptr, metadata buf len // TODO: new number for SYS_CALL where flags are sent as 6th argument (using syscall6)