message: Add termios baud rate functions
diff: //! termios implementation, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/termios.h.html
  +use header::errno;
  +use platform;
  use platform::types::*;
  use platform::{Pal, Sys};
  @@ -31,6 +33,44 @@ pub extern "C" fn tcsetattr(fd: c_int, act: c_int, value: *mut termios) -> c_int
  Sys::tcsetattr(fd, act, value)
  }
  +#[no_mangle]
  +pub extern "C" fn cfgetispeed(termios_p: *const termios) -> speed_t {
  + unsafe { (*termios_p).__c_ispeed }
  +}
  +
  +#[no_mangle]
  +pub extern "C" fn cfgetospeed(termios_p: *const termios) -> speed_t {
  + unsafe { (*termios_p).__c_ospeed }
  +}
  +
  +#[no_mangle]
  +pub extern "C" fn cfsetispeed(termios_p: *mut termios, speed: speed_t) -> c_int {
  + match speed as usize {
  + B0..=B38400 | B57600..=B4000000 => {
  + unsafe { (*termios_p).__c_ispeed = speed };
  + 0
  + }
  + _ => {
  + unsafe { platform::errno = errno::EINVAL };
  + -1
  + }
  + }
  +}
  +
  +#[no_mangle]
  +pub extern "C" fn cfsetospeed(termios_p: *mut termios, speed: speed_t) -> c_int {
  + match speed as usize {
  + B0..=B38400 | B57600..=B4000000 => {
  + unsafe { (*termios_p).__c_ospeed = speed };
  + 0
  + }
  + _ => {
  + unsafe { platform::errno = errno::EINVAL };
  + -1
  + }
  + }
  +}
  +
  pub const VINTR: usize = 0;
  pub const VQUIT: usize = 1;
  pub const VERASE: usize = 2;
  