pub trait FromRawFd {
// Required method
unsafe fn from_raw_fd(fd: i32) -> Self;
}Expand description
A trait to express the ability to construct an object from a raw file descriptor.
Required Methods§
1.1.0 · Sourceunsafe fn from_raw_fd(fd: i32) -> Self
unsafe fn from_raw_fd(fd: i32) -> 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 an owned file descriptor;
in particular, it must be open.
§Example
use std::fs::File;
#[cfg(any(unix, target_os = "wasi"))]
use std::os::fd::{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) };Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl FromRawFd for i32
impl FromRawFd for compio::fs::pipe::Receiver
Available on Unix only.
impl FromRawFd for compio::fs::pipe::Sender
Available on Unix only.
impl FromRawFd for compio::fs::Dir
Available on Unix only.
impl FromRawFd for compio::fs::File
Available on Unix only.
impl FromRawFd for compio::net::TcpListener
Available on Unix only.
impl FromRawFd for compio::net::TcpSocket
Available on Unix only.
impl FromRawFd for compio::net::TcpStream
Available on Unix only.
impl FromRawFd for compio::net::UdpSocket
Available on Unix only.
impl FromRawFd for compio::net::UnixListener
Available on Unix only.
impl FromRawFd for compio::net::UnixSocket
Available on Unix only.
impl FromRawFd for compio::net::UnixStream
Available on Unix only.
impl FromRawFd for std::fs::Dir
impl FromRawFd for std::fs::File
Available on non-Trusty only.
impl FromRawFd for PipeReader
Available on non-Trusty only.
impl FromRawFd for PipeWriter
Available on non-Trusty only.
impl FromRawFd for std::net::tcp::TcpListener
impl FromRawFd for std::net::tcp::TcpStream
impl FromRawFd for std::net::udp::UdpSocket
impl FromRawFd for std::os::unix::net::datagram::UnixDatagram
impl FromRawFd for std::os::unix::net::listener::UnixListener
impl FromRawFd for std::os::unix::net::stream::UnixStream
impl FromRawFd for Stdio
impl FromRawFd for OwnedFd
impl FromRawFd for Receiver
Available on crate feature
os-ext only.impl FromRawFd for Sender
Available on crate feature
os-ext only.impl FromRawFd for Socket
impl FromRawFd for TcpListener
Available on Unix or Hermit or WASI only.
impl FromRawFd for TcpSocket
Available on
docsrs, or Unix, or WASI only.impl FromRawFd for TcpStream
Available on Unix or Hermit or WASI only.
impl FromRawFd for UdpSocket
Available on Unix or Hermit or WASI only.
impl FromRawFd for UnixDatagram
impl FromRawFd for UnixListener
impl FromRawFd for UnixSocket
impl FromRawFd for UnixStream
impl<S> FromRawFd for Attacher<S>where
S: FromRawFd,
Available on Unix only.