pub trait IntoRawFd {
fn into_raw_fd(self) -> RawFd;
}
Available on WASI only.
Expand description
A trait to express the ability to consume an object and acquire ownership of its raw file descriptor.
Required Methods
fn into_raw_fd(self) -> RawFd
fn into_raw_fd(self) -> RawFd
Consumes this object, returning the raw underlying file descriptor.
This function is typically used to transfer ownership of the underlying file descriptor to the caller. When used in this way, callers are then the unique owners of the file descriptor and must close it once it’s no longer needed.
However, transferring ownership is not strictly required. Use a
Into<OwnedFd>::into
implementation for an API which strictly
transfers ownership.
Example
use std::fs::File;
#[cfg(unix)]
use std::os::unix::io::{IntoRawFd, RawFd};
#[cfg(target_os = "wasi")]
use std::os::wasi::io::{IntoRawFd, RawFd};
let f = File::open("foo.txt")?;
#[cfg(any(unix, target_os = "wasi"))]
let raw_fd: RawFd = f.into_raw_fd();
RunImplementors
impl IntoRawFd for File
impl IntoRawFd for TcpListener
impl IntoRawFd for TcpStream
impl IntoRawFd for UdpSocket
impl IntoRawFd for ChildStderr
Available on Unix only.
impl IntoRawFd for ChildStdin
Available on Unix only.
impl IntoRawFd for ChildStdout
Available on Unix only.
impl IntoRawFd for PidFd
Available on Linux only.
impl IntoRawFd for OwnedFd
impl IntoRawFd for UnixDatagram
Available on Unix only.
impl IntoRawFd for UnixListener
Available on Unix only.
impl IntoRawFd for UnixStream
Available on Unix only.