From f8b9cf58c147f891adee462a1df22793ea35e553 Mon Sep 17 00:00:00 2001
From: luozijun <gnulinux@126.com>
Date: Thu, 9 Nov 2017 16:57:03 +0800
Subject: [PATCH] Revert "Add network interface flag constants for all
 platforms"

This reverts commit c124acbae35ad63416717ed12cf755ef3bf77cb9.
---
 src/unix/bsd/apple/mod.rs                  |  20 +-
 src/unix/bsd/freebsdlike/dragonfly/mod.rs  |  56 +-
 src/unix/bsd/freebsdlike/freebsd/mod.rs    |  91 ++-
 src/unix/bsd/freebsdlike/mod.rs            | 241 ++++----
 src/unix/bsd/netbsdlike/netbsd/mod.rs      | 343 ++++++-----
 src/unix/bsd/netbsdlike/openbsdlike/mod.rs | 367 ++++++------
 src/unix/haiku/mod.rs                      | 631 ++++++++++-----------
 src/unix/newlib/mod.rs                     | 118 ++--
 src/unix/solaris/mod.rs                    | 308 +++++-----
 src/unix/uclibc/mod.rs                     | 529 +++++++++--------
 10 files changed, 1315 insertions(+), 1389 deletions(-)

diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index 0c452c98..f76a2641 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -1443,25 +1443,7 @@ pub const MSG_RCVMORE: ::c_int = 0x4000;
 pub const SCM_TIMESTAMP: ::c_int = 0x02;
 pub const SCM_CREDS: ::c_int = 0x03;
 
-/// https://github.com/aosm/xnu/blob/master/bsd/net/if.h#L140-L156
-pub const IFF_UP: ::c_int          = 0x1;       //  interface is up
-pub const IFF_BROADCAST: ::c_int   = 0x2;       //  broadcast address valid
-pub const IFF_DEBUG: ::c_int       = 0x4;       //  turn on debugging
-pub const IFF_LOOPBACK: ::c_int    = 0x8;       //  is a loopback net
-pub const IFF_POINTOPOINT: ::c_int = 0x10;      //  interface is point-to-point link
-pub const IFF_NOTRAILERS: ::c_int  = 0x20;      //  obsolete: avoid use of trailers
-pub const IFF_RUNNING: ::c_int     = 0x40;      //  resources allocated
-pub const IFF_NOARP: ::c_int       = 0x80;      //  no address resolution protocol
-pub const IFF_PROMISC: ::c_int     = 0x100;     //  receive all packets
-pub const IFF_ALLMULTI: ::c_int    = 0x200;     //  receive all multicast packets
-pub const IFF_OACTIVE: ::c_int     = 0x400;     //  transmission in progress
-pub const IFF_SIMPLEX: ::c_int     = 0x800;     //  can't hear own transmissions
-pub const IFF_LINK0: ::c_int       = 0x1000;    //  per link layer defined bit
-pub const IFF_LINK1: ::c_int       = 0x2000;    //  per link layer defined bit
-pub const IFF_LINK2: ::c_int       = 0x4000;    //  per link layer defined bit
-pub const IFF_ALTPHYS: ::c_int     = IFF_LINK2; //  use alternate physical connection
-pub const IFF_MULTICAST: ::c_int   = 0x8000;    //  supports multicast
-
+pub const IFF_LOOPBACK: ::c_int = 0x8;
 
 pub const SHUT_RD: ::c_int = 0;
 pub const SHUT_WR: ::c_int = 1;
diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs
index f7c37192..ebfcd4b9 100644
--- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs
+++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs
@@ -386,31 +386,7 @@ pub const NOTE_CHILD: ::uint32_t = 0x00000004;
 pub const SO_SNDSPACE: ::c_int = 0x100a;
 pub const SO_CPUHINT: ::c_int = 0x1030;
 
-// https://github.com/DragonFlyBSD/DragonFlyBSD/blob/master/sys/net/if.h#L101
-pub const IFF_UP: ::c_int = 0x1; // interface is up
-pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
-pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging
-pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net
-pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link
-pub const IFF_SMART: ::c_int = 0x20; // interface manages own routes
-pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated
-pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol
-pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets
-pub const IFF_OACTIVE_COMPAT: ::c_int = 0x400; // was transmission in progress
-pub const IFF_SIMPLEX: ::c_int = 0x800; // can't hear own transmissions
-pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
-pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
-pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
-pub const IFF_ALTPHYS: ::c_int = IFF_LINK2; // use alternate physical connection
-pub const IFF_MULTICAST: ::c_int = 0x8000; // supports multicast
-pub const IFF_POLLING_COMPAT: ::c_int = 0x10000; // was interface is in polling mode
-pub const IFF_PPROMISC: ::c_int = 0x20000; // user-requested promisc mode
-pub const IFF_MONITOR: ::c_int = 0x40000; // user-requested monitor mode
-pub const IFF_STATICARP: ::c_int = 0x80000; // static ARP
-pub const IFF_NPOLLING: ::c_int = 0x100000; // interface is in polling mode
-pub const IFF_IDIRECT: ::c_int = 0x200000; // direct input
-
+//
 // sys/netinet/in.h
 // Protocols (RFC 1700)
 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
@@ -614,7 +590,7 @@ pub const IPPROTO_GMTP: ::c_int = 100;
 /// payload compression (IPComp)
 pub const IPPROTO_IPCOMP: ::c_int = 108;
 
-// 101-254: Partly Unassigned
+/* 101-254: Partly Unassigned */
 /// Protocol Independent Mcast
 pub const IPPROTO_PIM: ::c_int = 103;
 /// CARP
@@ -624,8 +600,8 @@ pub const IPPROTO_PGM: ::c_int = 113;
 /// PFSYNC
 pub const IPPROTO_PFSYNC: ::c_int = 240;
 
-// 255: Reserved
-// BSD Private, local use, namespace incursion, no longer used
+/* 255: Reserved */
+/* BSD Private, local use, namespace incursion, no longer used */
 /// divert pseudo-protocol
 pub const IPPROTO_DIVERT: ::c_int = 254;
 pub const IPPROTO_MAX: ::c_int = 256;
@@ -677,8 +653,12 @@ pub const LC_MONETARY_MASK: ::c_int = (1 << 2);
 pub const LC_NUMERIC_MASK: ::c_int = (1 << 3);
 pub const LC_TIME_MASK: ::c_int = (1 << 4);
 pub const LC_MESSAGES_MASK: ::c_int = (1 << 5);
-pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK |
-    LC_NUMERIC_MASK | LC_TIME_MASK;
+pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
+                               | LC_CTYPE_MASK
+                               | LC_MESSAGES_MASK
+                               | LC_MONETARY_MASK
+                               | LC_NUMERIC_MASK
+                               | LC_TIME_MASK;
 
 pub const TIOCSIG: ::c_uint = 0x2000745f;
 pub const BTUARTDISC: ::c_int = 0x7;
@@ -689,11 +669,11 @@ pub const TIOCMODS: ::c_ulong = 0x80047404;
 pub const TIOCREMOTE: ::c_ulong = 0x80047469;
 
 // Constants used by "at" family of system calls.
-pub const AT_FDCWD: ::c_int = 0xFFFAFDCD; // invalid file descriptor
+pub const AT_FDCWD:            ::c_int = 0xFFFAFDCD; // invalid file descriptor
 pub const AT_SYMLINK_NOFOLLOW: ::c_int = 1;
-pub const AT_REMOVEDIR: ::c_int = 2;
-pub const AT_EACCESS: ::c_int = 4;
-pub const AT_SYMLINK_FOLLOW: ::c_int = 8;
+pub const AT_REMOVEDIR:        ::c_int = 2;
+pub const AT_EACCESS:          ::c_int = 4;
+pub const AT_SYMLINK_FOLLOW:   ::c_int = 8;
 
 pub const VCHECKPT: usize = 19;
 
@@ -707,15 +687,17 @@ pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 125;
 pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 126;
 pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 127;
 
-extern "C" {
-    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
+extern {
+    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
     pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
     pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
     pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
 
     pub fn setutxdb(_type: ::c_uint, file: *mut ::c_char) -> ::c_int;
 
-    pub fn aio_waitcomplete(iocbp: *mut *mut aiocb, timeout: *mut ::timespec) -> ::c_int;
+    pub fn aio_waitcomplete(iocbp: *mut *mut aiocb,
+                            timeout: *mut ::timespec) -> ::c_int;
 
     pub fn freelocale(loc: ::locale_t);
 }
diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs
index 0202236c..03194a93 100644
--- a/src/unix/bsd/freebsdlike/freebsd/mod.rs
+++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs
@@ -425,31 +425,6 @@ pub const AF_INET6_SDP: ::c_int = 42;
 #[doc(hidden)]
 pub const AF_MAX: ::c_int = 42;
 
-// https://github.com/freebsd/freebsd/blob/master/sys/net/if.h#L140
-pub const IFF_UP: ::c_int = 0x1; // (n) interface is up
-pub const IFF_BROADCAST: ::c_int = 0x2; // (i) broadcast address valid
-pub const IFF_DEBUG: ::c_int = 0x4; // (n) turn on debugging
-pub const IFF_LOOPBACK: ::c_int = 0x8; // (i) is a loopback net
-pub const IFF_POINTOPOINT: ::c_int = 0x10; // (i) is a point-to-point link
-// 0x20           was IFF_SMART
-pub const IFF_DRV_RUNNING: ::c_int = 0x40; // (d) resources allocated
-pub const IFF_NOARP: ::c_int = 0x80; // (n) no address resolution protocol
-pub const IFF_PROMISC: ::c_int = 0x100; // (n) receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x200; // (n) receive all multicast packets
-pub const IFF_DRV_OACTIVE: ::c_int = 0x400; // (d) tx hardware queue is full
-pub const IFF_SIMPLEX: ::c_int = 0x800; // (i) can't hear own transmissions
-pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
-pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
-pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
-pub const IFF_ALTPHYS: ::c_int = IFF_LINK2; // use alternate physical connection
-pub const IFF_MULTICAST: ::c_int = 0x8000; // (i) supports multicast
-pub const IFF_CANTCONFIG: ::c_int = 0x10000; // (i) unconfigurable using ioctl(2)
-pub const IFF_PPROMISC: ::c_int = 0x20000; // (n) user-requested promisc mode
-pub const IFF_MONITOR: ::c_int = 0x40000; // (n) user-requested monitor mode
-pub const IFF_STATICARP: ::c_int = 0x80000; // (n) static ARP
-pub const IFF_DYING: ::c_int = 0x200000; // (n) interface is winding down
-pub const IFF_RENAMING: ::c_int = 0x400000; // (n) interface is being renamed
-
 // sys/netinet/in.h
 // Protocols (RFC 1700)
 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
@@ -663,7 +638,7 @@ pub const IPPROTO_HIP: ::c_int = 139;
 /// IP6 Shim6 Protocol
 pub const IPPROTO_SHIM6: ::c_int = 140;
 
-// 101-254: Partly Unassigned
+/* 101-254: Partly Unassigned */
 /// Protocol Independent Mcast
 pub const IPPROTO_PIM: ::c_int = 103;
 /// CARP
@@ -675,15 +650,15 @@ pub const IPPROTO_MPLS: ::c_int = 137;
 /// PFSYNC
 pub const IPPROTO_PFSYNC: ::c_int = 240;
 
-// 255: Reserved
-// BSD Private, local use, namespace incursion, no longer used
+/* 255: Reserved */
+/* BSD Private, local use, namespace incursion, no longer used */
 /// OLD divert pseudo-proto
 pub const IPPROTO_OLD_DIVERT: ::c_int = 254;
 pub const IPPROTO_MAX: ::c_int = 256;
 /// last return value of *_input(), meaning "all job for this pkt is done".
 pub const IPPROTO_DONE: ::c_int = 257;
 
-// Only used internally, so can be outside the range of valid IP protocols.
+/* Only used internally, so can be outside the range of valid IP protocols. */
 /// divert pseudo-protocol
 pub const IPPROTO_DIVERT: ::c_int = 258;
 /// SeND pseudo-protocol
@@ -716,9 +691,9 @@ pub const IPC_RMID: ::c_int = 0;
 pub const IPC_SET: ::c_int = 1;
 pub const IPC_STAT: ::c_int = 2;
 pub const IPC_INFO: ::c_int = 3;
-pub const IPC_R: ::c_int = 0o400;
-pub const IPC_W: ::c_int = 0o200;
-pub const IPC_M: ::c_int = 0o10000;
+pub const IPC_R : ::c_int = 0o400;
+pub const IPC_W : ::c_int = 0o200;
+pub const IPC_M : ::c_int = 0o10000;
 pub const MSG_NOERROR: ::c_int = 0o10000;
 pub const SHM_RDONLY: ::c_int = 0o10000;
 pub const SHM_RND: ::c_int = 0o20000;
@@ -769,8 +744,12 @@ pub const LC_MESSAGES_MASK: ::c_int = (1 << 2);
 pub const LC_MONETARY_MASK: ::c_int = (1 << 3);
 pub const LC_NUMERIC_MASK: ::c_int = (1 << 4);
 pub const LC_TIME_MASK: ::c_int = (1 << 5);
-pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK |
-    LC_NUMERIC_MASK | LC_TIME_MASK;
+pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK
+                               | LC_CTYPE_MASK
+                               | LC_MESSAGES_MASK
+                               | LC_MONETARY_MASK
+                               | LC_NUMERIC_MASK
+                               | LC_TIME_MASK;
 
 pub const WSTOPPED: ::c_int = 2; // same as WUNTRACED
 pub const WCONTINUED: ::c_int = 4;
@@ -804,10 +783,11 @@ pub const _SC_CPUSET_SIZE: ::c_int = 122;
 pub const XU_NGROUPS: ::c_int = 16;
 pub const XUCRED_VERSION: ::c_uint = 0;
 
-extern "C" {
+extern {
     pub fn __error() -> *mut ::c_int;
 
-    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
+    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
 
     pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
     pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
@@ -816,31 +796,44 @@ extern "C" {
     pub fn jail(jail: *mut ::jail) -> ::c_int;
     pub fn jail_attach(jid: ::c_int) -> ::c_int;
     pub fn jail_remove(jid: ::c_int) -> ::c_int;
-    pub fn jail_get(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int) -> ::c_int;
-    pub fn jail_set(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int) -> ::c_int;
-
-    pub fn posix_fallocate(fd: ::c_int, offset: ::off_t, len: ::off_t) -> ::c_int;
-    pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int;
+    pub fn jail_get(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int)
+                    -> ::c_int;
+    pub fn jail_set(iov: *mut ::iovec, niov: ::c_uint, flags: ::c_int)
+                    -> ::c_int;
+
+    pub fn posix_fallocate(fd: ::c_int, offset: ::off_t,
+                           len: ::off_t) -> ::c_int;
+    pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t,
+                         advise: ::c_int) -> ::c_int;
     pub fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int;
-    pub fn mkostemps(template: *mut ::c_char, suffixlen: ::c_int, flags: ::c_int) -> ::c_int;
+    pub fn mkostemps(template: *mut ::c_char,
+                     suffixlen: ::c_int,
+                     flags: ::c_int) -> ::c_int;
 
     pub fn getutxuser(user: *const ::c_char) -> *mut utmpx;
     pub fn setutxdb(_type: ::c_int, file: *const ::c_char) -> ::c_int;
 
-    pub fn aio_waitcomplete(iocbp: *mut *mut aiocb, timeout: *mut ::timespec) -> ::ssize_t;
+    pub fn aio_waitcomplete(iocbp: *mut *mut aiocb,
+                            timeout: *mut ::timespec) -> ::ssize_t;
 
     pub fn freelocale(loc: ::locale_t) -> ::c_int;
-    pub fn waitid(idtype: idtype_t, id: ::id_t, infop: *mut ::siginfo_t, options: ::c_int) -> ::c_int;
+    pub fn waitid(idtype: idtype_t, id: ::id_t, infop: *mut ::siginfo_t,
+                  options: ::c_int) -> ::c_int;
 
     pub fn ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t;
     pub fn shmget(key: ::key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int;
-    pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void;
+    pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void,
+        shmflg: ::c_int) -> *mut ::c_void;
     pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int;
-    pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int;
-    pub fn msgctl(msqid: ::c_int, cmd: ::c_int, buf: *mut ::msqid_ds) -> ::c_int;
+    pub fn shmctl(shmid: ::c_int, cmd: ::c_int,
+        buf: *mut ::shmid_ds) -> ::c_int;
+    pub fn msgctl(msqid: ::c_int, cmd: ::c_int,
+        buf: *mut ::msqid_ds) -> ::c_int;
     pub fn msgget(key: ::key_t, msgflg: ::c_int) -> ::c_int;
-    pub fn msgrcv(msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int) -> ::c_int;
-    pub fn msgsnd(msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t, msgflg: ::c_int) -> ::c_int;
+    pub fn msgrcv(msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t,
+        msgtyp: ::c_long, msgflg: ::c_int) -> ::c_int;
+    pub fn msgsnd(msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t,
+        msgflg: ::c_int) -> ::c_int;
     pub fn cfmakesane(termios: *mut ::termios);
 }
 
diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs
index d825a210..8cc87ce9 100644
--- a/src/unix/bsd/freebsdlike/mod.rs
+++ b/src/unix/bsd/freebsdlike/mod.rs
@@ -442,8 +442,9 @@ pub const EMULTIHOP: ::c_int = 90;
 pub const ENOLINK: ::c_int = 91;
 pub const EPROTO: ::c_int = 92;
 
-pub const POLLSTANDARD: ::c_short = ::POLLIN | ::POLLPRI | ::POLLOUT | ::POLLRDNORM | ::POLLRDBAND |
-    ::POLLWRBAND | ::POLLERR | ::POLLHUP | ::POLLNVAL;
+pub const POLLSTANDARD: ::c_short = ::POLLIN | ::POLLPRI | ::POLLOUT |
+    ::POLLRDNORM | ::POLLRDBAND | ::POLLWRBAND | ::POLLERR |
+    ::POLLHUP | ::POLLNVAL;
 
 pub const EAI_SYSTEM: ::c_int = 11;
 
@@ -455,17 +456,17 @@ pub const F_SETFL: ::c_int = 4;
 
 pub const SIGTRAP: ::c_int = 5;
 
-pub const GLOB_APPEND: ::c_int = 0x0001;
-pub const GLOB_DOOFFS: ::c_int = 0x0002;
-pub const GLOB_ERR: ::c_int = 0x0004;
-pub const GLOB_MARK: ::c_int = 0x0008;
-pub const GLOB_NOCHECK: ::c_int = 0x0010;
-pub const GLOB_NOSORT: ::c_int = 0x0020;
+pub const GLOB_APPEND  : ::c_int = 0x0001;
+pub const GLOB_DOOFFS  : ::c_int = 0x0002;
+pub const GLOB_ERR     : ::c_int = 0x0004;
+pub const GLOB_MARK    : ::c_int = 0x0008;
+pub const GLOB_NOCHECK : ::c_int = 0x0010;
+pub const GLOB_NOSORT  : ::c_int = 0x0020;
 pub const GLOB_NOESCAPE: ::c_int = 0x2000;
 
-pub const GLOB_NOSPACE: ::c_int = -1;
-pub const GLOB_ABORTED: ::c_int = -2;
-pub const GLOB_NOMATCH: ::c_int = -3;
+pub const GLOB_NOSPACE : ::c_int = -1;
+pub const GLOB_ABORTED : ::c_int = -2;
+pub const GLOB_NOMATCH : ::c_int = -3;
 
 pub const POSIX_MADV_NORMAL: ::c_int = 0;
 pub const POSIX_MADV_RANDOM: ::c_int = 1;
@@ -506,7 +507,7 @@ pub const MADV_AUTOSYNC: ::c_int = 7;
 pub const MADV_NOCORE: ::c_int = 8;
 pub const MADV_CORE: ::c_int = 9;
 
-pub const MINCORE_INCORE: ::c_int = 0x1;
+pub const MINCORE_INCORE: ::c_int =  0x1;
 pub const MINCORE_REFERENCED: ::c_int = 0x2;
 pub const MINCORE_MODIFIED: ::c_int = 0x4;
 pub const MINCORE_REFERENCED_OTHER: ::c_int = 0x8;
@@ -590,7 +591,7 @@ pub const SOMAXCONN: ::c_int = 128;
 pub const MSG_OOB: ::c_int = 0x00000001;
 pub const MSG_PEEK: ::c_int = 0x00000002;
 pub const MSG_DONTROUTE: ::c_int = 0x00000004;
-pub const MSG_EOR: ::c_int = 0x00000008;
+pub const MSG_EOR: ::c_int =  0x00000008;
 pub const MSG_TRUNC: ::c_int = 0x00000010;
 pub const MSG_CTRUNC: ::c_int = 0x00000020;
 pub const MSG_WAITALL: ::c_int = 0x00000040;
@@ -639,6 +640,7 @@ pub const SO_RCVTIMEO: ::c_int = 0x1006;
 pub const SO_ERROR: ::c_int = 0x1007;
 pub const SO_TYPE: ::c_int = 0x1008;
 
+pub const IFF_LOOPBACK: ::c_int = 0x8;
 
 pub const SHUT_RD: ::c_int = 0;
 pub const SHUT_WR: ::c_int = 1;
@@ -952,7 +954,7 @@ f! {
     }
 }
 
-extern "C" {
+extern {
     pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int;
     pub fn endutxent();
     pub fn getutxent() -> *mut utmpx;
@@ -962,121 +964,152 @@ extern "C" {
     pub fn setutxent();
     pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int;
     pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int;
-    pub fn getgrouplist(
-        name: *const ::c_char,
-        basegid: ::gid_t,
-        groups: *mut ::gid_t,
-        ngroups: *mut ::c_int,
-    ) -> ::c_int;
+    pub fn getgrouplist(name: *const ::c_char,
+                        basegid: ::gid_t,
+                        groups: *mut ::gid_t,
+                        ngroups: *mut ::c_int) -> ::c_int;
     pub fn initgroups(name: *const ::c_char, basegid: ::gid_t) -> ::c_int;
 }
 
 #[link(name = "util")]
-extern "C" {
+extern {
     pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int;
     pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int;
     pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
     pub fn aio_error(aiocbp: *const aiocb) -> ::c_int;
     pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t;
-    pub fn aio_suspend(aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec) -> ::c_int;
+    pub fn aio_suspend(aiocb_list: *const *const aiocb, nitems: ::c_int,
+                       timeout: *const ::timespec) -> ::c_int;
     pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
-    pub fn lio_listio(mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut sigevent) -> ::c_int;
+    pub fn lio_listio(mode: ::c_int, aiocb_list: *const *mut aiocb,
+                      nitems: ::c_int, sevp: *mut sigevent) -> ::c_int;
     pub fn dirfd(dirp: *mut ::DIR) -> ::c_int;
-    pub fn getnameinfo(
-        sa: *const ::sockaddr,
-        salen: ::socklen_t,
-        host: *mut ::c_char,
-        hostlen: ::size_t,
-        serv: *mut ::c_char,
-        servlen: ::size_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn kevent(
-        kq: ::c_int,
-        changelist: *const ::kevent,
-        nchanges: ::c_int,
-        eventlist: *mut ::kevent,
-        nevents: ::c_int,
-        timeout: *const ::timespec,
-    ) -> ::c_int;
-    pub fn mincore(addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char) -> ::c_int;
-    pub fn pwritev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t) -> ::ssize_t;
-    pub fn preadv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int, offset: ::off_t) -> ::ssize_t;
-    pub fn sysctlnametomib(name: *const ::c_char, mibp: *mut ::c_int, sizep: *mut ::size_t) -> ::c_int;
-    pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_t) -> ::c_int;
-    pub fn sysctl(
-        name: *const ::c_int,
-        namelen: ::c_uint,
-        oldp: *mut ::c_void,
-        oldlenp: *mut ::size_t,
-        newp: *const ::c_void,
-        newlen: ::size_t,
-    ) -> ::c_int;
-    pub fn sysctlbyname(
-        name: *const ::c_char,
-        oldp: *mut ::c_void,
-        oldlenp: *mut ::size_t,
-        newp: *const ::c_void,
-        newlen: ::size_t,
-    ) -> ::c_int;
-    pub fn sched_setscheduler(pid: ::pid_t, policy: ::c_int, param: *const ::sched_param) -> ::c_int;
+    pub fn getnameinfo(sa: *const ::sockaddr,
+                       salen: ::socklen_t,
+                       host: *mut ::c_char,
+                       hostlen: ::size_t,
+                       serv: *mut ::c_char,
+                       servlen: ::size_t,
+                       flags: ::c_int) -> ::c_int;
+    pub fn kevent(kq: ::c_int,
+                  changelist: *const ::kevent,
+                  nchanges: ::c_int,
+                  eventlist: *mut ::kevent,
+                  nevents: ::c_int,
+                  timeout: *const ::timespec) -> ::c_int;
+    pub fn mincore(addr: *const ::c_void, len: ::size_t,
+                   vec: *mut ::c_char) -> ::c_int;
+    pub fn pwritev(fd: ::c_int,
+                   iov: *const ::iovec,
+                   iovcnt: ::c_int,
+                   offset: ::off_t) -> ::ssize_t;
+    pub fn preadv(fd: ::c_int,
+                  iov: *const ::iovec,
+                  iovcnt: ::c_int,
+                  offset: ::off_t) -> ::ssize_t;
+    pub fn sysctlnametomib(name: *const ::c_char,
+                           mibp: *mut ::c_int,
+                           sizep: *mut ::size_t)
+                           -> ::c_int;
+    pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_t)
+                    -> ::c_int;
+    pub fn sysctl(name: *const ::c_int,
+                  namelen: ::c_uint,
+                  oldp: *mut ::c_void,
+                  oldlenp: *mut ::size_t,
+                  newp: *const ::c_void,
+                  newlen: ::size_t)
+                  -> ::c_int;
+    pub fn sysctlbyname(name: *const ::c_char,
+                        oldp: *mut ::c_void,
+                        oldlenp: *mut ::size_t,
+                        newp: *const ::c_void,
+                        newlen: ::size_t)
+                        -> ::c_int;
+    pub fn sched_setscheduler(pid: ::pid_t,
+                              policy: ::c_int,
+                              param: *const ::sched_param) -> ::c_int;
     pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
-    pub fn memrchr(cx: *const ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void;
-    pub fn sendfile(
-        fd: ::c_int,
-        s: ::c_int,
-        offset: ::off_t,
-        nbytes: ::size_t,
-        hdtr: *mut ::sf_hdtr,
-        sbytes: *mut ::off_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn sigtimedwait(set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec) -> ::c_int;
-    pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int;
-    pub fn openpty(
-        amaster: *mut ::c_int,
-        aslave: *mut ::c_int,
-        name: *mut ::c_char,
-        termp: *mut termios,
-        winp: *mut ::winsize,
-    ) -> ::c_int;
-    pub fn forkpty(amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize) -> ::pid_t;
+    pub fn memrchr(cx: *const ::c_void,
+                   c: ::c_int,
+                   n: ::size_t) -> *mut ::c_void;
+    pub fn sendfile(fd: ::c_int,
+                    s: ::c_int,
+                    offset: ::off_t,
+                    nbytes: ::size_t,
+                    hdtr: *mut ::sf_hdtr,
+                    sbytes: *mut ::off_t,
+                    flags: ::c_int) -> ::c_int;
+    pub fn sigtimedwait(set: *const sigset_t,
+                        info: *mut siginfo_t,
+                        timeout: *const ::timespec) -> ::c_int;
+    pub fn sigwaitinfo(set: *const sigset_t,
+                       info: *mut siginfo_t) -> ::c_int;
+    pub fn openpty(amaster: *mut ::c_int,
+                   aslave: *mut ::c_int,
+                   name: *mut ::c_char,
+                   termp: *mut termios,
+                   winp: *mut ::winsize) -> ::c_int;
+    pub fn forkpty(amaster: *mut ::c_int,
+                   name: *mut ::c_char,
+                   termp: *mut termios,
+                   winp: *mut ::winsize) -> ::pid_t;
     pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
     pub fn duplocale(base: ::locale_t) -> ::locale_t;
-    pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
+    pub fn newlocale(mask: ::c_int,
+                     locale: *const ::c_char,
+                     base: ::locale_t) -> ::locale_t;
     pub fn uselocale(loc: ::locale_t) -> ::locale_t;
     pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char;
-    pub fn accept4(s: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t, flags: ::c_int) -> ::c_int;
+    pub fn accept4(s: ::c_int, addr: *mut ::sockaddr,
+                   addrlen: *mut ::socklen_t, flags: ::c_int) -> ::c_int;
     pub fn pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char);
-    pub fn pthread_attr_get_np(tid: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int;
-    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t, guardsize: *mut ::size_t) -> ::c_int;
-    pub fn pthread_attr_getstack(
-        attr: *const ::pthread_attr_t,
-        stackaddr: *mut *mut ::c_void,
-        stacksize: *mut ::size_t,
-    ) -> ::c_int;
-    pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int;
-    pub fn pthread_condattr_getpshared(attr: *const pthread_condattr_t, pshared: *mut ::c_int) -> ::c_int;
-    pub fn pthread_mutexattr_setpshared(attr: *mut pthread_mutexattr_t, pshared: ::c_int) -> ::c_int;
-    pub fn pthread_mutexattr_getpshared(attr: *const pthread_mutexattr_t, pshared: *mut ::c_int) -> ::c_int;
-    pub fn pthread_rwlockattr_getpshared(attr: *const pthread_rwlockattr_t, val: *mut ::c_int) -> ::c_int;
-    pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int;
+    pub fn pthread_attr_get_np(tid: ::pthread_t,
+                               attr: *mut ::pthread_attr_t) -> ::c_int;
+    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t,
+                                     guardsize: *mut ::size_t) -> ::c_int;
+    pub fn pthread_attr_getstack(attr: *const ::pthread_attr_t,
+                                 stackaddr: *mut *mut ::c_void,
+                                 stacksize: *mut ::size_t) -> ::c_int;
+    pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t,
+                                       pshared: ::c_int) -> ::c_int;
+    pub fn pthread_condattr_getpshared(attr: *const pthread_condattr_t,
+                                       pshared: *mut ::c_int) -> ::c_int;
+    pub fn pthread_mutexattr_setpshared(attr: *mut pthread_mutexattr_t,
+                                        pshared: ::c_int) -> ::c_int;
+    pub fn pthread_mutexattr_getpshared(attr: *const pthread_mutexattr_t,
+                                        pshared: *mut ::c_int) -> ::c_int;
+    pub fn pthread_rwlockattr_getpshared(attr: *const pthread_rwlockattr_t,
+                                         val: *mut ::c_int) -> ::c_int;
+    pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t,
+                                         val: ::c_int) -> ::c_int;
     pub fn getpriority(which: ::c_int, who: ::c_int) -> ::c_int;
     pub fn setpriority(which: ::c_int, who: ::c_int, prio: ::c_int) -> ::c_int;
 
     pub fn fdopendir(fd: ::c_int) -> *mut ::DIR;
 
-    pub fn mknodat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t) -> ::c_int;
-    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int;
-    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t, clock_id: *mut clockid_t) -> ::c_int;
-    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t, clock_id: ::clockid_t) -> ::c_int;
+    pub fn mknodat(dirfd: ::c_int, pathname: *const ::c_char,
+                  mode: ::mode_t, dev: dev_t) -> ::c_int;
+    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char,
+                    mode: ::mode_t) -> ::c_int;
+    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t,
+                                     clock_id: *mut clockid_t) -> ::c_int;
+    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t,
+                                     clock_id: ::clockid_t) -> ::c_int;
     pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int;
-    pub fn sem_timedwait(sem: *mut sem_t, abstime: *const ::timespec) -> ::c_int;
-    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t, abstime: *const ::timespec) -> ::c_int;
+    pub fn sem_timedwait(sem: *mut sem_t,
+                         abstime: *const ::timespec) -> ::c_int;
+    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t,
+                                   abstime: *const ::timespec) -> ::c_int;
     pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
-    pub fn ppoll(fds: *mut ::pollfd, nfds: ::nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t) -> ::c_int;
+    pub fn ppoll(fds: *mut ::pollfd,
+                 nfds: ::nfds_t,
+                 timeout: *const ::timespec,
+                 sigmask: *const sigset_t) -> ::c_int;
     pub fn settimeofday(tv: *const ::timeval, tz: *const ::timezone) -> ::c_int;
-    pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char) -> ::c_int;
+    pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char,
+                   envp: *const *const ::c_char)
+                   -> ::c_int;
 }
 
 cfg_if! {
diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs
index 64dec893..cc9798c7 100644
--- a/src/unix/bsd/netbsdlike/netbsd/mod.rs
+++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs
@@ -308,24 +308,24 @@ pub const O_ALT_IO: ::c_int = 0x40000;
 pub const O_NOSIGPIPE: ::c_int = 0x1000000;
 pub const O_SEARCH: ::c_int = 0x800000;
 pub const O_DIRECTORY: ::c_int = 0x200000;
-pub const O_DIRECT: ::c_int = 0x00080000;
-pub const O_RSYNC: ::c_int = 0x00020000;
+pub const O_DIRECT : ::c_int = 0x00080000;
+pub const O_RSYNC : ::c_int = 0x00020000;
 
-pub const MS_SYNC: ::c_int = 0x4;
-pub const MS_INVALIDATE: ::c_int = 0x2;
+pub const MS_SYNC : ::c_int = 0x4;
+pub const MS_INVALIDATE : ::c_int = 0x2;
 
 pub const RLIM_NLIMITS: ::c_int = 12;
 
-pub const ENOATTR: ::c_int = 93;
-pub const EILSEQ: ::c_int = 85;
-pub const EOVERFLOW: ::c_int = 84;
-pub const ECANCELED: ::c_int = 87;
-pub const EIDRM: ::c_int = 82;
-pub const ENOMSG: ::c_int = 83;
-pub const ENOTSUP: ::c_int = 86;
-pub const ELAST: ::c_int = 96;
+pub const ENOATTR : ::c_int = 93;
+pub const EILSEQ : ::c_int = 85;
+pub const EOVERFLOW : ::c_int = 84;
+pub const ECANCELED : ::c_int = 87;
+pub const EIDRM : ::c_int = 82;
+pub const ENOMSG : ::c_int = 83;
+pub const ENOTSUP : ::c_int = 86;
+pub const ELAST : ::c_int = 96;
 
-pub const F_DUPFD_CLOEXEC: ::c_int = 12;
+pub const F_DUPFD_CLOEXEC : ::c_int = 12;
 pub const F_CLOSEM: ::c_int = 10;
 pub const F_GETNOSIGPIPE: ::c_int = 13;
 pub const F_SETNOSIGPIPE: ::c_int = 14;
@@ -346,24 +346,6 @@ pub const SO_TIMESTAMP: ::c_int = 0x2000;
 pub const SO_OVERFLOWED: ::c_int = 0x1009;
 pub const SO_NOHEADER: ::c_int = 0x100a;
 
-// https://github.com/NetBSD/src/blob/trunk/sys/net/if.h#L373
-pub const IFF_UP: ::c_int = 0x0001; // interface is up
-pub const IFF_BROADCAST: ::c_int = 0x0002; // broadcast address valid
-pub const IFF_DEBUG: ::c_int = 0x0004; // turn on debugging
-pub const IFF_LOOPBACK: ::c_int = 0x0008; // is a loopback net
-pub const IFF_POINTOPOINT: ::c_int = 0x0010; // interface is point-to-point link
-pub const IFF_NOTRAILERS: ::c_int = 0x0020; // avoid use of trailers
-pub const IFF_RUNNING: ::c_int = 0x0040; // resources allocated
-pub const IFF_NOARP: ::c_int = 0x0080; // no address resolution protocol
-pub const IFF_PROMISC: ::c_int = 0x0100; // receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x0200; // receive all multicast packets
-pub const IFF_OACTIVE: ::c_int = 0x0400; // transmission in progress
-pub const IFF_SIMPLEX: ::c_int = 0x0800; // can't hear own transmissions
-pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
-pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
-pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
-pub const IFF_MULTICAST: ::c_int = 0x8000; // supports multicast
-
 // sys/netinet/in.h
 // Protocols (RFC 1700)
 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
@@ -430,7 +412,7 @@ pub const IPPROTO_CARP: ::c_int = 112;
 // TEMP: Disabled for now; this constant was added to NetBSD on 2017-02-16,
 // but isn't yet supported by the NetBSD rumprun kernel image used for
 // libc testing.
-// pub const IPPROTO_L2TP: ::c_int = 115;
+//pub const IPPROTO_L2TP: ::c_int = 115;
 /// SCTP
 pub const IPPROTO_SCTP: ::c_int = 132;
 /// PFSYNC
@@ -476,18 +458,18 @@ pub const MSG_NOTIFICATION: ::c_int = 0x4000;
 pub const SCM_TIMESTAMP: ::c_int = 0x08;
 pub const SCM_CREDS: ::c_int = 0x10;
 
-pub const O_DSYNC: ::c_int = 0x10000;
+pub const O_DSYNC : ::c_int = 0x10000;
 
-pub const MAP_RENAME: ::c_int = 0x20;
-pub const MAP_NORESERVE: ::c_int = 0x40;
-pub const MAP_HASSEMAPHORE: ::c_int = 0x200;
+pub const MAP_RENAME : ::c_int = 0x20;
+pub const MAP_NORESERVE : ::c_int = 0x40;
+pub const MAP_HASSEMAPHORE : ::c_int = 0x200;
 pub const MAP_WIRED: ::c_int = 0x800;
 
 pub const DCCP_TYPE_REQUEST: ::c_int = 0;
 pub const DCCP_TYPE_RESPONSE: ::c_int = 1;
 pub const DCCP_TYPE_DATA: ::c_int = 2;
 pub const DCCP_TYPE_ACK: ::c_int = 3;
-pub const DCCP_TYPE_DATAACK: ::c_int = 4;
+pub const DCCP_TYPE_DATAACK: ::c_int =  4;
 pub const DCCP_TYPE_CLOSEREQ: ::c_int = 5;
 pub const DCCP_TYPE_CLOSE: ::c_int = 6;
 pub const DCCP_TYPE_RESET: ::c_int = 7;
@@ -495,12 +477,12 @@ pub const DCCP_TYPE_MOVE: ::c_int = 8;
 
 pub const DCCP_FEATURE_CC: ::c_int = 1;
 pub const DCCP_FEATURE_ECN: ::c_int = 2;
-pub const DCCP_FEATURE_ACKRATIO: ::c_int = 3;
+pub const DCCP_FEATURE_ACKRATIO: ::c_int =  3;
 pub const DCCP_FEATURE_ACKVECTOR: ::c_int = 4;
-pub const DCCP_FEATURE_MOBILITY: ::c_int = 5;
+pub const DCCP_FEATURE_MOBILITY: ::c_int =  5;
 pub const DCCP_FEATURE_LOSSWINDOW: ::c_int = 6;
 pub const DCCP_FEATURE_CONN_NONCE: ::c_int = 8;
-pub const DCCP_FEATURE_IDENTREG: ::c_int = 7;
+pub const DCCP_FEATURE_IDENTREG: ::c_int =  7;
 
 pub const DCCP_OPT_PADDING: ::c_int = 0;
 pub const DCCP_OPT_DATA_DISCARD: ::c_int = 1;
@@ -542,91 +524,91 @@ pub const DCCP_SEQ_NUM_LIMIT: ::c_int = 16777216;
 pub const DCCP_MAX_OPTIONS: ::c_int = 32;
 pub const DCCP_MAX_PKTS: ::c_int = 100;
 
-pub const _PC_LINK_MAX: ::c_int = 1;
-pub const _PC_MAX_CANON: ::c_int = 2;
-pub const _PC_MAX_INPUT: ::c_int = 3;
-pub const _PC_NAME_MAX: ::c_int = 4;
-pub const _PC_PATH_MAX: ::c_int = 5;
-pub const _PC_PIPE_BUF: ::c_int = 6;
-pub const _PC_CHOWN_RESTRICTED: ::c_int = 7;
-pub const _PC_NO_TRUNC: ::c_int = 8;
-pub const _PC_VDISABLE: ::c_int = 9;
-pub const _PC_SYNC_IO: ::c_int = 10;
-pub const _PC_FILESIZEBITS: ::c_int = 11;
-pub const _PC_SYMLINK_MAX: ::c_int = 12;
-pub const _PC_2_SYMLINKS: ::c_int = 13;
-pub const _PC_ACL_EXTENDED: ::c_int = 14;
-pub const _PC_MIN_HOLE_SIZE: ::c_int = 15;
-
-pub const _SC_SYNCHRONIZED_IO: ::c_int = 31;
-pub const _SC_IOV_MAX: ::c_int = 32;
-pub const _SC_MAPPED_FILES: ::c_int = 33;
-pub const _SC_MEMLOCK: ::c_int = 34;
-pub const _SC_MEMLOCK_RANGE: ::c_int = 35;
-pub const _SC_MEMORY_PROTECTION: ::c_int = 36;
-pub const _SC_LOGIN_NAME_MAX: ::c_int = 37;
-pub const _SC_MONOTONIC_CLOCK: ::c_int = 38;
-pub const _SC_CLK_TCK: ::c_int = 39;
-pub const _SC_ATEXIT_MAX: ::c_int = 40;
-pub const _SC_THREADS: ::c_int = 41;
-pub const _SC_SEMAPHORES: ::c_int = 42;
-pub const _SC_BARRIERS: ::c_int = 43;
-pub const _SC_TIMERS: ::c_int = 44;
-pub const _SC_SPIN_LOCKS: ::c_int = 45;
-pub const _SC_READER_WRITER_LOCKS: ::c_int = 46;
-pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 47;
-pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 48;
-pub const _SC_CLOCK_SELECTION: ::c_int = 49;
-pub const _SC_ASYNCHRONOUS_IO: ::c_int = 50;
-pub const _SC_AIO_LISTIO_MAX: ::c_int = 51;
-pub const _SC_AIO_MAX: ::c_int = 52;
-pub const _SC_MESSAGE_PASSING: ::c_int = 53;
-pub const _SC_MQ_OPEN_MAX: ::c_int = 54;
-pub const _SC_MQ_PRIO_MAX: ::c_int = 55;
-pub const _SC_PRIORITY_SCHEDULING: ::c_int = 56;
-pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 57;
-pub const _SC_THREAD_KEYS_MAX: ::c_int = 58;
-pub const _SC_THREAD_STACK_MIN: ::c_int = 59;
-pub const _SC_THREAD_THREADS_MAX: ::c_int = 60;
-pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 61;
-pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 62;
-pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 63;
-pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 64;
-pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 65;
-pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 66;
-pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 67;
-pub const _SC_TTY_NAME_MAX: ::c_int = 68;
-pub const _SC_HOST_NAME_MAX: ::c_int = 69;
-pub const _SC_PASS_MAX: ::c_int = 70;
-pub const _SC_REGEXP: ::c_int = 71;
-pub const _SC_SHELL: ::c_int = 72;
-pub const _SC_SYMLOOP_MAX: ::c_int = 73;
-pub const _SC_V6_ILP32_OFF32: ::c_int = 74;
-pub const _SC_V6_ILP32_OFFBIG: ::c_int = 75;
-pub const _SC_V6_LP64_OFF64: ::c_int = 76;
-pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 77;
-pub const _SC_2_PBS: ::c_int = 80;
-pub const _SC_2_PBS_ACCOUNTING: ::c_int = 81;
-pub const _SC_2_PBS_CHECKPOINT: ::c_int = 82;
-pub const _SC_2_PBS_LOCATE: ::c_int = 83;
-pub const _SC_2_PBS_MESSAGE: ::c_int = 84;
-pub const _SC_2_PBS_TRACK: ::c_int = 85;
-pub const _SC_SPAWN: ::c_int = 86;
-pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 87;
-pub const _SC_TIMER_MAX: ::c_int = 88;
-pub const _SC_SEM_NSEMS_MAX: ::c_int = 89;
-pub const _SC_CPUTIME: ::c_int = 90;
-pub const _SC_THREAD_CPUTIME: ::c_int = 91;
-pub const _SC_DELAYTIMER_MAX: ::c_int = 92;
+pub const _PC_LINK_MAX : ::c_int = 1;
+pub const _PC_MAX_CANON : ::c_int = 2;
+pub const _PC_MAX_INPUT : ::c_int = 3;
+pub const _PC_NAME_MAX : ::c_int = 4;
+pub const _PC_PATH_MAX : ::c_int = 5;
+pub const _PC_PIPE_BUF : ::c_int = 6;
+pub const _PC_CHOWN_RESTRICTED : ::c_int = 7;
+pub const _PC_NO_TRUNC : ::c_int = 8;
+pub const _PC_VDISABLE : ::c_int = 9;
+pub const _PC_SYNC_IO : ::c_int = 10;
+pub const _PC_FILESIZEBITS : ::c_int = 11;
+pub const _PC_SYMLINK_MAX : ::c_int = 12;
+pub const _PC_2_SYMLINKS : ::c_int = 13;
+pub const _PC_ACL_EXTENDED : ::c_int = 14;
+pub const _PC_MIN_HOLE_SIZE : ::c_int = 15;
+
+pub const _SC_SYNCHRONIZED_IO : ::c_int = 31;
+pub const _SC_IOV_MAX : ::c_int = 32;
+pub const _SC_MAPPED_FILES : ::c_int = 33;
+pub const _SC_MEMLOCK : ::c_int = 34;
+pub const _SC_MEMLOCK_RANGE : ::c_int = 35;
+pub const _SC_MEMORY_PROTECTION : ::c_int = 36;
+pub const _SC_LOGIN_NAME_MAX : ::c_int = 37;
+pub const _SC_MONOTONIC_CLOCK : ::c_int = 38;
+pub const _SC_CLK_TCK : ::c_int = 39;
+pub const _SC_ATEXIT_MAX : ::c_int = 40;
+pub const _SC_THREADS : ::c_int = 41;
+pub const _SC_SEMAPHORES : ::c_int = 42;
+pub const _SC_BARRIERS : ::c_int = 43;
+pub const _SC_TIMERS : ::c_int = 44;
+pub const _SC_SPIN_LOCKS : ::c_int = 45;
+pub const _SC_READER_WRITER_LOCKS : ::c_int = 46;
+pub const _SC_GETGR_R_SIZE_MAX : ::c_int = 47;
+pub const _SC_GETPW_R_SIZE_MAX : ::c_int = 48;
+pub const _SC_CLOCK_SELECTION : ::c_int = 49;
+pub const _SC_ASYNCHRONOUS_IO : ::c_int = 50;
+pub const _SC_AIO_LISTIO_MAX : ::c_int = 51;
+pub const _SC_AIO_MAX : ::c_int = 52;
+pub const _SC_MESSAGE_PASSING : ::c_int = 53;
+pub const _SC_MQ_OPEN_MAX : ::c_int = 54;
+pub const _SC_MQ_PRIO_MAX : ::c_int = 55;
+pub const _SC_PRIORITY_SCHEDULING : ::c_int = 56;
+pub const _SC_THREAD_DESTRUCTOR_ITERATIONS : ::c_int = 57;
+pub const _SC_THREAD_KEYS_MAX : ::c_int = 58;
+pub const _SC_THREAD_STACK_MIN : ::c_int = 59;
+pub const _SC_THREAD_THREADS_MAX : ::c_int = 60;
+pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 61;
+pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 62;
+pub const _SC_THREAD_PRIORITY_SCHEDULING : ::c_int = 63;
+pub const _SC_THREAD_PRIO_INHERIT : ::c_int = 64;
+pub const _SC_THREAD_PRIO_PROTECT : ::c_int = 65;
+pub const _SC_THREAD_PROCESS_SHARED : ::c_int = 66;
+pub const _SC_THREAD_SAFE_FUNCTIONS : ::c_int = 67;
+pub const _SC_TTY_NAME_MAX : ::c_int = 68;
+pub const _SC_HOST_NAME_MAX : ::c_int = 69;
+pub const _SC_PASS_MAX : ::c_int = 70;
+pub const _SC_REGEXP : ::c_int = 71;
+pub const _SC_SHELL : ::c_int = 72;
+pub const _SC_SYMLOOP_MAX : ::c_int = 73;
+pub const _SC_V6_ILP32_OFF32 : ::c_int = 74;
+pub const _SC_V6_ILP32_OFFBIG : ::c_int = 75;
+pub const _SC_V6_LP64_OFF64 : ::c_int = 76;
+pub const _SC_V6_LPBIG_OFFBIG : ::c_int = 77;
+pub const _SC_2_PBS : ::c_int = 80;
+pub const _SC_2_PBS_ACCOUNTING : ::c_int = 81;
+pub const _SC_2_PBS_CHECKPOINT : ::c_int = 82;
+pub const _SC_2_PBS_LOCATE : ::c_int = 83;
+pub const _SC_2_PBS_MESSAGE : ::c_int = 84;
+pub const _SC_2_PBS_TRACK : ::c_int = 85;
+pub const _SC_SPAWN : ::c_int = 86;
+pub const _SC_SHARED_MEMORY_OBJECTS : ::c_int = 87;
+pub const _SC_TIMER_MAX : ::c_int = 88;
+pub const _SC_SEM_NSEMS_MAX : ::c_int = 89;
+pub const _SC_CPUTIME : ::c_int = 90;
+pub const _SC_THREAD_CPUTIME : ::c_int = 91;
+pub const _SC_DELAYTIMER_MAX : ::c_int = 92;
 // These two variables will be supported in NetBSD 8.0
 // pub const _SC_SIGQUEUE_MAX : ::c_int = 93;
 // pub const _SC_REALTIME_SIGNALS : ::c_int = 94;
-pub const _SC_PHYS_PAGES: ::c_int = 121;
-pub const _SC_NPROCESSORS_CONF: ::c_int = 1001;
-pub const _SC_NPROCESSORS_ONLN: ::c_int = 1002;
-pub const _SC_SCHED_RT_TS: ::c_int = 2001;
-pub const _SC_SCHED_PRI_MIN: ::c_int = 2002;
-pub const _SC_SCHED_PRI_MAX: ::c_int = 2003;
+pub const _SC_PHYS_PAGES : ::c_int = 121;
+pub const _SC_NPROCESSORS_CONF : ::c_int = 1001;
+pub const _SC_NPROCESSORS_ONLN : ::c_int = 1002;
+pub const _SC_SCHED_RT_TS : ::c_int = 2001;
+pub const _SC_SCHED_PRI_MIN : ::c_int = 2002;
+pub const _SC_SCHED_PRI_MAX : ::c_int = 2003;
 
 pub const FD_SETSIZE: usize = 0x100;
 
@@ -705,7 +687,7 @@ pub const NOTE_TRACK: ::uint32_t = 0x00000001;
 pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
 pub const NOTE_CHILD: ::uint32_t = 0x00000004;
 
-pub const TMP_MAX: ::c_uint = 308915776;
+pub const TMP_MAX : ::c_uint = 308915776;
 
 pub const NI_MAXHOST: ::socklen_t = 1025;
 
@@ -910,76 +892,81 @@ f! {
     }
 }
 
-extern "C" {
+extern {
     pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int;
     pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int;
     pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
     pub fn aio_error(aiocbp: *const aiocb) -> ::c_int;
     pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t;
     #[link_name = "__aio_suspend50"]
-    pub fn aio_suspend(aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec) -> ::c_int;
+    pub fn aio_suspend(aiocb_list: *const *const aiocb, nitems: ::c_int,
+                       timeout: *const ::timespec) -> ::c_int;
     pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int;
-    pub fn lio_listio(mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut sigevent) -> ::c_int;
+    pub fn lio_listio(mode: ::c_int, aiocb_list: *const *mut aiocb,
+                      nitems: ::c_int, sevp: *mut sigevent) -> ::c_int;
 
     pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int;
-    pub fn getnameinfo(
-        sa: *const ::sockaddr,
-        salen: ::socklen_t,
-        host: *mut ::c_char,
-        hostlen: ::socklen_t,
-        serv: *mut ::c_char,
-        sevlen: ::socklen_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
-    pub fn sysctl(
-        name: *const ::c_int,
-        namelen: ::c_uint,
-        oldp: *mut ::c_void,
-        oldlenp: *mut ::size_t,
-        newp: *const ::c_void,
-        newlen: ::size_t,
-    ) -> ::c_int;
-    pub fn sysctlbyname(
-        name: *const ::c_char,
-        oldp: *mut ::c_void,
-        oldlenp: *mut ::size_t,
-        newp: *const ::c_void,
-        newlen: ::size_t,
-    ) -> ::c_int;
+    pub fn getnameinfo(sa: *const ::sockaddr,
+                       salen: ::socklen_t,
+                       host: *mut ::c_char,
+                       hostlen: ::socklen_t,
+                       serv: *mut ::c_char,
+                       sevlen: ::socklen_t,
+                       flags: ::c_int) -> ::c_int;
+    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
+    pub fn sysctl(name: *const ::c_int,
+                  namelen: ::c_uint,
+                  oldp: *mut ::c_void,
+                  oldlenp: *mut ::size_t,
+                  newp: *const ::c_void,
+                  newlen: ::size_t)
+                  -> ::c_int;
+    pub fn sysctlbyname(name: *const ::c_char,
+                        oldp: *mut ::c_void,
+                        oldlenp: *mut ::size_t,
+                        newp: *const ::c_void,
+                        newlen: ::size_t)
+                        -> ::c_int;
     #[link_name = "__kevent50"]
-    pub fn kevent(
-        kq: ::c_int,
-        changelist: *const ::kevent,
-        nchanges: ::size_t,
-        eventlist: *mut ::kevent,
-        nevents: ::size_t,
-        timeout: *const ::timespec,
-    ) -> ::c_int;
+    pub fn kevent(kq: ::c_int,
+                  changelist: *const ::kevent,
+                  nchanges: ::size_t,
+                  eventlist: *mut ::kevent,
+                  nevents: ::size_t,
+                  timeout: *const ::timespec) -> ::c_int;
     #[link_name = "__mount50"]
-    pub fn mount(
-        src: *const ::c_char,
-        target: *const ::c_char,
-        flags: ::c_int,
-        data: *mut ::c_void,
-        size: ::size_t,
-    ) -> ::c_int;
-    pub fn ptrace(request: ::c_int, pid: ::pid_t, addr: *mut ::c_void, data: ::c_int) -> ::c_int;
-    pub fn pthread_setname_np(t: ::pthread_t, name: *const ::c_char, arg: *mut ::c_void) -> ::c_int;
-    pub fn pthread_getattr_np(native: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int;
-    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t, guardsize: *mut ::size_t) -> ::c_int;
-    pub fn pthread_attr_getstack(
-        attr: *const ::pthread_attr_t,
-        stackaddr: *mut *mut ::c_void,
-        stacksize: *mut ::size_t,
-    ) -> ::c_int;
+    pub fn mount(src: *const ::c_char,
+                 target: *const ::c_char,
+                 flags: ::c_int,
+                 data: *mut ::c_void,
+                 size: ::size_t) -> ::c_int;
+    pub fn ptrace(request: ::c_int,
+                  pid: ::pid_t,
+                  addr: *mut ::c_void,
+                  data: ::c_int) -> ::c_int;
+    pub fn pthread_setname_np(t: ::pthread_t,
+                              name: *const ::c_char,
+                              arg: *mut ::c_void) -> ::c_int;
+    pub fn pthread_getattr_np(native: ::pthread_t,
+                              attr: *mut ::pthread_attr_t) -> ::c_int;
+    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t,
+                                     guardsize: *mut ::size_t) -> ::c_int;
+    pub fn pthread_attr_getstack(attr: *const ::pthread_attr_t,
+                                 stackaddr: *mut *mut ::c_void,
+                                 stacksize: *mut ::size_t) -> ::c_int;
     #[link_name = "__sigtimedwait50"]
-    pub fn sigtimedwait(set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec) -> ::c_int;
-    pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int;
+    pub fn sigtimedwait(set: *const sigset_t,
+                        info: *mut siginfo_t,
+                        timeout: *const ::timespec) -> ::c_int;
+    pub fn sigwaitinfo(set: *const sigset_t,
+                       info: *mut siginfo_t) -> ::c_int;
     pub fn duplocale(base: ::locale_t) -> ::locale_t;
     pub fn freelocale(loc: ::locale_t);
     pub fn localeconv_l(loc: ::locale_t) -> *mut lconv;
-    pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
+    pub fn newlocale(mask: ::c_int,
+                     locale: *const ::c_char,
+                     base: ::locale_t) -> ::locale_t;
     #[link_name = "__settimeofday50"]
     pub fn settimeofday(tv: *const ::timeval, tz: *const ::c_void) -> ::c_int;
 }
diff --git a/src/unix/bsd/netbsdlike/openbsdlike/mod.rs b/src/unix/bsd/netbsdlike/openbsdlike/mod.rs
index 21f7bfb4..293fa2ee 100644
--- a/src/unix/bsd/netbsdlike/openbsdlike/mod.rs
+++ b/src/unix/bsd/netbsdlike/openbsdlike/mod.rs
@@ -186,23 +186,23 @@ pub const O_CLOEXEC: ::c_int = 0x10000;
 pub const O_DIRECTORY: ::c_int = 0x20000;
 pub const O_RSYNC: ::c_int = O_SYNC;
 
-pub const MS_SYNC: ::c_int = 0x0002;
-pub const MS_INVALIDATE: ::c_int = 0x0004;
+pub const MS_SYNC : ::c_int = 0x0002;
+pub const MS_INVALIDATE : ::c_int = 0x0004;
 
-pub const PTHREAD_STACK_MIN: ::size_t = 2048;
+pub const PTHREAD_STACK_MIN : ::size_t = 2048;
 
 pub const POLLNORM: ::c_short = ::POLLRDNORM;
 
-pub const ENOATTR: ::c_int = 83;
-pub const EILSEQ: ::c_int = 84;
-pub const EOVERFLOW: ::c_int = 87;
-pub const ECANCELED: ::c_int = 88;
-pub const EIDRM: ::c_int = 89;
-pub const ENOMSG: ::c_int = 90;
-pub const ENOTSUP: ::c_int = 91;
-pub const ELAST: ::c_int = 91;
+pub const ENOATTR : ::c_int = 83;
+pub const EILSEQ : ::c_int = 84;
+pub const EOVERFLOW : ::c_int = 87;
+pub const ECANCELED : ::c_int = 88;
+pub const EIDRM : ::c_int = 89;
+pub const ENOMSG : ::c_int = 90;
+pub const ENOTSUP : ::c_int = 91;
+pub const ELAST : ::c_int = 91;
 
-pub const F_DUPFD_CLOEXEC: ::c_int = 10;
+pub const F_DUPFD_CLOEXEC : ::c_int = 10;
 
 pub const AT_FDCWD: ::c_int = -100;
 pub const AT_EACCESS: ::c_int = 0x01;
@@ -221,25 +221,6 @@ pub const SO_RTABLE: ::c_int = 0x1021;
 pub const SO_PEERCRED: ::c_int = 0x1022;
 pub const SO_SPLICE: ::c_int = 0x1023;
 
-// https://github.com/openbsd/src/blob/master/sys/net/if.h#L187
-pub const IFF_UP: ::c_int = 0x1; // interface is up
-pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
-pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging
-pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net
-pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link
-pub const IFF_NOTRAILERS: ::c_int = 0x20; // avoid use of trailers
-pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated
-pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol
-pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets
-pub const IFF_OACTIVE: ::c_int = 0x400; // transmission in progress
-pub const IFF_SIMPLEX: ::c_int = 0x800; // can't hear own transmissions
-pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
-pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
-pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
-pub const IFF_MULTICAST: ::c_int = 0x8000; // supports multicast
-
-
 // sys/netinet/in.h
 // Protocols (RFC 1700)
 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
@@ -302,7 +283,7 @@ pub const IPPROTO_MPLS: ::c_int = 137;
 pub const IPPROTO_PFSYNC: ::c_int = 240;
 pub const IPPROTO_MAX: ::c_int = 256;
 
-// Only used internally, so it can be outside the range of valid IP protocols
+/* Only used internally, so it can be outside the range of valid IP protocols */
 /// Divert sockets
 pub const IPPROTO_DIVERT: ::c_int = 258;
 
@@ -348,145 +329,145 @@ pub const PF_MAX: ::c_int = AF_MAX;
 
 pub const SCM_TIMESTAMP: ::c_int = 0x04;
 
-pub const O_DSYNC: ::c_int = 128;
+pub const O_DSYNC : ::c_int = 128;
 
-pub const MAP_RENAME: ::c_int = 0x0000;
-pub const MAP_NORESERVE: ::c_int = 0x0000;
-pub const MAP_HASSEMAPHORE: ::c_int = 0x0000;
+pub const MAP_RENAME : ::c_int = 0x0000;
+pub const MAP_NORESERVE : ::c_int = 0x0000;
+pub const MAP_HASSEMAPHORE : ::c_int = 0x0000;
 
-pub const EIPSEC: ::c_int = 82;
-pub const ENOMEDIUM: ::c_int = 85;
-pub const EMEDIUMTYPE: ::c_int = 86;
+pub const EIPSEC : ::c_int = 82;
+pub const ENOMEDIUM : ::c_int = 85;
+pub const EMEDIUMTYPE : ::c_int = 86;
 
 pub const EAI_SYSTEM: ::c_int = -11;
 
 pub const RUSAGE_THREAD: ::c_int = 1;
 
-pub const MAP_COPY: ::c_int = 0x0002;
-pub const MAP_NOEXTEND: ::c_int = 0x0000;
-
-pub const _PC_LINK_MAX: ::c_int = 1;
-pub const _PC_MAX_CANON: ::c_int = 2;
-pub const _PC_MAX_INPUT: ::c_int = 3;
-pub const _PC_NAME_MAX: ::c_int = 4;
-pub const _PC_PATH_MAX: ::c_int = 5;
-pub const _PC_PIPE_BUF: ::c_int = 6;
-pub const _PC_CHOWN_RESTRICTED: ::c_int = 7;
-pub const _PC_NO_TRUNC: ::c_int = 8;
-pub const _PC_VDISABLE: ::c_int = 9;
-pub const _PC_2_SYMLINKS: ::c_int = 10;
-pub const _PC_ALLOC_SIZE_MIN: ::c_int = 11;
-pub const _PC_ASYNC_IO: ::c_int = 12;
-pub const _PC_FILESIZEBITS: ::c_int = 13;
-pub const _PC_PRIO_IO: ::c_int = 14;
-pub const _PC_REC_INCR_XFER_SIZE: ::c_int = 15;
-pub const _PC_REC_MAX_XFER_SIZE: ::c_int = 16;
-pub const _PC_REC_MIN_XFER_SIZE: ::c_int = 17;
-pub const _PC_REC_XFER_ALIGN: ::c_int = 18;
-pub const _PC_SYMLINK_MAX: ::c_int = 19;
-pub const _PC_SYNC_IO: ::c_int = 20;
-pub const _PC_TIMESTAMP_RESOLUTION: ::c_int = 21;
-
-pub const _SC_CLK_TCK: ::c_int = 3;
-pub const _SC_SEM_NSEMS_MAX: ::c_int = 31;
-pub const _SC_SEM_VALUE_MAX: ::c_int = 32;
-pub const _SC_HOST_NAME_MAX: ::c_int = 33;
-pub const _SC_MONOTONIC_CLOCK: ::c_int = 34;
-pub const _SC_2_PBS: ::c_int = 35;
-pub const _SC_2_PBS_ACCOUNTING: ::c_int = 36;
-pub const _SC_2_PBS_CHECKPOINT: ::c_int = 37;
-pub const _SC_2_PBS_LOCATE: ::c_int = 38;
-pub const _SC_2_PBS_MESSAGE: ::c_int = 39;
-pub const _SC_2_PBS_TRACK: ::c_int = 40;
-pub const _SC_ADVISORY_INFO: ::c_int = 41;
-pub const _SC_AIO_LISTIO_MAX: ::c_int = 42;
-pub const _SC_AIO_MAX: ::c_int = 43;
-pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 44;
-pub const _SC_ASYNCHRONOUS_IO: ::c_int = 45;
-pub const _SC_ATEXIT_MAX: ::c_int = 46;
-pub const _SC_BARRIERS: ::c_int = 47;
-pub const _SC_CLOCK_SELECTION: ::c_int = 48;
-pub const _SC_CPUTIME: ::c_int = 49;
-pub const _SC_DELAYTIMER_MAX: ::c_int = 50;
-pub const _SC_IOV_MAX: ::c_int = 51;
-pub const _SC_IPV6: ::c_int = 52;
-pub const _SC_MAPPED_FILES: ::c_int = 53;
-pub const _SC_MEMLOCK: ::c_int = 54;
-pub const _SC_MEMLOCK_RANGE: ::c_int = 55;
-pub const _SC_MEMORY_PROTECTION: ::c_int = 56;
-pub const _SC_MESSAGE_PASSING: ::c_int = 57;
-pub const _SC_MQ_OPEN_MAX: ::c_int = 58;
-pub const _SC_MQ_PRIO_MAX: ::c_int = 59;
-pub const _SC_PRIORITIZED_IO: ::c_int = 60;
-pub const _SC_PRIORITY_SCHEDULING: ::c_int = 61;
-pub const _SC_RAW_SOCKETS: ::c_int = 62;
-pub const _SC_READER_WRITER_LOCKS: ::c_int = 63;
-pub const _SC_REALTIME_SIGNALS: ::c_int = 64;
-pub const _SC_REGEXP: ::c_int = 65;
-pub const _SC_RTSIG_MAX: ::c_int = 66;
-pub const _SC_SEMAPHORES: ::c_int = 67;
-pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 68;
-pub const _SC_SHELL: ::c_int = 69;
-pub const _SC_SIGQUEUE_MAX: ::c_int = 70;
-pub const _SC_SPAWN: ::c_int = 71;
-pub const _SC_SPIN_LOCKS: ::c_int = 72;
-pub const _SC_SPORADIC_SERVER: ::c_int = 73;
-pub const _SC_SS_REPL_MAX: ::c_int = 74;
-pub const _SC_SYNCHRONIZED_IO: ::c_int = 75;
-pub const _SC_SYMLOOP_MAX: ::c_int = 76;
-pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 77;
-pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 78;
-pub const _SC_THREAD_CPUTIME: ::c_int = 79;
-pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 80;
-pub const _SC_THREAD_KEYS_MAX: ::c_int = 81;
-pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 82;
-pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 83;
-pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 84;
-pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 85;
-pub const _SC_THREAD_ROBUST_PRIO_INHERIT: ::c_int = 86;
-pub const _SC_THREAD_ROBUST_PRIO_PROTECT: ::c_int = 87;
-pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 88;
-pub const _SC_THREAD_STACK_MIN: ::c_int = 89;
-pub const _SC_THREAD_THREADS_MAX: ::c_int = 90;
-pub const _SC_THREADS: ::c_int = 91;
-pub const _SC_TIMEOUTS: ::c_int = 92;
-pub const _SC_TIMER_MAX: ::c_int = 93;
-pub const _SC_TIMERS: ::c_int = 94;
-pub const _SC_TRACE: ::c_int = 95;
-pub const _SC_TRACE_EVENT_FILTER: ::c_int = 96;
-pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 97;
-pub const _SC_TRACE_INHERIT: ::c_int = 98;
-pub const _SC_TRACE_LOG: ::c_int = 99;
-pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 100;
-pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 101;
-pub const _SC_LOGIN_NAME_MAX: ::c_int = 102;
-pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 103;
-pub const _SC_TRACE_NAME_MAX: ::c_int = 104;
-pub const _SC_TRACE_SYS_MAX: ::c_int = 105;
-pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 106;
-pub const _SC_TTY_NAME_MAX: ::c_int = 107;
-pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 108;
-pub const _SC_V6_ILP32_OFF32: ::c_int = 109;
-pub const _SC_V6_ILP32_OFFBIG: ::c_int = 110;
-pub const _SC_V6_LP64_OFF64: ::c_int = 111;
-pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 112;
-pub const _SC_V7_ILP32_OFF32: ::c_int = 113;
-pub const _SC_V7_ILP32_OFFBIG: ::c_int = 114;
-pub const _SC_V7_LP64_OFF64: ::c_int = 115;
-pub const _SC_V7_LPBIG_OFFBIG: ::c_int = 116;
-pub const _SC_XOPEN_CRYPT: ::c_int = 117;
-pub const _SC_XOPEN_ENH_I18N: ::c_int = 118;
-pub const _SC_XOPEN_LEGACY: ::c_int = 119;
-pub const _SC_XOPEN_REALTIME: ::c_int = 120;
-pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 121;
-pub const _SC_XOPEN_STREAMS: ::c_int = 122;
-pub const _SC_XOPEN_UNIX: ::c_int = 123;
-pub const _SC_XOPEN_UUCP: ::c_int = 124;
-pub const _SC_XOPEN_VERSION: ::c_int = 125;
-pub const _SC_PHYS_PAGES: ::c_int = 500;
-pub const _SC_AVPHYS_PAGES: ::c_int = 501;
-pub const _SC_NPROCESSORS_CONF: ::c_int = 502;
-pub const _SC_NPROCESSORS_ONLN: ::c_int = 503;
+pub const MAP_COPY : ::c_int = 0x0002;
+pub const MAP_NOEXTEND : ::c_int = 0x0000;
+
+pub const _PC_LINK_MAX : ::c_int = 1;
+pub const _PC_MAX_CANON : ::c_int = 2;
+pub const _PC_MAX_INPUT : ::c_int = 3;
+pub const _PC_NAME_MAX : ::c_int = 4;
+pub const _PC_PATH_MAX : ::c_int = 5;
+pub const _PC_PIPE_BUF : ::c_int = 6;
+pub const _PC_CHOWN_RESTRICTED : ::c_int = 7;
+pub const _PC_NO_TRUNC : ::c_int = 8;
+pub const _PC_VDISABLE : ::c_int = 9;
+pub const _PC_2_SYMLINKS : ::c_int = 10;
+pub const _PC_ALLOC_SIZE_MIN : ::c_int = 11;
+pub const _PC_ASYNC_IO : ::c_int = 12;
+pub const _PC_FILESIZEBITS : ::c_int = 13;
+pub const _PC_PRIO_IO : ::c_int = 14;
+pub const _PC_REC_INCR_XFER_SIZE : ::c_int = 15;
+pub const _PC_REC_MAX_XFER_SIZE : ::c_int = 16;
+pub const _PC_REC_MIN_XFER_SIZE : ::c_int = 17;
+pub const _PC_REC_XFER_ALIGN : ::c_int = 18;
+pub const _PC_SYMLINK_MAX : ::c_int = 19;
+pub const _PC_SYNC_IO : ::c_int = 20;
+pub const _PC_TIMESTAMP_RESOLUTION : ::c_int = 21;
+
+pub const _SC_CLK_TCK : ::c_int = 3;
+pub const _SC_SEM_NSEMS_MAX : ::c_int = 31;
+pub const _SC_SEM_VALUE_MAX : ::c_int = 32;
+pub const _SC_HOST_NAME_MAX : ::c_int = 33;
+pub const _SC_MONOTONIC_CLOCK : ::c_int = 34;
+pub const _SC_2_PBS : ::c_int = 35;
+pub const _SC_2_PBS_ACCOUNTING : ::c_int = 36;
+pub const _SC_2_PBS_CHECKPOINT : ::c_int = 37;
+pub const _SC_2_PBS_LOCATE : ::c_int = 38;
+pub const _SC_2_PBS_MESSAGE : ::c_int = 39;
+pub const _SC_2_PBS_TRACK : ::c_int = 40;
+pub const _SC_ADVISORY_INFO : ::c_int = 41;
+pub const _SC_AIO_LISTIO_MAX : ::c_int = 42;
+pub const _SC_AIO_MAX : ::c_int = 43;
+pub const _SC_AIO_PRIO_DELTA_MAX : ::c_int = 44;
+pub const _SC_ASYNCHRONOUS_IO : ::c_int = 45;
+pub const _SC_ATEXIT_MAX : ::c_int = 46;
+pub const _SC_BARRIERS : ::c_int = 47;
+pub const _SC_CLOCK_SELECTION : ::c_int = 48;
+pub const _SC_CPUTIME : ::c_int = 49;
+pub const _SC_DELAYTIMER_MAX : ::c_int = 50;
+pub const _SC_IOV_MAX : ::c_int = 51;
+pub const _SC_IPV6 : ::c_int = 52;
+pub const _SC_MAPPED_FILES : ::c_int = 53;
+pub const _SC_MEMLOCK : ::c_int = 54;
+pub const _SC_MEMLOCK_RANGE : ::c_int = 55;
+pub const _SC_MEMORY_PROTECTION : ::c_int = 56;
+pub const _SC_MESSAGE_PASSING : ::c_int = 57;
+pub const _SC_MQ_OPEN_MAX : ::c_int = 58;
+pub const _SC_MQ_PRIO_MAX : ::c_int = 59;
+pub const _SC_PRIORITIZED_IO : ::c_int = 60;
+pub const _SC_PRIORITY_SCHEDULING : ::c_int = 61;
+pub const _SC_RAW_SOCKETS : ::c_int = 62;
+pub const _SC_READER_WRITER_LOCKS : ::c_int = 63;
+pub const _SC_REALTIME_SIGNALS : ::c_int = 64;
+pub const _SC_REGEXP : ::c_int = 65;
+pub const _SC_RTSIG_MAX : ::c_int = 66;
+pub const _SC_SEMAPHORES : ::c_int = 67;
+pub const _SC_SHARED_MEMORY_OBJECTS : ::c_int = 68;
+pub const _SC_SHELL : ::c_int = 69;
+pub const _SC_SIGQUEUE_MAX : ::c_int = 70;
+pub const _SC_SPAWN : ::c_int = 71;
+pub const _SC_SPIN_LOCKS : ::c_int = 72;
+pub const _SC_SPORADIC_SERVER : ::c_int = 73;
+pub const _SC_SS_REPL_MAX : ::c_int = 74;
+pub const _SC_SYNCHRONIZED_IO : ::c_int = 75;
+pub const _SC_SYMLOOP_MAX : ::c_int = 76;
+pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 77;
+pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 78;
+pub const _SC_THREAD_CPUTIME : ::c_int = 79;
+pub const _SC_THREAD_DESTRUCTOR_ITERATIONS : ::c_int = 80;
+pub const _SC_THREAD_KEYS_MAX : ::c_int = 81;
+pub const _SC_THREAD_PRIO_INHERIT : ::c_int = 82;
+pub const _SC_THREAD_PRIO_PROTECT : ::c_int = 83;
+pub const _SC_THREAD_PRIORITY_SCHEDULING : ::c_int = 84;
+pub const _SC_THREAD_PROCESS_SHARED : ::c_int = 85;
+pub const _SC_THREAD_ROBUST_PRIO_INHERIT : ::c_int = 86;
+pub const _SC_THREAD_ROBUST_PRIO_PROTECT : ::c_int = 87;
+pub const _SC_THREAD_SPORADIC_SERVER : ::c_int = 88;
+pub const _SC_THREAD_STACK_MIN : ::c_int = 89;
+pub const _SC_THREAD_THREADS_MAX : ::c_int = 90;
+pub const _SC_THREADS : ::c_int = 91;
+pub const _SC_TIMEOUTS : ::c_int = 92;
+pub const _SC_TIMER_MAX : ::c_int = 93;
+pub const _SC_TIMERS : ::c_int = 94;
+pub const _SC_TRACE : ::c_int = 95;
+pub const _SC_TRACE_EVENT_FILTER : ::c_int = 96;
+pub const _SC_TRACE_EVENT_NAME_MAX : ::c_int = 97;
+pub const _SC_TRACE_INHERIT : ::c_int = 98;
+pub const _SC_TRACE_LOG : ::c_int = 99;
+pub const _SC_GETGR_R_SIZE_MAX : ::c_int = 100;
+pub const _SC_GETPW_R_SIZE_MAX : ::c_int = 101;
+pub const _SC_LOGIN_NAME_MAX : ::c_int = 102;
+pub const _SC_THREAD_SAFE_FUNCTIONS : ::c_int = 103;
+pub const _SC_TRACE_NAME_MAX : ::c_int = 104;
+pub const _SC_TRACE_SYS_MAX : ::c_int = 105;
+pub const _SC_TRACE_USER_EVENT_MAX : ::c_int = 106;
+pub const _SC_TTY_NAME_MAX : ::c_int = 107;
+pub const _SC_TYPED_MEMORY_OBJECTS : ::c_int = 108;
+pub const _SC_V6_ILP32_OFF32 : ::c_int = 109;
+pub const _SC_V6_ILP32_OFFBIG : ::c_int = 110;
+pub const _SC_V6_LP64_OFF64 : ::c_int = 111;
+pub const _SC_V6_LPBIG_OFFBIG : ::c_int = 112;
+pub const _SC_V7_ILP32_OFF32 : ::c_int = 113;
+pub const _SC_V7_ILP32_OFFBIG : ::c_int = 114;
+pub const _SC_V7_LP64_OFF64 : ::c_int = 115;
+pub const _SC_V7_LPBIG_OFFBIG : ::c_int = 116;
+pub const _SC_XOPEN_CRYPT : ::c_int = 117;
+pub const _SC_XOPEN_ENH_I18N : ::c_int = 118;
+pub const _SC_XOPEN_LEGACY : ::c_int = 119;
+pub const _SC_XOPEN_REALTIME : ::c_int = 120;
+pub const _SC_XOPEN_REALTIME_THREADS : ::c_int = 121;
+pub const _SC_XOPEN_STREAMS : ::c_int = 122;
+pub const _SC_XOPEN_UNIX : ::c_int = 123;
+pub const _SC_XOPEN_UUCP : ::c_int = 124;
+pub const _SC_XOPEN_VERSION : ::c_int = 125;
+pub const _SC_PHYS_PAGES : ::c_int = 500;
+pub const _SC_AVPHYS_PAGES : ::c_int = 501;
+pub const _SC_NPROCESSORS_CONF : ::c_int = 502;
+pub const _SC_NPROCESSORS_ONLN : ::c_int = 503;
 
 pub const FD_SETSIZE: usize = 1024;
 
@@ -542,7 +523,7 @@ pub const NOTE_TRACK: ::uint32_t = 0x00000001;
 pub const NOTE_TRACKERR: ::uint32_t = 0x00000002;
 pub const NOTE_CHILD: ::uint32_t = 0x00000004;
 
-pub const TMP_MAX: ::c_uint = 0x7fffffff;
+pub const TMP_MAX : ::c_uint = 0x7fffffff;
 
 pub const NI_MAXHOST: ::size_t = 256;
 
@@ -678,39 +659,37 @@ f! {
     }
 }
 
-extern "C" {
+extern {
     pub fn dirfd(dirp: *mut ::DIR) -> ::c_int;
-    pub fn getnameinfo(
-        sa: *const ::sockaddr,
-        salen: ::socklen_t,
-        host: *mut ::c_char,
-        hostlen: ::size_t,
-        serv: *mut ::c_char,
-        servlen: ::size_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn kevent(
-        kq: ::c_int,
-        changelist: *const ::kevent,
-        nchanges: ::c_int,
-        eventlist: *mut ::kevent,
-        nevents: ::c_int,
-        timeout: *const ::timespec,
-    ) -> ::c_int;
-    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
+    pub fn getnameinfo(sa: *const ::sockaddr,
+                       salen: ::socklen_t,
+                       host: *mut ::c_char,
+                       hostlen: ::size_t,
+                       serv: *mut ::c_char,
+                       servlen: ::size_t,
+                       flags: ::c_int) -> ::c_int;
+    pub fn kevent(kq: ::c_int,
+                  changelist: *const ::kevent,
+                  nchanges: ::c_int,
+                  eventlist: *mut ::kevent,
+                  nevents: ::c_int,
+                  timeout: *const ::timespec) -> ::c_int;
+    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
     pub fn pthread_main_np() -> ::c_int;
     pub fn pthread_set_name_np(tid: ::pthread_t, name: *const ::c_char);
-    pub fn pthread_stackseg_np(thread: ::pthread_t, sinfo: *mut ::stack_t) -> ::c_int;
-    pub fn sysctl(
-        name: *const ::c_int,
-        namelen: ::c_uint,
-        oldp: *mut ::c_void,
-        oldlenp: *mut ::size_t,
-        newp: *mut ::c_void,
-        newlen: ::size_t,
-    ) -> ::c_int;
+    pub fn pthread_stackseg_np(thread: ::pthread_t,
+                               sinfo: *mut ::stack_t) -> ::c_int;
+    pub fn sysctl(name: *const ::c_int,
+                  namelen: ::c_uint,
+                  oldp: *mut ::c_void,
+                  oldlenp: *mut ::size_t,
+                  newp: *mut ::c_void,
+                  newlen: ::size_t)
+                  -> ::c_int;
     pub fn getentropy(buf: *mut ::c_void, buflen: ::size_t) -> ::c_int;
-    pub fn pledge(promises: *const ::c_char, paths: *mut *const ::c_char) -> ::c_int;
+    pub fn pledge(promises: *const ::c_char,
+                  paths: *mut *const ::c_char) -> ::c_int;
     pub fn setresgid(rgid: ::gid_t, egid: ::gid_t, sgid: ::gid_t) -> ::c_int;
     pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int;
 }
diff --git a/src/unix/haiku/mod.rs b/src/unix/haiku/mod.rs
index c2fa67d7..2b05e8ef 100644
--- a/src/unix/haiku/mod.rs
+++ b/src/unix/haiku/mod.rs
@@ -1,4 +1,4 @@
-use dox::{Option, mem};
+use dox::{mem, Option};
 
 pub type rlim_t = ::uintptr_t;
 pub type sa_family_t = u8;
@@ -507,95 +507,95 @@ pub const MS_ASYNC: ::c_int = 0x01;
 pub const MS_INVALIDATE: ::c_int = 0x04;
 pub const MS_SYNC: ::c_int = 0x02;
 
-pub const E2BIG: ::c_int = -2147454975;
-pub const ECHILD: ::c_int = -2147454974;
-pub const EDEADLK: ::c_int = -2147454973;
-pub const EFBIG: ::c_int = -2147454972;
-pub const EMLINK: ::c_int = -2147454971;
-pub const ENFILE: ::c_int = -2147454970;
-pub const ENODEV: ::c_int = -2147454969;
-pub const ENOLCK: ::c_int = -2147454968;
-pub const ENOSYS: ::c_int = -2147454967;
-pub const ENOTTY: ::c_int = -2147454966;
-pub const ENXIO: ::c_int = -2147454965;
-pub const ESPIPE: ::c_int = -2147454964;
-pub const ESRCH: ::c_int = -2147454963;
-pub const EFPOS: ::c_int = -2147457962;
-pub const ESIGPARM: ::c_int = -2147457961;
-pub const EDOM: ::c_int = -2147454960;
-pub const ERANGE: ::c_int = -2147454959;
-pub const EPROTOTYPE: ::c_int = -2147454958;
-pub const EPROTONOSUPPORT: ::c_int = -2147454957;
-pub const EPFNOSUPPORT: ::c_int = -2147454956;
-pub const EAFNOSUPPORT: ::c_int = -2147454955;
-pub const EADDRINUSE: ::c_int = -2147454954;
-pub const EADDRNOTAVAIL: ::c_int = -2147454953;
-pub const ENETDOWN: ::c_int = -2147454952;
-pub const ENETUNREACH: ::c_int = -2147454951;
-pub const ENETRESET: ::c_int = -2147454950;
-pub const ECONNABORTED: ::c_int = -2147454949;
-pub const ECONNRESET: ::c_int = -2147454948;
-pub const EISCONN: ::c_int = -2147454947;
-pub const ENOTCONN: ::c_int = -2147454946;
-pub const ESHUTDOWN: ::c_int = -2147454945;
-pub const ECONNREFUSED: ::c_int = -2147454944;
-pub const EHOSTUNREACH: ::c_int = -2147454943;
-pub const ENOPROTOOPT: ::c_int = -2147454942;
-pub const ENOBUFS: ::c_int = -2147454941;
-pub const EINPROGRESS: ::c_int = -2147454940;
-pub const EALREADY: ::c_int = -2147454939;
-pub const EILSEQ: ::c_int = -2147454938;
-pub const ENOMSG: ::c_int = -2147454937;
-pub const ESTALE: ::c_int = -2147454936;
-pub const EOVERFLOW: ::c_int = -2147454935;
-pub const EMSGSIZE: ::c_int = -2147454934;
-pub const EOPNOTSUPP: ::c_int = -2147454933;
-pub const ENOTSOCK: ::c_int = -2147454932;
-pub const EHOSTDOWN: ::c_int = -2147454931;
-pub const EBADMSG: ::c_int = -2147454930;
-pub const ECANCELED: ::c_int = -2147454929;
-pub const EDESTADDRREQ: ::c_int = -2147454928;
-pub const EDQUOT: ::c_int = -2147454927;
-pub const EIDRM: ::c_int = -2147454926;
-pub const EMULTIHOP: ::c_int = -2147454925;
-pub const ENODATA: ::c_int = -2147454924;
-pub const ENOLINK: ::c_int = -2147454923;
-pub const ENOSR: ::c_int = -2147454922;
-pub const ENOSTR: ::c_int = -2147454921;
-pub const ENOTSUP: ::c_int = -2147454920;
-pub const EPROTO: ::c_int = -2147454919;
-pub const ETIME: ::c_int = -2147454918;
-pub const ETXTBSY: ::c_int = -2147454917;
-pub const ENOATTR: ::c_int = -2147454916;
+pub const E2BIG : ::c_int = -2147454975;
+pub const ECHILD : ::c_int = -2147454974;
+pub const EDEADLK : ::c_int = -2147454973;
+pub const EFBIG : ::c_int = -2147454972;
+pub const EMLINK : ::c_int = -2147454971;
+pub const ENFILE : ::c_int = -2147454970;
+pub const ENODEV : ::c_int = -2147454969;
+pub const ENOLCK : ::c_int = -2147454968;
+pub const ENOSYS : ::c_int = -2147454967;
+pub const ENOTTY : ::c_int = -2147454966;
+pub const ENXIO : ::c_int = -2147454965;
+pub const ESPIPE : ::c_int = -2147454964;
+pub const ESRCH : ::c_int = -2147454963;
+pub const EFPOS : ::c_int = -2147457962;
+pub const ESIGPARM : ::c_int = -2147457961;
+pub const EDOM : ::c_int = -2147454960;
+pub const ERANGE : ::c_int = -2147454959;
+pub const EPROTOTYPE : ::c_int = -2147454958;
+pub const EPROTONOSUPPORT : ::c_int = -2147454957;
+pub const EPFNOSUPPORT : ::c_int = -2147454956;
+pub const EAFNOSUPPORT : ::c_int = -2147454955;
+pub const EADDRINUSE : ::c_int = -2147454954;
+pub const EADDRNOTAVAIL : ::c_int = -2147454953;
+pub const ENETDOWN : ::c_int = -2147454952;
+pub const ENETUNREACH : ::c_int = -2147454951;
+pub const ENETRESET : ::c_int = -2147454950;
+pub const ECONNABORTED : ::c_int = -2147454949;
+pub const ECONNRESET : ::c_int = -2147454948;
+pub const EISCONN : ::c_int = -2147454947;
+pub const ENOTCONN : ::c_int = -2147454946;
+pub const ESHUTDOWN : ::c_int = -2147454945;
+pub const ECONNREFUSED : ::c_int = -2147454944;
+pub const EHOSTUNREACH : ::c_int = -2147454943;
+pub const ENOPROTOOPT : ::c_int = -2147454942;
+pub const ENOBUFS : ::c_int = -2147454941;
+pub const EINPROGRESS : ::c_int = -2147454940;
+pub const EALREADY : ::c_int = -2147454939;
+pub const EILSEQ : ::c_int = -2147454938;
+pub const ENOMSG : ::c_int = -2147454937;
+pub const ESTALE : ::c_int = -2147454936;
+pub const EOVERFLOW : ::c_int = -2147454935;
+pub const EMSGSIZE : ::c_int = -2147454934;
+pub const EOPNOTSUPP : ::c_int = -2147454933;
+pub const ENOTSOCK : ::c_int = -2147454932;
+pub const EHOSTDOWN : ::c_int = -2147454931;
+pub const EBADMSG : ::c_int = -2147454930;
+pub const ECANCELED : ::c_int = -2147454929;
+pub const EDESTADDRREQ : ::c_int = -2147454928;
+pub const EDQUOT : ::c_int = -2147454927;
+pub const EIDRM : ::c_int = -2147454926;
+pub const EMULTIHOP : ::c_int = -2147454925;
+pub const ENODATA : ::c_int = -2147454924;
+pub const ENOLINK : ::c_int = -2147454923;
+pub const ENOSR : ::c_int = -2147454922;
+pub const ENOSTR : ::c_int = -2147454921;
+pub const ENOTSUP : ::c_int = -2147454920;
+pub const EPROTO : ::c_int = -2147454919;
+pub const ETIME : ::c_int = -2147454918;
+pub const ETXTBSY : ::c_int = -2147454917;
+pub const ENOATTR : ::c_int = -2147454916;
 
 // INT_MIN
-pub const ENOMEM: ::c_int = -2147454976;
+pub const ENOMEM : ::c_int = -2147454976;
 
 // POSIX errors that can be mapped to BeOS error codes
-pub const EACCES: ::c_int = -2147483646;
-pub const EINTR: ::c_int = -2147483638;
-pub const EIO: ::c_int = -2147483647;
-pub const EBUSY: ::c_int = -2147483634;
-pub const EFAULT: ::c_int = -2147478783;
-pub const ETIMEDOUT: ::c_int = -2147483639;
-pub const EAGAIN: ::c_int = -2147483637;
-pub const EWOULDBLOCK: ::c_int = -2147483637;
-pub const EBADF: ::c_int = -2147459072;
-pub const EEXIST: ::c_int = -2147459070;
-pub const EINVAL: ::c_int = -2147483643;
-pub const ENAMETOOLONG: ::c_int = -2147459068;
-pub const ENOENT: ::c_int = -2147459069;
-pub const EPERM: ::c_int = -2147483633;
-pub const ENOTDIR: ::c_int = -2147459067;
-pub const EISDIR: ::c_int = -2147459063;
-pub const ENOTEMPTY: ::c_int = -2147459066;
-pub const ENOSPC: ::c_int = -2147459065;
-pub const EROFS: ::c_int = -2147459064;
-pub const EMFILE: ::c_int = -2147459062;
-pub const EXDEV: ::c_int = -2147459061;
-pub const ELOOP: ::c_int = -2147459060;
-pub const ENOEXEC: ::c_int = -2147478782;
-pub const EPIPE: ::c_int = -2147459059;
+pub const EACCES : ::c_int = -2147483646;
+pub const EINTR : ::c_int = -2147483638;
+pub const EIO : ::c_int = -2147483647;
+pub const EBUSY : ::c_int = -2147483634;
+pub const EFAULT : ::c_int = -2147478783;
+pub const ETIMEDOUT : ::c_int = -2147483639;
+pub const EAGAIN : ::c_int = -2147483637;
+pub const EWOULDBLOCK : ::c_int = -2147483637;
+pub const EBADF : ::c_int = -2147459072;
+pub const EEXIST : ::c_int = -2147459070;
+pub const EINVAL : ::c_int = -2147483643;
+pub const ENAMETOOLONG : ::c_int = -2147459068;
+pub const ENOENT : ::c_int = -2147459069;
+pub const EPERM : ::c_int = -2147483633;
+pub const ENOTDIR : ::c_int = -2147459067;
+pub const EISDIR : ::c_int = -2147459063;
+pub const ENOTEMPTY : ::c_int = -2147459066;
+pub const ENOSPC : ::c_int = -2147459065;
+pub const EROFS : ::c_int = -2147459064;
+pub const EMFILE : ::c_int = -2147459062;
+pub const EXDEV : ::c_int = -2147459061;
+pub const ELOOP : ::c_int = -2147459060;
+pub const ENOEXEC : ::c_int = -2147478782;
+pub const EPIPE : ::c_int = -2147459059;
 
 pub const IPPROTO_RAW: ::c_int = 255;
 
@@ -606,21 +606,7 @@ pub const MADV_RANDOM: ::c_int = 3;
 pub const MADV_WILLNEED: ::c_int = 4;
 pub const MADV_DONTNEED: ::c_int = 5;
 
-// https://github.com/haiku/haiku/blob/master/headers/posix/net/if.h#L80
-pub const IFF_UP: ::c_int = 0x0001;
-pub const IFF_BROADCAST: ::c_int = 0x0002; // valid broadcast address
 pub const IFF_LOOPBACK: ::c_int = 0x0008;
-pub const IFF_POINTOPOINT: ::c_int = 0x0010; // point-to-point link
-pub const IFF_NOARP: ::c_int = 0x0040; // no address resolution
-pub const IFF_AUTOUP: ::c_int = 0x0080; // auto dial
-pub const IFF_PROMISC: ::c_int = 0x0100; // receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x0200; // receive all multicast packets
-pub const IFF_SIMPLEX: ::c_int = 0x0800; // doesn't receive own transmissions
-pub const IFF_LINK: ::c_int = 0x1000; // has link
-pub const IFF_AUTO_CONFIGURED: ::c_int = 0x2000;
-pub const IFF_CONFIGURING: ::c_int = 0x4000;
-pub const IFF_MULTICAST: ::c_int = 0x8000; // supports multicast
-
 
 pub const AF_UNSEC: ::c_int = 0;
 pub const AF_INET: ::c_int = 1;
@@ -727,51 +713,51 @@ pub const _PC_XATTR_ENABLED: ::c_int = 39;
 
 pub const FIONBIO: ::c_int = 0xbe000000;
 
-pub const _SC_ARG_MAX: ::c_int = 15;
-pub const _SC_CHILD_MAX: ::c_int = 16;
-pub const _SC_CLK_TCK: ::c_int = 17;
-pub const _SC_JOB_CONTROL: ::c_int = 18;
-pub const _SC_NGROUPS_MAX: ::c_int = 19;
-pub const _SC_OPEN_MAX: ::c_int = 20;
-pub const _SC_SAVED_IDS: ::c_int = 21;
-pub const _SC_STREAM_MAX: ::c_int = 22;
-pub const _SC_TZNAME_MAX: ::c_int = 23;
-pub const _SC_VERSION: ::c_int = 24;
-pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 25;
-pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 26;
-pub const _SC_PAGESIZE: ::c_int = 27;
-pub const _SC_PAGE_SIZE: ::c_int = 27;
-pub const _SC_SEM_NSEMS_MAX: ::c_int = 28;
-pub const _SC_SEM_VALUE_MAX: ::c_int = 29;
-pub const _SC_SEMAPHORES: ::c_int = 30;
-pub const _SC_THREADS: ::c_int = 31;
-pub const _SC_IOV_MAX: ::c_int = 32;
-pub const _SC_UIO_MAXIOV: ::c_int = 32;
-pub const _SC_NPROCESSORS_CONF: ::c_int = 34;
-pub const _SC_NPROCESSORS_ONLN: ::c_int = 35;
-pub const _SC_ATEXIT_MAX: ::c_int = 37;
-pub const _SC_PASS_MAX: ::c_int = 39;
-pub const _SC_PHYS_PAGES: ::c_int = 40;
-pub const _SC_AVPHYS_PAGES: ::c_int = 41;
-pub const _SC_PIPE: ::c_int = 42;
-pub const _SC_SELECT: ::c_int = 43;
-pub const _SC_POLL: ::c_int = 44;
-pub const _SC_MAPPED_FILES: ::c_int = 45;
-pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 46;
-pub const _SC_THREAD_STACK_MIN: ::c_int = 47;
-pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 48;
-pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 49;
-pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 50;
-pub const _SC_REALTIME_SIGNALS: ::c_int = 51;
-pub const _SC_MEMORY_PROTECTION: ::c_int = 52;
-pub const _SC_SIGQUEUE_MAX: ::c_int = 53;
-pub const _SC_RTSIG_MAX: ::c_int = 54;
-pub const _SC_MONOTONIC_CLOCK: ::c_int = 55;
-pub const _SC_DELAYTIMER_MAX: ::c_int = 56;
-pub const _SC_TIMER_MAX: ::c_int = 57;
-pub const _SC_TIMERS: ::c_int = 58;
-pub const _SC_CPUTIME: ::c_int = 59;
-pub const _SC_THREAD_CPUTIME: ::c_int = 60;
+pub const _SC_ARG_MAX : ::c_int = 15;
+pub const _SC_CHILD_MAX : ::c_int = 16;
+pub const _SC_CLK_TCK : ::c_int = 17;
+pub const _SC_JOB_CONTROL : ::c_int = 18;
+pub const _SC_NGROUPS_MAX : ::c_int = 19;
+pub const _SC_OPEN_MAX : ::c_int = 20;
+pub const _SC_SAVED_IDS : ::c_int = 21;
+pub const _SC_STREAM_MAX : ::c_int = 22;
+pub const _SC_TZNAME_MAX : ::c_int = 23;
+pub const _SC_VERSION : ::c_int = 24;
+pub const _SC_GETGR_R_SIZE_MAX : ::c_int = 25;
+pub const _SC_GETPW_R_SIZE_MAX : ::c_int = 26;
+pub const _SC_PAGESIZE : ::c_int = 27;
+pub const _SC_PAGE_SIZE : ::c_int = 27;
+pub const _SC_SEM_NSEMS_MAX : ::c_int = 28;
+pub const _SC_SEM_VALUE_MAX : ::c_int = 29;
+pub const _SC_SEMAPHORES : ::c_int = 30;
+pub const _SC_THREADS : ::c_int = 31;
+pub const _SC_IOV_MAX : ::c_int = 32;
+pub const _SC_UIO_MAXIOV : ::c_int = 32;
+pub const _SC_NPROCESSORS_CONF : ::c_int = 34;
+pub const _SC_NPROCESSORS_ONLN : ::c_int = 35;
+pub const _SC_ATEXIT_MAX : ::c_int = 37;
+pub const _SC_PASS_MAX : ::c_int = 39;
+pub const _SC_PHYS_PAGES : ::c_int = 40;
+pub const _SC_AVPHYS_PAGES : ::c_int = 41;
+pub const _SC_PIPE : ::c_int = 42;
+pub const _SC_SELECT : ::c_int = 43;
+pub const _SC_POLL : ::c_int = 44;
+pub const _SC_MAPPED_FILES : ::c_int = 45;
+pub const _SC_THREAD_PROCESS_SHARED : ::c_int = 46;
+pub const _SC_THREAD_STACK_MIN : ::c_int = 47;
+pub const _SC_THREAD_ATTR_STACKADDR : ::c_int = 48;
+pub const _SC_THREAD_ATTR_STACKSIZE : ::c_int = 49;
+pub const _SC_THREAD_PRIORITY_SCHEDULING : ::c_int = 50;
+pub const _SC_REALTIME_SIGNALS : ::c_int = 51;
+pub const _SC_MEMORY_PROTECTION : ::c_int = 52;
+pub const _SC_SIGQUEUE_MAX : ::c_int = 53;
+pub const _SC_RTSIG_MAX : ::c_int = 54;
+pub const _SC_MONOTONIC_CLOCK : ::c_int = 55;
+pub const _SC_DELAYTIMER_MAX : ::c_int = 56;
+pub const _SC_TIMER_MAX : ::c_int = 57;
+pub const _SC_TIMERS : ::c_int = 58;
+pub const _SC_CPUTIME : ::c_int = 59;
+pub const _SC_THREAD_CPUTIME : ::c_int = 60;
 
 pub const PTHREAD_STACK_MIN: ::size_t = 8192;
 
@@ -879,68 +865,68 @@ pub const IXON: ::tcflag_t = 0x400;
 pub const IXANY: ::tcflag_t = 0x800;
 pub const IXOFF: ::tcflag_t = 0x1000;
 
-pub const OPOST: ::tcflag_t = 0x00000001;
-pub const OLCUC: ::tcflag_t = 0x00000002;
-pub const ONLCR: ::tcflag_t = 0x00000004;
-pub const OCRNL: ::tcflag_t = 0x00000008;
-pub const ONOCR: ::tcflag_t = 0x00000010;
+pub const OPOST:  ::tcflag_t = 0x00000001;
+pub const OLCUC:  ::tcflag_t = 0x00000002;
+pub const ONLCR:  ::tcflag_t = 0x00000004;
+pub const OCRNL:  ::tcflag_t = 0x00000008;
+pub const ONOCR:  ::tcflag_t = 0x00000010;
 pub const ONLRET: ::tcflag_t = 0x00000020;
-pub const OFILL: ::tcflag_t = 0x00000040;
-pub const OFDEL: ::tcflag_t = 0x00000080;
-pub const NLDLY: ::tcflag_t = 0x00000100;
-pub const NL0: ::tcflag_t = 0x00000000;
-pub const NL1: ::tcflag_t = 0x00000100;
-pub const CRDLY: ::tcflag_t = 0x00000600;
-pub const CR0: ::tcflag_t = 0x00000000;
-pub const CR1: ::tcflag_t = 0x00000200;
-pub const CR2: ::tcflag_t = 0x00000400;
-pub const CR3: ::tcflag_t = 0x00000600;
+pub const OFILL:  ::tcflag_t = 0x00000040;
+pub const OFDEL:  ::tcflag_t = 0x00000080;
+pub const NLDLY:  ::tcflag_t = 0x00000100;
+pub const NL0:    ::tcflag_t = 0x00000000;
+pub const NL1:    ::tcflag_t = 0x00000100;
+pub const CRDLY:  ::tcflag_t = 0x00000600;
+pub const CR0:    ::tcflag_t = 0x00000000;
+pub const CR1:    ::tcflag_t = 0x00000200;
+pub const CR2:    ::tcflag_t = 0x00000400;
+pub const CR3:    ::tcflag_t = 0x00000600;
 pub const TABDLY: ::tcflag_t = 0x00001800;
-pub const TAB0: ::tcflag_t = 0x00000000;
-pub const TAB1: ::tcflag_t = 0x00000800;
-pub const TAB2: ::tcflag_t = 0x00001000;
-pub const TAB3: ::tcflag_t = 0x00001800;
-pub const BSDLY: ::tcflag_t = 0x00002000;
-pub const BS0: ::tcflag_t = 0x00000000;
-pub const BS1: ::tcflag_t = 0x00002000;
-pub const VTDLY: ::tcflag_t = 0x00004000;
-pub const VT0: ::tcflag_t = 0x00000000;
-pub const VT1: ::tcflag_t = 0x00004000;
-pub const FFDLY: ::tcflag_t = 0x00008000;
-pub const FF0: ::tcflag_t = 0x00000000;
-pub const FF1: ::tcflag_t = 0x00008000;
-
-pub const CSIZE: ::tcflag_t = 0x00000020;
-pub const CS5: ::tcflag_t = 0x00000000;
-pub const CS6: ::tcflag_t = 0x00000000;
-pub const CS7: ::tcflag_t = 0x00000000;
-pub const CS8: ::tcflag_t = 0x00000020;
-pub const CSTOPB: ::tcflag_t = 0x00000040;
-pub const CREAD: ::tcflag_t = 0x00000080;
-pub const PARENB: ::tcflag_t = 0x00000100;
-pub const PARODD: ::tcflag_t = 0x00000200;
-pub const HUPCL: ::tcflag_t = 0x00000400;
-pub const CLOCAL: ::tcflag_t = 0x00000800;
-pub const XLOBLK: ::tcflag_t = 0x00001000;
-pub const CTSFLOW: ::tcflag_t = 0x00002000;
-pub const RTSFLOW: ::tcflag_t = 0x00004000;
-pub const CRTSCTS: ::tcflag_t = RTSFLOW | CTSFLOW;
-
-pub const ISIG: ::tcflag_t = 0x00000001;
-pub const ICANON: ::tcflag_t = 0x00000002;
-pub const XCASE: ::tcflag_t = 0x00000004;
-pub const ECHO: ::tcflag_t = 0x00000008;
-pub const ECHOE: ::tcflag_t = 0x00000010;
-pub const ECHOK: ::tcflag_t = 0x00000020;
-pub const ECHONL: ::tcflag_t = 0x00000040;
-pub const NOFLSH: ::tcflag_t = 0x00000080;
-pub const TOSTOP: ::tcflag_t = 0x00000100;
-pub const IEXTEN: ::tcflag_t = 0x00000200;
-pub const ECHOCTL: ::tcflag_t = 0x00000400;
-pub const ECHOPRT: ::tcflag_t = 0x00000800;
-pub const ECHOKE: ::tcflag_t = 0x00001000;
-pub const FLUSHO: ::tcflag_t = 0x00002000;
-pub const PENDIN: ::tcflag_t = 0x00004000;
+pub const TAB0:   ::tcflag_t = 0x00000000;
+pub const TAB1:   ::tcflag_t = 0x00000800;
+pub const TAB2:   ::tcflag_t = 0x00001000;
+pub const TAB3:   ::tcflag_t = 0x00001800;
+pub const BSDLY:  ::tcflag_t = 0x00002000;
+pub const BS0:    ::tcflag_t = 0x00000000;
+pub const BS1:    ::tcflag_t = 0x00002000;
+pub const VTDLY:  ::tcflag_t = 0x00004000;
+pub const VT0:    ::tcflag_t = 0x00000000;
+pub const VT1:    ::tcflag_t = 0x00004000;
+pub const FFDLY:  ::tcflag_t = 0x00008000;
+pub const FF0:    ::tcflag_t = 0x00000000;
+pub const FF1:    ::tcflag_t = 0x00008000;
+
+pub const CSIZE:      ::tcflag_t = 0x00000020;
+pub const CS5:        ::tcflag_t = 0x00000000;
+pub const CS6:        ::tcflag_t = 0x00000000;
+pub const CS7:        ::tcflag_t = 0x00000000;
+pub const CS8:        ::tcflag_t = 0x00000020;
+pub const CSTOPB:     ::tcflag_t = 0x00000040;
+pub const CREAD:      ::tcflag_t = 0x00000080;
+pub const PARENB:     ::tcflag_t = 0x00000100;
+pub const PARODD:     ::tcflag_t = 0x00000200;
+pub const HUPCL:      ::tcflag_t = 0x00000400;
+pub const CLOCAL:     ::tcflag_t = 0x00000800;
+pub const XLOBLK:     ::tcflag_t = 0x00001000;
+pub const CTSFLOW:    ::tcflag_t = 0x00002000;
+pub const RTSFLOW:    ::tcflag_t = 0x00004000;
+pub const CRTSCTS:    ::tcflag_t = RTSFLOW | CTSFLOW;
+
+pub const ISIG:       ::tcflag_t = 0x00000001;
+pub const ICANON:     ::tcflag_t = 0x00000002;
+pub const XCASE:      ::tcflag_t = 0x00000004;
+pub const ECHO:       ::tcflag_t = 0x00000008;
+pub const ECHOE:      ::tcflag_t = 0x00000010;
+pub const ECHOK:      ::tcflag_t = 0x00000020;
+pub const ECHONL:     ::tcflag_t = 0x00000040;
+pub const NOFLSH:     ::tcflag_t = 0x00000080;
+pub const TOSTOP:     ::tcflag_t = 0x00000100;
+pub const IEXTEN:     ::tcflag_t = 0x00000200;
+pub const ECHOCTL:    ::tcflag_t = 0x00000400;
+pub const ECHOPRT:    ::tcflag_t = 0x00000800;
+pub const ECHOKE:     ::tcflag_t = 0x00001000;
+pub const FLUSHO:     ::tcflag_t = 0x00002000;
+pub const PENDIN:     ::tcflag_t = 0x00004000;
 
 pub const TCGB_CTS: ::c_int = 0x01;
 pub const TCGB_DSR: ::c_int = 0x02;
@@ -954,26 +940,26 @@ pub const TIOCM_DSR: ::c_int = TCGB_DSR;
 pub const TIOCM_DTR: ::c_int = 0x10;
 pub const TIOCM_RTS: ::c_int = 0x20;
 
-pub const B0: speed_t = 0x00;
-pub const B50: speed_t = 0x01;
-pub const B75: speed_t = 0x02;
-pub const B110: speed_t = 0x03;
-pub const B134: speed_t = 0x04;
-pub const B150: speed_t = 0x05;
-pub const B200: speed_t = 0x06;
-pub const B300: speed_t = 0x07;
-pub const B600: speed_t = 0x08;
-pub const B1200: speed_t = 0x09;
-pub const B1800: speed_t = 0x0A;
-pub const B2400: speed_t = 0x0B;
-pub const B4800: speed_t = 0x0C;
-pub const B9600: speed_t = 0x0D;
-pub const B19200: speed_t = 0x0E;
-pub const B38400: speed_t = 0x0F;
-pub const B57600: speed_t = 0x10;
+pub const B0:      speed_t = 0x00;
+pub const B50:     speed_t = 0x01;
+pub const B75:     speed_t = 0x02;
+pub const B110:    speed_t = 0x03;
+pub const B134:    speed_t = 0x04;
+pub const B150:    speed_t = 0x05;
+pub const B200:    speed_t = 0x06;
+pub const B300:    speed_t = 0x07;
+pub const B600:    speed_t = 0x08;
+pub const B1200:   speed_t = 0x09;
+pub const B1800:   speed_t = 0x0A;
+pub const B2400:   speed_t = 0x0B;
+pub const B4800:   speed_t = 0x0C;
+pub const B9600:   speed_t = 0x0D;
+pub const B19200:  speed_t = 0x0E;
+pub const B38400:  speed_t = 0x0F;
+pub const B57600:  speed_t = 0x10;
 pub const B115200: speed_t = 0x11;
 pub const B230400: speed_t = 0x12;
-pub const B31250: speed_t = 0x13;
+pub const B31250:  speed_t = 0x13;
 
 pub const TCSANOW: ::c_int = 0x01;
 pub const TCSADRAIN: ::c_int = 0x02;
@@ -1050,107 +1036,111 @@ f! {
 }
 
 #[link(name = "bsd")]
-extern "C" {
+extern {
     pub fn clock_gettime(clk_id: ::c_int, tp: *mut ::timespec) -> ::c_int;
     pub fn clock_settime(clk_id: ::c_int, tp: *const ::timespec) -> ::c_int;
-    pub fn pthread_create(
-        thread: *mut ::pthread_t,
-        attr: *const ::pthread_attr_t,
-        f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
-        value: *mut ::c_void,
-    ) -> ::c_int;
-    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t, guardsize: *mut ::size_t) -> ::c_int;
-    pub fn pthread_attr_getstack(
-        attr: *const ::pthread_attr_t,
-        stackaddr: *mut *mut ::c_void,
-        stacksize: *mut ::size_t,
-    ) -> ::c_int;
-    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t, clock_id: *mut clockid_t) -> ::c_int;
-    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t, clock_id: ::clockid_t) -> ::c_int;
+    pub fn pthread_create(thread: *mut ::pthread_t,
+                          attr: *const ::pthread_attr_t,
+                          f: extern fn(*mut ::c_void) -> *mut ::c_void,
+                          value: *mut ::c_void) -> ::c_int;
+    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t,
+                                     guardsize: *mut ::size_t) -> ::c_int;
+    pub fn pthread_attr_getstack(attr: *const ::pthread_attr_t,
+                                 stackaddr: *mut *mut ::c_void,
+                                 stacksize: *mut ::size_t) -> ::c_int;
+    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t,
+                                     clock_id: *mut clockid_t) -> ::c_int;
+    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t,
+                                     clock_id: ::clockid_t) -> ::c_int;
     pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
-    pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int;
+    pub fn setgroups(ngroups: ::size_t,
+                     ptr: *const ::gid_t) -> ::c_int;
     pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int;
-    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
+    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
     pub fn dirfd(dirp: *mut ::DIR) -> ::c_int;
-    pub fn getnameinfo(
-        sa: *const ::sockaddr,
-        salen: ::socklen_t,
-        host: *mut ::c_char,
-        hostlen: ::size_t,
-        serv: *mut ::c_char,
-        sevlen: ::size_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t, abstime: *const ::timespec) -> ::c_int;
-    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int) -> ::c_int;
+    pub fn getnameinfo(sa: *const ::sockaddr,
+                       salen: ::socklen_t,
+                       host: *mut ::c_char,
+                       hostlen: ::size_t,
+                       serv: *mut ::c_char,
+                       sevlen: ::size_t,
+                       flags: ::c_int) -> ::c_int;
+    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t,
+                                   abstime: *const ::timespec) -> ::c_int;
+    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t,
+                  options: ::c_int) -> ::c_int;
 
     pub fn fdopendir(fd: ::c_int) -> *mut ::DIR;
-    pub fn glob(
-        pattern: *const ::c_char,
-        flags: ::c_int,
-        errfunc: Option<extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int>,
-        pglob: *mut ::glob_t,
-    ) -> ::c_int;
+    pub fn glob(pattern: *const ::c_char,
+                flags: ::c_int,
+                errfunc: Option<extern fn(epath: *const ::c_char,
+                                          errno: ::c_int) -> ::c_int>,
+                pglob: *mut ::glob_t) -> ::c_int;
     pub fn globfree(pglob: *mut ::glob_t);
 
-    pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
+    pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int)
+                         -> ::c_int;
 
-    pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_t) -> ::c_int;
+    pub fn shm_open(name: *const ::c_char, oflag: ::c_int, mode: ::mode_t)
+                    -> ::c_int;
     pub fn shm_unlink(name: *const ::c_char) -> ::c_int;
 
     pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long);
 
     pub fn telldir(dirp: *mut ::DIR) -> ::c_long;
-    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
+    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int)
+                  -> ::c_int;
 
     pub fn msync(addr: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int;
 
-    pub fn recvfrom(
-        socket: ::c_int,
-        buf: *mut ::c_void,
-        len: ::size_t,
-        flags: ::c_int,
-        addr: *mut ::sockaddr,
-        addrlen: *mut ::socklen_t,
-    ) -> ::ssize_t;
+    pub fn recvfrom(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
+                    flags: ::c_int, addr: *mut ::sockaddr,
+                    addrlen: *mut ::socklen_t) -> ::ssize_t;
     pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int;
     pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int;
     pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
 
-    pub fn bind(socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t) -> ::c_int;
-
-    pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
-    pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
-
-    pub fn sendmsg(fd: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t;
-    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t;
-    pub fn execvpe(file: *const ::c_char, argv: *const *const ::c_char, environment: *const *const ::c_char)
-        -> ::c_int;
+    pub fn bind(socket: ::c_int, address: *const ::sockaddr,
+                address_len: ::socklen_t) -> ::c_int;
+
+    pub fn writev(fd: ::c_int,
+                  iov: *const ::iovec,
+                  iovcnt: ::c_int) -> ::ssize_t;
+    pub fn readv(fd: ::c_int,
+                 iov: *const ::iovec,
+                 iovcnt: ::c_int) -> ::ssize_t;
+
+    pub fn sendmsg(fd: ::c_int,
+                   msg: *const ::msghdr,
+                   flags: ::c_int) -> ::ssize_t;
+    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int)
+                   -> ::ssize_t;
+    pub fn execvpe(file: *const ::c_char, argv: *const *const ::c_char,
+                   environment: *const *const ::c_char) -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")]
-    pub fn getgrgid_r(
-        uid: ::uid_t,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrgid_r(uid: ::uid_t,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "sigaltstack$UNIX2003")]
     #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")]
-    pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
+    pub fn sigaltstack(ss: *const stack_t,
+                       oss: *mut stack_t) -> ::c_int;
     pub fn sem_close(sem: *mut sem_t) -> ::c_int;
     pub fn getdtablesize() -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")]
-    pub fn getgrnam_r(
-        name: *const ::c_char,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrnam_r(name: *const ::c_char,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "pthread_sigmask$UNIX2003")]
-    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int;
+    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t,
+                           oldset: *mut sigset_t) -> ::c_int;
     pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
     pub fn getgrnam(name: *const ::c_char) -> *mut ::group;
     pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
@@ -1158,43 +1148,40 @@ extern "C" {
     pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")]
-    pub fn getpwnam_r(
-        name: *const ::c_char,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwnam_r(name: *const ::c_char,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")]
-    pub fn getpwuid_r(
-        uid: ::uid_t,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwuid_r(uid: ::uid_t,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch ="x86"),
                link_name = "sigwait$UNIX2003")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")]
-    pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int;
-    pub fn pthread_atfork(
-        prepare: Option<unsafe extern "C" fn()>,
-        parent: Option<unsafe extern "C" fn()>,
-        child: Option<unsafe extern "C" fn()>,
-    ) -> ::c_int;
+    pub fn sigwait(set: *const sigset_t,
+                   sig: *mut ::c_int) -> ::c_int;
+    pub fn pthread_atfork(prepare: Option<unsafe extern fn()>,
+                          parent: Option<unsafe extern fn()>,
+                          child: Option<unsafe extern fn()>) -> ::c_int;
     pub fn getgrgid(gid: ::gid_t) -> *mut ::group;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "popen$UNIX2003")]
-    pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE;
-    pub fn openpty(
-        amaster: *mut ::c_int,
-        aslave: *mut ::c_int,
-        name: *mut ::c_char,
-        termp: *mut termios,
-        winp: *mut ::winsize,
-    ) -> ::c_int;
-    pub fn forkpty(amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize) -> ::pid_t;
+    pub fn popen(command: *const c_char,
+                 mode: *const c_char) -> *mut ::FILE;
+    pub fn openpty(amaster: *mut ::c_int,
+                   aslave: *mut ::c_int,
+                   name: *mut ::c_char,
+                   termp: *mut termios,
+                   winp: *mut ::winsize) -> ::c_int;
+    pub fn forkpty(amaster: *mut ::c_int,
+                   name: *mut ::c_char,
+                   termp: *mut termios,
+                   winp: *mut ::winsize) -> ::pid_t;
     pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int;
 }
 
diff --git a/src/unix/newlib/mod.rs b/src/unix/newlib/mod.rs
index a4a06cc8..d8955411 100644
--- a/src/unix/newlib/mod.rs
+++ b/src/unix/newlib/mod.rs
@@ -517,27 +517,6 @@ pub const SOCK_CLOEXEC: ::c_int = O_CLOEXEC;
 
 pub const INET_ADDRSTRLEN: ::c_int = 16;
 
-// https://github.
-// com/bminor/newlib/blob/master/newlib/libc/sys/linux/include/net/if.h#L121
-pub const IFF_UP: ::c_int = 0x1; // interface is up
-pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid
-pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging
-pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net
-pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link
-pub const IFF_NOTRAILERS: ::c_int = 0x20; // avoid use of trailers
-pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated
-pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol
-pub const IFF_PROMISC: ::c_int = 0x100; // receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x200; // receive all multicast packets
-pub const IFF_OACTIVE: ::c_int = 0x400; // transmission in progress
-pub const IFF_SIMPLEX: ::c_int = 0x800; // can't hear own transmissions
-pub const IFF_LINK0: ::c_int = 0x1000; // per link layer defined bit
-pub const IFF_LINK1: ::c_int = 0x2000; // per link layer defined bit
-pub const IFF_LINK2: ::c_int = 0x4000; // per link layer defined bit
-pub const IFF_ALTPHYS: ::c_int = IFF_LINK2; // use alternate physical connection
-pub const IFF_MULTICAST: ::c_int = 0x8000; // supports multicast
-
-
 pub const IPPROTO_IP: ::c_int = 0;
 pub const IPPROTO_UDP: ::c_int = 17;
 pub const IPPROTO_TCP: ::c_int = 6;
@@ -605,54 +584,43 @@ f! {
     }
 }
 
-extern "C" {
+extern {
     pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int;
     pub fn closesocket(sockfd: ::c_int) -> ::c_int;
     pub fn ioctl(fd: ::c_int, request: ::c_ulong, ...) -> ::c_int;
-    pub fn recvfrom(
-        fd: ::c_int,
-        buf: *mut ::c_void,
-        n: usize,
-        flags: ::c_int,
-        addr: *mut sockaddr,
-        addr_len: *mut socklen_t,
-    ) -> isize;
-    pub fn getnameinfo(
-        sa: *const sockaddr,
-        salen: socklen_t,
-        host: *mut ::c_char,
-        hostlen: socklen_t,
-        serv: *mut ::c_char,
-        servlen: socklen_t,
-        flags: ::c_int,
-    ) -> ::c_int;
+    pub fn recvfrom(fd: ::c_int, buf: *mut ::c_void, n: usize, flags: ::c_int,
+                    addr: *mut sockaddr, addr_len: *mut socklen_t) -> isize;
+    pub fn getnameinfo(sa: *const sockaddr, salen: socklen_t,
+                       host: *mut ::c_char, hostlen: socklen_t,
+                       serv: *mut ::c_char, servlen: socklen_t,
+                       flags: ::c_int) -> ::c_int;
     pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
-    pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char) -> ::c_int;
+    pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char,
+                   envp: *const *const ::c_char)
+                   -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")]
-    pub fn getgrgid_r(
-        uid: ::uid_t,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrgid_r(uid: ::uid_t,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "sigaltstack$UNIX2003")]
     #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")]
-    pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
+    pub fn sigaltstack(ss: *const stack_t,
+                       oss: *mut stack_t) -> ::c_int;
     pub fn sem_close(sem: *mut sem_t) -> ::c_int;
     pub fn getdtablesize() -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")]
-    pub fn getgrnam_r(
-        name: *const ::c_char,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrnam_r(name: *const ::c_char,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "pthread_sigmask$UNIX2003")]
-    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int;
+    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t,
+                           oldset: *mut sigset_t) -> ::c_int;
     pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
     pub fn getgrnam(name: *const ::c_char) -> *mut ::group;
     pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
@@ -660,35 +628,31 @@ extern "C" {
     pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")]
-    pub fn getpwnam_r(
-        name: *const ::c_char,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwnam_r(name: *const ::c_char,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")]
-    pub fn getpwuid_r(
-        uid: ::uid_t,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwuid_r(uid: ::uid_t,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch ="x86"),
                link_name = "sigwait$UNIX2003")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")]
-    pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int;
-    pub fn pthread_atfork(
-        prepare: Option<unsafe extern "C" fn()>,
-        parent: Option<unsafe extern "C" fn()>,
-        child: Option<unsafe extern "C" fn()>,
-    ) -> ::c_int;
+    pub fn sigwait(set: *const sigset_t,
+                   sig: *mut ::c_int) -> ::c_int;
+    pub fn pthread_atfork(prepare: Option<unsafe extern fn()>,
+                          parent: Option<unsafe extern fn()>,
+                          child: Option<unsafe extern fn()>) -> ::c_int;
     pub fn getgrgid(gid: ::gid_t) -> *mut ::group;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "popen$UNIX2003")]
-    pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE;
+    pub fn popen(command: *const c_char,
+                 mode: *const c_char) -> *mut ::FILE;
 }
 
 cfg_if! {
diff --git a/src/unix/solaris/mod.rs b/src/unix/solaris/mod.rs
index 7ad3ef23..a6c2d4bf 100644
--- a/src/unix/solaris/mod.rs
+++ b/src/unix/solaris/mod.rs
@@ -1,4 +1,4 @@
-use dox::{Option, mem};
+use dox::{mem, Option};
 
 pub type c_char = i8;
 pub type c_long = i64;
@@ -369,8 +369,12 @@ pub const LC_TIME_MASK: ::c_int = (1 << LC_TIME);
 pub const LC_COLLATE_MASK: ::c_int = (1 << LC_COLLATE);
 pub const LC_MONETARY_MASK: ::c_int = (1 << LC_MONETARY);
 pub const LC_MESSAGES_MASK: ::c_int = (1 << LC_MESSAGES);
-pub const LC_ALL_MASK: ::c_int = LC_CTYPE_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_COLLATE_MASK | LC_MONETARY_MASK |
-    LC_MESSAGES_MASK;
+pub const LC_ALL_MASK: ::c_int = LC_CTYPE_MASK
+                               | LC_NUMERIC_MASK
+                               | LC_TIME_MASK
+                               | LC_COLLATE_MASK
+                               | LC_MONETARY_MASK
+                               | LC_MESSAGES_MASK;
 
 pub const DAY_1: ::nl_item = 1;
 pub const DAY_2: ::nl_item = 2;
@@ -753,17 +757,17 @@ pub const F_SETFL: ::c_int = 4;
 
 pub const SIGTRAP: ::c_int = 5;
 
-pub const GLOB_APPEND: ::c_int = 32;
-pub const GLOB_DOOFFS: ::c_int = 16;
-pub const GLOB_ERR: ::c_int = 1;
-pub const GLOB_MARK: ::c_int = 2;
-pub const GLOB_NOCHECK: ::c_int = 8;
-pub const GLOB_NOSORT: ::c_int = 4;
+pub const GLOB_APPEND  : ::c_int = 32;
+pub const GLOB_DOOFFS  : ::c_int = 16;
+pub const GLOB_ERR     : ::c_int = 1;
+pub const GLOB_MARK    : ::c_int = 2;
+pub const GLOB_NOCHECK : ::c_int = 8;
+pub const GLOB_NOSORT  : ::c_int = 4;
 pub const GLOB_NOESCAPE: ::c_int = 64;
 
-pub const GLOB_NOSPACE: ::c_int = -2;
-pub const GLOB_ABORTED: ::c_int = -1;
-pub const GLOB_NOMATCH: ::c_int = -3;
+pub const GLOB_NOSPACE : ::c_int = -2;
+pub const GLOB_ABORTED : ::c_int = -1;
+pub const GLOB_NOMATCH : ::c_int = -3;
 
 pub const POLLIN: ::c_short = 0x1;
 pub const POLLPRI: ::c_short = 0x2;
@@ -863,55 +867,7 @@ pub const SO_TYPE: ::c_int = 0x1008;
 
 pub const MSG_PEEK: ::c_int = 0x2;
 
-// https://docs.oracle.com/cd/E23824_01/html/821-1475/if-7p.html
-pub const IFF_UP: ::c_int = 0x0000000001; // Address is up
-pub const IFF_BROADCAST: ::c_int = 0x0000000002; // Broadcast address valid
-pub const IFF_DEBUG: ::c_int = 0x0000000004; // Turn on debugging
-pub const IFF_LOOPBACK: ::c_int = 0x0000000008; // Loopback net
-
-pub const IFF_POINTOPOINT: ::c_int = 0x0000000010; // Interface is p-to-p
-pub const IFF_NOTRAILERS: ::c_int = 0x0000000020; // Avoid use of trailers
-pub const IFF_RUNNING: ::c_int = 0x0000000040; // Resources allocated
-pub const IFF_NOARP: ::c_int = 0x0000000080; // No address res. protocol
-
-pub const IFF_PROMISC: ::c_int = 0x0000000100; // Receive all packets
-pub const IFF_ALLMULTI: ::c_int = 0x0000000200; // Receive all multicast pkts
-pub const IFF_INTELLIGENT: ::c_int = 0x0000000400; // Protocol code on board
-pub const IFF_MULTICAST: ::c_int = 0x0000000800; // Supports multicast
-
-pub const IFF_MULTI_BCAST: ::c_int = 0x0000001000; // Multicast using broadcst. add.
-pub const IFF_UNNUMBERED: ::c_int = 0x0000002000; // Non-unique address
-pub const IFF_DHCPRUNNING: ::c_int = 0x0000004000; // DHCP controls interface
-pub const IFF_PRIVATE: ::c_int = 0x0000008000; // Do not advertise
-
-pub const IFF_NOXMIT: ::c_int = 0x0000010000; // Do not transmit pkts
-pub const IFF_NOLOCAL: ::c_int = 0x0000020000; // No address - just on-link subnet
-pub const IFF_DEPRECATED: ::c_int = 0x0000040000; // Address is deprecated
-pub const IFF_ADDRCONF: ::c_int = 0x0000080000; // Addr. from stateless addrconf
-
-pub const IFF_ROUTER: ::c_int = 0x0000100000; // Router on interface
-pub const IFF_NONUD: ::c_int = 0x0000200000; // No NUD on interface
-pub const IFF_ANYCAST: ::c_int = 0x0000400000; // Anycast address
-pub const IFF_NORTEXCH: ::c_int = 0x0000800000; // Don't xchange rout. info
-
-pub const IFF_IPV4: ::c_int = 0x0001000000; // IPv4 interface
-pub const IFF_IPV6: ::c_int = 0x0002000000; // IPv6 interface
-pub const IFF_NOFAILOVER: ::c_int = 0x0008000000; // in.mpathd test address
-pub const IFF_FAILED: ::c_int = 0x0010000000; // Interface has failed
-
-pub const IFF_STANDBY: ::c_int = 0x0020000000; // Interface is a hot-spare
-pub const IFF_INACTIVE: ::c_int = 0x0040000000; // Functioning but not used
-pub const IFF_OFFLINE: ::c_int = 0x0080000000; // Interface is offline
-pub const IFF_COS_ENABLED: ::c_int = 0x0200000000; // If CoS marking is supported
-
-pub const IFF_PREFERRED: ::c_int = 0x0400000000; // Prefer as source address
-pub const IFF_TEMPORARY: ::c_int = 0x0800000000; // RFC3041
-pub const IFF_FIXEDMTU: ::c_int = 0x1000000000; // MTU set with SIOCSLIFMTU
-
-pub const IFF_VIRTUAL: ::c_int = 0x2000000000; // Cannot send/receive pkts
-pub const IFF_DUPLICATE: ::c_int = 0x4000000000; // Local address in use
-pub const IFF_IPMP: ::c_int = 0x8000000000; // IPMP IP interface
-
+pub const IFF_LOOPBACK: ::c_int = 0x8;
 
 pub const SHUT_RD: ::c_int = 0;
 pub const SHUT_WR: ::c_int = 1;
@@ -1114,8 +1070,8 @@ pub const _SC_IPV6: ::c_int = 762;
 pub const _SC_RAW_SOCKETS: ::c_int = 763;
 
 pub const _MUTEX_MAGIC: u16 = 0x4d58; // MX
-pub const _COND_MAGIC: u16 = 0x4356; // CV
-pub const _RWL_MAGIC: u16 = 0x5257; // RW
+pub const _COND_MAGIC: u16 = 0x4356;  // CV
+pub const _RWL_MAGIC: u16 = 0x5257;   // RW
 
 pub const NCCS: usize = 19;
 
@@ -1128,13 +1084,13 @@ pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t {
     __pthread_mutex_type: PTHREAD_PROCESS_PRIVATE,
     __pthread_mutex_magic: _MUTEX_MAGIC,
     __pthread_mutex_lock: 0,
-    __pthread_mutex_data: 0,
+    __pthread_mutex_data: 0
 };
 pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
     __pthread_cond_flag: [0; 4],
     __pthread_cond_type: PTHREAD_PROCESS_PRIVATE,
     __pthread_cond_magic: _COND_MAGIC,
-    __pthread_cond_data: 0,
+    __pthread_cond_data: 0
 };
 pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
     __pthread_rwlock_readers: 0,
@@ -1142,7 +1098,7 @@ pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
     __pthread_rwlock_magic: _RWL_MAGIC,
     __pthread_rwlock_mutex: PTHREAD_MUTEX_INITIALIZER,
     __pthread_rwlock_readercv: PTHREAD_COND_INITIALIZER,
-    __pthread_rwlock_writercv: PTHREAD_COND_INITIALIZER,
+    __pthread_rwlock_writercv: PTHREAD_COND_INITIALIZER
 };
 pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
 pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2;
@@ -1216,33 +1172,32 @@ f! {
     }
 }
 
-extern "C" {
+extern {
     pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int;
     pub fn freeifaddrs(ifa: *mut ::ifaddrs);
 
     pub fn stack_getbounds(sp: *mut ::stack_t) -> ::c_int;
-    pub fn mincore(addr: *const ::c_void, len: ::size_t, vec: *mut c_char) -> ::c_int;
-    pub fn setgroups(ngroups: ::c_int, ptr: *const ::gid_t) -> ::c_int;
+    pub fn mincore(addr: *const ::c_void, len: ::size_t,
+                   vec: *mut c_char) -> ::c_int;
+    pub fn setgroups(ngroups: ::c_int,
+                     ptr: *const ::gid_t) -> ::c_int;
     pub fn ioctl(fildes: ::c_int, request: ::c_int, ...) -> ::c_int;
-    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
+    pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
     pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
     pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
-    pub fn clock_nanosleep(
-        clk_id: ::clockid_t,
-        flags: ::c_int,
-        rqtp: *const ::timespec,
-        rmtp: *mut ::timespec,
-    ) -> ::c_int;
+    pub fn clock_nanosleep(clk_id: ::clockid_t,
+                           flags: ::c_int,
+                           rqtp: *const ::timespec,
+                           rmtp:  *mut ::timespec) -> ::c_int;
     pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
-    pub fn getnameinfo(
-        sa: *const ::sockaddr,
-        salen: ::socklen_t,
-        host: *mut ::c_char,
-        hostlen: ::socklen_t,
-        serv: *mut ::c_char,
-        sevlen: ::socklen_t,
-        flags: ::c_int,
-    ) -> ::c_int;
+    pub fn getnameinfo(sa: *const ::sockaddr,
+                       salen: ::socklen_t,
+                       host: *mut ::c_char,
+                       hostlen: ::socklen_t,
+                       serv: *mut ::c_char,
+                       sevlen: ::socklen_t,
+                       flags: ::c_int) -> ::c_int;
     pub fn setpwent();
     pub fn endpwent();
     pub fn getpwent() -> *mut passwd;
@@ -1250,7 +1205,9 @@ extern "C" {
     pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
     pub fn duplocale(base: ::locale_t) -> ::locale_t;
     pub fn freelocale(loc: ::locale_t);
-    pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
+    pub fn newlocale(mask: ::c_int,
+                     locale: *const ::c_char,
+                     base: ::locale_t) -> ::locale_t;
     pub fn uselocale(loc: ::locale_t) -> ::locale_t;
     pub fn getprogname() -> *const ::c_char;
     pub fn setprogname(name: *const ::c_char);
@@ -1260,109 +1217,112 @@ extern "C" {
 
     pub fn fdopendir(fd: ::c_int) -> *mut ::DIR;
 
-    pub fn mknodat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t) -> ::c_int;
-    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int;
+    pub fn mknodat(dirfd: ::c_int, pathname: *const ::c_char,
+                   mode: ::mode_t, dev: dev_t) -> ::c_int;
+    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char,
+                    mode: ::mode_t) -> ::c_int;
     pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int;
     pub fn if_nameindex() -> *mut if_nameindex;
     pub fn if_freenameindex(ptr: *mut if_nameindex);
-    pub fn pthread_create(
-        native: *mut ::pthread_t,
-        attr: *const ::pthread_attr_t,
-        f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
-        value: *mut ::c_void,
-    ) -> ::c_int;
-    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t, clock_id: *mut clockid_t) -> ::c_int;
-    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t, clock_id: ::clockid_t) -> ::c_int;
-    pub fn sem_timedwait(sem: *mut sem_t, abstime: *const ::timespec) -> ::c_int;
-    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t, abstime: *const ::timespec) -> ::c_int;
-    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int) -> ::c_int;
-
-    pub fn glob(
-        pattern: *const ::c_char,
-        flags: ::c_int,
-        errfunc: Option<extern "C" fn(epath: *const ::c_char, errno: ::c_int) -> ::c_int>,
-        pglob: *mut ::glob_t,
-    ) -> ::c_int;
+    pub fn pthread_create(native: *mut ::pthread_t,
+                          attr: *const ::pthread_attr_t,
+                          f: extern fn(*mut ::c_void) -> *mut ::c_void,
+                          value: *mut ::c_void) -> ::c_int;
+    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t,
+                                     clock_id: *mut clockid_t) -> ::c_int;
+    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t,
+                                     clock_id: ::clockid_t) -> ::c_int;
+    pub fn sem_timedwait(sem: *mut sem_t,
+                         abstime: *const ::timespec) -> ::c_int;
+    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t,
+                                   abstime: *const ::timespec) -> ::c_int;
+    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t,
+                  options: ::c_int) -> ::c_int;
+
+    pub fn glob(pattern: *const ::c_char,
+                flags: ::c_int,
+                errfunc: Option<extern fn(epath: *const ::c_char,
+                                          errno: ::c_int) -> ::c_int>,
+                pglob: *mut ::glob_t) -> ::c_int;
 
     pub fn globfree(pglob: *mut ::glob_t);
 
-    pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
+    pub fn posix_madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int)
+                         -> ::c_int;
 
     pub fn shm_unlink(name: *const ::c_char) -> ::c_int;
 
     pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long);
 
     pub fn telldir(dirp: *mut ::DIR) -> ::c_long;
-    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
+    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int)
+                  -> ::c_int;
 
     pub fn msync(addr: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int;
 
     pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
 
-    pub fn recvfrom(
-        socket: ::c_int,
-        buf: *mut ::c_void,
-        len: ::size_t,
-        flags: ::c_int,
-        addr: *mut ::sockaddr,
-        addrlen: *mut ::socklen_t,
-    ) -> ::ssize_t;
+    pub fn recvfrom(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
+                    flags: ::c_int, addr: *mut ::sockaddr,
+                    addrlen: *mut ::socklen_t) -> ::ssize_t;
     pub fn mkstemps(template: *mut ::c_char, suffixlen: ::c_int) -> ::c_int;
     pub fn futimes(fd: ::c_int, times: *const ::timeval) -> ::c_int;
-    pub fn utimensat(dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int) -> ::c_int;
+    pub fn utimensat(dirfd: ::c_int, path: *const ::c_char,
+                     times: *const ::timespec, flag: ::c_int) -> ::c_int;
     pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
 
-    pub fn bind(socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t) -> ::c_int;
+    pub fn bind(socket: ::c_int, address: *const ::sockaddr,
+                address_len: ::socklen_t) -> ::c_int;
 
-    pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
-    pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
+    pub fn writev(fd: ::c_int,
+                  iov: *const ::iovec,
+                  iovcnt: ::c_int) -> ::ssize_t;
+    pub fn readv(fd: ::c_int,
+                 iov: *const ::iovec,
+                 iovcnt: ::c_int) -> ::ssize_t;
 
-    pub fn sendmsg(fd: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t;
-    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t;
+    pub fn sendmsg(fd: ::c_int,
+                   msg: *const ::msghdr,
+                   flags: ::c_int) -> ::ssize_t;
+    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int)
+                   -> ::ssize_t;
 
     pub fn port_create() -> ::c_int;
-    pub fn port_associate(
-        port: ::c_int,
-        source: ::c_int,
-        object: ::uintptr_t,
-        events: ::c_int,
-        user: ::uintptr_t,
-    ) -> ::c_int;
-    pub fn port_dissociate(port: ::c_int, source: ::c_int, object: ::uintptr_t) -> ::c_int;
-    pub fn port_get(port: ::c_int, pe: *mut port_event, timeout: *const ::timespec) -> ::c_int;
-    pub fn port_getn(
-        port: ::c_int,
-        pe_list: *mut port_event,
-        max: ::c_uint,
-        nget: *mut ::c_uint,
-        timeout: *const ::timespec,
-    ) -> ::c_int;
-    pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char, envp: *const *const ::c_char) -> ::c_int;
+    pub fn port_associate(port: ::c_int, source: ::c_int, object: ::uintptr_t,
+                          events: ::c_int, user: ::uintptr_t) -> ::c_int;
+    pub fn port_dissociate(port: ::c_int, source: ::c_int, object: ::uintptr_t)
+                           -> ::c_int;
+    pub fn port_get(port: ::c_int, pe: *mut port_event,
+                    timeout: *const ::timespec) -> ::c_int;
+    pub fn port_getn(port: ::c_int, pe_list: *mut port_event, max: ::c_uint,
+                     nget: *mut ::c_uint, timeout: *const ::timespec)
+                     -> ::c_int;
+    pub fn fexecve(fd: ::c_int, argv: *const *const ::c_char,
+                   envp: *const *const ::c_char)
+                   -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")]
-    pub fn getgrgid_r(
-        uid: ::uid_t,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrgid_r(uid: ::uid_t,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "sigaltstack$UNIX2003")]
     #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")]
-    pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
+    pub fn sigaltstack(ss: *const stack_t,
+                       oss: *mut stack_t) -> ::c_int;
     pub fn sem_close(sem: *mut sem_t) -> ::c_int;
     pub fn getdtablesize() -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")]
-    pub fn getgrnam_r(
-        name: *const ::c_char,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrnam_r(name: *const ::c_char,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "pthread_sigmask$UNIX2003")]
-    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int;
+    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t,
+                           oldset: *mut sigset_t) -> ::c_int;
     pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
     pub fn getgrnam(name: *const ::c_char) -> *mut ::group;
     pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
@@ -1370,33 +1330,29 @@ extern "C" {
     pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")]
-    pub fn getpwnam_r(
-        name: *const ::c_char,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwnam_r(name: *const ::c_char,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")]
-    pub fn getpwuid_r(
-        uid: ::uid_t,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwuid_r(uid: ::uid_t,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch ="x86"),
                link_name = "sigwait$UNIX2003")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")]
-    pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int;
-    pub fn pthread_atfork(
-        prepare: Option<unsafe extern "C" fn()>,
-        parent: Option<unsafe extern "C" fn()>,
-        child: Option<unsafe extern "C" fn()>,
-    ) -> ::c_int;
+    pub fn sigwait(set: *const sigset_t,
+                   sig: *mut ::c_int) -> ::c_int;
+    pub fn pthread_atfork(prepare: Option<unsafe extern fn()>,
+                          parent: Option<unsafe extern fn()>,
+                          child: Option<unsafe extern fn()>) -> ::c_int;
     pub fn getgrgid(gid: ::gid_t) -> *mut ::group;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "popen$UNIX2003")]
-    pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE;
+    pub fn popen(command: *const c_char,
+                 mode: *const c_char) -> *mut ::FILE;
 }
diff --git a/src/unix/uclibc/mod.rs b/src/unix/uclibc/mod.rs
index f6660da7..87521b2a 100644
--- a/src/unix/uclibc/mod.rs
+++ b/src/unix/uclibc/mod.rs
@@ -1,4 +1,4 @@
-use dox::{Option, mem};
+use dox::{mem, Option};
 
 pub type sa_family_t = u16;
 pub type pthread_key_t = ::c_uint;
@@ -653,24 +653,22 @@ pub const MADV_MERGEABLE: ::c_int = 12;
 pub const MADV_UNMERGEABLE: ::c_int = 13;
 pub const MADV_HWPOISON: ::c_int = 100;
 
-// https://github.com/kraj/uClibc/blob/master/include/net/if.h#L44
-pub const IFF_UP: ::c_int = 0x1; // Interface is up.
-pub const IFF_BROADCAST: ::c_int = 0x2; // Broadcast address valid.
-pub const IFF_DEBUG: ::c_int = 0x4; // Turn on debugging.
-pub const IFF_LOOPBACK: ::c_int = 0x8; // Is a loopback net.
-pub const IFF_POINTOPOINT: ::c_int = 0x10; // Interface is point-to-point link.
-pub const IFF_NOTRAILERS: ::c_int = 0x20; // Avoid use of trailers.
-pub const IFF_RUNNING: ::c_int = 0x40; // Resources allocated.
-pub const IFF_NOARP: ::c_int = 0x80; // No address resolution protocol.
-pub const IFF_PROMISC: ::c_int = 0x100; // Receive all packets.
-// Not supported
-pub const IFF_ALLMULTI: ::c_int = 0x200; // Receive all multicast packets.
-pub const IFF_MASTER: ::c_int = 0x400; // Master of a load balancer.
-pub const IFF_SLAVE: ::c_int = 0x800; // Slave of a load balancer.
-pub const IFF_MULTICAST: ::c_int = 0x1000; // Supports multicast.
-pub const IFF_PORTSEL: ::c_int = 0x2000; // Can set media type.
-pub const IFF_AUTOMEDIA: ::c_int = 0x4000; // Auto media select active.
-pub const IFF_DYNAMIC: ::c_int = 0x8000; // Dialup device with changing addresses.
+pub const IFF_UP: ::c_int = 0x1;
+pub const IFF_BROADCAST: ::c_int = 0x2;
+pub const IFF_DEBUG: ::c_int = 0x4;
+pub const IFF_LOOPBACK: ::c_int = 0x8;
+pub const IFF_POINTOPOINT: ::c_int = 0x10;
+pub const IFF_NOTRAILERS: ::c_int = 0x20;
+pub const IFF_RUNNING: ::c_int = 0x40;
+pub const IFF_NOARP: ::c_int = 0x80;
+pub const IFF_PROMISC: ::c_int = 0x100;
+pub const IFF_ALLMULTI: ::c_int = 0x200;
+pub const IFF_MASTER: ::c_int = 0x400;
+pub const IFF_SLAVE: ::c_int = 0x800;
+pub const IFF_MULTICAST: ::c_int = 0x1000;
+pub const IFF_PORTSEL: ::c_int = 0x2000;
+pub const IFF_AUTOMEDIA: ::c_int = 0x4000;
+pub const IFF_DYNAMIC: ::c_int = 0x8000;
 
 pub const SOL_IP: ::c_int = 0;
 pub const SOL_TCP: ::c_int = 6;
@@ -862,13 +860,13 @@ pub const TCOON: ::c_int = 1;
 pub const TCIFLUSH: ::c_int = 0;
 pub const TCOFLUSH: ::c_int = 1;
 pub const TCIOFLUSH: ::c_int = 2;
-pub const NL0: ::c_int = 0x00000000;
-pub const NL1: ::c_int = 0x00000100;
+pub const NL0: ::c_int  = 0x00000000;
+pub const NL1: ::c_int  = 0x00000100;
 pub const TAB0: ::c_int = 0x00000000;
-pub const CR0: ::c_int = 0x00000000;
-pub const FF0: ::c_int = 0x00000000;
-pub const BS0: ::c_int = 0x00000000;
-pub const VT0: ::c_int = 0x00000000;
+pub const CR0: ::c_int  = 0x00000000;
+pub const FF0: ::c_int  = 0x00000000;
+pub const BS0: ::c_int  = 0x00000000;
+pub const VT0: ::c_int  = 0x00000000;
 pub const VERASE: usize = 2;
 pub const VKILL: usize = 3;
 pub const VINTR: usize = 0;
@@ -1491,76 +1489,92 @@ f! {
     }
 }
 
-extern "C" {
+extern {
     pub fn fdatasync(fd: ::c_int) -> ::c_int;
-    pub fn mincore(addr: *mut ::c_void, len: ::size_t, vec: *mut ::c_uchar) -> ::c_int;
+    pub fn mincore(addr: *mut ::c_void, len: ::size_t,
+                   vec: *mut ::c_uchar) -> ::c_int;
     pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
     pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int;
-    pub fn clock_nanosleep(
-        clk_id: ::clockid_t,
-        flags: ::c_int,
-        rqtp: *const ::timespec,
-        rmtp: *mut ::timespec,
-    ) -> ::c_int;
+    pub fn clock_nanosleep(clk_id: ::clockid_t,
+                           flags: ::c_int,
+                           rqtp: *const ::timespec,
+                           rmtp:  *mut ::timespec) -> ::c_int;
     pub fn clock_settime(clk_id: ::clockid_t, tp: *const ::timespec) -> ::c_int;
     pub fn prctl(option: ::c_int, ...) -> ::c_int;
-    pub fn pthread_getattr_np(native: ::pthread_t, attr: *mut ::pthread_attr_t) -> ::c_int;
-    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t, guardsize: *mut ::size_t) -> ::c_int;
-    pub fn pthread_attr_getstack(
-        attr: *const ::pthread_attr_t,
-        stackaddr: *mut *mut ::c_void,
-        stacksize: *mut ::size_t,
-    ) -> ::c_int;
+    pub fn pthread_getattr_np(native: ::pthread_t,
+                              attr: *mut ::pthread_attr_t) -> ::c_int;
+    pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t,
+                                     guardsize: *mut ::size_t) -> ::c_int;
+    pub fn pthread_attr_getstack(attr: *const ::pthread_attr_t,
+                                 stackaddr: *mut *mut ::c_void,
+                                 stacksize: *mut ::size_t) -> ::c_int;
     pub fn memalign(align: ::size_t, size: ::size_t) -> *mut ::c_void;
-    pub fn setgroups(ngroups: ::size_t, ptr: *const ::gid_t) -> ::c_int;
+    pub fn setgroups(ngroups: ::size_t,
+                     ptr: *const ::gid_t) -> ::c_int;
     pub fn initgroups(user: *const ::c_char, group: ::gid_t) -> ::c_int;
-    pub fn sched_setscheduler(pid: ::pid_t, policy: ::c_int, param: *const ::sched_param) -> ::c_int;
+    pub fn sched_setscheduler(pid: ::pid_t,
+                              policy: ::c_int,
+                              param: *const ::sched_param) -> ::c_int;
     pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
     pub fn sched_get_priority_max(policy: ::c_int) -> ::c_int;
     pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int;
     pub fn epoll_create(size: ::c_int) -> ::c_int;
     pub fn epoll_create1(flags: ::c_int) -> ::c_int;
-    pub fn epoll_ctl(epfd: ::c_int, op: ::c_int, fd: ::c_int, event: *mut ::epoll_event) -> ::c_int;
-    pub fn epoll_wait(epfd: ::c_int, events: *mut ::epoll_event, maxevents: ::c_int, timeout: ::c_int) -> ::c_int;
+    pub fn epoll_ctl(epfd: ::c_int,
+                     op: ::c_int,
+                     fd: ::c_int,
+                     event: *mut ::epoll_event) -> ::c_int;
+    pub fn epoll_wait(epfd: ::c_int,
+                      events: *mut ::epoll_event,
+                      maxevents: ::c_int,
+                      timeout: ::c_int) -> ::c_int;
     pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;
-    pub fn mount(
-        src: *const ::c_char,
-        target: *const ::c_char,
-        fstype: *const ::c_char,
-        flags: ::c_ulong,
-        data: *const ::c_void,
-    ) -> ::c_int;
+    pub fn mount(src: *const ::c_char,
+                 target: *const ::c_char,
+                 fstype: *const ::c_char,
+                 flags: ::c_ulong,
+                 data: *const ::c_void) -> ::c_int;
     pub fn umount(target: *const ::c_char) -> ::c_int;
     pub fn umount2(target: *const ::c_char, flags: ::c_int) -> ::c_int;
-    pub fn clone(
-        cb: extern "C" fn(*mut ::c_void) -> ::c_int,
-        child_stack: *mut ::c_void,
-        flags: ::c_int,
-        arg: *mut ::c_void,
-        ...
-    ) -> ::c_int;
+    pub fn clone(cb: extern fn(*mut ::c_void) -> ::c_int,
+                 child_stack: *mut ::c_void,
+                 flags: ::c_int,
+                 arg: *mut ::c_void, ...) -> ::c_int;
     pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int;
     pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int;
-    pub fn memrchr(cx: *const ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void;
+    pub fn memrchr(cx: *const ::c_void,
+                   c: ::c_int,
+                   n: ::size_t) -> *mut ::c_void;
     pub fn syscall(num: ::c_long, ...) -> ::c_long;
-    pub fn sendfile(out_fd: ::c_int, in_fd: ::c_int, offset: *mut off_t, count: ::size_t) -> ::ssize_t;
-    pub fn splice(
-        fd_in: ::c_int,
-        off_in: *mut ::loff_t,
-        fd_out: ::c_int,
-        off_out: *mut ::loff_t,
-        len: ::size_t,
-        flags: ::c_uint,
-    ) -> ::ssize_t;
-    pub fn tee(fd_in: ::c_int, fd_out: ::c_int, len: ::size_t, flags: ::c_uint) -> ::ssize_t;
-    pub fn vmsplice(fd: ::c_int, iov: *const ::iovec, nr_segs: ::size_t, flags: ::c_uint) -> ::ssize_t;
-
-    pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t, advise: ::c_int) -> ::c_int;
+    pub fn sendfile(out_fd: ::c_int,
+                    in_fd: ::c_int,
+                    offset: *mut off_t,
+                    count: ::size_t) -> ::ssize_t;
+    pub fn splice(fd_in: ::c_int,
+                  off_in: *mut ::loff_t,
+                  fd_out: ::c_int,
+                  off_out: *mut ::loff_t,
+                  len: ::size_t,
+                  flags: ::c_uint) -> ::ssize_t;
+    pub fn tee(fd_in: ::c_int,
+               fd_out: ::c_int,
+               len: ::size_t,
+               flags: ::c_uint) -> ::ssize_t;
+    pub fn vmsplice(fd: ::c_int,
+                    iov: *const ::iovec,
+                    nr_segs: ::size_t,
+                    flags: ::c_uint) -> ::ssize_t;
+
+    pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t,
+                         advise: ::c_int) -> ::c_int;
     pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int;
-    pub fn utimensat(dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int) -> ::c_int;
+    pub fn utimensat(dirfd: ::c_int, path: *const ::c_char,
+                     times: *const ::timespec, flag: ::c_int) -> ::c_int;
     pub fn duplocale(base: ::locale_t) -> ::locale_t;
     pub fn freelocale(loc: ::locale_t);
-    pub fn newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t;
+    pub fn newlocale(mask: ::c_int,
+                     locale: *const ::c_char,
+                     base: ::locale_t) -> ::locale_t;
     pub fn uselocale(loc: ::locale_t) -> ::locale_t;
     pub fn creat64(path: *const c_char, mode: mode_t) -> ::c_int;
     pub fn fstat64(fildes: ::c_int, buf: *mut stat64) -> ::c_int;
@@ -1568,20 +1582,24 @@ extern "C" {
     pub fn getrlimit64(resource: ::c_int, rlim: *mut rlimit64) -> ::c_int;
     pub fn lseek64(fd: ::c_int, offset: off64_t, whence: ::c_int) -> off64_t;
     pub fn lstat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
-    pub fn mmap64(
-        addr: *mut ::c_void,
-        len: ::size_t,
-        prot: ::c_int,
-        flags: ::c_int,
-        fd: ::c_int,
-        offset: off64_t,
-    ) -> *mut ::c_void;
+    pub fn mmap64(addr: *mut ::c_void,
+                  len: ::size_t,
+                  prot: ::c_int,
+                  flags: ::c_int,
+                  fd: ::c_int,
+                  offset: off64_t)
+                  -> *mut ::c_void;
     pub fn open64(path: *const c_char, oflag: ::c_int, ...) -> ::c_int;
-    pub fn openat64(fd: ::c_int, path: *const c_char, oflag: ::c_int, ...) -> ::c_int;
-    pub fn pread64(fd: ::c_int, buf: *mut ::c_void, count: ::size_t, offset: off64_t) -> ::ssize_t;
-    pub fn pwrite64(fd: ::c_int, buf: *const ::c_void, count: ::size_t, offset: off64_t) -> ::ssize_t;
+    pub fn openat64(fd: ::c_int,
+                    path: *const c_char,
+                    oflag: ::c_int, ...) -> ::c_int;
+    pub fn pread64(fd: ::c_int, buf: *mut ::c_void, count: ::size_t,
+                   offset: off64_t) -> ::ssize_t;
+    pub fn pwrite64(fd: ::c_int, buf: *const ::c_void, count: ::size_t,
+                    offset: off64_t) -> ::ssize_t;
     pub fn readdir64(dirp: *mut ::DIR) -> *mut ::dirent64;
-    pub fn readdir64_r(dirp: *mut ::DIR, entry: *mut ::dirent64, result: *mut *mut ::dirent64) -> ::c_int;
+    pub fn readdir64_r(dirp: *mut ::DIR, entry: *mut ::dirent64,
+                       result: *mut *mut ::dirent64) -> ::c_int;
     pub fn setrlimit64(resource: ::c_int, rlim: *const rlimit64) -> ::c_int;
     pub fn stat64(path: *const c_char, buf: *mut stat64) -> ::c_int;
     pub fn truncate64(path: *const c_char, length: off64_t) -> ::c_int;
@@ -1589,27 +1607,51 @@ extern "C" {
 
     pub fn fdopendir(fd: ::c_int) -> *mut ::DIR;
 
-    pub fn mknodat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t, dev: dev_t) -> ::c_int;
-    pub fn ppoll(fds: *mut ::pollfd, nfds: nfds_t, timeout: *const ::timespec, sigmask: *const sigset_t) -> ::c_int;
-    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t, clock_id: *mut clockid_t) -> ::c_int;
-    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t, clock_id: ::clockid_t) -> ::c_int;
-    pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int;
-    pub fn pthread_condattr_getpshared(attr: *const pthread_condattr_t, pshared: *mut ::c_int) -> ::c_int;
-    pub fn sched_getaffinity(pid: ::pid_t, cpusetsize: ::size_t, cpuset: *mut cpu_set_t) -> ::c_int;
-    pub fn sched_setaffinity(pid: ::pid_t, cpusetsize: ::size_t, cpuset: *const cpu_set_t) -> ::c_int;
+    pub fn mknodat(dirfd: ::c_int, pathname: *const ::c_char,
+                   mode: ::mode_t, dev: dev_t) -> ::c_int;
+    pub fn ppoll(fds: *mut ::pollfd,
+                 nfds: nfds_t,
+                 timeout: *const ::timespec,
+                 sigmask: *const sigset_t) -> ::c_int;
+    pub fn pthread_condattr_getclock(attr: *const pthread_condattr_t,
+                                     clock_id: *mut clockid_t) -> ::c_int;
+    pub fn pthread_condattr_setclock(attr: *mut pthread_condattr_t,
+                                     clock_id: ::clockid_t) -> ::c_int;
+    pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t,
+                                       pshared: ::c_int) -> ::c_int;
+    pub fn pthread_condattr_getpshared(attr: *const pthread_condattr_t,
+                                       pshared: *mut ::c_int) -> ::c_int;
+    pub fn sched_getaffinity(pid: ::pid_t,
+                             cpusetsize: ::size_t,
+                             cpuset: *mut cpu_set_t) -> ::c_int;
+    pub fn sched_setaffinity(pid: ::pid_t,
+                             cpusetsize: ::size_t,
+                             cpuset: *const cpu_set_t) -> ::c_int;
     pub fn unshare(flags: ::c_int) -> ::c_int;
-    pub fn sem_timedwait(sem: *mut sem_t, abstime: *const ::timespec) -> ::c_int;
-    pub fn accept4(fd: ::c_int, addr: *mut ::sockaddr, len: *mut ::socklen_t, flg: ::c_int) -> ::c_int;
-    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t, abstime: *const ::timespec) -> ::c_int;
-    pub fn pthread_mutexattr_setpshared(attr: *mut pthread_mutexattr_t, pshared: ::c_int) -> ::c_int;
-    pub fn pthread_mutexattr_getpshared(attr: *const pthread_mutexattr_t, pshared: *mut ::c_int) -> ::c_int;
-    pub fn pthread_rwlockattr_getkind_np(attr: *const pthread_rwlockattr_t, val: *mut ::c_int) -> ::c_int;
-    pub fn pthread_rwlockattr_setkind_np(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int;
-    pub fn pthread_rwlockattr_getpshared(attr: *const pthread_rwlockattr_t, val: *mut ::c_int) -> ::c_int;
-    pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int;
-    pub fn ptsname_r(fd: ::c_int, buf: *mut ::c_char, buflen: ::size_t) -> ::c_int;
+    pub fn sem_timedwait(sem: *mut sem_t,
+                         abstime: *const ::timespec) -> ::c_int;
+    pub fn accept4(fd: ::c_int, addr: *mut ::sockaddr, len: *mut ::socklen_t,
+                   flg: ::c_int) -> ::c_int;
+    pub fn pthread_mutex_timedlock(lock: *mut pthread_mutex_t,
+                                   abstime: *const ::timespec) -> ::c_int;
+    pub fn pthread_mutexattr_setpshared(attr: *mut pthread_mutexattr_t,
+                                        pshared: ::c_int) -> ::c_int;
+    pub fn pthread_mutexattr_getpshared(attr: *const pthread_mutexattr_t,
+                                        pshared: *mut ::c_int) -> ::c_int;
+    pub fn pthread_rwlockattr_getkind_np(attr: *const pthread_rwlockattr_t,
+                                         val: *mut ::c_int) -> ::c_int;
+    pub fn pthread_rwlockattr_setkind_np(attr: *mut pthread_rwlockattr_t,
+                                         val: ::c_int) -> ::c_int;
+    pub fn pthread_rwlockattr_getpshared(attr: *const pthread_rwlockattr_t,
+                                         val: *mut ::c_int) -> ::c_int;
+    pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t,
+                                         val: ::c_int) -> ::c_int;
+    pub fn ptsname_r(fd: ::c_int,
+                     buf: *mut ::c_char,
+                     buflen: ::size_t) -> ::c_int;
     pub fn clearenv() -> ::c_int;
-    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int) -> ::c_int;
+    pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t,
+                  options: ::c_int) -> ::c_int;
 
     pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int;
 
@@ -1621,88 +1663,107 @@ extern "C" {
     pub fn getspent() -> *mut spwd;
     pub fn getspnam(__name: *const ::c_char) -> *mut spwd;
 
-    pub fn shm_open(name: *const c_char, oflag: ::c_int, mode: mode_t) -> ::c_int;
+    pub fn shm_open(name: *const c_char, oflag: ::c_int,
+                    mode: mode_t) -> ::c_int;
 
     // System V IPC
     pub fn shmget(key: ::key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int;
-    pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void;
+    pub fn shmat(shmid: ::c_int,
+                 shmaddr: *const ::c_void,
+                 shmflg: ::c_int) -> *mut ::c_void;
     pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int;
-    pub fn shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int;
+    pub fn shmctl(shmid: ::c_int,
+                  cmd: ::c_int,
+                  buf: *mut ::shmid_ds) -> ::c_int;
     pub fn ftok(pathname: *const ::c_char, proj_id: ::c_int) -> ::key_t;
     pub fn msgctl(msqid: ::c_int, cmd: ::c_int, buf: *mut msqid_ds) -> ::c_int;
     pub fn msgget(key: ::key_t, msgflg: ::c_int) -> ::c_int;
-    pub fn msgrcv(msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t, msgtyp: ::c_long, msgflg: ::c_int)
-        -> ::ssize_t;
-    pub fn msgsnd(msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t, msgflg: ::c_int) -> ::c_int;
+    pub fn msgrcv(msqid: ::c_int, msgp: *mut ::c_void, msgsz: ::size_t,
+                  msgtyp: ::c_long, msgflg: ::c_int) -> ::ssize_t;
+    pub fn msgsnd(msqid: ::c_int, msgp: *const ::c_void, msgsz: ::size_t,
+                  msgflg: ::c_int) -> ::c_int;
 
-    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int;
+    pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int)
+                    -> ::c_int;
     pub fn __errno_location() -> *mut ::c_int;
 
-    pub fn fopen64(filename: *const c_char, mode: *const c_char) -> *mut ::FILE;
-    pub fn freopen64(filename: *const c_char, mode: *const c_char, file: *mut ::FILE) -> *mut ::FILE;
+    pub fn fopen64(filename: *const c_char,
+                   mode: *const c_char) -> *mut ::FILE;
+    pub fn freopen64(filename: *const c_char, mode: *const c_char,
+                     file: *mut ::FILE) -> *mut ::FILE;
     pub fn tmpfile64() -> *mut ::FILE;
     pub fn fgetpos64(stream: *mut ::FILE, ptr: *mut fpos64_t) -> ::c_int;
     pub fn fsetpos64(stream: *mut ::FILE, ptr: *const fpos64_t) -> ::c_int;
-    pub fn fseeko64(stream: *mut ::FILE, offset: ::off64_t, whence: ::c_int) -> ::c_int;
+    pub fn fseeko64(stream: *mut ::FILE,
+                    offset: ::off64_t,
+                    whence: ::c_int) -> ::c_int;
     pub fn ftello64(stream: *mut ::FILE) -> ::off64_t;
-    pub fn readahead(fd: ::c_int, offset: ::off64_t, count: ::size_t) -> ::ssize_t;
-    pub fn getxattr(path: *const c_char, name: *const c_char, value: *mut ::c_void, size: ::size_t) -> ::ssize_t;
-    pub fn lgetxattr(path: *const c_char, name: *const c_char, value: *mut ::c_void, size: ::size_t) -> ::ssize_t;
-    pub fn fgetxattr(filedes: ::c_int, name: *const c_char, value: *mut ::c_void, size: ::size_t) -> ::ssize_t;
-    pub fn setxattr(
-        path: *const c_char,
-        name: *const c_char,
-        value: *const ::c_void,
-        size: ::size_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn lsetxattr(
-        path: *const c_char,
-        name: *const c_char,
-        value: *const ::c_void,
-        size: ::size_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn fsetxattr(
-        filedes: ::c_int,
-        name: *const c_char,
-        value: *const ::c_void,
-        size: ::size_t,
-        flags: ::c_int,
-    ) -> ::c_int;
-    pub fn listxattr(path: *const c_char, list: *mut c_char, size: ::size_t) -> ::ssize_t;
-    pub fn llistxattr(path: *const c_char, list: *mut c_char, size: ::size_t) -> ::ssize_t;
-    pub fn flistxattr(filedes: ::c_int, list: *mut c_char, size: ::size_t) -> ::ssize_t;
+    pub fn readahead(fd: ::c_int, offset: ::off64_t,
+                     count: ::size_t) -> ::ssize_t;
+    pub fn getxattr(path: *const c_char, name: *const c_char,
+                    value: *mut ::c_void, size: ::size_t) -> ::ssize_t;
+    pub fn lgetxattr(path: *const c_char, name: *const c_char,
+                     value: *mut ::c_void, size: ::size_t) -> ::ssize_t;
+    pub fn fgetxattr(filedes: ::c_int, name: *const c_char,
+                     value: *mut ::c_void, size: ::size_t) -> ::ssize_t;
+    pub fn setxattr(path: *const c_char, name: *const c_char,
+                    value: *const ::c_void, size: ::size_t,
+                    flags: ::c_int) -> ::c_int;
+    pub fn lsetxattr(path: *const c_char, name: *const c_char,
+                     value: *const ::c_void, size: ::size_t,
+                     flags: ::c_int) -> ::c_int;
+    pub fn fsetxattr(filedes: ::c_int, name: *const c_char,
+                     value: *const ::c_void, size: ::size_t,
+                     flags: ::c_int) -> ::c_int;
+    pub fn listxattr(path: *const c_char, list: *mut c_char,
+                     size: ::size_t) -> ::ssize_t;
+    pub fn llistxattr(path: *const c_char, list: *mut c_char,
+                      size: ::size_t) -> ::ssize_t;
+    pub fn flistxattr(filedes: ::c_int, list: *mut c_char,
+                      size: ::size_t) -> ::ssize_t;
     pub fn removexattr(path: *const c_char, name: *const c_char) -> ::c_int;
     pub fn lremovexattr(path: *const c_char, name: *const c_char) -> ::c_int;
     pub fn fremovexattr(filedes: ::c_int, name: *const c_char) -> ::c_int;
-    pub fn signalfd(fd: ::c_int, mask: *const ::sigset_t, flags: ::c_int) -> ::c_int;
-    pub fn quotactl(cmd: ::c_int, special: *const ::c_char, id: ::c_int, data: *mut ::c_char) -> ::c_int;
+    pub fn signalfd(fd: ::c_int,
+                    mask: *const ::sigset_t,
+                    flags: ::c_int) -> ::c_int;
+    pub fn quotactl(cmd: ::c_int,
+                    special: *const ::c_char,
+                    id: ::c_int,
+                    data: *mut ::c_char) -> ::c_int;
     pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t;
     pub fn mq_close(mqd: ::mqd_t) -> ::c_int;
     pub fn mq_unlink(name: *const ::c_char) -> ::c_int;
-    pub fn mq_receive(mqd: ::mqd_t, msg_ptr: *mut ::c_char, msg_len: ::size_t, msq_prio: *mut ::c_uint) -> ::ssize_t;
-    pub fn mq_send(mqd: ::mqd_t, msg_ptr: *const ::c_char, msg_len: ::size_t, msq_prio: ::c_uint) -> ::c_int;
+    pub fn mq_receive(mqd: ::mqd_t,
+                      msg_ptr: *mut ::c_char,
+                      msg_len: ::size_t,
+                      msq_prio: *mut ::c_uint) -> ::ssize_t;
+    pub fn mq_send(mqd: ::mqd_t,
+                   msg_ptr: *const ::c_char,
+                   msg_len: ::size_t,
+                   msq_prio: ::c_uint) -> ::c_int;
     pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int;
-    pub fn mq_setattr(mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr) -> ::c_int;
-    pub fn epoll_pwait(
-        epfd: ::c_int,
-        events: *mut ::epoll_event,
-        maxevents: ::c_int,
-        timeout: ::c_int,
-        sigmask: *const ::sigset_t,
-    ) -> ::c_int;
+    pub fn mq_setattr(mqd: ::mqd_t,
+                      newattr: *const ::mq_attr,
+                      oldattr: *mut ::mq_attr) -> ::c_int;
+    pub fn epoll_pwait(epfd: ::c_int,
+                       events: *mut ::epoll_event,
+                       maxevents: ::c_int,
+                       timeout: ::c_int,
+                       sigmask: *const ::sigset_t) -> ::c_int;
     pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int;
-    pub fn sigtimedwait(set: *const sigset_t, info: *mut siginfo_t, timeout: *const ::timespec) -> ::c_int;
-    pub fn sigwaitinfo(set: *const sigset_t, info: *mut siginfo_t) -> ::c_int;
+    pub fn sigtimedwait(set: *const sigset_t,
+                        info: *mut siginfo_t,
+                        timeout: *const ::timespec) -> ::c_int;
+    pub fn sigwaitinfo(set: *const sigset_t,
+                       info: *mut siginfo_t) -> ::c_int;
     pub fn nl_langinfo_l(item: ::nl_item, locale: ::locale_t) -> *mut ::c_char;
-    pub fn prlimit(pid: ::pid_t, resource: ::c_int, new_limit: *const ::rlimit, old_limit: *mut ::rlimit) -> ::c_int;
-    pub fn prlimit64(
-        pid: ::pid_t,
-        resource: ::c_int,
-        new_limit: *const ::rlimit64,
-        old_limit: *mut ::rlimit64,
-    ) -> ::c_int;
+    pub fn prlimit(pid: ::pid_t, resource: ::c_int, new_limit: *const ::rlimit,
+                   old_limit: *mut ::rlimit) -> ::c_int;
+    pub fn prlimit64(pid: ::pid_t,
+                     resource: ::c_int,
+                     new_limit: *const ::rlimit64,
+                     old_limit: *mut ::rlimit64) -> ::c_int;
     pub fn reboot(how_to: ::c_int) -> ::c_int;
     pub fn setfsgid(gid: ::gid_t) -> ::c_int;
     pub fn setfsuid(uid: ::uid_t) -> ::c_int;
@@ -1710,21 +1771,26 @@ extern "C" {
     pub fn setresuid(ruid: ::uid_t, euid: ::uid_t, suid: ::uid_t) -> ::c_int;
 
     // Not available now on Android
-    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int;
+    pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char,
+                    mode: ::mode_t) -> ::c_int;
     pub fn if_nameindex() -> *mut if_nameindex;
     pub fn if_freenameindex(ptr: *mut if_nameindex);
-    pub fn sync_file_range(fd: ::c_int, offset: ::off64_t, nbytes: ::off64_t, flags: ::c_uint) -> ::c_int;
+    pub fn sync_file_range(fd: ::c_int, offset: ::off64_t,
+                           nbytes: ::off64_t, flags: ::c_uint) -> ::c_int;
     pub fn getifaddrs(ifap: *mut *mut ::ifaddrs) -> ::c_int;
     pub fn freeifaddrs(ifa: *mut ::ifaddrs);
 
-    pub fn mremap(addr: *mut ::c_void, len: ::size_t, new_len: ::size_t, flags: ::c_int, ...) -> *mut ::c_void;
-
-    pub fn glob(
-        pattern: *const c_char,
-        flags: ::c_int,
-        errfunc: Option<extern "C" fn(epath: *const c_char, errno: ::c_int) -> ::c_int>,
-        pglob: *mut ::glob_t,
-    ) -> ::c_int;
+    pub fn mremap(addr: *mut ::c_void,
+                  len: ::size_t,
+                  new_len: ::size_t,
+                  flags: ::c_int,
+                  ...) -> *mut ::c_void;
+
+    pub fn glob(pattern: *const c_char,
+                flags: ::c_int,
+                errfunc: Option<extern fn(epath: *const c_char,
+                                          errno: ::c_int) -> ::c_int>,
+                pglob: *mut ::glob_t) -> ::c_int;
     pub fn globfree(pglob: *mut ::glob_t);
 
     pub fn shm_unlink(name: *const ::c_char) -> ::c_int;
@@ -1732,52 +1798,54 @@ extern "C" {
     pub fn seekdir(dirp: *mut ::DIR, loc: ::c_long);
 
     pub fn telldir(dirp: *mut ::DIR) -> ::c_long;
-    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int) -> ::c_int;
+    pub fn madvise(addr: *mut ::c_void, len: ::size_t, advice: ::c_int)
+                  -> ::c_int;
 
     pub fn msync(addr: *mut ::c_void, len: ::size_t, flags: ::c_int) -> ::c_int;
 
-    pub fn recvfrom(
-        socket: ::c_int,
-        buf: *mut ::c_void,
-        len: ::size_t,
-        flags: ::c_int,
-        addr: *mut ::sockaddr,
-        addrlen: *mut ::socklen_t,
-    ) -> ::ssize_t;
+    pub fn recvfrom(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
+                    flags: ::c_int, addr: *mut ::sockaddr,
+                    addrlen: *mut ::socklen_t) -> ::ssize_t;
     pub fn nl_langinfo(item: ::nl_item) -> *mut ::c_char;
 
-    pub fn bind(socket: ::c_int, address: *const ::sockaddr, address_len: ::socklen_t) -> ::c_int;
-
-    pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
-    pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t;
-
-    pub fn sendmsg(fd: ::c_int, msg: *const ::msghdr, flags: ::c_int) -> ::ssize_t;
-    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int) -> ::ssize_t;
+    pub fn bind(socket: ::c_int, address: *const ::sockaddr,
+                address_len: ::socklen_t) -> ::c_int;
+
+    pub fn writev(fd: ::c_int,
+                  iov: *const ::iovec,
+                  iovcnt: ::c_int) -> ::ssize_t;
+    pub fn readv(fd: ::c_int,
+                 iov: *const ::iovec,
+                 iovcnt: ::c_int) -> ::ssize_t;
+
+    pub fn sendmsg(fd: ::c_int,
+                   msg: *const ::msghdr,
+                   flags: ::c_int) -> ::ssize_t;
+    pub fn recvmsg(fd: ::c_int, msg: *mut ::msghdr, flags: ::c_int)
+                   -> ::ssize_t;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrgid_r")]
-    pub fn getgrgid_r(
-        uid: ::uid_t,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrgid_r(uid: ::uid_t,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "sigaltstack$UNIX2003")]
     #[cfg_attr(target_os = "netbsd", link_name = "__sigaltstack14")]
-    pub fn sigaltstack(ss: *const stack_t, oss: *mut stack_t) -> ::c_int;
+    pub fn sigaltstack(ss: *const stack_t,
+                       oss: *mut stack_t) -> ::c_int;
     pub fn sem_close(sem: *mut sem_t) -> ::c_int;
     pub fn getdtablesize() -> ::c_int;
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getgrnam_r")]
-    pub fn getgrnam_r(
-        name: *const ::c_char,
-        grp: *mut ::group,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut ::group,
-    ) -> ::c_int;
+    pub fn getgrnam_r(name: *const ::c_char,
+                      grp: *mut ::group,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut ::group) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "pthread_sigmask$UNIX2003")]
-    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int;
+    pub fn pthread_sigmask(how: ::c_int, set: *const sigset_t,
+                           oldset: *mut sigset_t) -> ::c_int;
     pub fn sem_open(name: *const ::c_char, oflag: ::c_int, ...) -> *mut sem_t;
     pub fn getgrnam(name: *const ::c_char) -> *mut ::group;
     pub fn pthread_kill(thread: ::pthread_t, sig: ::c_int) -> ::c_int;
@@ -1785,41 +1853,35 @@ extern "C" {
     pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwnam_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwnam_r")]
-    pub fn getpwnam_r(
-        name: *const ::c_char,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwnam_r(name: *const ::c_char,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(target_os = "netbsd", link_name = "__getpwuid_r50")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_getpwuid_r")]
-    pub fn getpwuid_r(
-        uid: ::uid_t,
-        pwd: *mut passwd,
-        buf: *mut ::c_char,
-        buflen: ::size_t,
-        result: *mut *mut passwd,
-    ) -> ::c_int;
+    pub fn getpwuid_r(uid: ::uid_t,
+                      pwd: *mut passwd,
+                      buf: *mut ::c_char,
+                      buflen: ::size_t,
+                      result: *mut *mut passwd) -> ::c_int;
     #[cfg_attr(all(target_os = "macos", target_arch ="x86"),
                link_name = "sigwait$UNIX2003")]
     #[cfg_attr(target_os = "solaris", link_name = "__posix_sigwait")]
-    pub fn sigwait(set: *const sigset_t, sig: *mut ::c_int) -> ::c_int;
-    pub fn pthread_atfork(
-        prepare: Option<unsafe extern "C" fn()>,
-        parent: Option<unsafe extern "C" fn()>,
-        child: Option<unsafe extern "C" fn()>,
-    ) -> ::c_int;
-    pub fn pthread_create(
-        native: *mut ::pthread_t,
-        attr: *const ::pthread_attr_t,
-        f: extern "C" fn(*mut ::c_void) -> *mut ::c_void,
-        value: *mut ::c_void,
-    ) -> ::c_int;
+    pub fn sigwait(set: *const sigset_t,
+                   sig: *mut ::c_int) -> ::c_int;
+    pub fn pthread_atfork(prepare: Option<unsafe extern fn()>,
+                          parent: Option<unsafe extern fn()>,
+                          child: Option<unsafe extern fn()>) -> ::c_int;
+    pub fn pthread_create(native: *mut ::pthread_t,
+                          attr: *const ::pthread_attr_t,
+                          f: extern fn(*mut ::c_void) -> *mut ::c_void,
+                          value: *mut ::c_void) -> ::c_int;
     pub fn getgrgid(gid: ::gid_t) -> *mut ::group;
     #[cfg_attr(all(target_os = "macos", target_arch = "x86"),
                link_name = "popen$UNIX2003")]
-    pub fn popen(command: *const c_char, mode: *const c_char) -> *mut ::FILE;
+    pub fn popen(command: *const c_char,
+                 mode: *const c_char) -> *mut ::FILE;
 }
 
 cfg_if! {
@@ -1833,3 +1895,4 @@ cfg_if! {
         pub use unsupported_target;
     }
 }
+
-- 
GitLab