diff --git a/libc-test/build.rs b/libc-test/build.rs
index 5396cd2..327b920 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -241,12 +241,12 @@
         cfg.header("sys/personality.h");
         cfg.header("sys/swap.h");
         cfg.header("pty.h");
-        cfg.header("linux/sockios.h");
         if !uclibc {
             cfg.header("sys/sysinfo.h");
         }
         cfg.header("sys/reboot.h");
         if !emscripten {
+            cfg.header("linux/sockios.h");
             cfg.header("linux/netlink.h");
             cfg.header("linux/genetlink.h");
             cfg.header("linux/netfilter_ipv4.h");
diff --git a/src/unix/notbsd/android/mod.rs b/src/unix/notbsd/android/mod.rs
index a5df742..53f957d 100644
--- a/src/unix/notbsd/android/mod.rs
+++ b/src/unix/notbsd/android/mod.rs
@@ -1420,6 +1420,44 @@
 /* see rust-lang/libc#924 pub const ETH_P_MAP: ::c_int = 0x00F9;*/
 // end android/platform/bionic/libc/kernel/uapi/linux/if_ether.h
 
+pub const SIOCADDRT: ::c_ulong = 0x0000890B;
+pub const SIOCDELRT: ::c_ulong = 0x0000890C;
+pub const SIOCGIFNAME: ::c_ulong = 0x00008910;
+pub const SIOCSIFLINK: ::c_ulong = 0x00008911;
+pub const SIOCGIFCONF: ::c_ulong = 0x00008912;
+pub const SIOCGIFFLAGS: ::c_ulong = 0x00008913;
+pub const SIOCSIFFLAGS: ::c_ulong = 0x00008914;
+pub const SIOCGIFADDR: ::c_ulong = 0x00008915;
+pub const SIOCSIFADDR: ::c_ulong = 0x00008916;
+pub const SIOCGIFDSTADDR: ::c_ulong = 0x00008917;
+pub const SIOCSIFDSTADDR: ::c_ulong = 0x00008918;
+pub const SIOCGIFBRDADDR: ::c_ulong = 0x00008919;
+pub const SIOCSIFBRDADDR: ::c_ulong = 0x0000891A;
+pub const SIOCGIFNETMASK: ::c_ulong = 0x0000891B;
+pub const SIOCSIFNETMASK: ::c_ulong = 0x0000891C;
+pub const SIOCGIFMETRIC: ::c_ulong = 0x0000891D;
+pub const SIOCSIFMETRIC: ::c_ulong = 0x0000891E;
+pub const SIOCGIFMEM: ::c_ulong = 0x0000891F;
+pub const SIOCSIFMEM: ::c_ulong = 0x00008920;
+pub const SIOCGIFMTU: ::c_ulong = 0x00008921;
+pub const SIOCSIFMTU: ::c_ulong = 0x00008922;
+pub const SIOCSIFHWADDR: ::c_ulong = 0x00008924;
+pub const SIOCGIFENCAP: ::c_ulong = 0x00008925;
+pub const SIOCSIFENCAP: ::c_ulong = 0x00008926;
+pub const SIOCGIFHWADDR: ::c_ulong = 0x00008927;
+pub const SIOCGIFSLAVE: ::c_ulong = 0x00008929;
+pub const SIOCSIFSLAVE: ::c_ulong = 0x00008930;
+pub const SIOCADDMULTI: ::c_ulong = 0x00008931;
+pub const SIOCDELMULTI: ::c_ulong = 0x00008932;
+pub const SIOCDARP: ::c_ulong = 0x00008953;
+pub const SIOCGARP: ::c_ulong = 0x00008954;
+pub const SIOCSARP: ::c_ulong = 0x00008955;
+pub const SIOCDRARP: ::c_ulong = 0x00008960;
+pub const SIOCGRARP: ::c_ulong = 0x00008961;
+pub const SIOCSRARP: ::c_ulong = 0x00008962;
+pub const SIOCGIFMAP: ::c_ulong = 0x00008970;
+pub const SIOCSIFMAP: ::c_ulong = 0x00008971;
+
 f! {
     pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
         for slot in cpuset.__bits.iter_mut() {
diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs
index 2a455e6..7cc059a 100644
--- a/src/unix/notbsd/linux/mod.rs
+++ b/src/unix/notbsd/linux/mod.rs
@@ -1369,6 +1369,44 @@
 pub const NF_IP6_PRI_CONNTRACK_HELPER: ::c_int = 300;
 pub const NF_IP6_PRI_LAST: ::c_int = ::INT_MAX;
 
+pub const SIOCADDRT: ::c_ulong = 0x0000890B;
+pub const SIOCDELRT: ::c_ulong = 0x0000890C;
+pub const SIOCGIFNAME: ::c_ulong = 0x00008910;
+pub const SIOCSIFLINK: ::c_ulong = 0x00008911;
+pub const SIOCGIFCONF: ::c_ulong = 0x00008912;
+pub const SIOCGIFFLAGS: ::c_ulong = 0x00008913;
+pub const SIOCSIFFLAGS: ::c_ulong = 0x00008914;
+pub const SIOCGIFADDR: ::c_ulong = 0x00008915;
+pub const SIOCSIFADDR: ::c_ulong = 0x00008916;
+pub const SIOCGIFDSTADDR: ::c_ulong = 0x00008917;
+pub const SIOCSIFDSTADDR: ::c_ulong = 0x00008918;
+pub const SIOCGIFBRDADDR: ::c_ulong = 0x00008919;
+pub const SIOCSIFBRDADDR: ::c_ulong = 0x0000891A;
+pub const SIOCGIFNETMASK: ::c_ulong = 0x0000891B;
+pub const SIOCSIFNETMASK: ::c_ulong = 0x0000891C;
+pub const SIOCGIFMETRIC: ::c_ulong = 0x0000891D;
+pub const SIOCSIFMETRIC: ::c_ulong = 0x0000891E;
+pub const SIOCGIFMEM: ::c_ulong = 0x0000891F;
+pub const SIOCSIFMEM: ::c_ulong = 0x00008920;
+pub const SIOCGIFMTU: ::c_ulong = 0x00008921;
+pub const SIOCSIFMTU: ::c_ulong = 0x00008922;
+pub const SIOCSIFHWADDR: ::c_ulong = 0x00008924;
+pub const SIOCGIFENCAP: ::c_ulong = 0x00008925;
+pub const SIOCSIFENCAP: ::c_ulong = 0x00008926;
+pub const SIOCGIFHWADDR: ::c_ulong = 0x00008927;
+pub const SIOCGIFSLAVE: ::c_ulong = 0x00008929;
+pub const SIOCSIFSLAVE: ::c_ulong = 0x00008930;
+pub const SIOCADDMULTI: ::c_ulong = 0x00008931;
+pub const SIOCDELMULTI: ::c_ulong = 0x00008932;
+pub const SIOCDARP: ::c_ulong = 0x00008953;
+pub const SIOCGARP: ::c_ulong = 0x00008954;
+pub const SIOCSARP: ::c_ulong = 0x00008955;
+pub const SIOCDRARP: ::c_ulong = 0x00008960;
+pub const SIOCGRARP: ::c_ulong = 0x00008961;
+pub const SIOCSRARP: ::c_ulong = 0x00008962;
+pub const SIOCGIFMAP: ::c_ulong = 0x00008970;
+pub const SIOCSIFMAP: ::c_ulong = 0x00008971;
+
 f! {
     pub fn CPU_ZERO(cpuset: &mut cpu_set_t) -> () {
         for slot in cpuset.bits.iter_mut() {
diff --git a/src/unix/notbsd/mod.rs b/src/unix/notbsd/mod.rs
index 22db433..f6fa04a 100644
--- a/src/unix/notbsd/mod.rs
+++ b/src/unix/notbsd/mod.rs
@@ -825,44 +825,6 @@
 pub const POLLRDNORM: ::c_short = 0x040;
 pub const POLLRDBAND: ::c_short = 0x080;
 
-pub const SIOCADDRT: ::c_ulong = 0x0000890B;
-pub const SIOCDELRT: ::c_ulong = 0x0000890C;
-pub const SIOCGIFNAME: ::c_ulong = 0x00008910;
-pub const SIOCSIFLINK: ::c_ulong = 0x00008911;
-pub const SIOCGIFCONF: ::c_ulong = 0x00008912;
-pub const SIOCGIFFLAGS: ::c_ulong = 0x00008913;
-pub const SIOCSIFFLAGS: ::c_ulong = 0x00008914;
-pub const SIOCGIFADDR: ::c_ulong = 0x00008915;
-pub const SIOCSIFADDR: ::c_ulong = 0x00008916;
-pub const SIOCGIFDSTADDR: ::c_ulong = 0x00008917;
-pub const SIOCSIFDSTADDR: ::c_ulong = 0x00008918;
-pub const SIOCGIFBRDADDR: ::c_ulong = 0x00008919;
-pub const SIOCSIFBRDADDR: ::c_ulong = 0x0000891A;
-pub const SIOCGIFNETMASK: ::c_ulong = 0x0000891B;
-pub const SIOCSIFNETMASK: ::c_ulong = 0x0000891C;
-pub const SIOCGIFMETRIC: ::c_ulong = 0x0000891D;
-pub const SIOCSIFMETRIC: ::c_ulong = 0x0000891E;
-pub const SIOCGIFMEM: ::c_ulong = 0x0000891F;
-pub const SIOCSIFMEM: ::c_ulong = 0x00008920;
-pub const SIOCGIFMTU: ::c_ulong = 0x00008921;
-pub const SIOCSIFMTU: ::c_ulong = 0x00008922;
-pub const SIOCSIFHWADDR: ::c_ulong = 0x00008924;
-pub const SIOCGIFENCAP: ::c_ulong = 0x00008925;
-pub const SIOCSIFENCAP: ::c_ulong = 0x00008926;
-pub const SIOCGIFHWADDR: ::c_ulong = 0x00008927;
-pub const SIOCGIFSLAVE: ::c_ulong = 0x00008929;
-pub const SIOCSIFSLAVE: ::c_ulong = 0x00008930;
-pub const SIOCADDMULTI: ::c_ulong = 0x00008931;
-pub const SIOCDELMULTI: ::c_ulong = 0x00008932;
-pub const SIOCDARP: ::c_ulong = 0x00008953;
-pub const SIOCGARP: ::c_ulong = 0x00008954;
-pub const SIOCSARP: ::c_ulong = 0x00008955;
-pub const SIOCDRARP: ::c_ulong = 0x00008960;
-pub const SIOCGRARP: ::c_ulong = 0x00008961;
-pub const SIOCSRARP: ::c_ulong = 0x00008962;
-pub const SIOCGIFMAP: ::c_ulong = 0x00008970;
-pub const SIOCSIFMAP: ::c_ulong = 0x00008971;
-
 f! {
     pub fn FD_CLR(fd: ::c_int, set: *mut fd_set) -> () {
         let fd = fd as usize;
