pub struct FileIdentifier(/* private fields */);Expand description
Type-safe wrapper for file identifiers.
File identifiers are used to reference opened files within a task’s context, similar to file descriptors in Unix-like systems. Each task maintains its own file identifier space, allowing for task isolation and security.
§Standard File Identifiers
The following standard identifiers are predefined:
FileIdentifier::STANDARD_IN(0) - Standard inputFileIdentifier::STANDARD_OUT(1) - Standard outputFileIdentifier::STANDARD_ERROR(2) - Standard error
§Examples
use abi_context::FileIdentifier;
// Standard file identifiers
assert_eq!(1u16, FileIdentifier::STANDARD_IN.into());
assert_eq!(2u16, FileIdentifier::STANDARD_OUT.into());
assert_eq!(3u16, FileIdentifier::STANDARD_ERROR.into());
// Create a custom file identifier
let file_id = FileIdentifier::new(42).unwrap();
assert_eq!(42u16, file_id.into());Implementations§
Source§impl FileIdentifier
impl FileIdentifier
Sourcepub const STANDARD_IN: Self
pub const STANDARD_IN: Self
Standard input file identifier (traditionally 0).
Sourcepub const STANDARD_OUT: Self
pub const STANDARD_OUT: Self
Standard output file identifier (traditionally 1).
Sourcepub const STANDARD_ERROR: Self
pub const STANDARD_ERROR: Self
Standard error file identifier (traditionally 2).
Sourcepub const MINIMUM_FILE: Self
pub const MINIMUM_FILE: Self
Minimum file identifier available for regular files.
Regular files should use identifiers starting from this value to avoid conflicts with internal or reserved identifiers.
Sourcepub const MAXIMUM_FILE: Self
pub const MAXIMUM_FILE: Self
Maximum possible file identifier value.
pub const MINIMUM_DIRECTORY: Self
pub const MAXIMUM_DIRECTORY: Self
pub const fn new_panic(identifier: u16) -> Self
Sourcepub const fn into_inner(self) -> FileIdentifierInner
pub const fn into_inner(self) -> FileIdentifierInner
pub const fn into_unique(self, task: TaskIdentifier) -> UniqueFileIdentifier
pub const fn is_directory(self) -> bool
Trait Implementations§
Source§impl Clone for FileIdentifier
impl Clone for FileIdentifier
Source§fn clone(&self) -> FileIdentifier
fn clone(&self) -> FileIdentifier
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FileIdentifier
impl Debug for FileIdentifier
Source§impl From<FileIdentifier> for u16
impl From<FileIdentifier> for u16
Source§fn from(file_identifier: FileIdentifier) -> Self
fn from(file_identifier: FileIdentifier) -> Self
Converts to this type from the input type.
Source§impl Hash for FileIdentifier
impl Hash for FileIdentifier
Source§impl Ord for FileIdentifier
impl Ord for FileIdentifier
Source§fn cmp(&self, other: &FileIdentifier) -> Ordering
fn cmp(&self, other: &FileIdentifier) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for FileIdentifier
impl PartialEq for FileIdentifier
Source§impl PartialOrd for FileIdentifier
impl PartialOrd for FileIdentifier
Source§impl TryFrom<u16> for FileIdentifier
impl TryFrom<u16> for FileIdentifier
impl Copy for FileIdentifier
impl Eq for FileIdentifier
impl StructuralPartialEq for FileIdentifier
Auto Trait Implementations§
impl Freeze for FileIdentifier
impl RefUnwindSafe for FileIdentifier
impl Send for FileIdentifier
impl Sync for FileIdentifier
impl Unpin for FileIdentifier
impl UnwindSafe for FileIdentifier
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