# Trait rustix::fd::IntoRawFd

1.4.0 · source · [−]

    pub trait IntoRawFd {
        fn into_raw_fd(self) -> i32;
    }

Expand description

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

## Required Methods

source

#### fn into_raw_fd(self) -> i32

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

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

## Implementors

1.48.0 · source

### impl IntoRawFd for i32

source

### impl IntoRawFd for File

source

### impl IntoRawFd for TcpListener

source

### impl IntoRawFd for TcpStream

source

### impl IntoRawFd for UdpSocket

source

### impl IntoRawFd for PidFd

1.10.0 · source

### impl IntoRawFd for UnixDatagram

1.10.0 · source

### impl IntoRawFd for UnixListener

1.10.0 · source

### impl IntoRawFd for UnixStream

source

### impl IntoRawFd for ChildStderr

source

### impl IntoRawFd for ChildStdin

source

### impl IntoRawFd for ChildStdout

1.63.0 · source

### impl IntoRawFd for OwnedFd

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> IntoRawFd for Epoll<Owning<'context, T>>