diff --git a/src/unix/bsd/mod.rs b/src/unix/bsd/mod.rs index ecb21b1c75f58dda2696b2a8d8cbaf3e5a2f3f1c..d55c78162df4c83af875342a07782e3794221f58 100644 --- a/src/unix/bsd/mod.rs +++ b/src/unix/bsd/mod.rs @@ -27,11 +27,6 @@ s! { pub sun_family: sa_family_t, pub sun_path: [c_char; 104] } - - pub struct ipv6_mreq { - pub ipv6mr_multiaddr: ::in6_addr, - pub ipv6mr_interface: ::c_uint, - } } extern { diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 8c568c00adf871ab22bf1ca3e5c068a95e209ff9..6ec4bf6d9ced089384ddccfc8f253e1f4349b210 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -56,6 +56,14 @@ s! { pub imr_multiaddr: in_addr, pub imr_interface: in_addr, } + + pub struct ipv6_mreq { + pub ipv6mr_multiaddr: in6_addr, + #[cfg(target_os = "android")] + pub ipv6mr_interface: c_uint, + #[cfg(not(target_os = "android"))] + pub ipv6mr_interface: c_int, + } } cfg_if! { diff --git a/src/unix/notbsd/android.rs b/src/unix/notbsd/android.rs index 637f64676a6f72fe62fc69c529b40f0f9a3865f3..96fdc200322a9fe830e3aaf23e4c46a5680cb79a 100644 --- a/src/unix/notbsd/android.rs +++ b/src/unix/notbsd/android.rs @@ -54,11 +54,6 @@ s! { pub sched_policy: ::int32_t, pub sched_priority: ::int32_t, } - - pub struct ipv6_mreq { - pub ipv6mr_multiaddr: ::in6_addr, - pub ipv6mr_interface: ::c_int, - } } pub const BUFSIZ: ::c_uint = 1024; diff --git a/src/unix/notbsd/linux/mod.rs b/src/unix/notbsd/linux/mod.rs index 4afac2d23196aafd7128c5be8284db4616f73418..d17f3306a70cbad3c62e871a4968c87b46d18463 100644 --- a/src/unix/notbsd/linux/mod.rs +++ b/src/unix/notbsd/linux/mod.rs @@ -28,11 +28,6 @@ s! { pub ifa_ifu: *mut ::sockaddr, // FIXME This should be a union pub ifa_data: *mut ::c_void } - - pub struct ipv6_mreq { - pub ipv6mr_multiaddr: ::in6_addr, - pub ipv6mr_interface: ::c_uint, - } } pub const BUFSIZ: ::c_uint = 8192;