pub struct OwnedFd { /* private fields */ }Expand description
An owned file descriptor.
This closes the file descriptor on drop. It is guaranteed that nobody else will close the file descriptor.
This uses repr(transparent) and has the representation of a host file
descriptor, so it can be used in FFI in places where a file descriptor is
passed as a consumed argument or returned as an owned value, and it never
has the value -1.
You can use AsFd::as_fd to obtain a BorrowedFd.
Implementations§
Trait Implementations§
1.63.0 · Source§impl AsFd for OwnedFd
impl AsFd for OwnedFd
Source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
1.63.0 · Source§impl From<ChildStderr> for OwnedFd
impl From<ChildStderr> for OwnedFd
Source§fn from(child_stderr: ChildStderr) -> OwnedFd
fn from(child_stderr: ChildStderr) -> OwnedFd
Takes ownership of a ChildStderr’s file descriptor.
1.63.0 · Source§impl From<ChildStdin> for OwnedFd
impl From<ChildStdin> for OwnedFd
Source§fn from(child_stdin: ChildStdin) -> OwnedFd
fn from(child_stdin: ChildStdin) -> OwnedFd
Takes ownership of a ChildStdin’s file descriptor.
1.63.0 · Source§impl From<ChildStdout> for OwnedFd
impl From<ChildStdout> for OwnedFd
Source§fn from(child_stdout: ChildStdout) -> OwnedFd
fn from(child_stdout: ChildStdout) -> OwnedFd
Takes ownership of a ChildStdout’s file descriptor.
1.74.0 · Source§impl From<OwnedFd> for ChildStderr
Creates a ChildStderr from the provided OwnedFd.
impl From<OwnedFd> for ChildStderr
Creates a ChildStderr from the provided OwnedFd.
The provided file descriptor must point to a pipe
with the CLOEXEC flag set.
1.74.0 · Source§impl From<OwnedFd> for ChildStdin
Creates a ChildStdin from the provided OwnedFd.
impl From<OwnedFd> for ChildStdin
Creates a ChildStdin from the provided OwnedFd.
The provided file descriptor must point to a pipe
with the CLOEXEC flag set.
1.74.0 · Source§impl From<OwnedFd> for ChildStdout
Creates a ChildStdout from the provided OwnedFd.
impl From<OwnedFd> for ChildStdout
Creates a ChildStdout from the provided OwnedFd.
The provided file descriptor must point to a pipe
with the CLOEXEC flag set.
1.87.0 · Source§impl From<OwnedFd> for PipeReader
impl From<OwnedFd> for PipeReader
1.87.0 · Source§impl From<OwnedFd> for PipeWriter
impl From<OwnedFd> for PipeWriter
1.63.0 · Source§impl From<OwnedFd> for TcpListener
impl From<OwnedFd> for TcpListener
Source§fn from(owned_fd: OwnedFd) -> TcpListener
fn from(owned_fd: OwnedFd) -> TcpListener
1.63.0 · Source§impl From<OwnedFd> for UnixDatagram
impl From<OwnedFd> for UnixDatagram
Source§fn from(owned: OwnedFd) -> UnixDatagram
fn from(owned: OwnedFd) -> UnixDatagram
1.63.0 · Source§impl From<OwnedFd> for UnixListener
impl From<OwnedFd> for UnixListener
Source§fn from(fd: OwnedFd) -> UnixListener
fn from(fd: OwnedFd) -> UnixListener
1.63.0 · Source§impl From<OwnedFd> for UnixStream
impl From<OwnedFd> for UnixStream
1.87.0 · Source§impl From<PipeReader> for OwnedFd
impl From<PipeReader> for OwnedFd
Source§fn from(pipe: PipeReader) -> OwnedFd
fn from(pipe: PipeReader) -> OwnedFd
1.87.0 · Source§impl From<PipeWriter> for OwnedFd
impl From<PipeWriter> for OwnedFd
Source§fn from(pipe: PipeWriter) -> OwnedFd
fn from(pipe: PipeWriter) -> OwnedFd
1.63.0 · Source§impl From<TcpListener> for OwnedFd
impl From<TcpListener> for OwnedFd
Source§fn from(tcp_listener: TcpListener) -> OwnedFd
fn from(tcp_listener: TcpListener) -> OwnedFd
Takes ownership of a TcpListener’s socket file descriptor.
1.63.0 · Source§impl From<UnixDatagram> for OwnedFd
impl From<UnixDatagram> for OwnedFd
Source§fn from(unix_datagram: UnixDatagram) -> OwnedFd
fn from(unix_datagram: UnixDatagram) -> OwnedFd
Takes ownership of a UnixDatagram’s socket file descriptor.
1.63.0 · Source§impl From<UnixListener> for OwnedFd
impl From<UnixListener> for OwnedFd
Source§fn from(listener: UnixListener) -> OwnedFd
fn from(listener: UnixListener) -> OwnedFd
Takes ownership of a UnixListener’s socket file descriptor.
1.63.0 · Source§impl From<UnixStream> for OwnedFd
impl From<UnixStream> for OwnedFd
Source§fn from(unix_stream: UnixStream) -> OwnedFd
fn from(unix_stream: UnixStream) -> OwnedFd
Takes ownership of a UnixStream’s socket file descriptor.
1.63.0 · Source§impl IntoRawFd for OwnedFd
impl IntoRawFd for OwnedFd
Source§fn into_raw_fd(self) -> i32
fn into_raw_fd(self) -> i32
1.70.0 · Source§impl IsTerminal for OwnedFd
impl IsTerminal for OwnedFd
Source§fn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
true if the descriptor/handle refers to a terminal/tty. Read moreAuto Trait Implementations§
impl Freeze for OwnedFd
impl RefUnwindSafe for OwnedFd
impl Send for OwnedFd
impl Sync for OwnedFd
impl Unpin for OwnedFd
impl UnwindSafe for OwnedFd
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
Source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more