This is supported on Unix only.
Expand description
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
Extracts the raw file descriptor.
This method does not pass ownership of the raw file descriptor to the caller. The descriptor is only guaranteed to be valid while the original object has not yet been destroyed.
Example
use std::fs::File;
#[cfg(unix)]
use std::os::unix::io::{AsRawFd, RawFd};
#[cfg(target_os = "wasi")]
use std::os::wasi::io::{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();
RunImplementors
impl AsRawFd for File
impl AsRawFd for Stderr
impl AsRawFd for Stdin
impl AsRawFd for Stdout
impl AsRawFd for TcpListener
impl AsRawFd for TcpStream
impl AsRawFd for UdpSocket
impl AsRawFd for ChildStderr
impl AsRawFd for ChildStdin
impl AsRawFd for ChildStdout
impl AsRawFd for PidFd
This is supported on Linux only.