diff options
Diffstat (limited to 'vendor/rustix/examples/stdio.rs')
-rw-r--r-- | vendor/rustix/examples/stdio.rs | 465 |
1 files changed, 0 insertions, 465 deletions
diff --git a/vendor/rustix/examples/stdio.rs b/vendor/rustix/examples/stdio.rs deleted file mode 100644 index 9e79d5356..000000000 --- a/vendor/rustix/examples/stdio.rs +++ /dev/null @@ -1,465 +0,0 @@ -//! A command which prints out information about the standard input, -//! output, and error streams provided to it. - -#![cfg_attr(io_lifetimes_use_std, feature(io_safety))] - -#[cfg(not(windows))] -use rustix::fd::AsFd; -#[cfg(not(windows))] -use rustix::io::{self, stderr, stdin, stdout}; -#[cfg(feature = "termios")] -#[cfg(not(windows))] -use rustix::termios::isatty; -#[cfg(all(not(windows), feature = "termios", feature = "procfs"))] -use rustix::termios::ttyname; - -#[cfg(not(windows))] -fn main() -> io::Result<()> { - let (stdin, stdout, stderr) = unsafe { (stdin(), stdout(), stderr()) }; - - println!("Stdin:"); - show(&stdin)?; - - println!("Stdout:"); - show(&stdout)?; - - println!("Stderr:"); - show(&stderr)?; - - Ok(()) -} - -#[cfg(not(windows))] -fn show<Fd: AsFd>(fd: Fd) -> io::Result<()> { - let fd = fd.as_fd(); - println!(" - ready: {:?}", rustix::io::ioctl_fionread(fd)?); - - #[cfg(feature = "termios")] - if isatty(fd) { - #[cfg(feature = "procfs")] - println!(" - ttyname: {}", ttyname(fd, Vec::new())?.to_string_lossy()); - println!(" - process group: {:?}", rustix::termios::tcgetpgrp(fd)?); - println!(" - winsize: {:?}", rustix::termios::tcgetwinsize(fd)?); - - { - use rustix::termios::*; - let term = tcgetattr(fd)?; - - if let Some(speed) = speed_value(cfgetispeed(&term)) { - println!(" - ispeed: {}", speed); - } - if let Some(speed) = speed_value(cfgetospeed(&term)) { - println!(" - ospeed: {}", speed); - } - - print!(" - in flags:"); - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IGNBRK) != 0 { - print!(" IGNBRK"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & BRKINT) != 0 { - print!(" BRKINT"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IGNPAR) != 0 { - print!(" IGNPAR"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & PARMRK) != 0 { - print!(" PARMRK"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & INPCK) != 0 { - print!(" INPCK"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & ISTRIP) != 0 { - print!(" ISTRIP"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & INLCR) != 0 { - print!(" INLCR"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IGNCR) != 0 { - print!(" IGNCR"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & ICRNL) != 0 { - print!(" ICRNL"); - } - #[cfg(any( - linux_raw, - all( - libc, - any(target_os = "haiku", target_os = "illumos", target_os = "solaris"), - ) - ))] - if (term.c_iflag & IUCLC) != 0 { - print!(" IUCLC"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IXON) != 0 { - print!(" IXON"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IXANY) != 0 { - print!(" IXANY"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IXOFF) != 0 { - print!(" IXOFF"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_iflag & IMAXBEL) != 0 { - print!(" IMAXBEL"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_iflag & IUTF8) != 0 { - print!(" IUTF8"); - } - println!(); - - print!(" - out flags:"); - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_oflag & OPOST) != 0 { - print!(" OPOST"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "redox", - )))] - if (term.c_oflag & OLCUC) != 0 { - print!(" OLCUC"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_oflag & ONLCR) != 0 { - print!(" ONLCR"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_oflag & OCRNL) != 0 { - print!(" OCRNL"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_oflag & ONOCR) != 0 { - print!(" ONOCR"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_oflag & ONLRET) != 0 { - print!(" ONLRET"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - )))] - if (term.c_oflag & OFILL) != 0 { - print!(" OFILL"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - )))] - if (term.c_oflag & OFDEL) != 0 { - print!(" OFDEL"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_oflag & NLDLY) != 0 { - print!(" NLDLY"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_oflag & CRDLY) != 0 { - print!(" CRDLY"); - } - #[cfg(not(any( - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "illumos", - target_os = "redox", - )))] - if (term.c_oflag & TABDLY) != 0 { - print!(" TABDLY"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_oflag & BSDLY) != 0 { - print!(" BSDLY"); - } - #[cfg(not(any( - all(libc, target_env = "musl"), - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_oflag & VTDLY) != 0 { - print!(" VTDLY"); - } - #[cfg(not(any( - all(libc, target_env = "musl"), - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_oflag & FFDLY) != 0 { - print!(" FFDLY"); - } - println!(); - - print!(" - control flags:"); - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_cflag & CBAUD) != 0 { - print!(" CBAUD"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_cflag & CBAUDEX) != 0 { - print!(" CBAUDEX"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & CSIZE) != 0 { - print!(" CSIZE"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & CSTOPB) != 0 { - print!(" CSTOPB"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & CREAD) != 0 { - print!(" CREAD"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & PARENB) != 0 { - print!(" PARENB"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & PARODD) != 0 { - print!(" PARODD"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & HUPCL) != 0 { - print!(" HUPCL"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & CLOCAL) != 0 { - print!(" CLOCAL"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_cflag & CIBAUD) != 0 { - print!(" CIBAUD"); - } - #[cfg(not(any( - target_os = "dragonfly", - target_os = "freebsd", - target_os = "illumos", - target_os = "ios", - target_os = "macos", - target_os = "netbsd", - target_os = "openbsd", - target_os = "redox", - )))] - if (term.c_cflag & CMSPAR) != 0 { - print!(" CMSPAR"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_cflag & CRTSCTS) != 0 { - print!(" CRTSCTS"); - } - println!(); - - print!(" - local flags:"); - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ISIG) != 0 { - print!(" ISIG"); - } - if (term.c_lflag & ICANON) != 0 { - print!(" ICANON"); - } - #[cfg(any(linux_raw, all(libc, any(target_arch = "s390x", target_os = "haiku"))))] - if (term.c_lflag & XCASE) != 0 { - print!(" XCASE"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHO) != 0 { - print!(" ECHO"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHOE) != 0 { - print!(" ECHOE"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHOK) != 0 { - print!(" ECHOK"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHONL) != 0 { - print!(" ECHONL"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHOCTL) != 0 { - print!(" ECHOCTL"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHOPRT) != 0 { - print!(" ECHOPRT"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & ECHOKE) != 0 { - print!(" ECHOKE"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & FLUSHO) != 0 { - print!(" FLUSHO"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & NOFLSH) != 0 { - print!(" NOFLSH"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & TOSTOP) != 0 { - print!(" TOSTOP"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & PENDIN) != 0 { - print!(" PENDIN"); - } - #[cfg(not(any(target_os = "ios", target_os = "macos")))] - if (term.c_lflag & IEXTEN) != 0 { - print!(" IEXTEN"); - } - println!(); - - println!( - " - keys: INTR={} QUIT={} ERASE={} KILL={} EOF={} TIME={} MIN={} ", - key(term.c_cc[VINTR]), - key(term.c_cc[VQUIT]), - key(term.c_cc[VERASE]), - key(term.c_cc[VKILL]), - key(term.c_cc[VEOF]), - term.c_cc[VTIME], - term.c_cc[VMIN] - ); - println!( - " START={} STOP={} SUSP={} EOL={} REPRINT={} DISCARD={}", - key(term.c_cc[VSTART]), - key(term.c_cc[VSTOP]), - key(term.c_cc[VSUSP]), - key(term.c_cc[VEOL]), - key(term.c_cc[VREPRINT]), - key(term.c_cc[VDISCARD]) - ); - println!( - " WERASE={} LNEXT={} EOL2={}", - key(term.c_cc[VWERASE]), - key(term.c_cc[VLNEXT]), - key(term.c_cc[VEOL2]) - ); - } - } else { - println!(" - is not a tty"); - } - - println!(); - Ok(()) -} - -#[cfg(feature = "termios")] -#[cfg(not(windows))] -fn key(b: u8) -> String { - if b == 0 { - format!("<undef>") - } else if b < 0x20 { - format!("^{}", (b + 0x40) as char) - } else if b == 0x7f { - format!("^?") - } else { - format!("{}", b as char) - } -} - -#[cfg(windows)] -fn main() { - unimplemented!() -} |