pub trait File: Source + Directory {
type Options;
type Request<'a>: Request<'a, Options = Self::Options, Buffer = Prefix<'a, { bounded::MAX }>>
where Self: 'a;
Show 16 methods
// Provided methods
fn open<E: From<Errno>>(
path: &CStr,
flags: Open,
mode: Mode,
) -> Result<OwnedFd, E> { ... }
fn metadata<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<Metadata, E> { ... }
fn stat<E: From<Errno>>(path: &CStr) -> Result<Metadata, E> { ... }
fn mkdir<E: From<Errno>>(path: &CStr, mode: Mode) -> Result<(), E> { ... }
fn metadata_at<E: From<Errno>>(
dir: Option<BorrowedFd<'_>>,
name: &CStr,
) -> Result<Metadata, E> { ... }
fn unlink<E: From<Errno>>(path: &CStr) -> Result<(), E> { ... }
fn rename<E: From<Errno>>(from: &CStr, to: &CStr) -> Result<(), E> { ... }
fn try_lock<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<(), E> { ... }
fn sync<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<(), E> { ... }
fn truncate<E: From<Errno>>(file: BorrowedFd<'_>, len: i64) -> Result<(), E> { ... }
fn unlink_at<E: From<Errno>>(
dir: BorrowedFd<'_>,
name: &CStr,
) -> Result<(), E> { ... }
fn remove_dir_at<E: From<Errno>>(
dir: Option<BorrowedFd<'_>>,
name: &CStr,
) -> Result<(), E> { ... }
fn open_at<E: From<Errno>>(
dir: BorrowedFd<'_>,
name: &CStr,
flags: Open,
mode: Mode,
) -> Result<OwnedFd, E> { ... }
fn rename_at<E: From<Errno>>(
dir: BorrowedFd<'_>,
old: &CStr,
new: &CStr,
) -> Result<(), E> { ... }
fn read_at<'a, E: From<Errno>>(
file: BorrowedFd<'_>,
output: &'a mut [u8],
offset: Offset,
) -> Result<&'a mut [u8], E> { ... }
fn write_at<E: From<Errno>>(
file: BorrowedFd<'_>,
input: Prefix<'_, { bounded::MAX }>,
offset: Offset,
) -> Result<U32<0, { _ }>, E> { ... }
}Expand description
Selects native file requests while preserving every caller-owned borrow.
Required Associated Types§
type Options
type Request<'a>: Request<'a, Options = Self::Options, Buffer = Prefix<'a, { bounded::MAX }>> where Self: 'a
Provided Methods§
fn open<E: From<Errno>>( path: &CStr, flags: Open, mode: Mode, ) -> Result<OwnedFd, E>
fn metadata<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<Metadata, E>
fn stat<E: From<Errno>>(path: &CStr) -> Result<Metadata, E>
fn mkdir<E: From<Errno>>(path: &CStr, mode: Mode) -> Result<(), E>
Sourcefn metadata_at<E: From<Errno>>(
dir: Option<BorrowedFd<'_>>,
name: &CStr,
) -> Result<Metadata, E>
fn metadata_at<E: From<Errno>>( dir: Option<BorrowedFd<'_>>, name: &CStr, ) -> Result<Metadata, E>
Classifies the named entry itself while retaining its parent directory.
fn unlink<E: From<Errno>>(path: &CStr) -> Result<(), E>
fn rename<E: From<Errno>>(from: &CStr, to: &CStr) -> Result<(), E>
Sourcefn try_lock<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<(), E>
fn try_lock<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<(), E>
Attempts an exclusive advisory lock without waiting for its current owner.
fn sync<E: From<Errno>>(file: BorrowedFd<'_>) -> Result<(), E>
fn truncate<E: From<Errno>>(file: BorrowedFd<'_>, len: i64) -> Result<(), E>
fn unlink_at<E: From<Errno>>(dir: BorrowedFd<'_>, name: &CStr) -> Result<(), E>
fn remove_dir_at<E: From<Errno>>( dir: Option<BorrowedFd<'_>>, name: &CStr, ) -> Result<(), E>
fn open_at<E: From<Errno>>( dir: BorrowedFd<'_>, name: &CStr, flags: Open, mode: Mode, ) -> Result<OwnedFd, E>
fn rename_at<E: From<Errno>>( dir: BorrowedFd<'_>, old: &CStr, new: &CStr, ) -> Result<(), E>
Sourcefn read_at<'a, E: From<Errno>>(
file: BorrowedFd<'_>,
output: &'a mut [u8],
offset: Offset,
) -> Result<&'a mut [u8], E>
fn read_at<'a, E: From<Errno>>( file: BorrowedFd<'_>, output: &'a mut [u8], offset: Offset, ) -> Result<&'a mut [u8], E>
Reads one prefix without changing the descriptor’s current position.
fn write_at<E: From<Errno>>( file: BorrowedFd<'_>, input: Prefix<'_, { bounded::MAX }>, offset: Offset, ) -> Result<U32<0, { _ }>, E>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".