miri::shims::unix::fd

Struct FdTable

Source
pub struct FdTable {
    pub fds: BTreeMap<i32, FileDescriptionRef>,
    next_file_description_id: FdId,
}
Expand description

The file descriptor table

Fields§

§fds: BTreeMap<i32, FileDescriptionRef>§next_file_description_id: FdId

Unique identifier for file description, used to differentiate between various file description.

Implementations§

Source§

impl FdTable

Source

fn new() -> Self

Source

pub(crate) fn init(mute_stdout_stderr: bool) -> FdTable

Source

pub fn new_ref(&mut self, fd: impl FileDescription) -> FileDescriptionRef

Source

pub fn insert_new(&mut self, fd: impl FileDescription) -> i32

Insert a new file description to the FdTable.

Source

pub fn insert(&mut self, fd_ref: FileDescriptionRef) -> i32

Source

fn insert_with_min_num( &mut self, file_handle: FileDescriptionRef, min_fd_num: i32, ) -> i32

Insert a file description, giving it a file descriptor that is at least min_fd_num.

Source

pub fn get(&self, fd_num: i32) -> Option<FileDescriptionRef>

Source

pub fn remove(&mut self, fd_num: i32) -> Option<FileDescriptionRef>

Source

pub fn is_fd_num(&self, fd_num: i32) -> bool

Trait Implementations§

Source§

impl Debug for FdTable

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl VisitProvenance for FdTable

Source§

fn visit_provenance(&self, _visit: &mut VisitWith<'_>)

Auto Trait Implementations§

§

impl Freeze for FdTable

§

impl !RefUnwindSafe for FdTable

§

impl !Send for FdTable

§

impl !Sync for FdTable

§

impl Unpin for FdTable

§

impl !UnwindSafe for FdTable

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 32 bytes