Termios Rust Bindings

The termios crate provides safe bindings for the Rust programming language to the terminal I/O interface implemented by Unix operating systems. The safe bindings are a small wrapper around the raw C functions, which converts integer return values to std::io::IoResult to indicate success or failure. The raw C functions are available in the termios::ffi module, but must be called within an unsafe block.

Dependencies

In order to use the termios crate, you must have:

Usage

Add termios as a dependency in Cargo.toml:

toml [dependencies] termios = "0.0.2"

Import the termios crate and any symbols needed from termios. You will also probably need libc::c_int for file descriptors and std::old_io::IoResult to propagate errors.

```rust

![feature(libc,io)]

extern crate termios; extern crate libc;

use std::oldio::IoResult; use libc::cint; use termios::*;

fn setupfd(fd: cint) -> IoResult<()> { let mut tios = try!(Termios::from_fd(fd));

tios.ciflag = IGNPAR | IGNBRK; tios.coflag = 0; tios.ccflag = CS8 | CREAD | CLOCAL; tios.clflag = 0;

try!(cfsetspeed(&mut tios, B9600)); try!(tcsetattr(fd, TCSANOW, &tios)); try!(tcflush(fd, TCIOFLUSH));

Ok(()); } ```

License

Copyright © 2015 David Cuddeback

Distributed under the MIT License.