Expand description
WPA controller
§Usage
use wpa_ctrl::{WpaControlReq, WpaControllerBuilder};
const WPA_CTRL_BUILD: WpaControllerBuilder<'static> = WpaControllerBuilder::new();
let mut ctrl = match WPA_CTRL_BUILD.open("wlan0") {
Ok(ctrl) => ctrl.into_buffered(),
Err(error) => panic!("Cannot open wlan0"),
};
ctrl.request(WpaControlReq::status()).expect("Successful command");
while let Some(resp) = ctrl.recv().expect("To read message") {
//Skip messages that are not intended as responses
if resp.is_unsolicited() {
continue;
}
if let Some(status) = resp.as_status() {
println!("Network status={:?}", status);
break;
}
}§Usage scenarios
§Add new network
- Optionally
scanand check list of networks usingscan_results add_networkwhich returns returnsidof networkset_network <id> ssid "network name"which specifies network’s name to associate withset_network <id> psk "WAP password"which specifies WPA password, only usable when network requires WPA securityset_network <id> key_mgmt NONEwhich specifies no security, required to connect to networks without passwordselect_network <id>- Select network for use.save_config- Optionally to save configuration.
§Reconnect
- Optionally
disconnect; - Run
reassociateto start process of connecting to currently selected network
Structs§
- Buffered
WpaController - WpaController with own buffer
- Fail
- Indicates failure of command
- Id
- Network id
- Options
- Options to control behavior when creating instance
- Pong
- Pong Message
- Quoted
Value - Surrounds value with quotes, useful when setting
ssidorpsk - Success
- Indicates success of command
- WpaControl
Message - Message.
- WpaControl
Req - Request type
- WpaController
- WPA controller
- WpaController
Builder - Client builder
- WpaNetwork
- Network description
- WpaNetwork
Flags - Network’s flag, describing its current state.
- WpaNetwork
List - Iterator over list of networks
- WpaScan
Result - Scan result’s item description
- WpaScan
Result Flags - Network’s flags in scan results
- WpaScan
Results - Iterator over list of networks
- WpaStatus
- Interface status
Enums§
- WpaAuth
- Describes network’s auth method
- WpaEncryption
- Describes network’s encryption method
- WpaState
- Interface state
Traits§
- Suffix
Generator - Suffix Generator for socket name