1use serde::{Deserialize, Serialize};
16
17use crate::health::NodeCommon;
18
19#[cfg(target_os = "linux")]
20pub fn get_net_info(addr: &str, iface: &str) -> NetInfo {
21 let mut ni = NetInfo::default();
22 ni.node_common.addr = addr.to_string();
23 ni.interface = iface.to_string();
24
25 ni
26}
27
28#[cfg(not(target_os = "linux"))]
29pub fn get_net_info(addr: &str, iface: &str) -> NetInfo {
30 NetInfo {
31 node_common: NodeCommon {
32 addr: addr.to_owned(),
33 error: Some("Not implemented for non-linux platforms".to_string()),
34 },
35 interface: iface.to_owned(),
36 ..Default::default()
37 }
38}
39
40#[derive(Debug, Default, Serialize, Deserialize)]
41pub struct NetInfo {
42 node_common: NodeCommon,
43 interface: String,
44 driver: String,
45 firmware_version: String,
46}