pub struct IpcVfs;Expand description
Rejecting backend used for unknown trees.
Trait Implementations§
Source§impl Vfs for IpcVfs
impl Vfs for IpcVfs
Source§fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
__arg2: bool,
__arg3: u32,
__arg4: u32,
__arg5: u32,
__arg6: u32,
) -> Pin<Box<dyn Future<Output = VfsResult<(Box<OpenFile>, FileMeta, u32)>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
__arg2: bool,
__arg3: u32,
__arg4: u32,
__arg5: u32,
__arg6: u32,
) -> Pin<Box<dyn Future<Output = VfsResult<(Box<OpenFile>, FileMeta, u32)>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create or open
rel according to the NT-style parameters. Read moreSource§fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
__arg2: u64,
__arg3: usize,
) -> Pin<Box<dyn Future<Output = VfsResult<Vec<u8>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn read<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
__arg2: u64,
__arg3: usize,
) -> Pin<Box<dyn Future<Output = VfsResult<Vec<u8>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Read up to
len bytes at offset.Source§fn write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
__arg2: u64,
_: &'life2 [u8],
__arg4: bool,
) -> Pin<Box<dyn Future<Output = VfsResult<u64>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
__arg2: u64,
_: &'life2 [u8],
__arg4: bool,
) -> Pin<Box<dyn Future<Output = VfsResult<u64>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Write
data at offset, returning bytes written. When write_through
is set the data must reach stable storage before returning.Source§fn seek<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
__arg2: u16,
__arg3: i64,
) -> Pin<Box<dyn Future<Output = VfsResult<u64>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn seek<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
__arg2: u16,
__arg3: i64,
) -> Pin<Box<dyn Future<Output = VfsResult<u64>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reposition the file pointer;
mode follows the SMB1 SEEK semantics
(0 = from start, 1 = current, 2 = from end) and returns the new offset.Source§fn flush<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn flush<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Flush one handle.
Source§fn flush_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn flush_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Flush every handle the backend currently keeps.
Source§fn close<'life0, 'async_trait>(
&'life0 self,
__arg1: Box<OpenFile>,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
__arg1: Box<OpenFile>,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Close a handle, applying pending deletion when requested.
Source§fn mkdir<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mkdir<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a directory.
Source§fn rmdir<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn rmdir<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Remove an (empty) directory.
Source§fn check_dir<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn check_dir<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Verify a directory exists.
Source§fn unlink<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unlink<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete exactly one file (never directories).
Source§fn delete_pattern<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 str,
_: &'life2 str,
) -> Pin<Box<dyn Future<Output = VfsResult<bool>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete_pattern<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 str,
_: &'life2 str,
) -> Pin<Box<dyn Future<Output = VfsResult<bool>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Delete all files matching
pattern inside directory dir_rel;
returns whether anything was removed. Wildcards */? honoured.Source§fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 str,
_: &'life2 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn rename<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 str,
_: &'life2 str,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Rename
old_rel to new_rel.Source§fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<Vec<Entry>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<Vec<Entry>>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List entries of
dir_rel with metadata snapshots.Source§fn stat<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<FileMeta>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stat<'life0, 'life1, 'async_trait>(
&'life0 self,
_: &'life1 str,
) -> Pin<Box<dyn Future<Output = VfsResult<FileMeta>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stat a path without opening it.
Source§fn set_info_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
_: &'life2 SetOp,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_info_open<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 mut OpenFile,
_: &'life2 SetOp,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Apply one neutral set-information operation to an open handle.
Source§fn set_info_path<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 str,
_: &'life2 SetOp,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn set_info_path<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_: &'life1 str,
_: &'life2 SetOp,
) -> Pin<Box<dyn Future<Output = VfsResult<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Apply one neutral set-information operation to a path.
Source§fn query_disk<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = VfsResult<(u32, u32, u16, u16)>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn query_disk<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = VfsResult<(u32, u32, u16, u16)>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Query disk
(total_units, free_units, sectors_per_unit, bytes_per_sector).Source§fn zero_range<'life0, 'life1, 'async_trait>(
&'life0 self,
open: &'life1 mut OpenFile,
offset: u64,
len: u64,
) -> Pin<Box<dyn Future<Output = Result<(), VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn zero_range<'life0, 'life1, 'async_trait>(
&'life0 self,
open: &'life1 mut OpenFile,
offset: u64,
len: u64,
) -> Pin<Box<dyn Future<Output = Result<(), VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Zero the byte range
[offset, offset + len) of an open handle
(FSCTL_SET_ZERO_DATA). The default writes zeros through Vfs::write;
backends may override to punch a sparse hole.Source§fn get_security<'life0, 'life1, 'async_trait>(
&'life0 self,
rel: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_security<'life0, 'life1, 'async_trait>(
&'life0 self,
rel: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Fetch the raw self-relative NT security descriptor stored for
rel
([MS-DTYP] §2.4.6), or None when the backend has none (the caller then
synthesises a default). Default backends store nothing.Source§fn set_security<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
rel: &'life1 str,
descriptor: &'life2 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn set_security<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
rel: &'life1 str,
descriptor: &'life2 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Persist a raw self-relative NT security descriptor for
rel. Default
backends accept and discard it (no ACL storage).Source§fn list_streams<'life0, 'life1, 'async_trait>(
&'life0 self,
rel: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, u64)>, VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn list_streams<'life0, 'life1, 'async_trait>(
&'life0 self,
rel: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, u64)>, VfsError>> + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
List the alternate data streams of
rel as (smb_stream_name, size)
pairs (e.g. :Zone.Identifier:$DATA), excluding the default ::$DATA
stream which the caller derives from the file size. Default: none.Auto Trait Implementations§
impl Freeze for IpcVfs
impl RefUnwindSafe for IpcVfs
impl Send for IpcVfs
impl Sync for IpcVfs
impl Unpin for IpcVfs
impl UnsafeUnpin for IpcVfs
impl UnwindSafe for IpcVfs
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