diff --git a/src/sys/unix/attr.rs b/src/sys/unix/attr.rs index d25e942..a83e6c1 100644 --- a/src/sys/unix/attr.rs +++ b/src/sys/unix/attr.rs @@ -1,29 +1,19 @@ use std::{io, mem}; use super::{cvt, Termios}; -use super::libc::c_int; pub fn get_terminal_attr() -> io::Result { - extern "C" { - pub fn tcgetattr(fd: c_int, termptr: *mut Termios) -> c_int; - } unsafe { let mut termios = mem::zeroed(); - cvt(tcgetattr(1, &mut termios))?; + cvt(libc::tcgetattr(libc::STDOUT_FILENO, &mut termios))?; Ok(termios) } } pub fn set_terminal_attr(termios: &Termios) -> io::Result<()> { - extern "C" { - pub fn tcsetattr(fd: c_int, opt: c_int, termptr: *const Termios) -> c_int; - } - cvt(unsafe { tcsetattr(1, 0, termios) }).and(Ok(())) + cvt(unsafe { libc::tcsetattr(libc::STDOUT_FILENO, libc::TCSANOW, termios) }).and(Ok(())) } pub fn raw_terminal_attr(termios: &mut Termios) { - extern "C" { - pub fn cfmakeraw(termptr: *mut Termios); - } - unsafe { cfmakeraw(termios) } + unsafe { libc::cfmakeraw(termios) } }