Skip to main content

FromRawFd

Trait FromRawFd 

1.1.0 · Source
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 · Source

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".

Implementors§

Source§

impl FromRawFd for std::fs::Dir

Source§

impl FromRawFd for compio::fs::Dir

Available on Unix only.
1.1.0 · Source§

impl FromRawFd for std::fs::File

Available on non-Trusty only.
Source§

impl FromRawFd for compio::fs::File

Available on Unix only.
1.63.0 · Source§

impl FromRawFd for OwnedFd

1.87.0 · Source§

impl FromRawFd for PipeReader

Available on non-Trusty only.
1.87.0 · Source§

impl FromRawFd for PipeWriter

Available on non-Trusty only.
§

impl FromRawFd for Receiver

Available on crate feature os-ext only.
Source§

impl FromRawFd for compio::fs::pipe::Receiver

Available on Unix only.
§

impl FromRawFd for Sender

Available on crate feature os-ext only.
Source§

impl FromRawFd for compio::fs::pipe::Sender

Available on Unix only.
§

impl FromRawFd for Socket

1.2.0 · Source§

impl FromRawFd for Stdio

1.1.0 · Source§

impl FromRawFd for std::net::tcp::TcpListener

§

impl FromRawFd for TcpListener

Available on Hermit or Unix or WASI only.
Source§

impl FromRawFd for compio::net::TcpListener

Available on Unix only.
§

impl FromRawFd for TcpSocket

Available on Unix, or WASI, or docsrs only.
Source§

impl FromRawFd for compio::net::TcpSocket

Available on Unix only.
1.1.0 · Source§

impl FromRawFd for std::net::tcp::TcpStream

§

impl FromRawFd for TcpStream

Available on Hermit or Unix or WASI only.
Source§

impl FromRawFd for compio::net::TcpStream

Available on Unix only.
1.1.0 · Source§

impl FromRawFd for std::net::udp::UdpSocket

§

impl FromRawFd for UdpSocket

Available on Hermit or Unix or WASI only.
Source§

impl FromRawFd for compio::net::UdpSocket

Available on Unix only.
1.10.0 · Source§

impl FromRawFd for std::os::unix::net::datagram::UnixDatagram

§

impl FromRawFd for UnixDatagram

1.10.0 · Source§

impl FromRawFd for std::os::unix::net::listener::UnixListener

§

impl FromRawFd for UnixListener

Source§

impl FromRawFd for compio::net::UnixListener

Available on Unix only.
§

impl FromRawFd for UnixSocket

Source§

impl FromRawFd for compio::net::UnixSocket

Available on Unix only.
1.10.0 · Source§

impl FromRawFd for std::os::unix::net::stream::UnixStream

§

impl FromRawFd for UnixStream

Source§

impl FromRawFd for compio::net::UnixStream

Available on Unix only.
1.48.0 · Source§

impl FromRawFd for i32

Source§

impl<S> FromRawFd for Attacher<S>
where S: FromRawFd,

Available on Unix only.
Source§

impl<T> FromRawFd for AsyncFd<T>
where T: AsFd + FromRawFd,

Source§

impl<T> FromRawFd for SharedFd<T>
where T: FromRawFd,

Available on Unix only.