Trait std::os::unix::io::FromRawFd
pub trait FromRawFd { unsafe fn from_raw_fd(fd: RawFd) -> Self; }
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
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; #[cfg(unix)] use std::os::unix::io::{FromRawFd, IntoRawFd, RawFd}; #[cfg(target_os = "wasi")] use std::os::wasi::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) };
Implementors
impl FromRawFd for File
impl FromRawFd for TcpListener
impl FromRawFd for TcpStream
impl FromRawFd for UdpSocket
impl FromRawFd for Stdio
impl FromRawFd for UnixDatagram
impl FromRawFd for UnixListener
impl FromRawFd for UnixStream
impl FromRawFd for OwnedFd
impl FromRawFd for RawFd
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/unix/io/trait.FromRawFd.html