#[repr(transparent)]pub struct BorrowedFd<'fd> {
fd: RawFd,
_phantom: PhantomData<&'fd OwnedFd>,
}
Expand description
A borrowed file descriptor.
This has a lifetime parameter to tie it to the lifetime of something that owns 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 an argument, it is not captured or consumed, and it never has the
value -1
.
This type’s .to_owned()
implementation returns another BorrowedFd
rather than an OwnedFd
. It just makes a trivial copy of the raw file
descriptor, which is then borrowed under the same lifetime.
Fields§
§fd: RawFd
§_phantom: PhantomData<&'fd OwnedFd>
Implementations§
source§impl BorrowedFd<'_>
impl BorrowedFd<'_>
const: 1.63.0 · sourcepub const unsafe fn borrow_raw(fd: RawFd) -> Self
pub const unsafe fn borrow_raw(fd: RawFd) -> Self
Return a BorrowedFd
holding the given raw file descriptor.
Safety
The resource pointed to by fd
must remain open for the duration of
the returned BorrowedFd
, and it must not have the value -1
.
source§impl BorrowedFd<'_>
impl BorrowedFd<'_>
sourcepub fn try_clone_to_owned(&self) -> Result<OwnedFd>
pub fn try_clone_to_owned(&self) -> Result<OwnedFd>
Creates a new OwnedFd
instance that shares the same underlying file
description as the existing BorrowedFd
instance.
Trait Implementations§
source§impl AsFd for BorrowedFd<'_>
impl AsFd for BorrowedFd<'_>
source§fn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
source§impl AsRawFd for BorrowedFd<'_>
impl AsRawFd for BorrowedFd<'_>
source§impl<'fd> Clone for BorrowedFd<'fd>
impl<'fd> Clone for BorrowedFd<'fd>
source§fn clone(&self) -> BorrowedFd<'fd>
fn clone(&self) -> BorrowedFd<'fd>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BorrowedFd<'_>
impl Debug for BorrowedFd<'_>
1.70.0 · source§impl IsTerminal for BorrowedFd<'_>
impl IsTerminal for BorrowedFd<'_>
source§fn is_terminal(&self) -> bool
fn is_terminal(&self) -> bool
true
if the descriptor/handle refers to a terminal/tty. Read more