use crate::core::models::localhost::{FirewallStatus, IpServiceGroup};
use pnet::datalink::NetworkInterface;
pub fn get_system_info() -> anyhow::Result<SystemInfo> {
let services = crate::host_sys::get_local_services()?;
let firewall = crate::host_sys::get_firewall_status()?;
let interfaces = crate::host_sys::get_network_interfaces()?;
Ok(SystemInfo {
services,
firewall,
interfaces,
})
}
pub struct SystemInfo {
pub services: Vec<IpServiceGroup>,
pub firewall: FirewallStatus,
pub interfaces: Vec<NetworkInterface>,
}