summaryrefslogtreecommitdiff
path: root/src/windows/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows/gnu')
-rw-r--r--src/windows/gnu/align.rs9
-rw-r--r--src/windows/gnu/mod.rs23
2 files changed, 32 insertions, 0 deletions
diff --git a/src/windows/gnu/align.rs b/src/windows/gnu/align.rs
new file mode 100644
index 0000000000..dd3a3f72d3
--- /dev/null
+++ b/src/windows/gnu/align.rs
@@ -0,0 +1,9 @@
+cfg_if! {
+ if #[cfg(target_pointer_width = "64")] {
+ #[derive(Copy, Clone, Debug, PartialEq)]
+ #[repr(C, align(16))] pub struct max_align_t([f64; 4]);
+ } else if #[cfg(target_pointer_width = "32")] {
+ #[derive(Copy, Clone, Debug, PartialEq)]
+ #[repr(C, align(16))] pub struct max_align_t([i64; 6]);
+ }
+}
diff --git a/src/windows/gnu/mod.rs b/src/windows/gnu/mod.rs
new file mode 100644
index 0000000000..e74628b981
--- /dev/null
+++ b/src/windows/gnu/mod.rs
@@ -0,0 +1,23 @@
+pub const L_tmpnam: ::c_uint = 14;
+pub const TMP_MAX: ::c_uint = 0x7fff;
+
+// stdio file descriptor numbers
+pub const STDIN_FILENO: ::c_int = 0;
+pub const STDOUT_FILENO: ::c_int = 1;
+pub const STDERR_FILENO: ::c_int = 2;
+
+extern "C" {
+ pub fn strcasecmp(s1: *const ::c_char, s2: *const ::c_char) -> ::c_int;
+ pub fn strncasecmp(
+ s1: *const ::c_char,
+ s2: *const ::c_char,
+ n: ::size_t,
+ ) -> ::c_int;
+}
+
+cfg_if! {
+ if #[cfg(libc_align)] {
+ mod align;
+ pub use self::align::*;
+ }
+}