std::os::fd

Trait IntoRawFd

1.4.0 · source
pub trait IntoRawFd {
    // Required method
    fn into_raw_fd(self) -> RawFd;
}
Expand description

A trait to express the ability to consume an object and acquire ownership of its raw file descriptor.

Required Methods§

1.4.0 · source

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(any(unix, target_os = "wasi"))]
use std::os::fd::{IntoRawFd, RawFd};

let f = File::open("foo.txt")?;
#[cfg(any(unix, target_os = "wasi"))]
let raw_fd: RawFd = f.into_raw_fd();

Implementors§

1.4.0 · source§

impl IntoRawFd for File

1.4.0 · source§

impl IntoRawFd for TcpListener

1.4.0 · source§

impl IntoRawFd for TcpStream

1.4.0 · source§

impl IntoRawFd for UdpSocket

source§

impl IntoRawFd for PipeReader

source§

impl IntoRawFd for PipeWriter

1.4.0 · source§

impl IntoRawFd for ChildStderr

Available on Unix only.
1.4.0 · source§

impl IntoRawFd for ChildStdin

Available on Unix only.
1.4.0 · source§

impl IntoRawFd for ChildStdout

Available on Unix only.
source§

impl IntoRawFd for PidFd

Available on Linux only.
1.10.0 · source§

impl IntoRawFd for UnixDatagram

Available on Unix only.
1.10.0 · source§

impl IntoRawFd for UnixListener

Available on Unix only.
1.10.0 · source§

impl IntoRawFd for UnixStream

Available on Unix only.
1.63.0 · source§

impl IntoRawFd for OwnedFd

1.48.0 · source§

impl IntoRawFd for RawFd