Trait AsRawFd
pub trait AsRawFd
A trait to extract the raw file descriptor from an underlying object.
This is only available on unix and WASI platforms and must be imported in
order to call the method. Windows platforms have a corresponding
AsRawHandle and AsRawSocket set of traits.
Required Methods
fn as_raw_fd(&self) -> RawFdExtracts the raw file descriptor.
This function is typically used to borrow an owned file descriptor. When used in this way, this method does not pass ownership of the raw file descriptor to the caller, and the file descriptor is only guaranteed to be valid while the original object has not yet been destroyed.
However, borrowing is not strictly required. See
AsFd::as_fdfor an API which strictly borrows a file descriptor.Example
use std::fs::File; # use std::io; #[cfg(any(unix, target_os = "wasi"))] use std::os::fd::{AsRawFd, RawFd}; let mut f = File::open("foo.txt")?; // Note that `raw_fd` is only valid as long as `f` exists. #[cfg(any(unix, target_os = "wasi"))] let raw_fd: RawFd = f.as_raw_fd(); # Ok::<(), io::Error>(())
Implementors
impl AsRawFd for BorrowedFd<'_>impl AsRawFd for ChildStderrimpl AsRawFd for ChildStdinimpl AsRawFd for ChildStdoutimpl AsRawFd for Dirimpl AsRawFd for Fileimpl AsRawFd for Fileimpl AsRawFd for FileDescimpl AsRawFd for OwnedFdimpl AsRawFd for PidFdimpl AsRawFd for PipeReaderimpl AsRawFd for PipeWriterimpl AsRawFd for RawFdimpl AsRawFd for Socketimpl AsRawFd for Stderrimpl AsRawFd for Stdinimpl AsRawFd for Stdoutimpl AsRawFd for TcpListenerimpl AsRawFd for TcpStreamimpl AsRawFd for UdpSocketimpl AsRawFd for UnixDatagramimpl AsRawFd for UnixListenerimpl AsRawFd for UnixStreamimpl<'a> AsRawFd for StderrLock<'a>impl<'a> AsRawFd for StdinLock<'a>impl<'a> AsRawFd for StdoutLock<'a>impl<T: AsRawFd + ?Sized> AsRawFd for UniqueRc<T>impl<T: AsRawFd> AsRawFd for Arc<T>impl<T: AsRawFd> AsRawFd for Box<T>impl<T: AsRawFd> AsRawFd for Rc<T>