Gate Linux-specific platform dependencies behind a #[cfg].
This commit is contained in:
parent
eb33e7f09f
commit
1e5acf0799
|
@ -93,7 +93,7 @@ mod fault_injector;
|
|||
mod pcap_writer;
|
||||
#[cfg(any(feature = "std", feature = "alloc"))]
|
||||
mod loopback;
|
||||
#[cfg(feature = "phy-raw_socket")]
|
||||
#[cfg(all(feature = "phy-raw_socket", target_os = "linux"))]
|
||||
mod raw_socket;
|
||||
#[cfg(all(feature = "phy-tap_interface", target_os = "linux"))]
|
||||
mod tap_interface;
|
||||
|
@ -106,7 +106,7 @@ pub use self::fault_injector::FaultInjector;
|
|||
pub use self::pcap_writer::{PcapLinkType, PcapMode, PcapSink, PcapWriter};
|
||||
#[cfg(any(feature = "std", feature = "alloc"))]
|
||||
pub use self::loopback::Loopback;
|
||||
#[cfg(any(feature = "phy-raw_socket"))]
|
||||
#[cfg(all(feature = "phy-raw_socket", target_os = "linux"))]
|
||||
pub use self::raw_socket::RawSocket;
|
||||
#[cfg(all(feature = "phy-tap_interface", target_os = "linux"))]
|
||||
pub use self::tap_interface::TapInterface;
|
||||
|
|
|
@ -8,12 +8,12 @@ use std::os::unix::io::RawFd;
|
|||
#[path = "linux.rs"]
|
||||
mod imp;
|
||||
|
||||
#[cfg(feature = "phy-raw_socket")]
|
||||
#[cfg(all(feature = "phy-raw_socket", target_os = "linux"))]
|
||||
pub mod raw_socket;
|
||||
#[cfg(all(feature = "phy-tap_interface", target_os = "linux"))]
|
||||
pub mod tap_interface;
|
||||
|
||||
#[cfg(feature = "phy-raw_socket")]
|
||||
#[cfg(all(feature = "phy-raw_socket", target_os = "linux"))]
|
||||
pub use self::raw_socket::RawSocketDesc;
|
||||
#[cfg(all(feature = "phy-tap_interface", target_os = "linux"))]
|
||||
pub use self::tap_interface::TapInterfaceDesc;
|
||||
|
@ -46,6 +46,7 @@ pub fn wait(fd: RawFd, millis: Option<u64>) -> io::Result<()> {
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(all(target_os = "linux", any(feature = "phy-tap_interface", feature = "phy-raw_socket")))]
|
||||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
struct ifreq {
|
||||
|
@ -53,6 +54,7 @@ struct ifreq {
|
|||
ifr_data: libc::c_int /* ifr_ifindex or ifr_mtu */
|
||||
}
|
||||
|
||||
#[cfg(all(target_os = "linux", any(feature = "phy-tap_interface", feature = "phy-raw_socket")))]
|
||||
fn ifreq_for(name: &str) -> ifreq {
|
||||
let mut ifreq = ifreq {
|
||||
ifr_name: [0; libc::IF_NAMESIZE],
|
||||
|
@ -64,6 +66,7 @@ fn ifreq_for(name: &str) -> ifreq {
|
|||
ifreq
|
||||
}
|
||||
|
||||
#[cfg(all(target_os = "linux", any(feature = "phy-tap_interface", feature = "phy-raw_socket")))]
|
||||
fn ifreq_ioctl(lower: libc::c_int, ifreq: &mut ifreq,
|
||||
cmd: libc::c_ulong) -> io::Result<libc::c_int> {
|
||||
unsafe {
|
||||
|
|
Loading…
Reference in New Issue