pub struct Termios { /* private fields */ }
Expand description
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§
Trait Implementations§
impl Copy for Termios
impl Eq for Termios
impl StructuralPartialEq for Termios
Auto Trait Implementations§
impl Freeze for Termios
impl RefUnwindSafe for Termios
impl Send for Termios
impl Sync for Termios
impl Unpin for Termios
impl UnwindSafe for Termios
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
Mutably borrows from an owned value. Read more