use crate::backend; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B1000000; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B1152000; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B1500000; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B2000000; #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B2500000; #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B3000000; #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B3500000; #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B4000000; #[cfg(not(any( target_os = "dragonfly", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "openbsd" )))] pub use backend::termios::types::B460800; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B500000; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::B576000; #[cfg(not(any( target_os = "dragonfly", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "openbsd" )))] pub use backend::termios::types::B921600; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::BRKINT; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::BS0; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::BS1; #[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", target_os = "solaris", )))] pub use backend::termios::types::BSDLY; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", )))] pub use backend::termios::types::CBAUD; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::CBAUDEX; #[cfg(not(any( target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", )))] pub use backend::termios::types::CIBAUD; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CLOCAL; #[cfg(not(any( target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::CMSPAR; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::CR0; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::CR1; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::CR2; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::CR3; #[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", target_os = "solaris", )))] pub use backend::termios::types::CRDLY; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CREAD; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::CRTSCTS; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CS5; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CS6; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CS7; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CS8; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CSIZE; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::CSTOPB; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ECHO; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::ECHOCTL; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ECHOE; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ECHOK; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::ECHOKE; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ECHONL; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::ECHOPRT; #[cfg(not(any( target_os = "emscripten", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::EXTA; #[cfg(not(any( target_os = "emscripten", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::EXTB; #[cfg(not(any( target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "redox" )))] pub use backend::termios::types::EXTPROC; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::FF0; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::FF1; #[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", target_os = "solaris", )))] pub use backend::termios::types::FFDLY; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::FLUSHO; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::HUPCL; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ICRNL; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::IEXTEN; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::IGNBRK; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::IGNCR; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::IGNPAR; #[cfg(not(any( target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "redox" )))] pub use backend::termios::types::IMAXBEL; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::INLCR; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::INPCK; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ISIG; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ISTRIP; #[cfg(any( linux_raw, all( libc, any(target_os = "haiku", target_os = "illumos", target_os = "solaris"), ) ))] pub use backend::termios::types::IUCLC; #[cfg(not(any( target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::IUTF8; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::IXANY; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::IXOFF; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::IXON; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::NL0; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::NL1; #[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", target_os = "solaris", )))] pub use backend::termios::types::NLDLY; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::NOFLSH; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::OCRNL; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", )))] pub use backend::termios::types::OFDEL; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", )))] pub use backend::termios::types::OFILL; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "redox", )))] pub use backend::termios::types::OLCUC; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ONLCR; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ONLRET; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::ONOCR; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::OPOST; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::PARENB; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::PARMRK; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::PARODD; #[cfg(not(any(target_os = "ios", target_os = "macos", target_os = "redox")))] pub use backend::termios::types::PENDIN; #[cfg(not(any( target_os = "dragonfly", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::TAB0; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::TAB1; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::TAB2; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::TAB3; #[cfg(not(any( target_os = "dragonfly", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "illumos", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::TABDLY; #[cfg(not(any(target_os = "ios", target_os = "macos")))] pub use backend::termios::types::TOSTOP; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] pub use backend::termios::types::VSWTC; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::VT0; #[cfg(not(any( all(libc, target_env = "musl"), target_os = "dragonfly", target_os = "emscripten", target_os = "freebsd", target_os = "fuchsia", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::VT1; #[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", target_os = "solaris", )))] pub use backend::termios::types::VTDLY; #[cfg(any(linux_raw, all(libc, any(target_arch = "s390x", target_os = "haiku"))))] pub use backend::termios::types::XCASE; #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "redox", target_os = "solaris", )))] pub use backend::termios::types::XTABS; pub use backend::termios::types::{ B0, B110, B115200, B1200, B134, B150, B1800, B19200, B200, B230400, B2400, B300, B38400, B4800, B50, B57600, B600, B75, B9600, ICANON, VEOF, VEOL, VEOL2, VERASE, VINTR, VKILL, VMIN, VQUIT, VSTART, VSTOP, VSUSP, VTIME, }; #[cfg(not(target_os = "haiku"))] pub use backend::termios::types::{VDISCARD, VLNEXT, VREPRINT, VWERASE}; /// Translate from a `Speed` code to a speed value `u32`. /// /// ```rust /// let speed = rustix::termios::speed_value(rustix::termios::B57600); /// assert_eq!(speed, Some(57600)); /// ``` pub fn speed_value(speed: backend::termios::types::Speed) -> Option { match speed { backend::termios::types::B0 => Some(0), backend::termios::types::B50 => Some(50), backend::termios::types::B75 => Some(75), backend::termios::types::B110 => Some(110), backend::termios::types::B134 => Some(134), backend::termios::types::B150 => Some(150), backend::termios::types::B200 => Some(200), backend::termios::types::B300 => Some(300), backend::termios::types::B600 => Some(600), backend::termios::types::B1200 => Some(1200), backend::termios::types::B1800 => Some(1800), backend::termios::types::B2400 => Some(2400), backend::termios::types::B4800 => Some(4800), backend::termios::types::B9600 => Some(9600), backend::termios::types::B19200 => Some(19200), backend::termios::types::B38400 => Some(38400), backend::termios::types::B57600 => Some(57600), backend::termios::types::B115200 => Some(115_200), backend::termios::types::B230400 => Some(230_400), #[cfg(not(any( target_os = "dragonfly", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "openbsd" )))] backend::termios::types::B460800 => Some(460_800), #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B500000 => Some(500_000), #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "illumos", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B576000 => Some(576_000), #[cfg(not(any( target_os = "dragonfly", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "openbsd" )))] backend::termios::types::B921600 => Some(921_600), #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B1000000 => Some(1_000_000), #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B1152000 => Some(1_152_000), #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B1500000 => Some(1_500_000), #[cfg(not(any( target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B2000000 => Some(2_000_000), #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B2500000 => Some(2_500_000), #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B3000000 => Some(3_000_000), #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B3500000 => Some(3_500_000), #[cfg(not(any( target_arch = "sparc", target_arch = "sparc64", target_os = "dragonfly", target_os = "freebsd", target_os = "haiku", target_os = "ios", target_os = "macos", target_os = "netbsd", target_os = "openbsd", target_os = "solaris", )))] backend::termios::types::B4000000 => Some(4_000_000), _ => None, } }