[−][src]Struct termios::Termios
Unix terminal I/O control structure.
The Termios
structure is a thin wrapper for the OS-specific termios
struct. The only safe
way to obtain a Termios
structure is to fill one from a file descriptor with
Termios::from_fd()
, after which it can be treated just like the POSIX
termios
struct. It provides access to the standard fields of the termios
struct (c_iflag
,
c_oflag
, c_cflag
, c_lflag
, and c_cc
) through the Deref
and DerefMut
traits.
Example
The following is an example of how one might setup a file descriptor for a serial port:
use std::io; use std::os::unix::io::RawFd; fn setup_serial(fd: RawFd) -> io::Result<()> { use termios::*; let mut termios = try!(Termios::from_fd(fd)); termios.c_cflag |= CREAD | CLOCAL; termios.c_lflag &= !(ICANON | ECHO | ECHOE | ECHOK | ECHONL | ISIG | IEXTEN); termios.c_oflag &= !OPOST; termios.c_iflag &= !(INLCR | IGNCR | ICRNL | IGNBRK); termios.c_cc[VMIN] = 0; termios.c_cc[VTIME] = 0; try!(cfsetspeed(&mut termios, B9600)); try!(tcsetattr(fd, TCSANOW, &mut termios)); Ok(()) }
Implementations
impl Termios
[src]
pub fn from_fd(fd: RawFd) -> Result<Self>
[src]
Creates a Termios
structure based on the current settings of a file descriptor.
fd
must be an open file descriptor for a terminal device.
Trait Implementations
impl Clone for Termios
[src]
impl Copy for Termios
[src]
impl Debug for Termios
[src]
impl Deref for Termios
[src]
impl DerefMut for Termios
[src]
impl Eq for Termios
[src]
impl PartialEq<Termios> for Termios
[src]
impl StructuralEq for Termios
[src]
impl StructuralPartialEq for Termios
[src]
Auto Trait Implementations
impl RefUnwindSafe for Termios
impl Send for Termios
impl Sync for Termios
impl Unpin for Termios
impl UnwindSafe for Termios
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,