#[cfg(target_os = "macos")]
include!("osx.rs");
#[cfg(target_os = "linux")]
include!(env!("LINUX_TERM_LIB"));
pub fn setup() -> libc::termios {
let mut saved_termattr = get_termattr();
unsafe {
let saved_termattr_ptr = &mut saved_termattr;
libc::tcgetattr(0, saved_termattr_ptr);
}
let mut termattr = saved_termattr;
termattr.c_lflag = termattr.c_lflag & !(libc::ICANON | libc::ECHO);
termattr.c_cc[libc::VMIN] = 1;
termattr.c_cc[libc::VTIME] = 0;
unsafe {
libc::tcsetattr(0, libc::TCSANOW, &termattr);
}
unsafe {
libc::fcntl(0, libc::F_SETFL, libc::O_NONBLOCK);
}
saved_termattr
}