Trait rustix::fd::AsFd

1.63.0 · source ·
pub trait AsFd {
    // Required method
    fn as_fd(&self) -> BorrowedFd<'_>;
}
Expand description

A trait to borrow the file descriptor from an underlying object.

This is only available on unix platforms and must be imported in order to call the method. Windows platforms have a corresponding AsHandle and AsSocket set of traits.

Required Methods§

1.63.0 · source

fn as_fd(&self) -> BorrowedFd<'_>

Borrows the file descriptor.

§Example
use std::fs::File;

let mut f = File::open("foo.txt")?;
let borrowed_fd: BorrowedFd<'_> = f.as_fd();

Implementors§

1.63.0 · source§

impl AsFd for File

1.63.0 · source§

impl AsFd for Stderr

1.63.0 · source§

impl AsFd for Stdin

1.63.0 · source§

impl AsFd for Stdout

1.63.0 · source§

impl AsFd for TcpListener

1.63.0 · source§

impl AsFd for TcpStream

1.63.0 · source§

impl AsFd for UdpSocket

source§

impl AsFd for PidFd

1.63.0 · source§

impl AsFd for UnixDatagram

1.63.0 · source§

impl AsFd for UnixListener

1.63.0 · source§

impl AsFd for UnixStream

1.63.0 · source§

impl AsFd for ChildStderr

1.63.0 · source§

impl AsFd for ChildStdin

1.63.0 · source§

impl AsFd for ChildStdout

1.63.0 · source§

impl AsFd for BorrowedFd<'_>

1.63.0 · source§

impl AsFd for OwnedFd

1.63.0 · source§

impl<'a> AsFd for StderrLock<'a>

1.63.0 · source§

impl<'a> AsFd for StdinLock<'a>

1.63.0 · source§

impl<'a> AsFd for StdoutLock<'a>

1.63.0 · source§

impl<T> AsFd for &T
where T: AsFd + ?Sized,

1.63.0 · source§

impl<T> AsFd for &mut T
where T: AsFd + ?Sized,

1.64.0 · source§

impl<T> AsFd for Box<T>
where T: AsFd + ?Sized,

1.69.0 · source§

impl<T> AsFd for Rc<T>
where T: AsFd + ?Sized,

1.64.0 · source§

impl<T> AsFd for Arc<T>
where T: AsFd + ?Sized,

This impl allows implementing traits that require AsFd on Arc.

use std::net::UdpSocket;
use std::sync::Arc;

trait MyTrait: AsFd {}
impl MyTrait for Arc<UdpSocket> {}
impl MyTrait for Box<UdpSocket> {}

impl AsFd for TcpListener

impl AsFd for TcpStream

impl AsFd for UdpSocket

impl AsFd for UnixStream

impl AsFd for Receiver

impl AsFd for Sender

impl AsFd for Socket

impl<F: AsFd> AsFd for NamedTempFile<F>

impl AsFd for File

impl AsFd for Stderr

impl AsFd for Stdin

impl AsFd for Stdout

impl AsFd for TcpListener

impl AsFd for TcpSocket

impl AsFd for TcpStream

impl AsFd for UdpSocket

impl AsFd for UnixSocket

impl AsFd for UnixStream

impl AsFd for Receiver

impl AsFd for Sender

impl AsFd for ChildStderr

impl AsFd for ChildStdin

impl AsFd for ChildStdout

impl<T: AsRawFd> AsFd for AsyncFd<T>