From 202eb774c2628b3bb49fdec7aa7004264e040cac Mon Sep 17 00:00:00 2001 From: pjht Date: Fri, 20 Sep 2024 14:34:39 -0500 Subject: [PATCH] mikros: Add FileExt trait to allow getting underline PID and FD of a file --- library/std/src/os/mikros/fs.rs | 17 +++++++++++++++++ library/std/src/os/mikros/mod.rs | 1 + library/std/src/sys/pal/mikros/fs.rs | 4 ++-- 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 library/std/src/os/mikros/fs.rs diff --git a/library/std/src/os/mikros/fs.rs b/library/std/src/os/mikros/fs.rs new file mode 100644 index 00000000000..2697bccb4d8 --- /dev/null +++ b/library/std/src/os/mikros/fs.rs @@ -0,0 +1,17 @@ +#![stable(feature = "mikros", since = "1.80.0")] + +use crate::sys_common::AsInner; + +#[stable(feature = "mikros", since = "1.80.0")] +pub trait FileExt { + #[stable(feature = "mikros", since = "1.80.0")] + fn get_pid_fd(&self) -> (u64, u64); +} + +#[stable(feature = "mikros", since = "1.80.0")] +impl FileExt for crate::fs::File { + fn get_pid_fd(&self) -> (u64, u64) { + let file = self.as_inner(); + (file.fs_pid, file.fd) + } +} diff --git a/library/std/src/os/mikros/mod.rs b/library/std/src/os/mikros/mod.rs index d41fbdcd541..2f5c17c5cc5 100644 --- a/library/std/src/os/mikros/mod.rs +++ b/library/std/src/os/mikros/mod.rs @@ -7,6 +7,7 @@ pub mod ffi; pub mod ipc; pub mod loader; pub mod syscalls; +pub mod fs; /// A prelude for conveniently writing platform-specific code. /// diff --git a/library/std/src/sys/pal/mikros/fs.rs b/library/std/src/sys/pal/mikros/fs.rs index 3f6aeec0fac..784a42aa5e2 100644 --- a/library/std/src/sys/pal/mikros/fs.rs +++ b/library/std/src/sys/pal/mikros/fs.rs @@ -36,8 +36,8 @@ impl Serialize for PathBuf { } pub struct File { - fs_pid: u64, - fd: u64, + pub(crate) fs_pid: u64, + pub(crate) fd: u64, pos: AtomicUsize, }