pub trait FromRawFd {
unsafe fn from_raw_fd(fd: RawFd) -> Self;
}Available on WASI only.
Expand description
A trait to express the ability to construct an object from a raw file descriptor.
Required Methods
unsafe fn from_raw_fd(fd: RawFd) -> Self
unsafe fn from_raw_fd(fd: RawFd) -> Self
Constructs a new instance of Self from the given raw file
descriptor.
This function is typically used to consume ownership of the specified file descriptor. When used in this way, the returned object will take responsibility for closing it when the object goes out of scope.
However, consuming ownership is not strictly required. Use a
From<OwnedFd>::from implementation for an API which strictly
consumes ownership.
Safety
The fd passed in must be a valid an open file descriptor.
Example
use std::fs::File;
#[cfg(unix)]
use std::os::unix::io::{FromRawFd, IntoRawFd, RawFd};
#[cfg(target_os = "wasi")]
use std::os::wasi::io::{FromRawFd, IntoRawFd, RawFd};
let f = File::open("foo.txt")?;
let raw_fd: RawFd = f.into_raw_fd();
// SAFETY: no other functions should call `from_raw_fd`, so there
// is only one owner for the file descriptor.
let f = unsafe { File::from_raw_fd(raw_fd) };RunImplementors
impl FromRawFd for File
sourceimpl FromRawFd for TcpListener
sourceimpl FromRawFd for TcpStream
sourceimpl FromRawFd for UdpSocket
sourceimpl FromRawFd for Stdio
1.2.0 · sourceAvailable on Unix only.
impl FromRawFd for PidFd
sourceAvailable on Linux only.
impl FromRawFd for OwnedFd
sourceimpl FromRawFd for UnixDatagram
1.10.0 · sourceAvailable on Unix only.
impl FromRawFd for UnixListener
1.10.0 · sourceAvailable on Unix only.
impl FromRawFd for UnixStream
1.10.0 · sourceAvailable on Unix only.