Struct termios::Termios [] [src]

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.

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(())
}

Methods

impl Termios
[src]

[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 Debug for Termios
[src]

[src]

Formats the value using the given formatter.

impl Copy for Termios
[src]

impl Clone for Termios
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Eq for Termios
[src]

impl PartialEq for Termios
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Deref for Termios
[src]

The resulting type after dereferencing.

[src]

Dereferences the value.

impl DerefMut for Termios
[src]

[src]

Mutably dereferences the value.