Trait unsafe_io::os::posish::FromRawFd1.1.0[][src]

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

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

Required methods

pub unsafe fn from_raw_fd(fd: i32) -> 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) };
Loading content...

Implementations on Foreign Types

impl FromRawFd for File[src]

impl FromRawFd for TcpStream[src]

impl FromRawFd for UnixListener[src]

impl FromRawFd for UnixStream[src]

impl FromRawFd for UdpSocket[src]

impl FromRawFd for Stdio[src]

impl FromRawFd for UnixDatagram[src]

impl FromRawFd for i32[src]

impl FromRawFd for TcpListener[src]

Loading content...

Implementors

impl FromRawFd for UnsafeFile[src]

UnsafeFile doesn’t own its handle; see the comments for impl AsRawFd for UnsafeHandle.

impl FromRawFd for UnsafeHandle[src]

UnsafeHandle doesn’t own its handle; see the comments for impl AsRawFd for UnsafeHandle.

impl FromRawFd for UnsafeReadable[src]

UnsafeReadable doesn’t own its handle; see the comments for impl AsRawFd for UnsafeHandle.

impl FromRawFd for UnsafeSocket[src]

UnsafeSocket doesn’t own its handle; see the comments for impl AsRawFd for UnsafeHandle.

impl FromRawFd for UnsafeWriteable[src]

UnsafeWriteable doesn’t own its handle; see the comments for impl AsRawFd for UnsafeHandle.

Loading content...