- Add MacosCoreWlanScanner (macOS): CoreWLAN Swift helper adapter with synthetic BSSID generation via FNV-1a hash for redacted MACs (ADR-025) - Add LinuxIwScanner (Linux): parses `iw dev <iface> scan` output with freq-to-channel conversion and BSS stanza parsing - Both adapters produce Vec<BssidObservation> compatible with the existing WindowsWifiPipeline 8-stage processing - Platform-gate modules with #[cfg(target_os)] so each adapter only compiles on its target OS - Fix Python MacosWifiCollector: remove synthetic byte counters that produced misleading tx_bytes/rx_bytes data (set to 0) - Add compiled Swift binary (mac_wifi) to .gitignore Co-Authored-By: claude-flow <ruv@ruv.net>
43 lines
1.5 KiB
Rust
43 lines
1.5 KiB
Rust
//! # wifi-densepose-wifiscan
|
|
//!
|
|
//! Domain layer for multi-BSSID WiFi scanning and enhanced sensing (ADR-022).
|
|
//!
|
|
//! This crate implements the **BSSID Acquisition** bounded context, providing:
|
|
//!
|
|
//! - **Domain types**: [`BssidId`], [`BssidObservation`], [`BandType`], [`RadioType`]
|
|
//! - **Port**: [`WlanScanPort`] -- trait abstracting the platform scan backend
|
|
//! - **Adapters**:
|
|
//! - [`NetshBssidScanner`] -- Windows, parses `netsh wlan show networks mode=bssid`
|
|
//! - `MacosCoreWlanScanner` -- macOS, invokes CoreWLAN Swift helper (ADR-025)
|
|
//! - `LinuxIwScanner` -- Linux, parses `iw dev <iface> scan` output
|
|
|
|
pub mod adapter;
|
|
pub mod domain;
|
|
pub mod error;
|
|
pub mod pipeline;
|
|
pub mod port;
|
|
|
|
// Re-export key types at the crate root for convenience.
|
|
pub use adapter::NetshBssidScanner;
|
|
pub use adapter::parse_netsh_output;
|
|
pub use adapter::WlanApiScanner;
|
|
|
|
#[cfg(target_os = "macos")]
|
|
pub use adapter::MacosCoreWlanScanner;
|
|
#[cfg(target_os = "macos")]
|
|
pub use adapter::parse_macos_scan_output;
|
|
|
|
#[cfg(target_os = "linux")]
|
|
pub use adapter::LinuxIwScanner;
|
|
#[cfg(target_os = "linux")]
|
|
pub use adapter::parse_iw_scan_output;
|
|
pub use domain::bssid::{BandType, BssidId, BssidObservation, RadioType};
|
|
pub use domain::frame::MultiApFrame;
|
|
pub use domain::registry::{BssidEntry, BssidMeta, BssidRegistry, RunningStats};
|
|
pub use domain::result::EnhancedSensingResult;
|
|
pub use error::WifiScanError;
|
|
pub use port::WlanScanPort;
|
|
|
|
#[cfg(feature = "pipeline")]
|
|
pub use pipeline::WindowsWifiPipeline;
|