[package]
name = "netwatch"
version = "0.1.0"
readme = "README.md"
description = "Cross-platform monitoring for network interface changes"
license = "MIT OR Apache-2.0"
authors = ["n0 team"]
repository = "https://github.com/n0-computer/iroh"
keywords = ["networking", "interfaces"]
edition = "2021"
[lints]
workspace = true
[dependencies]
anyhow = { version = "1" }
bytes = "1.7"
futures-lite = "2.3"
futures-sink = "0.3.25"
futures-util = "0.3.25"
libc = "0.2.139"
netdev = "0.30.0"
once_cell = "1.18.0"
socket2 = "0.5.3"
thiserror = "1"
time = "0.3.20"
tokio = { version = "1", features = ["io-util", "macros", "sync", "rt", "net", "fs", "io-std", "signal", "process", "time"] }
tracing = "0.1"
[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies]
netlink-packet-core = "0.7.0"
netlink-packet-route = "0.17.0"
netlink-sys = "0.8.5"
rtnetlink = "0.13.0"
[target.'cfg(target_os = "windows")'.dependencies]
wmi = "0.13"
windows = { version = "0.51", features = ["Win32_NetworkManagement_IpHelper", "Win32_Foundation", "Win32_NetworkManagement_Ndis", "Win32_Networking_WinSock"] }
serde = { version = "1", features = ["derive"] }
derive_more = { version = "1.0.0", features = ["debug"] }
[dev-dependencies]
tokio = { version = "1", features = ["io-util", "sync", "rt", "net", "fs", "macros", "time", "test-util"] }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "iroh_docsrs"]