# Trait std::os::unix::io::FromRawFd
1.1.0[−][src]

    pub trait FromRawFd {
        unsafe fn from_raw_fd(fd: RawFd) -> Self;
    }

This is supported on Unix only.

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

## Required methods

### `unsafe fn from_raw_fd(fd: RawFd) -> Self`[src]

Constructs a new instance of `Self` from the given raw file descriptor.

This function consumes ownership of the specified file descriptor. The returned object will take responsibility for closing it when the object goes out of scope.

This function is also unsafe as the primitives currently returned have the contract that they are the sole owner of the file descriptor they are wrapping. Usage of this function could accidentally allow violating this contract which can cause memory unsafety in code that relies on it being true.

# Example

    use std::fs::File;
    use std::os::unix::io::{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) };

Run
Loading content...

## Implementors

### `impl FromRawFd for File`[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> Fileⓘ

### Notable traits for File

`impl Read for Fileimpl Read for &Fileimpl Write for Fileimpl Write for &File`
`[src]

### `impl FromRawFd for TcpListener`[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> TcpListener`[src]

### `impl FromRawFd for TcpStream`[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> TcpStreamⓘ

### Notable traits for TcpStream

`impl Read for TcpStreamimpl Read for &TcpStreamimpl Write for TcpStreamimpl Write for &TcpStream`
`[src]

### `impl FromRawFd for UdpSocket`[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> UdpSocket`[src]

### `impl FromRawFd for Stdio` 1.2.0[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> Stdio`[src]

### `impl FromRawFd for UnixDatagram` 1.10.0[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> UnixDatagram`[src]

### `impl FromRawFd for UnixListener` 1.10.0[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> UnixListener`[src]

### `impl FromRawFd for UnixStream` 1.10.0[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> UnixStreamⓘ

### Notable traits for UnixStream

`impl Read for UnixStreamimpl<'a> Read for &'a UnixStreamimpl Write for UnixStreamimpl<'a> Write for &'a UnixStream`
`[src]

### `impl FromRawFd for RawFd` 1.48.0[src]

#### `unsafe fn from_raw_fd(fd: RawFd) -> RawFd`[src]

Loading content...