pub struct Termios { /* fields omitted */ }
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.
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(())
}
Creates a Termios
structure based on the current settings of a file descriptor.
fd
must be an open file descriptor for a terminal device.
Formats the value using the given formatter. Read more
Performs copy-assignment from source
. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
The resulting type after dereferencing.
Mutably dereferences the value.