netinfo/
netinfo.rs

1use {
2    anyhow::{bail, Context, Result},
3    libdvb_rs::NetDevice,
4};
5
6fn main() -> Result<()> {
7    let mut args = std::env::args().skip(1);
8
9    let adapter = match args.next() {
10        Some(v) => v.parse::<u32>().context("adapter number")?,
11        None => bail!("adapter number not defined"),
12    };
13
14    let device = match args.next() {
15        Some(v) => v.parse::<u32>().context("device number")?,
16        None => 0,
17    };
18
19    let dev = NetDevice::open(adapter, device)?;
20
21    let interface = dev.add_if(0, libdvb_rs::net::sys::DVB_NET_FEEDTYPE_MPE)?;
22    println!("Interface: {}", &interface);
23    let mac = interface.get_mac();
24    println!("MAC: {}", &mac);
25    dev.remove_if(interface)?;
26
27    Ok(())
28}