From df91c67cf0bad218dd80ac2a98fb841615346ab9 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Mon, 18 Mar 2024 17:18:42 +0100 Subject: [PATCH] Implement redox_mkfs_v1. --- src/platform/redox/libredox.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/platform/redox/libredox.rs b/src/platform/redox/libredox.rs index 2954e745..15ea59a7 100644 --- a/src/platform/redox/libredox.rs +++ b/src/platform/redox/libredox.rs @@ -3,7 +3,9 @@ use core::{slice, str}; use syscall::{Error, Result, WaitFlags, EMFILE}; use crate::{ - header::{errno::EINVAL, signal::sigaction, sys_stat::UTIME_NOW, time::timespec}, + header::{ + errno::EINVAL, signal::sigaction, sys_stat::UTIME_NOW, sys_uio::iovec, time::timespec, + }, platform::types::*, }; @@ -319,3 +321,18 @@ pub unsafe extern "C" fn redox_strerror_v1( Ok(len) })()) } + +#[no_mangle] +pub unsafe extern "C" fn redox_mkns_v1( + names: *const iovec, + num_names: usize, + flags: u32, +) -> RawResult { + Error::mux((|| { + if flags != 0 { + return Err(Error::new(EINVAL)); + } + // Kernel does the UTF-8 validation. + syscall::mkns(core::slice::from_raw_parts(names.cast(), num_names)) + })()) +} -- GitLab