diff --git a/build.rs b/build.rs index dab64847b2b6c..75eabbba187f9 100644 --- a/build.rs +++ b/build.rs @@ -24,6 +24,7 @@ const ALLOWED_CFGS: &[&str] = &[ // Corresponds to `__USE_TIME_BITS64` in UAPI "linux_time_bits64", "musl_v1_2_3", + "gnu_simple_baud_rates", ]; // Extra values to allow for check-cfg. @@ -139,6 +140,11 @@ fn main() { } } + #[cfg(target_env = "gnu")] + if have_symbol("GLIBC_2.42") { + set_cfg("gnu_simple_baud_rates"); + } + // On CI: deny all warnings if libc_ci { set_cfg("libc_deny_warnings"); @@ -288,6 +294,29 @@ fn emcc_version_code() -> Option { Some(major * 10000 + minor * 100 + patch) } +/// Check if a symbol is available in the current process. +/// +/// This can be used to detect properties of the system libc at build time. +#[cfg(target_env = "gnu")] +fn have_symbol(symbol: &str) -> bool { + use std::ffi::CString; + use std::os::raw::{c_char, c_void}; + extern "C" { + fn dlerror() -> *const c_void; + fn dlsym(handle: *const c_void, symbol: *const c_char) -> *const c_void; + } + let symbol = CString::new(symbol).unwrap(); + unsafe { + // Clear any error from previous dlopen/dlsym calls. + dlerror(); + // Try to load the symbol. + // The symbol could be present but null, so ignore the return value. + dlsym(std::ptr::null(), symbol.as_ptr()); + // Check that there is no new error. + dlerror().is_null() + } +} + fn set_cfg(cfg: &str) { assert!( ALLOWED_CFGS.contains(&cfg), diff --git a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs index 900851ab5f42c..ff757cfe1203e 100644 --- a/src/unix/linux_like/linux/gnu/b32/arm/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/arm/mod.rs @@ -496,39 +496,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const VEOL: usize = 11; pub const VEOL2: usize = 16; diff --git a/src/unix/linux_like/linux/gnu/b32/csky/mod.rs b/src/unix/linux_like/linux/gnu/b32/csky/mod.rs index 95881894a4b94..15145e3d83291 100644 --- a/src/unix/linux_like/linux/gnu/b32/csky/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/csky/mod.rs @@ -392,39 +392,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const VEOL: usize = 11; pub const VEOL2: usize = 16; diff --git a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs b/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs index d614fddeca9d9..361c08c41db9c 100644 --- a/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/m68k/mod.rs @@ -390,39 +390,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const VEOL: usize = 11; pub const VEOL2: usize = 16; diff --git a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs index db0505a2473de..b6deac9d4187e 100644 --- a/src/unix/linux_like/linux/gnu/b32/mips/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/mips/mod.rs @@ -887,38 +887,42 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const EHWPOISON: c_int = 168; diff --git a/src/unix/linux_like/linux/gnu/b32/powerpc.rs b/src/unix/linux_like/linux/gnu/b32/powerpc.rs index 791f14956806d..3544eee39d312 100644 --- a/src/unix/linux_like/linux/gnu/b32/powerpc.rs +++ b/src/unix/linux_like/linux/gnu/b32/powerpc.rs @@ -445,40 +445,44 @@ pub const FFDLY: crate::tcflag_t = 0o040000; pub const VTDLY: crate::tcflag_t = 0o200000; pub const XTABS: crate::tcflag_t = 0o006000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const CBAUDEX: crate::speed_t = 0o000020; -pub const B57600: crate::speed_t = 0o0020; -pub const B115200: crate::speed_t = 0o0021; -pub const B230400: crate::speed_t = 0o0022; -pub const B460800: crate::speed_t = 0o0023; -pub const B500000: crate::speed_t = 0o0024; -pub const B576000: crate::speed_t = 0o0025; -pub const B921600: crate::speed_t = 0o0026; -pub const B1000000: crate::speed_t = 0o0027; -pub const B1152000: crate::speed_t = 0o0030; -pub const B1500000: crate::speed_t = 0o0031; -pub const B2000000: crate::speed_t = 0o0032; -pub const B2500000: crate::speed_t = 0o0033; -pub const B3000000: crate::speed_t = 0o0034; -pub const B3500000: crate::speed_t = 0o0035; -pub const B4000000: crate::speed_t = 0o0036; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const CBAUDEX: crate::speed_t = 0o000020; + pub const B57600: crate::speed_t = 0o0020; + pub const B115200: crate::speed_t = 0o0021; + pub const B230400: crate::speed_t = 0o0022; + pub const B460800: crate::speed_t = 0o0023; + pub const B500000: crate::speed_t = 0o0024; + pub const B576000: crate::speed_t = 0o0025; + pub const B921600: crate::speed_t = 0o0026; + pub const B1000000: crate::speed_t = 0o0027; + pub const B1152000: crate::speed_t = 0o0030; + pub const B1500000: crate::speed_t = 0o0031; + pub const B2000000: crate::speed_t = 0o0032; + pub const B2500000: crate::speed_t = 0o0033; + pub const B3000000: crate::speed_t = 0o0034; + pub const B3500000: crate::speed_t = 0o0035; + pub const B4000000: crate::speed_t = 0o0036; + } +} pub const VEOL: usize = 6; pub const VEOL2: usize = 8; diff --git a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs index b04ee50462745..11e7d70128ef6 100644 --- a/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/riscv32/mod.rs @@ -449,39 +449,45 @@ pub const BSDLY: crate::tcflag_t = 8192; pub const FFDLY: crate::tcflag_t = 32768; pub const VTDLY: crate::tcflag_t = 16384; pub const XTABS: crate::tcflag_t = 6144; -pub const B0: crate::speed_t = 0; -pub const B50: crate::speed_t = 1; -pub const B75: crate::speed_t = 2; -pub const B110: crate::speed_t = 3; -pub const B134: crate::speed_t = 4; -pub const B150: crate::speed_t = 5; -pub const B200: crate::speed_t = 6; -pub const B300: crate::speed_t = 7; -pub const B600: crate::speed_t = 8; -pub const B1200: crate::speed_t = 9; -pub const B1800: crate::speed_t = 10; -pub const B2400: crate::speed_t = 11; -pub const B4800: crate::speed_t = 12; -pub const B9600: crate::speed_t = 13; -pub const B19200: crate::speed_t = 14; -pub const B38400: crate::speed_t = 15; -pub const EXTA: crate::speed_t = 14; -pub const EXTB: crate::speed_t = 15; -pub const B57600: crate::speed_t = 4097; -pub const B115200: crate::speed_t = 4098; -pub const B230400: crate::speed_t = 4099; -pub const B460800: crate::speed_t = 4100; -pub const B500000: crate::speed_t = 4101; -pub const B576000: crate::speed_t = 4102; -pub const B921600: crate::speed_t = 4103; -pub const B1000000: crate::speed_t = 4104; -pub const B1152000: crate::speed_t = 4105; -pub const B1500000: crate::speed_t = 4106; -pub const B2000000: crate::speed_t = 4107; -pub const B2500000: crate::speed_t = 4108; -pub const B3000000: crate::speed_t = 4109; -pub const B3500000: crate::speed_t = 4110; -pub const B4000000: crate::speed_t = 4111; + +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0; + pub const B50: crate::speed_t = 1; + pub const B75: crate::speed_t = 2; + pub const B110: crate::speed_t = 3; + pub const B134: crate::speed_t = 4; + pub const B150: crate::speed_t = 5; + pub const B200: crate::speed_t = 6; + pub const B300: crate::speed_t = 7; + pub const B600: crate::speed_t = 8; + pub const B1200: crate::speed_t = 9; + pub const B1800: crate::speed_t = 10; + pub const B2400: crate::speed_t = 11; + pub const B4800: crate::speed_t = 12; + pub const B9600: crate::speed_t = 13; + pub const B19200: crate::speed_t = 14; + pub const B38400: crate::speed_t = 15; + pub const EXTA: crate::speed_t = 14; + pub const EXTB: crate::speed_t = 15; + pub const B57600: crate::speed_t = 4097; + pub const B115200: crate::speed_t = 4098; + pub const B230400: crate::speed_t = 4099; + pub const B460800: crate::speed_t = 4100; + pub const B500000: crate::speed_t = 4101; + pub const B576000: crate::speed_t = 4102; + pub const B921600: crate::speed_t = 4103; + pub const B1000000: crate::speed_t = 4104; + pub const B1152000: crate::speed_t = 4105; + pub const B1500000: crate::speed_t = 4106; + pub const B2000000: crate::speed_t = 4107; + pub const B2500000: crate::speed_t = 4108; + pub const B3000000: crate::speed_t = 4109; + pub const B3500000: crate::speed_t = 4110; + pub const B4000000: crate::speed_t = 4111; + } +} + pub const VEOL: usize = 11; pub const VEOL2: usize = 16; pub const VMIN: usize = 6; diff --git a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs index f9d6a95ed036e..29f42f0da77dc 100644 --- a/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/sparc/mod.rs @@ -430,39 +430,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0x1001; -pub const B115200: crate::speed_t = 0x1002; -pub const B230400: crate::speed_t = 0x1003; -pub const B460800: crate::speed_t = 0x1004; -pub const B76800: crate::speed_t = 0x1005; -pub const B153600: crate::speed_t = 0x1006; -pub const B307200: crate::speed_t = 0x1007; -pub const B614400: crate::speed_t = 0x1008; -pub const B921600: crate::speed_t = 0x1009; -pub const B500000: crate::speed_t = 0x100a; -pub const B576000: crate::speed_t = 0x100b; -pub const B1000000: crate::speed_t = 0x100c; -pub const B1152000: crate::speed_t = 0x100d; -pub const B1500000: crate::speed_t = 0x100e; -pub const B2000000: crate::speed_t = 0x100f; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0x1001; + pub const B115200: crate::speed_t = 0x1002; + pub const B230400: crate::speed_t = 0x1003; + pub const B460800: crate::speed_t = 0x1004; + pub const B76800: crate::speed_t = 0x1005; + pub const B153600: crate::speed_t = 0x1006; + pub const B307200: crate::speed_t = 0x1007; + pub const B614400: crate::speed_t = 0x1008; + pub const B921600: crate::speed_t = 0x1009; + pub const B500000: crate::speed_t = 0x100a; + pub const B576000: crate::speed_t = 0x100b; + pub const B1000000: crate::speed_t = 0x100c; + pub const B1152000: crate::speed_t = 0x100d; + pub const B1500000: crate::speed_t = 0x100e; + pub const B2000000: crate::speed_t = 0x100f; + } +} pub const VEOL: usize = 5; pub const VEOL2: usize = 6; diff --git a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs index 5f0dfe90adf81..3be52a1ff5519 100644 --- a/src/unix/linux_like/linux/gnu/b32/x86/mod.rs +++ b/src/unix/linux_like/linux/gnu/b32/x86/mod.rs @@ -589,39 +589,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const VEOL: usize = 11; pub const VEOL2: usize = 16; diff --git a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs index 28b4e40fde543..d14e60011dea5 100644 --- a/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/aarch64/mod.rs @@ -523,39 +523,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const VEOL: usize = 11; pub const VEOL2: usize = 16; diff --git a/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs b/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs index 8f15ce4d1529a..ad4033027b367 100644 --- a/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/loongarch64/mod.rs @@ -849,39 +849,45 @@ pub const HUPCL: crate::tcflag_t = 0x00000400; pub const CLOCAL: crate::tcflag_t = 0x00000800; pub const CIBAUD: crate::tcflag_t = 0o02003600000; pub const CBAUDEX: crate::tcflag_t = 0o010000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; + +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} + pub const TAB1: crate::tcflag_t = 0x00000800; pub const TAB2: crate::tcflag_t = 0x00001000; pub const TAB3: crate::tcflag_t = 0x00001800; diff --git a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs index 56f30cd08a482..a9bc119ae6f72 100644 --- a/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/mips64/mod.rs @@ -881,39 +881,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const EHWPOISON: c_int = 168; diff --git a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs index 047efe55b1a38..d7e0c050c90f6 100644 --- a/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/powerpc64/mod.rs @@ -526,40 +526,44 @@ pub const FFDLY: crate::tcflag_t = 0o040000; pub const VTDLY: crate::tcflag_t = 0o200000; pub const XTABS: crate::tcflag_t = 0o006000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const CBAUDEX: crate::speed_t = 0o000020; -pub const B57600: crate::speed_t = 0o0020; -pub const B115200: crate::speed_t = 0o0021; -pub const B230400: crate::speed_t = 0o0022; -pub const B460800: crate::speed_t = 0o0023; -pub const B500000: crate::speed_t = 0o0024; -pub const B576000: crate::speed_t = 0o0025; -pub const B921600: crate::speed_t = 0o0026; -pub const B1000000: crate::speed_t = 0o0027; -pub const B1152000: crate::speed_t = 0o0030; -pub const B1500000: crate::speed_t = 0o0031; -pub const B2000000: crate::speed_t = 0o0032; -pub const B2500000: crate::speed_t = 0o0033; -pub const B3000000: crate::speed_t = 0o0034; -pub const B3500000: crate::speed_t = 0o0035; -pub const B4000000: crate::speed_t = 0o0036; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const CBAUDEX: crate::speed_t = 0o000020; + pub const B57600: crate::speed_t = 0o0020; + pub const B115200: crate::speed_t = 0o0021; + pub const B230400: crate::speed_t = 0o0022; + pub const B460800: crate::speed_t = 0o0023; + pub const B500000: crate::speed_t = 0o0024; + pub const B576000: crate::speed_t = 0o0025; + pub const B921600: crate::speed_t = 0o0026; + pub const B1000000: crate::speed_t = 0o0027; + pub const B1152000: crate::speed_t = 0o0030; + pub const B1500000: crate::speed_t = 0o0031; + pub const B2000000: crate::speed_t = 0o0032; + pub const B2500000: crate::speed_t = 0o0033; + pub const B3000000: crate::speed_t = 0o0034; + pub const B3500000: crate::speed_t = 0o0035; + pub const B4000000: crate::speed_t = 0o0036; + } +} pub const VEOL: usize = 6; pub const VEOL2: usize = 8; diff --git a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs index bfbc8ee5cf683..6090f940a47ea 100644 --- a/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/riscv64/mod.rs @@ -542,39 +542,45 @@ pub const BSDLY: crate::tcflag_t = 8192; pub const FFDLY: crate::tcflag_t = 32768; pub const VTDLY: crate::tcflag_t = 16384; pub const XTABS: crate::tcflag_t = 6144; -pub const B0: crate::speed_t = 0; -pub const B50: crate::speed_t = 1; -pub const B75: crate::speed_t = 2; -pub const B110: crate::speed_t = 3; -pub const B134: crate::speed_t = 4; -pub const B150: crate::speed_t = 5; -pub const B200: crate::speed_t = 6; -pub const B300: crate::speed_t = 7; -pub const B600: crate::speed_t = 8; -pub const B1200: crate::speed_t = 9; -pub const B1800: crate::speed_t = 10; -pub const B2400: crate::speed_t = 11; -pub const B4800: crate::speed_t = 12; -pub const B9600: crate::speed_t = 13; -pub const B19200: crate::speed_t = 14; -pub const B38400: crate::speed_t = 15; -pub const EXTA: crate::speed_t = 14; -pub const EXTB: crate::speed_t = 15; -pub const B57600: crate::speed_t = 4097; -pub const B115200: crate::speed_t = 4098; -pub const B230400: crate::speed_t = 4099; -pub const B460800: crate::speed_t = 4100; -pub const B500000: crate::speed_t = 4101; -pub const B576000: crate::speed_t = 4102; -pub const B921600: crate::speed_t = 4103; -pub const B1000000: crate::speed_t = 4104; -pub const B1152000: crate::speed_t = 4105; -pub const B1500000: crate::speed_t = 4106; -pub const B2000000: crate::speed_t = 4107; -pub const B2500000: crate::speed_t = 4108; -pub const B3000000: crate::speed_t = 4109; -pub const B3500000: crate::speed_t = 4110; -pub const B4000000: crate::speed_t = 4111; + +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0; + pub const B50: crate::speed_t = 1; + pub const B75: crate::speed_t = 2; + pub const B110: crate::speed_t = 3; + pub const B134: crate::speed_t = 4; + pub const B150: crate::speed_t = 5; + pub const B200: crate::speed_t = 6; + pub const B300: crate::speed_t = 7; + pub const B600: crate::speed_t = 8; + pub const B1200: crate::speed_t = 9; + pub const B1800: crate::speed_t = 10; + pub const B2400: crate::speed_t = 11; + pub const B4800: crate::speed_t = 12; + pub const B9600: crate::speed_t = 13; + pub const B19200: crate::speed_t = 14; + pub const B38400: crate::speed_t = 15; + pub const EXTA: crate::speed_t = 14; + pub const EXTB: crate::speed_t = 15; + pub const B57600: crate::speed_t = 4097; + pub const B115200: crate::speed_t = 4098; + pub const B230400: crate::speed_t = 4099; + pub const B460800: crate::speed_t = 4100; + pub const B500000: crate::speed_t = 4101; + pub const B576000: crate::speed_t = 4102; + pub const B921600: crate::speed_t = 4103; + pub const B1000000: crate::speed_t = 4104; + pub const B1152000: crate::speed_t = 4105; + pub const B1500000: crate::speed_t = 4106; + pub const B2000000: crate::speed_t = 4107; + pub const B2500000: crate::speed_t = 4108; + pub const B3000000: crate::speed_t = 4109; + pub const B3500000: crate::speed_t = 4110; + pub const B4000000: crate::speed_t = 4111; + } +} + pub const VEOL: usize = 11; pub const VEOL2: usize = 16; pub const VMIN: usize = 6; diff --git a/src/unix/linux_like/linux/gnu/b64/s390x.rs b/src/unix/linux_like/linux/gnu/b64/s390x.rs index 583630ed37c74..930848852c2cf 100644 --- a/src/unix/linux_like/linux/gnu/b64/s390x.rs +++ b/src/unix/linux_like/linux/gnu/b64/s390x.rs @@ -515,51 +515,55 @@ pub const VTDLY: crate::tcflag_t = 0o040000; pub const VT1: crate::tcflag_t = 0x00004000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const CBAUD: crate::speed_t = 0o010017; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const CSIZE: crate::tcflag_t = 0o000060; -pub const CS6: crate::tcflag_t = 0o000020; -pub const CS7: crate::tcflag_t = 0o000040; -pub const CS8: crate::tcflag_t = 0o000060; -pub const CSTOPB: crate::tcflag_t = 0o000100; -pub const CREAD: crate::tcflag_t = 0o000200; -pub const PARENB: crate::tcflag_t = 0o000400; -pub const PARODD: crate::tcflag_t = 0o001000; -pub const HUPCL: crate::tcflag_t = 0o002000; -pub const CLOCAL: crate::tcflag_t = 0o004000; -pub const CBAUDEX: crate::tcflag_t = 0o010000; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const CBAUD: crate::speed_t = 0o010017; + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const CSIZE: crate::tcflag_t = 0o000060; + pub const CS6: crate::tcflag_t = 0o000020; + pub const CS7: crate::tcflag_t = 0o000040; + pub const CS8: crate::tcflag_t = 0o000060; + pub const CSTOPB: crate::tcflag_t = 0o000100; + pub const CREAD: crate::tcflag_t = 0o000200; + pub const PARENB: crate::tcflag_t = 0o000400; + pub const PARODD: crate::tcflag_t = 0o001000; + pub const HUPCL: crate::tcflag_t = 0o002000; + pub const CLOCAL: crate::tcflag_t = 0o004000; + pub const CBAUDEX: crate::tcflag_t = 0o010000; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const CIBAUD: crate::tcflag_t = 0o02003600000; pub const ISIG: crate::tcflag_t = 0o000001; diff --git a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs index c4203dc0b2da4..e6d9cb152b739 100644 --- a/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/sparc64/mod.rs @@ -502,39 +502,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0x1001; -pub const B115200: crate::speed_t = 0x1002; -pub const B230400: crate::speed_t = 0x1003; -pub const B460800: crate::speed_t = 0x1004; -pub const B76800: crate::speed_t = 0x1005; -pub const B153600: crate::speed_t = 0x1006; -pub const B307200: crate::speed_t = 0x1007; -pub const B614400: crate::speed_t = 0x1008; -pub const B921600: crate::speed_t = 0x1009; -pub const B500000: crate::speed_t = 0x100a; -pub const B576000: crate::speed_t = 0x100b; -pub const B1000000: crate::speed_t = 0x100c; -pub const B1152000: crate::speed_t = 0x100d; -pub const B1500000: crate::speed_t = 0x100e; -pub const B2000000: crate::speed_t = 0x100f; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0x1001; + pub const B115200: crate::speed_t = 0x1002; + pub const B230400: crate::speed_t = 0x1003; + pub const B460800: crate::speed_t = 0x1004; + pub const B76800: crate::speed_t = 0x1005; + pub const B153600: crate::speed_t = 0x1006; + pub const B307200: crate::speed_t = 0x1007; + pub const B614400: crate::speed_t = 0x1008; + pub const B921600: crate::speed_t = 0x1009; + pub const B500000: crate::speed_t = 0x100a; + pub const B576000: crate::speed_t = 0x100b; + pub const B1000000: crate::speed_t = 0x100c; + pub const B1152000: crate::speed_t = 0x100d; + pub const B1500000: crate::speed_t = 0x100e; + pub const B2000000: crate::speed_t = 0x100f; + } +} pub const VEOL: usize = 5; pub const VEOL2: usize = 6; diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs index f4555ee420230..39f1fe39ceba4 100644 --- a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs +++ b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs @@ -695,39 +695,43 @@ pub const FFDLY: crate::tcflag_t = 0o100000; pub const VTDLY: crate::tcflag_t = 0o040000; pub const XTABS: crate::tcflag_t = 0o014000; -pub const B0: crate::speed_t = 0o000000; -pub const B50: crate::speed_t = 0o000001; -pub const B75: crate::speed_t = 0o000002; -pub const B110: crate::speed_t = 0o000003; -pub const B134: crate::speed_t = 0o000004; -pub const B150: crate::speed_t = 0o000005; -pub const B200: crate::speed_t = 0o000006; -pub const B300: crate::speed_t = 0o000007; -pub const B600: crate::speed_t = 0o000010; -pub const B1200: crate::speed_t = 0o000011; -pub const B1800: crate::speed_t = 0o000012; -pub const B2400: crate::speed_t = 0o000013; -pub const B4800: crate::speed_t = 0o000014; -pub const B9600: crate::speed_t = 0o000015; -pub const B19200: crate::speed_t = 0o000016; -pub const B38400: crate::speed_t = 0o000017; -pub const EXTA: crate::speed_t = B19200; -pub const EXTB: crate::speed_t = B38400; -pub const B57600: crate::speed_t = 0o010001; -pub const B115200: crate::speed_t = 0o010002; -pub const B230400: crate::speed_t = 0o010003; -pub const B460800: crate::speed_t = 0o010004; -pub const B500000: crate::speed_t = 0o010005; -pub const B576000: crate::speed_t = 0o010006; -pub const B921600: crate::speed_t = 0o010007; -pub const B1000000: crate::speed_t = 0o010010; -pub const B1152000: crate::speed_t = 0o010011; -pub const B1500000: crate::speed_t = 0o010012; -pub const B2000000: crate::speed_t = 0o010013; -pub const B2500000: crate::speed_t = 0o010014; -pub const B3000000: crate::speed_t = 0o010015; -pub const B3500000: crate::speed_t = 0o010016; -pub const B4000000: crate::speed_t = 0o010017; +cfg_if! { + if #[cfg(not(gnu_simple_baud_rates))] { + pub const B0: crate::speed_t = 0o000000; + pub const B50: crate::speed_t = 0o000001; + pub const B75: crate::speed_t = 0o000002; + pub const B110: crate::speed_t = 0o000003; + pub const B134: crate::speed_t = 0o000004; + pub const B150: crate::speed_t = 0o000005; + pub const B200: crate::speed_t = 0o000006; + pub const B300: crate::speed_t = 0o000007; + pub const B600: crate::speed_t = 0o000010; + pub const B1200: crate::speed_t = 0o000011; + pub const B1800: crate::speed_t = 0o000012; + pub const B2400: crate::speed_t = 0o000013; + pub const B4800: crate::speed_t = 0o000014; + pub const B9600: crate::speed_t = 0o000015; + pub const B19200: crate::speed_t = 0o000016; + pub const B38400: crate::speed_t = 0o000017; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 0o010001; + pub const B115200: crate::speed_t = 0o010002; + pub const B230400: crate::speed_t = 0o010003; + pub const B460800: crate::speed_t = 0o010004; + pub const B500000: crate::speed_t = 0o010005; + pub const B576000: crate::speed_t = 0o010006; + pub const B921600: crate::speed_t = 0o010007; + pub const B1000000: crate::speed_t = 0o010010; + pub const B1152000: crate::speed_t = 0o010011; + pub const B1500000: crate::speed_t = 0o010012; + pub const B2000000: crate::speed_t = 0o010013; + pub const B2500000: crate::speed_t = 0o010014; + pub const B3000000: crate::speed_t = 0o010015; + pub const B3500000: crate::speed_t = 0o010016; + pub const B4000000: crate::speed_t = 0o010017; + } +} pub const VEOL: usize = 11; pub const VEOL2: usize = 16; diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 86ade8f04173e..925000c37c48c 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -65,23 +65,31 @@ s! { pub c_lflag: crate::tcflag_t, pub c_line: crate::cc_t, pub c_cc: [crate::cc_t; crate::NCCS], - #[cfg(not(any( - target_arch = "sparc", - target_arch = "sparc64", - target_arch = "mips", - target_arch = "mips32r6", - target_arch = "mips64", - target_arch = "mips64r6" - )))] + /// For the sparc and mips architecture, this field if available on glibc 2.42 and higher. + #[cfg(any( + gnu_simple_baud_rates, + not(any( + target_arch = "sparc", + target_arch = "sparc64", + target_arch = "mips", + target_arch = "mips32r6", + target_arch = "mips64", + target_arch = "mips64r6" + )) + ))] pub c_ispeed: crate::speed_t, - #[cfg(not(any( - target_arch = "sparc", - target_arch = "sparc64", - target_arch = "mips", - target_arch = "mips32r6", - target_arch = "mips64", - target_arch = "mips64r6" - )))] + /// For the sparc and mips architecture, this field if available on glibc 2.42 and higher. + #[cfg(any( + gnu_simple_baud_rates, + not(any( + target_arch = "sparc", + target_arch = "sparc64", + target_arch = "mips", + target_arch = "mips32r6", + target_arch = "mips64", + target_arch = "mips64r6" + )) + ))] pub c_ospeed: crate::speed_t, } @@ -1045,6 +1053,48 @@ pub const REG_EEND: c_int = 14; pub const REG_ESIZE: c_int = 15; pub const REG_ERPAREN: c_int = 16; +cfg_if! { + if #[cfg(gnu_simple_baud_rates)] { + pub const B0: crate::speed_t = 0; + pub const B50: crate::speed_t = 50; + pub const B75: crate::speed_t = 75; + pub const B110: crate::speed_t = 110; + pub const B134: crate::speed_t = 134; + pub const B150: crate::speed_t = 150; + pub const B200: crate::speed_t = 200; + pub const B300: crate::speed_t = 300; + pub const B600: crate::speed_t = 600; + pub const B1200: crate::speed_t = 1200; + pub const B1800: crate::speed_t = 1800; + pub const B2400: crate::speed_t = 2400; + pub const B4800: crate::speed_t = 4800; + pub const B9600: crate::speed_t = 9600; + pub const B19200: crate::speed_t = 19200; + pub const B38400: crate::speed_t = 38400; + pub const EXTA: crate::speed_t = B19200; + pub const EXTB: crate::speed_t = B38400; + pub const B57600: crate::speed_t = 57600; + pub const B115200: crate::speed_t = 115200; + pub const B230400: crate::speed_t = 230400; + pub const B460800: crate::speed_t = 460800; + pub const B500000: crate::speed_t = 500000; + pub const B576000: crate::speed_t = 576000; + pub const B921600: crate::speed_t = 921600; + pub const B1000000: crate::speed_t = 1000000; + pub const B1152000: crate::speed_t = 1152000; + pub const B1500000: crate::speed_t = 1500000; + pub const B2000000: crate::speed_t = 2000000; + cfg_if! { + if #[cfg(not(any(target_arch = "sparc", target_arch = "sparc64")))] { + pub const B2500000: crate::speed_t = 2500000; + pub const B3000000: crate::speed_t = 3000000; + pub const B3500000: crate::speed_t = 3500000; + pub const B4000000: crate::speed_t = 4000000; + } + } + } +} + extern "C" { pub fn fgetspent_r( fp: *mut crate::FILE,