pub struct RtnlClient { /* private fields */ }Implementations§
Source§impl RtnlClient
impl RtnlClient
Sourcepub fn new() -> Self
pub fn new() -> Self
Examples found in repository?
examples/if-summary.rs (line 5)
4fn main() -> std::io::Result<()> {
5 let client = RtnlClient::new();
6 let link_client = client.link();
7 let addr_client = client.address();
8 let ifs = link_client.interface_list()?;
9 for interface in ifs {
10 println!("Interface: {} ({})", &interface.if_name, interface.if_id);
11 let if_id = interface.if_id;
12 let mac = link_client.mac_addr_get(if_id)?;
13 if let Some(mac) = mac {
14 println!(" MAC address: {}", mac);
15 } else {
16 println!(" No MAC address");
17 }
18 let v4addrs = addr_client.ipv4_addrs_get(Some(if_id))?;
19 println!(" IPv4 addresses:");
20 for addr in v4addrs {
21 println!(" {}", addr);
22 }
23 let v6addrs = addr_client.ipv6_addrs_get(Some(if_id))?;
24 println!(" IPv6 addresses:");
25 for addr in v6addrs {
26 println!(" {}", addr);
27 }
28 println!("");
29 }
30 Ok(())
31}Sourcepub fn address(&self) -> RtnlAddressClient
pub fn address(&self) -> RtnlAddressClient
Examples found in repository?
examples/if-summary.rs (line 7)
4fn main() -> std::io::Result<()> {
5 let client = RtnlClient::new();
6 let link_client = client.link();
7 let addr_client = client.address();
8 let ifs = link_client.interface_list()?;
9 for interface in ifs {
10 println!("Interface: {} ({})", &interface.if_name, interface.if_id);
11 let if_id = interface.if_id;
12 let mac = link_client.mac_addr_get(if_id)?;
13 if let Some(mac) = mac {
14 println!(" MAC address: {}", mac);
15 } else {
16 println!(" No MAC address");
17 }
18 let v4addrs = addr_client.ipv4_addrs_get(Some(if_id))?;
19 println!(" IPv4 addresses:");
20 for addr in v4addrs {
21 println!(" {}", addr);
22 }
23 let v6addrs = addr_client.ipv6_addrs_get(Some(if_id))?;
24 println!(" IPv6 addresses:");
25 for addr in v6addrs {
26 println!(" {}", addr);
27 }
28 println!("");
29 }
30 Ok(())
31}Sourcepub fn link(&self) -> RtnlLinkClient
pub fn link(&self) -> RtnlLinkClient
Examples found in repository?
examples/if-summary.rs (line 6)
4fn main() -> std::io::Result<()> {
5 let client = RtnlClient::new();
6 let link_client = client.link();
7 let addr_client = client.address();
8 let ifs = link_client.interface_list()?;
9 for interface in ifs {
10 println!("Interface: {} ({})", &interface.if_name, interface.if_id);
11 let if_id = interface.if_id;
12 let mac = link_client.mac_addr_get(if_id)?;
13 if let Some(mac) = mac {
14 println!(" MAC address: {}", mac);
15 } else {
16 println!(" No MAC address");
17 }
18 let v4addrs = addr_client.ipv4_addrs_get(Some(if_id))?;
19 println!(" IPv4 addresses:");
20 for addr in v4addrs {
21 println!(" {}", addr);
22 }
23 let v6addrs = addr_client.ipv6_addrs_get(Some(if_id))?;
24 println!(" IPv6 addresses:");
25 for addr in v6addrs {
26 println!(" {}", addr);
27 }
28 println!("");
29 }
30 Ok(())
31}pub fn neighbor(&self) -> RtnlNeighborClient
pub fn route(&self) -> RtnlRouteClient
Trait Implementations§
Source§impl Clone for RtnlClient
impl Clone for RtnlClient
Source§fn clone(&self) -> RtnlClient
fn clone(&self) -> RtnlClient
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for RtnlClient
impl RefUnwindSafe for RtnlClient
impl Send for RtnlClient
impl Sync for RtnlClient
impl Unpin for RtnlClient
impl UnwindSafe for RtnlClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more