pub struct IpcScheme { /* private fields */ }Expand description
IPC-based scheme: forwards operations to a userspace server via IPC.
Implementations§
Trait Implementations§
Source§impl Scheme for IpcScheme
impl Scheme for IpcScheme
Source§fn open(&self, path: &str, flags: OpenFlags) -> Result<OpenResult, SyscallError>
fn open(&self, path: &str, flags: OpenFlags) -> Result<OpenResult, SyscallError>
Performs the open operation.
Source§fn read(
&self,
file_id: u64,
offset: u64,
buf: &mut [u8],
) -> Result<usize, SyscallError>
fn read( &self, file_id: u64, offset: u64, buf: &mut [u8], ) -> Result<usize, SyscallError>
Performs the read operation.
Source§fn write(
&self,
file_id: u64,
offset: u64,
buf: &[u8],
) -> Result<usize, SyscallError>
fn write( &self, file_id: u64, offset: u64, buf: &[u8], ) -> Result<usize, SyscallError>
Performs the write operation.
Source§fn create_file(&self, path: &str, mode: u32) -> Result<OpenResult, SyscallError>
fn create_file(&self, path: &str, mode: u32) -> Result<OpenResult, SyscallError>
Creates file.
Source§fn create_directory(
&self,
path: &str,
mode: u32,
) -> Result<OpenResult, SyscallError>
fn create_directory( &self, path: &str, mode: u32, ) -> Result<OpenResult, SyscallError>
Creates directory.
Source§fn readdir(&self, file_id: u64) -> Result<Vec<DirEntry>, SyscallError>
fn readdir(&self, file_id: u64) -> Result<Vec<DirEntry>, SyscallError>
Performs the readdir operation.
Source§fn truncate(&self, file_id: u64, new_size: u64) -> Result<(), SyscallError>
fn truncate(&self, file_id: u64, new_size: u64) -> Result<(), SyscallError>
Truncate/resize a file (if supported).
Source§fn sync(&self, file_id: u64) -> Result<(), SyscallError>
fn sync(&self, file_id: u64) -> Result<(), SyscallError>
Sync file to storage (if applicable).
Source§fn rename(&self, old_path: &str, new_path: &str) -> Result<(), SyscallError>
fn rename(&self, old_path: &str, new_path: &str) -> Result<(), SyscallError>
Rename/move an entry within this scheme.
Source§fn chmod(&self, path: &str, mode: u32) -> Result<(), SyscallError>
fn chmod(&self, path: &str, mode: u32) -> Result<(), SyscallError>
Change permission bits on a path.
Source§fn fchmod(&self, file_id: u64, mode: u32) -> Result<(), SyscallError>
fn fchmod(&self, file_id: u64, mode: u32) -> Result<(), SyscallError>
Change permission bits on an open file handle.
Source§fn link(&self, old_path: &str, new_path: &str) -> Result<(), SyscallError>
fn link(&self, old_path: &str, new_path: &str) -> Result<(), SyscallError>
Create a hard link.
Auto Trait Implementations§
impl Freeze for IpcScheme
impl RefUnwindSafe for IpcScheme
impl Send for IpcScheme
impl Sync for IpcScheme
impl Unpin for IpcScheme
impl UnsafeUnpin for IpcScheme
impl UnwindSafe for IpcScheme
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more