Project: /_project.yaml Book: /_book.yaml

fuchsia.wlan.policy

PROTOCOLS

AccessPointProvider {:#AccessPointProvider}

Defined in fuchsia.wlan.policy/access_point_provider.fidl

The AccessPointProvider API provides a mechanism for access point control and is intended to be called by applications or entities representing the user (ex, Settings). This API is not intended to be called by other applications to change wlan state without explicit user control.

The second aim of this API design is to eliminate the “last-caller wins” paradigm by limiting the number of controlling applications. A single caller at a time is permitted to make API calls that impact wlan state.

GetController {:#GetController}

Control channel used by a single caller to trigger wlan access point (ap) mode state changes. The caller also provides a channel to receive wlan ap updates. Only one caller can have the control channel open at a time. Attempts to register as a controller while there is an active control registration will result in the new caller's provided channel being closed.

Request

AccessPointListener {:#AccessPointListener}

Defined in fuchsia.wlan.policy/access_point_provider.fidl

The AccessPointListener API provides a mechanism for callers to receive state change updates about wlan access point operation.

GetListener {:#GetListener}

Registration for callers to receive wlan access point (ap) mode state updates.

Request

AccessPointController {:#AccessPointController}

Defined in fuchsia.wlan.policy/access_point_provider.fidl

AccessPointControllers allow the caller to trigger wlan state changes. This includes whether the device will act as an access point and provide a wlan network for other co-located devices.

StartAccessPoint {:#StartAccessPoint}

Enables wlan to initiate AccessPoint operation using the provided network configuration, connectivity mode and band.

Request

Response

StopAccessPoint {:#StopAccessPoint}

Deactivate AccessPoint operation for a specified network configuration.

Request

Response

StopAllAccessPoints {:#StopAllAccessPoints}

Deactivates all AccessPoints currently operating on the device.

Request

AccessPointStateUpdates {:#AccessPointStateUpdates}

Defined in fuchsia.wlan.policy/access_point_provider.fidl

AccessPoint operation status changes along with associated connection status.

OnAccessPointStateUpdate {:#OnAccessPointStateUpdate}

Updates registered listeners with the current summary of wlan access point operating states. This will be called when there are changes with active access point networks - both the number of access points and their individual activity. Registered listeners are responsible for deciding what information has changed (this is dependent on when they last acknowledged the update).

Request

Response

ClientProvider {:#ClientProvider}

Defined in fuchsia.wlan.policy/client_provider.fidl

The ClientProvider API provides a mechanism for wlan control and is intended to be called by applications or entities representing the user (ex, Settings). This API is not intended to be called by other applications to change wlan state without explicit user control.

The second aim of this API design is to eliminate the “last-caller wins” paradigm by limiting the number of controlling applications. A single caller at a time is permitted to make API calls that impact wlan state.

GetController {:#GetController}

Control channel used by a single caller to trigger wlan client mode state changes. The caller also provides a channel to receive wlan updates. Only one caller can have the control channel open at a time. Attempts to register as a controller while there is an active control registration will result in the new caller's provided channel being closed.

Request

ClientListener {:#ClientListener}

Defined in fuchsia.wlan.policy/client_provider.fidl

The ClientListener API provides a mechanism for callers to receive state change updates about wlan operation.

GetListener {:#GetListener}

Registration for callers to receive wlan client mode state updates.

Request

ClientController {:#ClientController}

Defined in fuchsia.wlan.policy/client_provider.fidl

ClientControllers allow the caller to trigger wlan state changes. This includes whether connections will be attempted, scan triggers and saved network configuration changes.

Individual calls provided by the API are triggered after registering with the wlan ClientProvider via the OpenControlChannel call.

StartClientConnections {:#StartClientConnections}

Enables wlan to initiate connections to networks (either autoconnect to saved networks or act on incoming calls triggering connections). Depending on the underlying capabilities of the device, this call may impact other device operation (for example, acting as an access point).

Request

Response

StopClientConnections {:#StopClientConnections}

Disables connections to wlan networks and tears down any existing connections.

Request

Response

ScanForNetworks {:#ScanForNetworks}

Triggers a network scan. Note, even in normal operation, some scan requests may be rejected due to timing with connection establishment or other critical connection maintenance. If the scan is cancelled or errors, the caller is notified via a status update in the ScanResultIterator.

Request

SaveNetwork {:#SaveNetwork}

Saves a network and any credential information needed to connect. Multiple entries for the same NetworkIdentifier can exist if the credentials are different. If a caller attempts to save a NetworkConfig with the same NetworkIdentifier and same Credentials as a previously saved network the method will effectively be a no-op.

Request

Response

RemoveNetwork {:#RemoveNetwork}

Removes a saved network configuration, if one exists. This method will automatically trigger a disconnection if the NetworkConfig was used to establish the connection.

Request

Response

GetSavedNetworks {:#GetSavedNetworks}

Retrieve the currently saved networks using the provided iterator.

Request

Connect {:#Connect}

Request to attempt a connection to the specified network. The target of the connect call must already be a saved network. This call is not a blocking call for the duration of the connection attempt. If the call cannot be immediately attempted, a failure status will be returned. If the connection request will be attempted, an acknowledgment status will be returned. Updates to the connection status are disseminated via the ClientStateUpdates protocol. If the connect attempt fails, the service will fall back to default behavior with scanning and connecting via network selection.

Request

Response

ScanResultIterator {:#ScanResultIterator}

Defined in fuchsia.wlan.policy/client_provider.fidl

Iterator used to send back scan results to the caller. The corresponding channel will be closed after the scan is complete and results are returned or fails due to an error.

GetNext {:#GetNext}

Allows caller to request the next set of scan results. When all scan results have been handled, GetNext will return an empty vector and the channel will be closed. If an error is encountered during the scan, it will be returned after all scan results have been retrieved.

Request

Response

NetworkConfigIterator {:#NetworkConfigIterator}

Defined in fuchsia.wlan.policy/client_provider.fidl

Iterator used by callers to retrieve saved network information.

GetNext {:#GetNext}

Method allowing the next block of saved networks to be handled.

Request

Response

ClientStateUpdates {:#ClientStateUpdates}

Defined in fuchsia.wlan.policy/client_provider.fidl

Wlan status changes for client connections and the associated network state. These updates contain information about whether or not the device will attempt to connect to networks, saved network configuration change information, individual connection state information by NetworkIdentifier and connection attempt information. The connection and network related calls are based on NetworkIdentifier to allow multiple simultaneous connections on supporting devices.

OnClientStateUpdate {:#OnClientStateUpdate}

Updates registered listeners with the current summary of wlan client state. This will be called when there is any change to the state and the registered listeners are responsible for deciding what information has changed (since this is dependent on when they last acknowledged the update).

Request

Response

STRUCTS

ClientController_SaveNetwork_Response {:#ClientController_SaveNetwork_Response}

generated

ClientController_RemoveNetwork_Response {:#ClientController_RemoveNetwork_Response}

generated

ScanResultIterator_GetNext_Response {:#ScanResultIterator_GetNext_Response}

generated

NetworkIdentifier {:#NetworkIdentifier}

Defined in fuchsia.wlan.policy/types.fidl

Primary means of distinguishing between available networks - the combination of the (mostly) human recognizable name and the security type. The security type is used to distinguish between different network protection (or lack thereof) types.

Empty {:#Empty}

Defined in fuchsia.wlan.policy/types.fidl

Empty struct used in place of optional values.

ENUMS

ConnectivityMode {:#ConnectivityMode}

Type: uint32

Defined in fuchsia.wlan.policy/access_point_provider.fidl

Connectivity operating mode for the access point.

OperatingState {:#OperatingState}

Type: uint32

Defined in fuchsia.wlan.policy/access_point_provider.fidl

Current detailed operating state for an access point.

ScanErrorCode {:#ScanErrorCode}

Type: uint32

Defined in fuchsia.wlan.policy/client_provider.fidl

Wlan scan error codes.

WlanClientState {:#WlanClientState}

Type: uint32

Defined in fuchsia.wlan.policy/client_provider.fidl

Wlan operating state for client connections

Compatibility {:#Compatibility}

Type: uint32

Defined in fuchsia.wlan.policy/client_provider.fidl

High level compatibility for the scan result. Not all network security protocols are supported. New protocols may be detected before they are connectable and deprecated protocols may explicitly be unsupported due to security and privacy concerns.

NetworkConfigChangeError {:#NetworkConfigChangeError}

Type: uint32

Defined in fuchsia.wlan.policy/client_provider.fidl

Potential error cases for saving and removing network configurations. This is intentionally sparse and will be expanded as use cases develop.

ConnectionState {:#ConnectionState}

Type: uint32

Defined in fuchsia.wlan.policy/client_provider.fidl

Connection states used to update registered wlan observers.

DisconnectStatus {:#DisconnectStatus}

Type: uint32

Defined in fuchsia.wlan.policy/client_provider.fidl

Disconnect and connection attempt failure status codes

SecurityType {:#SecurityType}

Type: uint32

Defined in fuchsia.wlan.policy/types.fidl

High level protection type for the network. This does not convey all details needed for the mechanism of the connection, but is primarily used to map the target network to proper scan results.

OperatingBand {:#OperatingBand}

Type: uint32

Defined in fuchsia.wlan.policy/types.fidl

Operating band for wlan control request and status updates.

TABLES

AccessPointState {:#AccessPointState}

Defined in fuchsia.wlan.policy/access_point_provider.fidl

Information about the individual operating access points. This includes limited information about any connected clients.

ConnectedClientInformation {:#ConnectedClientInformation}

Defined in fuchsia.wlan.policy/access_point_provider.fidl

Connected client information. This is initially limited to the number of connected clients.

ScanResult {:#ScanResult}

Defined in fuchsia.wlan.policy/client_provider.fidl

Information from an observed wlan network. This includes the network name, security type, detected access point information and network compatibility information.

Bss {:#Bss}

Defined in fuchsia.wlan.policy/client_provider.fidl

Information for a particular ScanResult entry.

ClientStateSummary {:#ClientStateSummary}

Defined in fuchsia.wlan.policy/client_provider.fidl

Information about the current client state for the device. This includes if the device will attempt to connect to access points (when applicable), any existing connections and active connection attempts and their outcomes.

NetworkState {:#NetworkState}

Defined in fuchsia.wlan.policy/client_provider.fidl

Information about current network connections and attempts.

NetworkConfig {:#NetworkConfig}

Defined in fuchsia.wlan.policy/types.fidl

Network information used to establish a connection.

UNIONS

ClientController_SaveNetwork_Result {:#ClientController_SaveNetwork_Result}

generated

ClientController_RemoveNetwork_Result {:#ClientController_RemoveNetwork_Result}

generated

ScanResultIterator_GetNext_Result {:#ScanResultIterator_GetNext_Result}

generated

XUNIONS

Credential {:#Credential}

Defined in fuchsia.wlan.policy/types.fidl

Information used to verify access to a target network.