diff --git a/ulib/system/system.c b/ulib/system/system.c index 0b3c627..ac821c0 100644 --- a/ulib/system/system.c +++ b/ulib/system/system.c @@ -39,6 +39,14 @@ int32_t vfsunmount(char *mountpoint) { return syscall(SYS_VFSUNMOUNT, (uint64_t)mountpoint, 0, 0, 0, 0, 0); } +int32_t vfsavailmounts(VfsAvailMounts *availmounts) { + return syscall(SYS_VFSAVAILMOUNTS, (uint64_t)availmounts, 0, 0, 0, 0, 0); +} + +int32_t vfsmountstat(VfsMountStat *statbuf, char *label) { + return syscall(SYS_VFSMOUNTSTAT, (uint64_t)statbuf, (uint64_t)label, 0, 0, 0, 0); +} + int32_t ipc_piperead(PID_t pid, uint64_t pipenum, uint8_t *const buffer, size_t len) { return syscall(SYS_IPC_PIPEREAD, (uint64_t)pid, (uint64_t)pipenum, (uint64_t)buffer, (uint64_t)len, 0, 0); } diff --git a/ulib/system/system.h b/ulib/system/system.h index 0c90425..866eb40 100644 --- a/ulib/system/system.h +++ b/ulib/system/system.h @@ -8,6 +8,7 @@ #include #include #include +#include void debugprint(const char *string); int32_t mman_map(uint8_t *addr, size_t size, uint64_t prot, uint64_t flags, uint8_t **out); @@ -17,6 +18,8 @@ int32_t schedsleep(uint32_t ms); int32_t rand(void); int32_t vfsmount(char *mountpoint, char *fstype, Dev_t *dev, bool format); int32_t vfsunmount(char *mountpoint); +int32_t vfsavailmounts(VfsAvailMounts *availmounts); +int32_t vfsmountstat(VfsMountStat *statbuf, char *label); int32_t ipc_piperead(PID_t pid, uint64_t pipenum, uint8_t *const buffer, size_t len); int32_t ipc_pipewrite(PID_t pid, uint64_t pipenum, const uint8_t *buffer, size_t len); int32_t ipc_pipemake(uint64_t pipenum); diff --git a/ulib/ulib.h b/ulib/ulib.h index 561b0ff..1f36107 100644 --- a/ulib/ulib.h +++ b/ulib/ulib.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #endif // ULIB_ULIB_H_