← Back

Module wifi

struct WifiAdapter

WiFi adapter handle

Source: wifi.joule:7

enum WifiSecurity

Source: wifi.joule:17

enum WifiBand

Source: wifi.joule:40

struct WifiNetwork

Source: wifi.joule:51

enum WifiStandard

Source: wifi.joule:76

struct WifiConnection

WiFi connection handle

Source: wifi.joule:94

struct WifiConfig

Source: wifi.joule:101

fn open(ssid: &str) -> Self

Create config for open network

Source: wifi.joule:116

fn psk(ssid: &str, password: &str) -> Self

Create config for WPA/WPA2/WPA3 PSK network

Source: wifi.joule:127

fn hidden(mut self) -> Self

Mark as hidden network

Source: wifi.joule:138

enum WifiState

Source: wifi.joule:146

fn list() -> Result<Vec<String>, DeviceError>

Source: wifi.joule:162

fn open(interface_name: &str) -> Result<Self, DeviceError>

Source: wifi.joule:181

fn default() -> Result<Self, DeviceError>

Source: wifi.joule:200

fn interface_name(&self) -> &str

Get interface name

Source: wifi.joule:208

fn state(&self) -> Result<WifiState, DeviceError>

Source: wifi.joule:214

fn enable(&self) -> Result<(), DeviceError>

Source: wifi.joule:233

fn disable(&self) -> Result<(), DeviceError>

Source: wifi.joule:252

fn scan(&self) -> Result<Vec<WifiNetwork>, DeviceError>

Source: wifi.joule:271

fn current_network(&self) -> Result<Option<WifiNetwork>, DeviceError>

Source: wifi.joule:290

fn connect(&self, config: &WifiConfig) -> Result<WifiConnection, DeviceError>

Source: wifi.joule:309

fn disconnect(&self) -> Result<(), DeviceError>

Source: wifi.joule:328

fn saved_networks(&self) -> Result<Vec<String>, DeviceError>

Source: wifi.joule:347

fn mac_address(&self) -> Result<[u8; 6], DeviceError>

Source: wifi.joule:366

fn signal_strength(&self) -> Result<i8, DeviceError>

Source: wifi.joule:385

fn network(&self) -> &WifiNetwork

Get the connected network

Source: wifi.joule:396

fn signal_strength(&self) -> Result<i8, DeviceError>

Source: wifi.joule:402

fn link_speed(&self) -> Result<u32, DeviceError>

Source: wifi.joule:408

fn disconnect(self) -> Result<(), DeviceError>

Source: wifi.joule:422

fn frequency_to_channel(freq: u32) -> u8

Convert frequency to channel

Source: wifi.joule:431

fn frequency_to_band(freq: u32) -> WifiBand

Get band from frequency

Source: wifi.joule:451

fn dbm_to_quality(dbm: i8) -> u8

Convert dBm to quality percentage (rough approximation)

Source: wifi.joule:462

fn list_linux_wifi_interfaces() -> Result<Vec<String>, DeviceError>

Source: wifi.joule:476

fn open_linux_wifi(interface_name: &str) -> Result<WifiAdapter, DeviceError>

Source: wifi.joule:494

fn get_linux_wifi_state(adapter: &WifiAdapter) -> Result<WifiState, DeviceError>

Source: wifi.joule:508

fn set_linux_interface_up(interface_name: &str) -> Result<(), DeviceError>

Source: wifi.joule:527

fn socket(domain: i32, socket_type: i32, protocol: i32) -> i32;

Source: wifi.joule:529

fn ioctl(fd: i32, request: u64, ...) -> i32;

Source: wifi.joule:530

fn close(fd: i32) -> i32;

Source: wifi.joule:531

const AF_INET: i32

Source: wifi.joule:534

const SOCK_DGRAM: i32

Source: wifi.joule:535

const SIOCSIFFLAGS: u64

Source: wifi.joule:536

const IFF_UP: i16

Source: wifi.joule:537

struct Ifreq

Source: wifi.joule:540

fn set_linux_interface_down(interface_name: &str) -> Result<(), DeviceError>

Source: wifi.joule:569

fn scan_linux_wifi(_adapter: &WifiAdapter) -> Result<Vec<WifiNetwork>, DeviceError>

Source: wifi.joule:575

fn get_linux_current_network(_adapter: &WifiAdapter) -> Result<Option<WifiNetwork>, DeviceError>

Source: wifi.joule:581

fn connect_linux_wifi(_adapter: &WifiAdapter, _config: &WifiConfig) -> Result<WifiConnection, DeviceError>

Source: wifi.joule:587

fn disconnect_linux_wifi(_adapter: &WifiAdapter) -> Result<(), DeviceError>

Source: wifi.joule:593

fn get_linux_saved_networks() -> Result<Vec<String>, DeviceError>

Source: wifi.joule:598

fn get_linux_mac_address(interface_name: &str) -> Result<[u8; 6], DeviceError>

Source: wifi.joule:604

fn get_linux_link_speed(_adapter: &WifiAdapter) -> Result<u32, DeviceError>

Source: wifi.joule:624

fn list_macos_wifi_interfaces() -> Result<Vec<String>, DeviceError>

Source: wifi.joule:632

fn open_macos_wifi(interface_name: &str) -> Result<WifiAdapter, DeviceError>

Source: wifi.joule:638

fn CWWiFiClient_sharedWiFiClient() -> *mut std::ffi::c_void;

Source: wifi.joule:640

fn get_macos_wifi_state(_adapter: &WifiAdapter) -> Result<WifiState, DeviceError>

Source: wifi.joule:655

fn enable_macos_wifi(_adapter: &WifiAdapter) -> Result<(), DeviceError>

Source: wifi.joule:661

fn disable_macos_wifi(_adapter: &WifiAdapter) -> Result<(), DeviceError>

Source: wifi.joule:666

fn scan_macos_wifi(_adapter: &WifiAdapter) -> Result<Vec<WifiNetwork>, DeviceError>

Source: wifi.joule:671

fn get_macos_current_network(_adapter: &WifiAdapter) -> Result<Option<WifiNetwork>, DeviceError>

Source: wifi.joule:677

fn connect_macos_wifi(_adapter: &WifiAdapter, _config: &WifiConfig) -> Result<WifiConnection, DeviceError>

Source: wifi.joule:682

fn disconnect_macos_wifi(_adapter: &WifiAdapter) -> Result<(), DeviceError>

Source: wifi.joule:687

fn get_macos_saved_networks() -> Result<Vec<String>, DeviceError>

Source: wifi.joule:692

fn get_macos_mac_address(_interface_name: &str) -> Result<[u8; 6], DeviceError>

Source: wifi.joule:697