# Trait std::os::wasi::io::AsRawFd
1.0.0[−][src]

    pub trait AsRawFd {
        fn as_raw_fd(&self) -> RawFd;
    }

This is supported on WASI 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

[src]

#### fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor.

This method does not pass ownership of the raw file descriptor to the caller. The descriptor is only guaranteed to be valid while the original object has not yet been destroyed.

# Example

    use std::fs::File;
    #[cfg(unix)]
    use std::os::unix::io::{AsRawFd, RawFd};
    #[cfg(target_os = "wasi")]
    use std::os::wasi::io::{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();

Run

## Implementors

[src]

### impl AsRawFd for File

1.21.0[src]

### impl AsRawFd for Stderr

1.21.0[src]

### impl AsRawFd for Stdin

1.21.0[src]

### impl AsRawFd for Stdout

[src]

### impl AsRawFd for TcpListener

[src]

### impl AsRawFd for TcpStream

[src]

### impl AsRawFd for UdpSocket

1.2.0[src]

### impl AsRawFd for ChildStderr

This is supported on Unix only.
1.2.0[src]

### impl AsRawFd for ChildStdin

This is supported on Unix only.
1.2.0[src]

### impl AsRawFd for ChildStdout

This is supported on Unix only.
[src]

### impl AsRawFd for PidFd

This is supported on Linux only.
[src]

### impl AsRawFd for BorrowedFd<'_>

[src]

### impl AsRawFd for OwnedFd

1.10.0[src]

### impl AsRawFd for UnixDatagram

This is supported on Unix only.
1.10.0[src]

### impl AsRawFd for UnixListener

This is supported on Unix only.
1.10.0[src]

### impl AsRawFd for UnixStream

This is supported on Unix only.
1.48.0[src]

### impl AsRawFd for RawFd

1.35.0[src]

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

1.35.0[src]

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

1.35.0[src]

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