rustix::backend::fd

Trait 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 BorrowedFd<'_>

1.63.0 · Source§

impl AsFd for OwnedFd

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

Source§

impl AsFd for PipeReader

Source§

impl AsFd for PipeWriter

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<'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>

Source§

impl<'fd> AsFd for PollFd<'fd>

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,

Source§

impl<T> AsFd for UniqueRc<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 ArcAsFd

impl<'l, Data> AsFd for EventLoop<'l, Data>

impl<T: AsFd> AsFd for NoIoDrop<T>

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

impl AsFd for FdGuard

impl AsFd for Inotify

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 EventFd

impl AsFd for SignalFd

impl AsFd for Poller

impl AsFd for Poller

impl AsFd for ReadPipe

impl AsFd for WritePipe

impl AsFd for Socket

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

impl AsFd for File

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<T: AsRawFd> AsFd for AsyncFd<T>

impl AsFd for Socket

impl<D> AsFd for Client<D>

impl AsFd for Connection

impl<State> AsFd for EventQueue<State>

impl<T> AsFd for EventLoop<T>

impl<T> AsFd for EventLoop<T>

impl<T> AsFd for EventLoop<T>

impl<T> AsFd for EventLoop<T>