Struct char_device::CharDevice
source · #[repr(transparent)]pub struct CharDevice(_);Expand description
An unbuffered character device.
This is a wrapper around std::fs::File which is intended for use with
character device “files” such as “/dev/tty”.
Implementations
sourceimpl CharDevice
impl CharDevice
sourcepub fn new<Filelike: IntoFilelike + Read + Write>(
filelike: Filelike
) -> Result<Self>
pub fn new<Filelike: IntoFilelike + Read + Write>(
filelike: Filelike
) -> Result<Self>
Construct a new CharDevice. Fail if the given handle isn’t a valid
handle for a character device, or it can’t be determined.
sourcepub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
pub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
Construct a new CharDevice from the given filename. Fail if the given
handle isn’t a valid handle for a character device, or it can’t be
determined.
sourcepub unsafe fn new_unchecked<Filelike: IntoFilelike>(filelike: Filelike) -> Self
pub unsafe fn new_unchecked<Filelike: IntoFilelike>(filelike: Filelike) -> Self
sourcepub fn null() -> Result<Self>
pub fn null() -> Result<Self>
Construct a new CharDevice which discards writes and reads nothing.
This is “/dev/null” on Posix-ish platforms and “nul” on Windows.
sourcepub fn try_clone(&self) -> Result<Self>
pub fn try_clone(&self) -> Result<Self>
Creates a new independently owned handle to the underlying device.
sourcepub fn num_ready_bytes(&self) -> Result<u64>
pub fn num_ready_bytes(&self) -> Result<u64>
Return the number of bytes which are ready to be read immediately.
Trait Implementations
sourceimpl AsFd for CharDevice
impl AsFd for CharDevice
sourcefn as_fd(&self) -> BorrowedFd<'_>
fn as_fd(&self) -> BorrowedFd<'_>
Borrows the file descriptor. Read more
sourceimpl AsRawFd for CharDevice
impl AsRawFd for CharDevice
sourceimpl AsRawReadWriteFd for CharDevice
impl AsRawReadWriteFd for CharDevice
sourcefn as_raw_read_fd(&self) -> RawFd
fn as_raw_read_fd(&self) -> RawFd
Extracts the raw file descriptor for reading. Read more
sourcefn as_raw_write_fd(&self) -> RawFd
fn as_raw_write_fd(&self) -> RawFd
Extracts the raw file descriptor for writing. Read more
sourceimpl AsReadWriteFd for CharDevice
impl AsReadWriteFd for CharDevice
sourcefn as_read_fd(&self) -> BorrowedFd<'_>
fn as_read_fd(&self) -> BorrowedFd<'_>
Extracts the file descriptor for reading. Read more
sourcefn as_write_fd(&self) -> BorrowedFd<'_>
fn as_write_fd(&self) -> BorrowedFd<'_>
Extracts the file descriptor for writing. Read more
sourceimpl Debug for CharDevice
impl Debug for CharDevice
sourceimpl From<CharDevice> for OwnedFd
impl From<CharDevice> for OwnedFd
sourcefn from(char_device: CharDevice) -> OwnedFd
fn from(char_device: CharDevice) -> OwnedFd
Converts to this type from the input type.
sourceimpl IntoRawFd for CharDevice
impl IntoRawFd for CharDevice
sourcefn into_raw_fd(self) -> RawFd
fn into_raw_fd(self) -> RawFd
Consumes this object, returning the raw underlying file descriptor. Read more
sourceimpl Read for CharDevice
impl Read for CharDevice
sourcefn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
sourcefn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize>
Like
read, except that it reads into a slice of buffers. Read moresourcefn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)sourcefn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize>
Read all bytes until EOF in this source, placing them into
buf. Read moresourcefn read_to_string(&mut self, buf: &mut String) -> Result<usize>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize>
Read all bytes until EOF in this source, appending them to
buf. Read moresourcefn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<()>
Read the exact number of bytes required to fill
buf. Read moresourcefn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Pull some bytes from this source into the specified buffer. Read more
sourcefn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf)Read the exact number of bytes required to fill
cursor. Read more1.0.0 · sourcefn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read. Read moresourceimpl Write for CharDevice
impl Write for CharDevice
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
sourcefn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize>
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)sourcefn write_all(&mut self, buf: &[u8]) -> Result<()>
fn write_all(&mut self, buf: &[u8]) -> Result<()>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<()>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations
impl RefUnwindSafe for CharDevice
impl Send for CharDevice
impl Sync for CharDevice
impl Unpin for CharDevice
impl UnwindSafe for CharDevice
Blanket Implementations
sourceimpl<T> AsFilelike for Twhere
T: AsFd,
impl<T> AsFilelike for Twhere
T: AsFd,
sourcefn as_filelike(&self) -> BorrowedFd<'_>
fn as_filelike(&self) -> BorrowedFd<'_>
Borrows the reference. Read more
sourcefn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target>where
Target: FilelikeViewType,
fn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target>where
Target: FilelikeViewType,
Return a borrowing view of a resource which dereferences to a
&Target. Read moresourceimpl<T> AsRawFilelike for Twhere
T: AsRawFd,
impl<T> AsRawFilelike for Twhere
T: AsRawFd,
sourcefn as_raw_filelike(&self) -> i32
fn as_raw_filelike(&self) -> i32
Returns the raw value.
sourceimpl<T> AsRawGrip for Twhere
T: AsRawFd,
impl<T> AsRawGrip for Twhere
T: AsRawFd,
sourcefn as_raw_grip(&self) -> i32
fn as_raw_grip(&self) -> i32
Extracts the raw grip.
sourceimpl<T> AsRawReadWriteGrip for Twhere
T: AsRawReadWriteFd,
impl<T> AsRawReadWriteGrip for Twhere
T: AsRawReadWriteFd,
sourcefn as_raw_read_grip(&self) -> i32
fn as_raw_read_grip(&self) -> i32
Extracts the grip for reading. Read more
sourcefn as_raw_write_grip(&self) -> i32
fn as_raw_write_grip(&self) -> i32
Extracts the grip for writing. Read more
sourceimpl<T> AsRawSocketlike for Twhere
T: AsRawFd,
impl<T> AsRawSocketlike for Twhere
T: AsRawFd,
sourcefn as_raw_socketlike(&self) -> i32
fn as_raw_socketlike(&self) -> i32
Returns the raw value.
sourceimpl<T> AsReadWriteGrip for Twhere
T: AsReadWriteFd,
impl<T> AsReadWriteGrip for Twhere
T: AsReadWriteFd,
sourcefn as_read_grip(&self) -> BorrowedFd<'_>
fn as_read_grip(&self) -> BorrowedFd<'_>
Extracts the grip for reading. Read more
sourcefn as_write_grip(&self) -> BorrowedFd<'_>
fn as_write_grip(&self) -> BorrowedFd<'_>
Extracts the grip for writing. Read more
sourceimpl<T> AsSocketlike for Twhere
T: AsFd,
impl<T> AsSocketlike for Twhere
T: AsFd,
sourcefn as_socketlike(&self) -> BorrowedFd<'_>
fn as_socketlike(&self) -> BorrowedFd<'_>
Borrows the reference.
sourcefn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>where
Target: SocketlikeViewType,
fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target>where
Target: SocketlikeViewType,
Return a borrowing view of a resource which dereferences to a
&Target. Read moresourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> IntoFilelike for Twhere
T: Into<OwnedFd>,
impl<T> IntoFilelike for Twhere
T: Into<OwnedFd>,
sourcefn into_filelike(self) -> OwnedFd
fn into_filelike(self) -> OwnedFd
Consumes this object, returning the underlying filelike object. Read more
sourceimpl<T> IntoRawFilelike for Twhere
T: IntoRawFd,
impl<T> IntoRawFilelike for Twhere
T: IntoRawFd,
sourcefn into_raw_filelike(self) -> i32
fn into_raw_filelike(self) -> i32
Returns the raw value.
sourceimpl<T> IntoRawGrip for Twhere
T: IntoRawFd,
impl<T> IntoRawGrip for Twhere
T: IntoRawFd,
sourcefn into_raw_grip(self) -> i32
fn into_raw_grip(self) -> i32
Consume
self and convert into an RawGrip.sourceimpl<T> IntoRawSocketlike for Twhere
T: IntoRawFd,
impl<T> IntoRawSocketlike for Twhere
T: IntoRawFd,
sourcefn into_raw_socketlike(self) -> i32
fn into_raw_socketlike(self) -> i32
Returns the raw value.
sourceimpl<T> IntoSocketlike for Twhere
T: Into<OwnedFd>,
impl<T> IntoSocketlike for Twhere
T: Into<OwnedFd>,
sourcefn into_socketlike(self) -> OwnedFd
fn into_socketlike(self) -> OwnedFd
Consumes this object, returning the underlying socketlike object.