diff --git a/src/lib.rs b/src/lib.rs
index b8c654423b81afdae12a17cb476f4ea9eb365e97..2593e3ba6bc00e85cdeedbb1e16b39b8477dd8aa 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -166,16 +166,6 @@ extern {
                    mode: c_int,
                    size: size_t) -> c_int;
     pub fn setbuf(stream: *mut FILE, buf: *mut c_char);
-
-    pub fn fprintf(stream: *mut FILE, format: *const c_char, ...) -> c_int;
-    pub fn printf(format: *const c_char, ...) -> c_int;
-    pub fn snprintf(s: *mut c_char, n: size_t,
-                    format: *const c_char, ...) -> c_int;
-    pub fn sprintf(s: *mut c_char, format: *const c_char, ...) -> c_int;
-    pub fn fscanf(stream: *mut FILE, format: *const c_char, ...) -> c_int;
-    pub fn scanf(format: *const c_char, ...) -> c_int;
-    pub fn sscanf(s: *const c_char, format: *const c_char, ...) -> c_int;
-
     pub fn fgetc(stream: *mut FILE) -> c_int;
     pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char;
     pub fn fputc(c: c_int, stream: *mut FILE) -> c_int;
diff --git a/src/unix/mod.rs b/src/unix/mod.rs
index e15eb84fc2a7b987dbc9c7f7b7543ef01b614a23..d85017f52b6a4f83c013dc0ebbccad6ec84d6639 100644
--- a/src/unix/mod.rs
+++ b/src/unix/mod.rs
@@ -179,6 +179,15 @@ cfg_if! {
 }
 
 extern {
+    pub fn fprintf(stream: *mut ::FILE, format: *const ::c_char, ...) -> ::c_int;
+    pub fn printf(format: *const ::c_char, ...) -> ::c_int;
+    pub fn snprintf(s: *mut ::c_char, n: ::size_t,
+                    format: *const ::c_char, ...) -> ::c_int;
+    pub fn sprintf(s: *mut ::c_char, format: *const ::c_char, ...) -> ::c_int;
+    pub fn fscanf(stream: *mut ::FILE, format: *const ::c_char, ...) -> ::c_int;
+    pub fn scanf(format: *const ::c_char, ...) -> ::c_int;
+    pub fn sscanf(s: *const ::c_char, format: *const ::c_char, ...) -> ::c_int;
+
     #[cfg_attr(target_os = "netbsd", link_name = "__socket30")]
     pub fn socket(domain: ::c_int, ty: ::c_int, protocol: ::c_int) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),