rustmax::cxx::std::os::unix::io

Trait AsRawFd

1.0.0 · Source
pub trait AsRawFd {
    // Required method
    fn as_raw_fd(&self) -> i32;
}
Available on Unix only.
Expand description

A trait to extract the raw file descriptor from an underlying object.

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

Required Methods§

1.0.0 · Source

fn as_raw_fd(&self) -> i32

Extracts the raw file descriptor.

This function is typically used to borrow an owned file descriptor. When used in this way, this method does not pass ownership of the raw file descriptor to the caller, and the file descriptor is only guaranteed to be valid while the original object has not yet been destroyed.

However, borrowing is not strictly required. See [AsFd::as_fd] for an API which strictly borrows a file descriptor.

§Example
use std::fs::File;
#[cfg(any(unix, target_os = "wasi"))]
use std::os::fd::{AsRawFd, RawFd};

let mut f = File::open("foo.txt")?;
// Note that `raw_fd` is only valid as long as `f` exists.
#[cfg(any(unix, target_os = "wasi"))]
let raw_fd: RawFd = f.as_raw_fd();

Implementors§

1.48.0 · Source§

impl AsRawFd for i32

Source§

impl AsRawFd for mio::net::tcp::listener::TcpListener

Source§

impl AsRawFd for mio::net::tcp::stream::TcpStream

Source§

impl AsRawFd for mio::net::udp::UdpSocket

Source§

impl AsRawFd for mio::net::uds::datagram::UnixDatagram

Source§

impl AsRawFd for mio::net::uds::listener::UnixListener

Source§

impl AsRawFd for mio::net::uds::stream::UnixStream

Source§

impl AsRawFd for Poll

Source§

impl AsRawFd for Registry

Source§

impl AsRawFd for mio::sys::unix::pipe::Receiver

Source§

impl AsRawFd for mio::sys::unix::pipe::Sender

Source§

impl AsRawFd for PtyMaster

Source§

impl AsRawFd for SignalFd

Source§

impl AsRawFd for Handle

Source§

impl AsRawFd for Socket

1.0.0 · Source§

impl AsRawFd for rustmax::std::fs::File

1.21.0 · Source§

impl AsRawFd for rustmax::std::io::Stderr

1.21.0 · Source§

impl AsRawFd for rustmax::std::io::Stdin

1.21.0 · Source§

impl AsRawFd for rustmax::std::io::Stdout

1.0.0 · Source§

impl AsRawFd for rustmax::std::net::TcpListener

1.0.0 · Source§

impl AsRawFd for rustmax::std::net::TcpStream

1.0.0 · Source§

impl AsRawFd for rustmax::std::net::UdpSocket

1.63.0 · Source§

impl AsRawFd for BorrowedFd<'_>

1.63.0 · Source§

impl AsRawFd for OwnedFd

Source§

impl AsRawFd for PidFd

1.10.0 · Source§

impl AsRawFd for rustmax::std::os::unix::net::UnixDatagram

1.10.0 · Source§

impl AsRawFd for rustmax::std::os::unix::net::UnixListener

1.10.0 · Source§

impl AsRawFd for rustmax::std::os::unix::net::UnixStream

Source§

impl AsRawFd for PipeReader

Source§

impl AsRawFd for PipeWriter

1.2.0 · Source§

impl AsRawFd for rustmax::std::process::ChildStderr

1.2.0 · Source§

impl AsRawFd for rustmax::std::process::ChildStdin

1.2.0 · Source§

impl AsRawFd for rustmax::std::process::ChildStdout

Source§

impl AsRawFd for rustmax::tokio::fs::File

Source§

impl AsRawFd for rustmax::tokio::io::Stderr

Source§

impl AsRawFd for rustmax::tokio::io::Stdin

Source§

impl AsRawFd for rustmax::tokio::io::Stdout

Source§

impl AsRawFd for rustmax::tokio::net::TcpListener

Source§

impl AsRawFd for TcpSocket

Source§

impl AsRawFd for rustmax::tokio::net::TcpStream

Source§

impl AsRawFd for rustmax::tokio::net::UdpSocket

Source§

impl AsRawFd for rustmax::tokio::net::UnixDatagram

Source§

impl AsRawFd for rustmax::tokio::net::UnixListener

Source§

impl AsRawFd for UnixSocket

Source§

impl AsRawFd for rustmax::tokio::net::UnixStream

Source§

impl AsRawFd for rustmax::tokio::net::unix::pipe::Receiver

Source§

impl AsRawFd for rustmax::tokio::net::unix::pipe::Sender

Source§

impl AsRawFd for rustmax::tokio::process::ChildStderr

Source§

impl AsRawFd for rustmax::tokio::process::ChildStdin

Source§

impl AsRawFd for rustmax::tokio::process::ChildStdout

1.35.0 · Source§

impl<'a> AsRawFd for StderrLock<'a>

1.35.0 · Source§

impl<'a> AsRawFd for StdinLock<'a>

1.35.0 · Source§

impl<'a> AsRawFd for StdoutLock<'a>

Source§

impl<F> AsRawFd for NamedTempFile<F>
where F: AsRawFd,

Source§

impl<S> AsRawFd for TlsStream<S>
where S: AsRawFd,

1.63.0 · Source§

impl<T> AsRawFd for Box<T>
where T: AsRawFd,

1.69.0 · Source§

impl<T> AsRawFd for Rc<T>
where T: AsRawFd,

1.63.0 · Source§

impl<T> AsRawFd for Arc<T>
where T: AsRawFd,

This impl allows implementing traits that require AsRawFd on Arc.

use std::net::UdpSocket;
use std::sync::Arc;
trait MyTrait: AsRawFd {
}
impl MyTrait for Arc<UdpSocket> {}
impl MyTrait for Box<UdpSocket> {}
Source§

impl<T> AsRawFd for AsyncFd<T>
where T: AsRawFd,