xref: /rust-libc-0.2.174/src/windows/gnu/mod.rs (revision 108310db)
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