Struct serialport::posix::TTYPort [−][src]
pub struct TTYPort { /* fields omitted */ }
A TTY-based serial port implementation.
The port will be closed when the value is dropped. However, this struct
should not be instantiated directly by using TTYPort::open()
, instead use
the cross-platform serialport::open()
or
serialport::open_with_settings()
.
Methods
impl TTYPort
[src]
impl TTYPort
pub fn open(path: &Path, settings: &SerialPortSettings) -> Result<TTYPort>
[src]
pub fn open(path: &Path, settings: &SerialPortSettings) -> Result<TTYPort>
Opens a TTY device as a serial port.
path
should be the path to a TTY device, e.g., /dev/ttyS0
.
Ports are opened in exclusive mode by default. If this is undesireable
behavior, use TTYPort::set_exclusive(false)
.
Errors
NoDevice
if the device could not be opened. This could indicate that the device is already in use.InvalidInput
ifpath
is not a valid device name.Io
for any other error while opening or initializing the device.
pub fn exclusive(&self) -> bool
[src]
pub fn exclusive(&self) -> bool
Returns the exclusivity of the port
If a port is exclusive, then trying to open the same device path again will fail.
pub fn set_exclusive(&mut self, exclusive: bool) -> Result<()>
[src]
pub fn set_exclusive(&mut self, exclusive: bool) -> Result<()>
Sets the exclusivity of the port
If a port is exclusive, then trying to open the same device path again will fail.
See the man pages for the tiocexcl and tiocnxcl ioctl's for more details.
Errors
Io
for any error while setting exclusivity for the port.
pub fn pair() -> Result<(Self, Self)>
[src]
pub fn pair() -> Result<(Self, Self)>
Create a pair of pseudo serial terminals
Returns
Two connected TTYPort
objects: (master, slave)
Errors
Attempting any IO or parameter settings on the slave tty after the master tty is closed will return errors.
On some platforms manipulating the master port will fail and only modifying the slave port is possible.
Examples
use serialport::posix::TTYPort; let (master, slave) = TTYPort::pair().unwrap();
Trait Implementations
impl Debug for TTYPort
[src]
impl Debug for TTYPort
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Drop for TTYPort
[src]
impl Drop for TTYPort
impl AsRawFd for TTYPort
[src]
impl AsRawFd for TTYPort
impl IntoRawFd for TTYPort
[src]
impl IntoRawFd for TTYPort
fn into_raw_fd(self) -> RawFd
[src]
fn into_raw_fd(self) -> RawFd
Consumes this object, returning the raw underlying file descriptor. Read more
impl FromRawFd for TTYPort
[src]
impl FromRawFd for TTYPort
unsafe fn from_raw_fd(fd: RawFd) -> Self
[src]
unsafe fn from_raw_fd(fd: RawFd) -> Self
Constructs a new instance of Self
from the given raw file descriptor. Read more
impl Read for TTYPort
[src]
impl Read for TTYPort
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
[src]
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
unsafe fn initializer(&self) -> Initializer
[src]
unsafe fn initializer(&self) -> Initializer
read_initializer
)Determines if this Read
er can work with buffers of uninitialized memory. Read more
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
1.0.0[src]
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Read all bytes until EOF in this source, placing them into buf
. Read more
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
1.0.0[src]
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Read all bytes until EOF in this source, appending them to buf
. Read more
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
1.6.0[src]
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Read the exact number of bytes required to fill buf
. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Read
. Read more
fn bytes(self) -> Bytes<Self>
1.0.0[src]
fn bytes(self) -> Bytes<Self>
Transforms this Read
instance to an [Iterator
] over its bytes. Read more
fn chars(self) -> Chars<Self>
[src]
fn chars(self) -> Chars<Self>
: Use str::from_utf8 instead: https://doc.rust-lang.org/nightly/std/str/struct.Utf8Error.html#examples
🔬 This is a nightly-only experimental API. (io
)
the semantics of a partial read/write of where errors happen is currently unclear and may change
Transforms this Read
instance to an [Iterator
] over [char
]s. Read more
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
1.0.0[src]
fn chain<R>(self, next: R) -> Chain<Self, R> where
R: Read,
Creates an adaptor which will chain this stream with another. Read more
fn take(self, limit: u64) -> Take<Self>
1.0.0[src]
fn take(self, limit: u64) -> Take<Self>
Creates an adaptor which will read at most limit
bytes from it. Read more
impl Write for TTYPort
[src]
impl Write for TTYPort
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
[src]
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Write
. Read more
impl SerialPort for TTYPort
[src]
impl SerialPort for TTYPort
fn name(&self) -> Option<String>
[src]
fn name(&self) -> Option<String>
Returns the name of this port if it exists. Read more
fn settings(&self) -> SerialPortSettings
[src]
fn settings(&self) -> SerialPortSettings
Returns a struct with all port settings
fn baud_rate(&self) -> Result<u32>
[src]
fn baud_rate(&self) -> Result<u32>
Returns the port's baud rate
On some platforms this will be the actual device baud rate, which may differ from the desired baud rate.
fn data_bits(&self) -> Result<DataBits>
[src]
fn data_bits(&self) -> Result<DataBits>
Returns the character size. Read more
fn flow_control(&self) -> Result<FlowControl>
[src]
fn flow_control(&self) -> Result<FlowControl>
Returns the flow control mode. Read more
fn parity(&self) -> Result<Parity>
[src]
fn parity(&self) -> Result<Parity>
Returns the parity-checking mode. Read more
fn stop_bits(&self) -> Result<StopBits>
[src]
fn stop_bits(&self) -> Result<StopBits>
Returns the number of stop bits. Read more
fn timeout(&self) -> Duration
[src]
fn timeout(&self) -> Duration
Returns the current timeout.
fn set_all(&mut self, settings: &SerialPortSettings) -> Result<()>
[src]
fn set_all(&mut self, settings: &SerialPortSettings) -> Result<()>
Applies all settings for a struct. This isn't guaranteed to involve only a single call into the driver, though that may be done on some platforms. Read more
fn set_baud_rate(&mut self, baud_rate: u32) -> Result<()>
[src]
fn set_baud_rate(&mut self, baud_rate: u32) -> Result<()>
Sets the baud rate. Read more
fn set_flow_control(&mut self, flow_control: FlowControl) -> Result<()>
[src]
fn set_flow_control(&mut self, flow_control: FlowControl) -> Result<()>
Sets the flow control mode.
fn set_parity(&mut self, parity: Parity) -> Result<()>
[src]
fn set_parity(&mut self, parity: Parity) -> Result<()>
Sets the parity-checking mode.
fn set_data_bits(&mut self, data_bits: DataBits) -> Result<()>
[src]
fn set_data_bits(&mut self, data_bits: DataBits) -> Result<()>
Sets the character size.
fn set_stop_bits(&mut self, stop_bits: StopBits) -> Result<()>
[src]
fn set_stop_bits(&mut self, stop_bits: StopBits) -> Result<()>
Sets the number of stop bits.
fn set_timeout(&mut self, timeout: Duration) -> Result<()>
[src]
fn set_timeout(&mut self, timeout: Duration) -> Result<()>
Sets the timeout for future I/O operations.
fn write_request_to_send(&mut self, level: bool) -> Result<()>
[src]
fn write_request_to_send(&mut self, level: bool) -> Result<()>
Sets the state of the RTS (Request To Send) control signal. Read more
fn write_data_terminal_ready(&mut self, level: bool) -> Result<()>
[src]
fn write_data_terminal_ready(&mut self, level: bool) -> Result<()>
Writes to the Data Terminal Ready pin Read more
fn read_clear_to_send(&mut self) -> Result<bool>
[src]
fn read_clear_to_send(&mut self) -> Result<bool>
Reads the state of the CTS (Clear To Send) control signal. Read more
fn read_data_set_ready(&mut self) -> Result<bool>
[src]
fn read_data_set_ready(&mut self) -> Result<bool>
Reads the state of the Data Set Ready control signal. Read more
fn read_ring_indicator(&mut self) -> Result<bool>
[src]
fn read_ring_indicator(&mut self) -> Result<bool>
Reads the state of the Ring Indicator control signal. Read more
fn read_carrier_detect(&mut self) -> Result<bool>
[src]
fn read_carrier_detect(&mut self) -> Result<bool>
Reads the state of the Carrier Detect control signal. Read more
fn try_clone(&self) -> Result<Box<SerialPort>>
[src]
fn try_clone(&self) -> Result<Box<SerialPort>>
Attempts to clone the SerialPort
. This allow you to write and read simultaneously from the same serial connection. Please note that if you want a real asynchronous serial port you should look at mio-serial or tokio-serial. Read more