message: Rearrange things
  Closes
diff: // All files in the project carrying such notice may not be copied, modified, or distributed
  // except according to those terms.
  //! TCP/IP specific information for use by WinSock2 compatible applications.
  -
  use ctypes::c_int;
  use shared::in6addr::IN6_ADDR;
  use shared::inaddr::IN_ADDR;
  use shared::minwindef::{ULONG, USHORT};
  use shared::ws2def::{ADDRESS_FAMILY, SCOPE_ID};
  -
  +pub const IFF_UP: ULONG = 0x00000001;
  +pub const IFF_BROADCAST: ULONG = 0x00000002;
  +pub const IFF_LOOPBACK: ULONG = 0x00000004;
  +pub const IFF_POINTTOPOINT: ULONG = 0x00000008;
  +pub const IFF_MULTICAST: ULONG = 0x00000010;
  pub const IP_OPTIONS: c_int = 1;
  pub const IP_HDRINCL: c_int = 2;
  pub const IP_TOS: c_int = 3;
  @@ -28,6 +31,19 @@ pub const IP_BLOCK_SOURCE: c_int = 17;
  pub const IP_UNBLOCK_SOURCE: c_int = 18;
  pub const IP_PKTINFO: c_int = 19;
  pub const IP_RECEIVE_BROADCAST: c_int = 22;
  +UNION!{union SOCKADDR_IN6_LH_u {
  + [u32; 1],
  + sin6_scope_id sin6_scope_id_mut: ULONG,
  + sin6_scope_struct sin6_scope_struct_mut: SCOPE_ID,
  +}}
  +STRUCT!{struct SOCKADDR_IN6_LH {
  + sin6_family: ADDRESS_FAMILY,
  + sin6_port: USHORT,
  + sin6_flowinfo: ULONG,
  + sin6_addr: IN6_ADDR,
  + u: SOCKADDR_IN6_LH_u,
  +}}
  +pub type PSOCKADDR_IN6_LH = *mut SOCKADDR_IN6_LH;
  STRUCT!{struct IP_MREQ {
  imr_multiaddr: IN_ADDR,
  imr_interface: IN_ADDR,
  @@ -64,23 +80,3 @@ STRUCT!{struct IPV6_MREQ {
  ipv6mr_interface: ULONG,
  }}
  pub type PIPV6_MREQ = *mut IPV6_MREQ;
  -UNION!{union SOCKADDR_IN6_LH_u {
  - [u32; 1],
  - sin6_scope_id sin6_scope_id_mut: ULONG,
  - sin6_scope_struct sin6_scope_struct_mut: SCOPE_ID,
  -}}
  -STRUCT!{struct SOCKADDR_IN6_LH {
  - sin6_family: ADDRESS_FAMILY,
  - sin6_port: USHORT,
  - sin6_flowinfo: ULONG,
  - sin6_addr: IN6_ADDR,
  - u: SOCKADDR_IN6_LH_u,
  -}}
  -pub type PSOCKADDR_IN6_LH = *mut SOCKADDR_IN6_LH;
  -
  -pub const IFF_UP: ULONG = 0x00000001;
  -pub const IFF_BROADCAST: ULONG = 0x00000002;
  -pub const IFF_LOOPBACK: ULONG = 0x00000004;
  -pub const IFF_POINTTOPOINT: ULONG = 0x00000008;
  -pub const IFF_POINTOPOINT: ULONG = IFF_POINTTOPOINT;
  -pub const IFF_MULTICAST: ULONG = 0x00000010;
  