rustix::fd

Trait FromRawFd

1.1.0Source
pub trait FromRawFd {
    // Required method
    unsafe fn from_raw_fd(fd: i32) -> Self;
}
馃憥Deprecated
Expand description

A trait to express the ability to construct an object from a raw file descriptor.

Required Methods

1.1.0Source

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

1.48.0Source

impl FromRawFd for i32

1.1.0Source

impl FromRawFd for File

1.1.0Source

impl FromRawFd for TcpListener

1.1.0Source

impl FromRawFd for TcpStream

1.1.0Source

impl FromRawFd for UdpSocket

Source

impl FromRawFd for PidFd

1.10.0Source

impl FromRawFd for UnixDatagram

1.10.0Source

impl FromRawFd for UnixListener

1.10.0Source

impl FromRawFd for UnixStream

Source

impl FromRawFd for PipeReader

Source

impl FromRawFd for PipeWriter

1.2.0Source

impl FromRawFd for Stdio

1.63.0Source

impl FromRawFd for OwnedFd