From 2b3fb11a4619f603dfe8343e982fe6baafeef8b6 Mon Sep 17 00:00:00 2001 From: Bryant Mairs Date: Tue, 5 Dec 2017 20:06:23 -0800 Subject: [PATCH] Replace ip(v6)_mreq structs with libc equivalent --- src/sys/socket/mod.rs | 13 ++++-------- src/sys/socket/multicast.rs | 40 ------------------------------------- 2 files changed, 4 insertions(+), 49 deletions(-) delete mode 100644 src/sys/socket/multicast.rs diff --git a/src/sys/socket/mod.rs b/src/sys/socket/mod.rs index 31c4b0cf2b..b527c07cf0 100644 --- a/src/sys/socket/mod.rs +++ b/src/sys/socket/mod.rs @@ -12,7 +12,6 @@ use sys::uio::IoVec; mod addr; mod ffi; -mod multicast; pub mod sockopt; /* @@ -36,20 +35,16 @@ pub use ::sys::socket::addr::netlink::NetlinkAddr; pub use libc::{ in_addr, in6_addr, + ip_mreq, + ipv6_mreq, + sa_family_t, sockaddr, sockaddr_in, sockaddr_in6, + sockaddr_storage, sockaddr_un, - sa_family_t, }; -pub use self::multicast::{ - ip_mreq, - ipv6_mreq, -}; - -pub use libc::sockaddr_storage; - /// These constants are used to specify the communication semantics /// when creating a socket with [`socket()`](fn.socket.html) #[derive(Clone, Copy, PartialEq, Eq, Debug)] diff --git a/src/sys/socket/multicast.rs b/src/sys/socket/multicast.rs deleted file mode 100644 index 7561bb3595..0000000000 --- a/src/sys/socket/multicast.rs +++ /dev/null @@ -1,40 +0,0 @@ -use super::addr::{Ipv4Addr, Ipv6Addr}; -use libc::{in_addr, in6_addr, c_uint}; -use std::fmt; - -#[repr(C)] -#[derive(Clone, Copy)] -pub struct ip_mreq { - pub imr_multiaddr: in_addr, - pub imr_interface: in_addr, -} - -impl fmt::Debug for ip_mreq { - fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { - write!(fmt, "ip_mreq {{ imr_multiaddr: {{ s_addr: 0x{:x} }}, imr_interface: {{ s_addr: 0x{:x} }} }}", - self.imr_multiaddr.s_addr, self.imr_interface.s_addr) - } -} - -impl ip_mreq { - pub fn new(group: Ipv4Addr, interface: Option) -> ip_mreq { - ip_mreq { - imr_multiaddr: group.0, - imr_interface: interface.unwrap_or(Ipv4Addr::any()).0 - } - } -} - -pub struct ipv6_mreq { - pub ipv6mr_multiaddr: in6_addr, - pub ipv6mr_interface: c_uint, -} - -impl ipv6_mreq { - pub fn new(group: Ipv6Addr) -> ipv6_mreq { - ipv6_mreq { - ipv6mr_multiaddr: group.0, - ipv6mr_interface: 0, - } - } -}