getifaddrs 0.6.1

A cross-platform library for retrieving network interface addresses and indices (getifaddrs, if_nametoindex, if_indextoname).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use getifaddrs::{getifaddrs, Interface};

pub fn main() {
    let mut last: Vec<Interface> = Vec::default();
    loop {
        let interfaces = getifaddrs().unwrap().collect::<Vec<_>>();
        if interfaces != last {
            println!("Interfaces changed:");
            for interface in &interfaces {
                println!("  {interface:?}");
            }
            last = interfaces;
        }
    }
}