1 use crate::prelude::*; 2 3 cfg_if! { 4 if #[cfg(target_pointer_width = "64")] { 5 s_no_extra_traits! { 6 #[allow(missing_debug_implementations)] 7 #[repr(align(16))] 8 pub struct max_align_t { 9 priv_: [f64; 4], 10 } 11 } 12 } else if #[cfg(target_pointer_width = "32")] { 13 s_no_extra_traits! { 14 #[allow(missing_debug_implementations)] 15 #[repr(align(16))] 16 pub struct max_align_t { 17 priv_: [i64; 6], 18 } 19 } 20 } 21 } 22 23 pub const L_tmpnam: c_uint = 14; 24 pub const TMP_MAX: c_uint = 0x7fff; 25 26 // stdio file descriptor numbers 27 pub const STDIN_FILENO: c_int = 0; 28 pub const STDOUT_FILENO: c_int = 1; 29 pub const STDERR_FILENO: c_int = 2; 30 31 extern "C" { strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int32 pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int; strncasecmp(s1: *const c_char, s2: *const c_char, n: size_t) -> c_int33 pub fn strncasecmp(s1: *const c_char, s2: *const c_char, n: size_t) -> c_int; 34 35 // NOTE: For MSVC target, `wmemchr` is only a inline function in `<wchar.h>` 36 // header file. We cannot find a way to link to that symbol from Rust. wmemchr(cx: *const crate::wchar_t, c: crate::wchar_t, n: size_t) -> *mut crate::wchar_t37 pub fn wmemchr(cx: *const crate::wchar_t, c: crate::wchar_t, n: size_t) -> *mut crate::wchar_t; 38 } 39