| <link rel="stylesheet" href="../style.css" /> |
| |
| [TOC] |
| # fuchsia.wlan.policy |
| |
| <div class="fidl-version-div"><span class="fidl-attribute fidl-version">Added: 7</span></div> |
| |
| |
| ## **PROTOCOLS** |
| |
| ## AccessPointController {#AccessPointController} |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=42)* |
| <p>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.</p> |
| |
| |
| ### StartAccessPoint {#AccessPointController.StartAccessPoint} |
| |
| <p>Enables wlan to initiate AccessPoint operation using the provided network |
| configuration, connectivity mode and band.</p> |
| |
| |
| |
| #### Request {#AccessPointController.StartAccessPoint_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>config</code></td> |
| <td> |
| <code><a class='link' href='#NetworkConfig'>NetworkConfig</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>mode</code></td> |
| <td> |
| <code><a class='link' href='#ConnectivityMode'>ConnectivityMode</a></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>band</code></td> |
| <td> |
| <code><a class='link' href='#OperatingBand'>OperatingBand</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#AccessPointController.StartAccessPoint_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.common/'>fuchsia.wlan.common</a>/<a class='link' href='../fuchsia.wlan.common/#RequestStatus'>RequestStatus</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### StopAccessPoint {#AccessPointController.StopAccessPoint} |
| |
| <p>Deactivate AccessPoint operation for a specified network configuration.</p> |
| |
| |
| |
| #### Request {#AccessPointController.StopAccessPoint_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>config</code></td> |
| <td> |
| <code><a class='link' href='#NetworkConfig'>NetworkConfig</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#AccessPointController.StopAccessPoint_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.common/'>fuchsia.wlan.common</a>/<a class='link' href='../fuchsia.wlan.common/#RequestStatus'>RequestStatus</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### StopAllAccessPoints {#AccessPointController.StopAllAccessPoints} |
| |
| <p>Deactivates all AccessPoints currently operating on the device.</p> |
| |
| |
| |
| #### Request {#AccessPointController.StopAllAccessPoints_Request} |
| |
| <EMPTY> |
| |
| |
| ## AccessPointListener {#AccessPointListener} |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=32)* |
| <p>The AccessPointListener API provides a mechanism for callers to receive state change |
| updates about wlan access point operation.</p> |
| |
| |
| ### GetListener {#AccessPointListener.GetListener} |
| |
| <p>Registration for callers to receive wlan access point (ap) mode state updates.</p> |
| |
| |
| |
| #### Request {#AccessPointListener.GetListener_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>updates</code></td> |
| <td> |
| <code><a class='link' href='#AccessPointStateUpdates'>AccessPointStateUpdates</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## AccessPointProvider {#AccessPointProvider} |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=17)* |
| <p>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.</p> |
| <p>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.</p> |
| |
| |
| ### GetController {#AccessPointProvider.GetController} |
| |
| <p>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.</p> |
| |
| |
| |
| #### Request {#AccessPointProvider.GetController_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>requests</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#AccessPointController'>AccessPointController</a>></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>updates</code></td> |
| <td> |
| <code><a class='link' href='#AccessPointStateUpdates'>AccessPointStateUpdates</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## AccessPointStateUpdates {#AccessPointStateUpdates} |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=65)* |
| <p>AccessPoint operation status changes along with associated connection status.</p> |
| |
| |
| ### OnAccessPointStateUpdate {#AccessPointStateUpdates.OnAccessPointStateUpdate} |
| |
| <p>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).</p> |
| |
| |
| |
| #### Request {#AccessPointStateUpdates.OnAccessPointStateUpdate_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>access_points</code></td> |
| <td> |
| <code>vector<<a class='link' href='#AccessPointState'>AccessPointState</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#AccessPointStateUpdates.OnAccessPointStateUpdate_Response} |
| |
| <EMPTY> |
| |
| ## ClientController {#ClientController} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=47)* |
| <p>ClientControllers allow the caller to trigger wlan state changes. This includes |
| whether connections will be attempted, scan triggers and saved network |
| configuration changes.</p> |
| <p>Individual calls provided by the API are triggered after registering with |
| the wlan ClientProvider via the OpenControlChannel call.</p> |
| |
| |
| ### Connect {#ClientController.Connect} |
| |
| <p>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.</p> |
| |
| |
| |
| #### Request {#ClientController.Connect_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>id</code></td> |
| <td> |
| <code><a class='link' href='#NetworkIdentifier'>NetworkIdentifier</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#ClientController.Connect_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.common/'>fuchsia.wlan.common</a>/<a class='link' href='../fuchsia.wlan.common/#RequestStatus'>RequestStatus</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### GetSavedNetworks {#ClientController.GetSavedNetworks} |
| |
| <p>Retrieve the currently saved networks using the provided iterator.</p> |
| |
| |
| |
| #### Request {#ClientController.GetSavedNetworks_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>iterator</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#NetworkConfigIterator'>NetworkConfigIterator</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### RemoveNetwork {#ClientController.RemoveNetwork} |
| |
| <p>Removes a saved network configuration, if one exists. This method will |
| automatically trigger a disconnection if the NetworkConfig was used to |
| establish the connection.</p> |
| |
| |
| |
| #### Request {#ClientController.RemoveNetwork_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>config</code></td> |
| <td> |
| <code><a class='link' href='#NetworkConfig'>NetworkConfig</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#ClientController.RemoveNetwork_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#ClientController_RemoveNetwork_Result'>ClientController_RemoveNetwork_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### SaveNetwork {#ClientController.SaveNetwork} |
| |
| <p>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.</p> |
| |
| |
| |
| #### Request {#ClientController.SaveNetwork_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>config</code></td> |
| <td> |
| <code><a class='link' href='#NetworkConfig'>NetworkConfig</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#ClientController.SaveNetwork_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#ClientController_SaveNetwork_Result'>ClientController_SaveNetwork_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### ScanForNetworks {#ClientController.ScanForNetworks} |
| |
| <p>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. |
| In the current implementation, client connections must be started for a scan |
| to be performed.</p> |
| |
| |
| |
| #### Request {#ClientController.ScanForNetworks_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>iterator</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#ScanResultIterator'>ScanResultIterator</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ### StartClientConnections {#ClientController.StartClientConnections} |
| |
| <p>Enables wlan to initiate connections to networks (either by autoconnecting |
| to saved networks or acting 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). |
| The returned status represents acknowledgement of the request. The |
| ClientListener protocol should be monitored to learn when client functionality |
| has been enabled.</p> |
| |
| |
| |
| #### Request {#ClientController.StartClientConnections_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#ClientController.StartClientConnections_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.common/'>fuchsia.wlan.common</a>/<a class='link' href='../fuchsia.wlan.common/#RequestStatus'>RequestStatus</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ### StopClientConnections {#ClientController.StopClientConnections} |
| |
| <p>Tears down any existing connections to wlan networks and disables initiation of |
| new connections. |
| The returned status represents acknowledgements of the request. The |
| ClientListener protocol should be monitored to learn when client functionality |
| has been disabled.</p> |
| |
| |
| |
| #### Request {#ClientController.StopClientConnections_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#ClientController.StopClientConnections_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.common/'>fuchsia.wlan.common</a>/<a class='link' href='../fuchsia.wlan.common/#RequestStatus'>RequestStatus</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## ClientListener {#ClientListener} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=34)* |
| <p>The ClientListener API provides a mechanism for callers to receive state change |
| updates about wlan operation.</p> |
| |
| |
| ### GetListener {#ClientListener.GetListener} |
| |
| <p>Registration for callers to receive wlan client mode state updates.</p> |
| |
| |
| |
| #### Request {#ClientListener.GetListener_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>updates</code></td> |
| <td> |
| <code><a class='link' href='#ClientStateUpdates'>ClientStateUpdates</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## ClientProvider {#ClientProvider} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=19)* |
| <p>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.</p> |
| <p>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.</p> |
| |
| |
| ### GetController {#ClientProvider.GetController} |
| |
| <p>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.</p> |
| |
| |
| |
| #### Request {#ClientProvider.GetController_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>requests</code></td> |
| <td> |
| <code>server_end<<a class='link' href='#ClientController'>ClientController</a>></code> |
| </td> |
| </tr> |
| <tr> |
| <td><code>updates</code></td> |
| <td> |
| <code><a class='link' href='#ClientStateUpdates'>ClientStateUpdates</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## ClientStateUpdates {#ClientStateUpdates} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=184)* |
| <p>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.</p> |
| |
| |
| ### OnClientStateUpdate {#ClientStateUpdates.OnClientStateUpdate} |
| |
| <p>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).</p> |
| |
| |
| |
| #### Request {#ClientStateUpdates.OnClientStateUpdate_Request} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>summary</code></td> |
| <td> |
| <code><a class='link' href='#ClientStateSummary'>ClientStateSummary</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| #### Response {#ClientStateUpdates.OnClientStateUpdate_Response} |
| |
| <EMPTY> |
| |
| ## NetworkConfigIterator {#NetworkConfigIterator} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=169)* |
| <p>Iterator used by callers to retrieve saved network information.</p> |
| |
| |
| ### GetNext {#NetworkConfigIterator.GetNext} |
| |
| <p>Method allowing the next block of saved networks to be handled.</p> |
| |
| |
| |
| #### Request {#NetworkConfigIterator.GetNext_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#NetworkConfigIterator.GetNext_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>configs</code></td> |
| <td> |
| <code>vector<<a class='link' href='#NetworkConfig'>NetworkConfig</a>></code> |
| </td> |
| </tr> |
| </table> |
| |
| ## ScanResultIterator {#ScanResultIterator} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=117)* |
| <p>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.</p> |
| |
| |
| ### GetNext {#ScanResultIterator.GetNext} |
| |
| <p>Allows caller to request the next set of scan results. |
| After all scan results have been sent, the next call to GetNext will return |
| an empty vector and the channel will be closed. |
| If an error is encountered during the scan, the error will be returned and |
| the channel will be closed. No scan results will be provided.</p> |
| |
| |
| |
| #### Request {#ScanResultIterator.GetNext_Request} |
| |
| <EMPTY> |
| |
| |
| #### Response {#ScanResultIterator.GetNext_Response} |
| |
| <table> |
| <tr><th>Name</th><th>Type</th></tr> |
| <tr> |
| <td><code>result</code></td> |
| <td> |
| <code><a class='link' href='#ScanResultIterator_GetNext_Result'>ScanResultIterator_GetNext_Result</a></code> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **STRUCTS** |
| |
| ### ClientController_RemoveNetwork_Response {#ClientController_RemoveNetwork_Response data-text="ClientController_RemoveNetwork_Response"} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=92)* |
| |
| <EMPTY> |
| |
| ### ClientController_SaveNetwork_Response {#ClientController_SaveNetwork_Response data-text="ClientController_SaveNetwork_Response"} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=85)* |
| |
| <EMPTY> |
| |
| ### Empty {#Empty data-text="Empty"} |
| *Defined in [fuchsia.wlan.policy/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/types.fidl;l=67)* |
| <p>Empty struct used in place of optional values.</p> |
| |
| <EMPTY> |
| |
| ### NetworkIdentifier {#NetworkIdentifier data-text="NetworkIdentifier"} |
| *Defined in [fuchsia.wlan.policy/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/types.fidl;l=24)* |
| <p>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.</p> |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="NetworkIdentifier.ssid"> |
| <td><code>ssid</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.ieee80211/'>fuchsia.wlan.ieee80211</a>/<a class='link' href='../fuchsia.wlan.ieee80211/#Ssid'>Ssid</a></code> |
| </td> |
| <td><p>Network name, often used by users to choose between networks in the UI.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| <tr id="NetworkIdentifier.type"> |
| <td><code>type</code></td> |
| <td> |
| <code><a class='link' href='#SecurityType'>SecurityType</a></code> |
| </td> |
| <td><p>Protection type (or not) for the network.</p> |
| </td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| ### ScanResultIterator_GetNext_Response {#ScanResultIterator_GetNext_Response data-text="ScanResultIterator_GetNext_Response"} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=123)* |
| |
| <table> |
| <tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr> |
| <tr id="ScanResultIterator_GetNext_Response.scan_results"> |
| <td><code>scan_results</code></td> |
| <td> |
| <code>vector<<a class='link' href='#ScanResult'>ScanResult</a>></code> |
| </td> |
| <td></td> |
| <td>No default</td> |
| </tr> |
| </table> |
| |
| |
| ## **ENUMS** |
| |
| ### Compatibility [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Compatibility data-text="Compatibility"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=228)* |
| <p>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.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="Compatibility.SUPPORTED"> |
| <td><h3 id="Compatibility.SUPPORTED" class="add-link hide-from-toc">SUPPORTED</h3></td> |
| <td><code>1</code></td> |
| <td><p>Denotes that the network is supported and connections can be attempted (given |
| appropriate credentials when required).</p> |
| </td> |
| </tr> |
| <tr id="Compatibility.DISALLOWED_INSECURE"> |
| <td><h3 id="Compatibility.DISALLOWED_INSECURE" class="add-link hide-from-toc">DISALLOWED_INSECURE</h3></td> |
| <td><code>2</code></td> |
| <td><p>The network uses a deprecated security protocol and is explicitly not supported.</p> |
| </td> |
| </tr> |
| <tr id="Compatibility.DISALLOWED_NOT_SUPPORTED"> |
| <td><h3 id="Compatibility.DISALLOWED_NOT_SUPPORTED" class="add-link hide-from-toc">DISALLOWED_NOT_SUPPORTED</h3></td> |
| <td><code>3</code></td> |
| <td><p>The network uses a currently unsupported security protocol.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ConnectionState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ConnectionState data-text="ConnectionState"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=264)* |
| <p>Connection states used to update registered wlan observers.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ConnectionState.FAILED"> |
| <td><h3 id="ConnectionState.FAILED" class="add-link hide-from-toc">FAILED</h3></td> |
| <td><code>1</code></td> |
| <td><p>The connection attempt was terminated due to an error.</p> |
| </td> |
| </tr> |
| <tr id="ConnectionState.DISCONNECTED"> |
| <td><h3 id="ConnectionState.DISCONNECTED" class="add-link hide-from-toc">DISCONNECTED</h3></td> |
| <td><code>2</code></td> |
| <td><p>The network is disconnected.</p> |
| </td> |
| </tr> |
| <tr id="ConnectionState.CONNECTING"> |
| <td><h3 id="ConnectionState.CONNECTING" class="add-link hide-from-toc">CONNECTING</h3></td> |
| <td><code>3</code></td> |
| <td><p>The device is attempting a connection to a network.</p> |
| </td> |
| </tr> |
| <tr id="ConnectionState.CONNECTED"> |
| <td><h3 id="ConnectionState.CONNECTED" class="add-link hide-from-toc">CONNECTED</h3></td> |
| <td><code>4</code></td> |
| <td><p>The connection is now established. Note: This does not make any guarantees |
| about higher level network reachability.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ConnectivityMode [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ConnectivityMode data-text="ConnectivityMode"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=100)* |
| <p>Connectivity operating mode for the access point.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ConnectivityMode.LOCAL_ONLY"> |
| <td><h3 id="ConnectivityMode.LOCAL_ONLY" class="add-link hide-from-toc">LOCAL_ONLY</h3></td> |
| <td><code>1</code></td> |
| <td><p>Allows for connectivity between co-located devices. Local only access points do not |
| forward traffic to other network connections.</p> |
| </td> |
| </tr> |
| <tr id="ConnectivityMode.UNRESTRICTED"> |
| <td><h3 id="ConnectivityMode.UNRESTRICTED" class="add-link hide-from-toc">UNRESTRICTED</h3></td> |
| <td><code>2</code></td> |
| <td><p>Allows for full connectivity with traffic potentially being forwarded |
| to other network connections (ex., tethering mode).</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### DisconnectStatus [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#DisconnectStatus data-text="DisconnectStatus"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=280)* |
| <p>Disconnect and connection attempt failure status codes</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="DisconnectStatus.TIMED_OUT"> |
| <td><h3 id="DisconnectStatus.TIMED_OUT" class="add-link hide-from-toc">TIMED_OUT</h3></td> |
| <td><code>1</code></td> |
| <td><p>The requested connection attempt failed due to timeout.</p> |
| </td> |
| </tr> |
| <tr id="DisconnectStatus.CREDENTIALS_FAILED"> |
| <td><h3 id="DisconnectStatus.CREDENTIALS_FAILED" class="add-link hide-from-toc">CREDENTIALS_FAILED</h3></td> |
| <td><code>2</code></td> |
| <td><p>The requested connection attempt failed due to suspected credential failure.</p> |
| </td> |
| </tr> |
| <tr id="DisconnectStatus.CONNECTION_STOPPED"> |
| <td><h3 id="DisconnectStatus.CONNECTION_STOPPED" class="add-link hide-from-toc">CONNECTION_STOPPED</h3></td> |
| <td><code>3</code></td> |
| <td><p>The existing connection was explicitly disconnected by an action of wlan |
| service on this device. This can be the result of wlan connections being |
| disabled, network configuration being removed or a connection attempt to a |
| different network (as examples).</p> |
| </td> |
| </tr> |
| <tr id="DisconnectStatus.CONNECTION_FAILED"> |
| <td><h3 id="DisconnectStatus.CONNECTION_FAILED" class="add-link hide-from-toc">CONNECTION_FAILED</h3></td> |
| <td><code>4</code></td> |
| <td><p>The existing connection failed unexpectedly in a way that is not an |
| explicitly triggered disconnect by the device (or user). Examples |
| of unexpected disconnections include: an underlying error (driver, |
| firmware, etc.), beacon loss, access point failure.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### NetworkConfigChangeError [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#NetworkConfigChangeError data-text="NetworkConfigChangeError"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=241)* |
| <p>Potential error cases for saving and removing network configurations.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="NetworkConfigChangeError.GENERAL_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.GENERAL_ERROR" class="add-link hide-from-toc">GENERAL_ERROR</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="NetworkConfigChangeError.NETWORK_CONFIG_MISSING_FIELD_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.NETWORK_CONFIG_MISSING_FIELD_ERROR" class="add-link hide-from-toc">NETWORK_CONFIG_MISSING_FIELD_ERROR</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| <tr id="NetworkConfigChangeError.NETWORK_CONFIG_WRITE_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.NETWORK_CONFIG_WRITE_ERROR" class="add-link hide-from-toc">NETWORK_CONFIG_WRITE_ERROR</h3></td> |
| <td><code>3</code></td> |
| <td></td> |
| </tr> |
| <tr id="NetworkConfigChangeError.SSID_EMPTY_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.SSID_EMPTY_ERROR" class="add-link hide-from-toc">SSID_EMPTY_ERROR</h3></td> |
| <td><code>4</code></td> |
| <td></td> |
| </tr> |
| <tr id="NetworkConfigChangeError.CREDENTIAL_LEN_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.CREDENTIAL_LEN_ERROR" class="add-link hide-from-toc">CREDENTIAL_LEN_ERROR</h3></td> |
| <td><code>6</code></td> |
| <td></td> |
| </tr> |
| <tr id="NetworkConfigChangeError.INVALID_SECURITY_CREDENTIAL_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.INVALID_SECURITY_CREDENTIAL_ERROR" class="add-link hide-from-toc">INVALID_SECURITY_CREDENTIAL_ERROR</h3></td> |
| <td><code>7</code></td> |
| <td></td> |
| </tr> |
| <tr id="NetworkConfigChangeError.UNSUPPORTED_CREDENTIAL_ERROR"> |
| <td><h3 id="NetworkConfigChangeError.UNSUPPORTED_CREDENTIAL_ERROR" class="add-link hide-from-toc">UNSUPPORTED_CREDENTIAL_ERROR</h3></td> |
| <td><code>8</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### OperatingBand [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#OperatingBand data-text="OperatingBand"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/types.fidl;l=54)* |
| <p>Operating band for wlan control request and status updates.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="OperatingBand.ANY"> |
| <td><h3 id="OperatingBand.ANY" class="add-link hide-from-toc">ANY</h3></td> |
| <td><code>1</code></td> |
| <td><p>Allows for band switching depending on device operating mode and environment.</p> |
| </td> |
| </tr> |
| <tr id="OperatingBand.ONLY_2_4GHZ"> |
| <td><h3 id="OperatingBand.ONLY_2_4GHZ" class="add-link hide-from-toc">ONLY_2_4GHZ</h3></td> |
| <td><code>2</code></td> |
| <td><p>Restricted to 2.4 GHz bands only.</p> |
| </td> |
| </tr> |
| <tr id="OperatingBand.ONLY_5GHZ"> |
| <td><h3 id="OperatingBand.ONLY_5GHZ" class="add-link hide-from-toc">ONLY_5GHZ</h3></td> |
| <td><code>3</code></td> |
| <td><p>Restricted to 5 GHz bands only.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### OperatingState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#OperatingState data-text="OperatingState"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=111)* |
| <p>Current detailed operating state for an access point.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="OperatingState.FAILED"> |
| <td><h3 id="OperatingState.FAILED" class="add-link hide-from-toc">FAILED</h3></td> |
| <td><code>1</code></td> |
| <td><p>Access point operation failed. Access points that enter the failed state will |
| have one update informing registered listeners of the failure and then an |
| additional update with the access point removed from the list.</p> |
| </td> |
| </tr> |
| <tr id="OperatingState.STARTING"> |
| <td><h3 id="OperatingState.STARTING" class="add-link hide-from-toc">STARTING</h3></td> |
| <td><code>2</code></td> |
| <td><p>Access point operation is starting up.</p> |
| </td> |
| </tr> |
| <tr id="OperatingState.ACTIVE"> |
| <td><h3 id="OperatingState.ACTIVE" class="add-link hide-from-toc">ACTIVE</h3></td> |
| <td><code>3</code></td> |
| <td><p>Access point operation is active.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ScanErrorCode [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ScanErrorCode data-text="ScanErrorCode"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=129)* |
| <p>Wlan scan error codes.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="ScanErrorCode.GENERAL_ERROR"> |
| <td><h3 id="ScanErrorCode.GENERAL_ERROR" class="add-link hide-from-toc">GENERAL_ERROR</h3></td> |
| <td><code>1</code></td> |
| <td><p>Unexpected scan error without a specific cause.</p> |
| </td> |
| </tr> |
| <tr id="ScanErrorCode.CANCELLED"> |
| <td><h3 id="ScanErrorCode.CANCELLED" class="add-link hide-from-toc">CANCELLED</h3></td> |
| <td><code>2</code></td> |
| <td><p>Scan was cancelled and stopped. This can happen due to operating state changes, |
| higher priority operations or conflicting requests.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### SecurityType [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#SecurityType data-text="SecurityType"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/types.fidl;l=13)* |
| <p>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.</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="SecurityType.NONE"> |
| <td><h3 id="SecurityType.NONE" class="add-link hide-from-toc">NONE</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="SecurityType.WEP"> |
| <td><h3 id="SecurityType.WEP" class="add-link hide-from-toc">WEP</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| <tr id="SecurityType.WPA"> |
| <td><h3 id="SecurityType.WPA" class="add-link hide-from-toc">WPA</h3></td> |
| <td><code>3</code></td> |
| <td></td> |
| </tr> |
| <tr id="SecurityType.WPA2"> |
| <td><h3 id="SecurityType.WPA2" class="add-link hide-from-toc">WPA2</h3></td> |
| <td><code>4</code></td> |
| <td></td> |
| </tr> |
| <tr id="SecurityType.WPA3"> |
| <td><h3 id="SecurityType.WPA3" class="add-link hide-from-toc">WPA3</h3></td> |
| <td><code>5</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### WlanClientState [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#WlanClientState data-text="WlanClientState"} |
| Type: <code>uint32</code> |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=219)* |
| <p>Wlan operating state for client connections</p> |
| |
| <table> |
| <tr><th>Name</th><th>Value</th><th>Description</th></tr> |
| <tr id="WlanClientState.CONNECTIONS_DISABLED"> |
| <td><h3 id="WlanClientState.CONNECTIONS_DISABLED" class="add-link hide-from-toc">CONNECTIONS_DISABLED</h3></td> |
| <td><code>1</code></td> |
| <td></td> |
| </tr> |
| <tr id="WlanClientState.CONNECTIONS_ENABLED"> |
| <td><h3 id="WlanClientState.CONNECTIONS_ENABLED" class="add-link hide-from-toc">CONNECTIONS_ENABLED</h3></td> |
| <td><code>2</code></td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| ## **TABLES** |
| |
| ### AccessPointState {#AccessPointState data-text="AccessPointState"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=79)* |
| <p>Information about the individual operating access points. This includes limited |
| information about any connected clients.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="AccessPointState.state"> |
| <td><h3 id="AccessPointState.state" class="add-link hide-from-toc">1</h3></td> |
| <td><code>state</code></td> |
| <td> |
| <code><a class='link' href='#OperatingState'>OperatingState</a></code> |
| </td> |
| <td><p>Current access point operating state</p> |
| </td> |
| </tr> |
| <tr id="AccessPointState.mode"> |
| <td><h3 id="AccessPointState.mode" class="add-link hide-from-toc">2</h3></td> |
| <td><code>mode</code></td> |
| <td> |
| <code><a class='link' href='#ConnectivityMode'>ConnectivityMode</a></code> |
| </td> |
| <td><p>Requested operating connectivity mode</p> |
| </td> |
| </tr> |
| <tr id="AccessPointState.band"> |
| <td><h3 id="AccessPointState.band" class="add-link hide-from-toc">3</h3></td> |
| <td><code>band</code></td> |
| <td> |
| <code><a class='link' href='#OperatingBand'>OperatingBand</a></code> |
| </td> |
| <td><p>Access point operating band.</p> |
| </td> |
| </tr> |
| <tr id="AccessPointState.frequency"> |
| <td><h3 id="AccessPointState.frequency" class="add-link hide-from-toc">4</h3></td> |
| <td><code>frequency</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Access point operating frequency (in MHz).</p> |
| </td> |
| </tr> |
| <tr id="AccessPointState.clients"> |
| <td><h3 id="AccessPointState.clients" class="add-link hide-from-toc">5</h3></td> |
| <td><code>clients</code></td> |
| <td> |
| <code><a class='link' href='#ConnectedClientInformation'>ConnectedClientInformation</a></code> |
| </td> |
| <td><p>Information about connected clients</p> |
| </td> |
| </tr> |
| <tr id="AccessPointState.id"> |
| <td><h3 id="AccessPointState.id" class="add-link hide-from-toc">6</h3></td> |
| <td><code>id</code></td> |
| <td> |
| <code><a class='link' href='#NetworkIdentifier'>NetworkIdentifier</a></code> |
| </td> |
| <td><p>Identifying information of the access point whose state has changed.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### Bss {#Bss data-text="Bss"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=153)* |
| <p>Information for a particular ScanResult entry.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="Bss.bssid"> |
| <td><h3 id="Bss.bssid" class="add-link hide-from-toc">1</h3></td> |
| <td><code>bssid</code></td> |
| <td> |
| <code><a class='link' href='../fuchsia.wlan.ieee80211/'>fuchsia.wlan.ieee80211</a>/<a class='link' href='../fuchsia.wlan.ieee80211/#MacAddr'>MacAddr</a></code> |
| </td> |
| <td><p>MAC address for the AP interface.</p> |
| </td> |
| </tr> |
| <tr id="Bss.rssi"> |
| <td><h3 id="Bss.rssi" class="add-link hide-from-toc">2</h3></td> |
| <td><code>rssi</code></td> |
| <td> |
| <code>int8</code> |
| </td> |
| <td><p>Calculated received signal strength for the beacon/probe response.</p> |
| </td> |
| </tr> |
| <tr id="Bss.frequency"> |
| <td><h3 id="Bss.frequency" class="add-link hide-from-toc">3</h3></td> |
| <td><code>frequency</code></td> |
| <td> |
| <code>uint32</code> |
| </td> |
| <td><p>Operating frequency for this network (in MHz).</p> |
| </td> |
| </tr> |
| <tr id="Bss.timestamp_nanos"> |
| <td><h3 id="Bss.timestamp_nanos" class="add-link hide-from-toc">4</h3></td> |
| <td><code>timestamp_nanos</code></td> |
| <td> |
| <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code> |
| </td> |
| <td><p>Time of the scan result relative to when the system was powered on. |
| See https://fuchsia.dev/fuchsia-src/concepts/time/language_support#monotonic_time</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ClientStateSummary {#ClientStateSummary data-text="ClientStateSummary"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=198)* |
| <p>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.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="ClientStateSummary.state"> |
| <td><h3 id="ClientStateSummary.state" class="add-link hide-from-toc">1</h3></td> |
| <td><code>state</code></td> |
| <td> |
| <code><a class='link' href='#WlanClientState'>WlanClientState</a></code> |
| </td> |
| <td><p>State indicating whether wlan will attempt to connect to networks or not.</p> |
| </td> |
| </tr> |
| <tr id="ClientStateSummary.networks"> |
| <td><h3 id="ClientStateSummary.networks" class="add-link hide-from-toc">2</h3></td> |
| <td><code>networks</code></td> |
| <td> |
| <code>vector<<a class='link' href='#NetworkState'>NetworkState</a>></code> |
| </td> |
| <td><p>Active connections, connection attempts or failed connections.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ConnectedClientInformation {#ConnectedClientInformation data-text="ConnectedClientInformation"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/access_point_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/access_point_provider.fidl;l=126)* |
| <p>Connected client information. This is initially limited to the number of |
| connected clients.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="ConnectedClientInformation.count"> |
| <td><h3 id="ConnectedClientInformation.count" class="add-link hide-from-toc">1</h3></td> |
| <td><code>count</code></td> |
| <td> |
| <code>uint8</code> |
| </td> |
| <td><p>Number of connected clients</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### NetworkConfig {#NetworkConfig data-text="NetworkConfig"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/types.fidl;l=33)* |
| <p>Network information used to establish a connection.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="NetworkConfig.id"> |
| <td><h3 id="NetworkConfig.id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>id</code></td> |
| <td> |
| <code><a class='link' href='#NetworkIdentifier'>NetworkIdentifier</a></code> |
| </td> |
| <td><p>Identifier used to represent a specific network. No guarantee for uniqueness.</p> |
| </td> |
| </tr> |
| <tr id="NetworkConfig.credential"> |
| <td><h3 id="NetworkConfig.credential" class="add-link hide-from-toc">2</h3></td> |
| <td><code>credential</code></td> |
| <td> |
| <code><a class='link' href='#Credential'>Credential</a></code> |
| </td> |
| <td><p>Information needed to join a network.</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### NetworkState {#NetworkState data-text="NetworkState"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=207)* |
| <p>Information about current network connections and attempts.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="NetworkState.id"> |
| <td><h3 id="NetworkState.id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>id</code></td> |
| <td> |
| <code><a class='link' href='#NetworkIdentifier'>NetworkIdentifier</a></code> |
| </td> |
| <td><p>Network id for the current connection (or attempt).</p> |
| </td> |
| </tr> |
| <tr id="NetworkState.state"> |
| <td><h3 id="NetworkState.state" class="add-link hide-from-toc">2</h3></td> |
| <td><code>state</code></td> |
| <td> |
| <code><a class='link' href='#ConnectionState'>ConnectionState</a></code> |
| </td> |
| <td><p>Current state for the connection.</p> |
| </td> |
| </tr> |
| <tr id="NetworkState.status"> |
| <td><h3 id="NetworkState.status" class="add-link hide-from-toc">3</h3></td> |
| <td><code>status</code></td> |
| <td> |
| <code><a class='link' href='#DisconnectStatus'>DisconnectStatus</a></code> |
| </td> |
| <td><p>Extra information for debugging or Settings display</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ScanResult {#ScanResult data-text="ScanResult"} |
| |
| |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=140)* |
| <p>Information from an observed wlan network. This includes the |
| network name, security type, detected access point information and network |
| compatibility information.</p> |
| |
| <table> |
| <tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr> |
| <tr id="ScanResult.id"> |
| <td><h3 id="ScanResult.id" class="add-link hide-from-toc">1</h3></td> |
| <td><code>id</code></td> |
| <td> |
| <code><a class='link' href='#NetworkIdentifier'>NetworkIdentifier</a></code> |
| </td> |
| <td><p>Network properties used to distinguish between networks and to group |
| individual APs.</p> |
| </td> |
| </tr> |
| <tr id="ScanResult.entries"> |
| <td><h3 id="ScanResult.entries" class="add-link hide-from-toc">2</h3></td> |
| <td><code>entries</code></td> |
| <td> |
| <code>vector<<a class='link' href='#Bss'>Bss</a>></code> |
| </td> |
| <td><p>Individual access points offering the specified network.</p> |
| </td> |
| </tr> |
| <tr id="ScanResult.compatibility"> |
| <td><h3 id="ScanResult.compatibility" class="add-link hide-from-toc">3</h3></td> |
| <td><code>compatibility</code></td> |
| <td> |
| <code><a class='link' href='#Compatibility'>Compatibility</a></code> |
| </td> |
| <td><p>Indication if the detected network is supported by the implementation.</p> |
| </td> |
| </tr> |
| </table> |
| |
| |
| ## **UNIONS** |
| |
| ### ClientController_RemoveNetwork_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ClientController_RemoveNetwork_Result data-text="ClientController_RemoveNetwork_Result"} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=92)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="ClientController_RemoveNetwork_Result.response"> |
| <td><h3 id="ClientController_RemoveNetwork_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#ClientController_RemoveNetwork_Response'>ClientController_RemoveNetwork_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ClientController_RemoveNetwork_Result.err"> |
| <td><h3 id="ClientController_RemoveNetwork_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#NetworkConfigChangeError'>NetworkConfigChangeError</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### ClientController_SaveNetwork_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ClientController_SaveNetwork_Result data-text="ClientController_SaveNetwork_Result"} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=85)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="ClientController_SaveNetwork_Result.response"> |
| <td><h3 id="ClientController_SaveNetwork_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#ClientController_SaveNetwork_Response'>ClientController_SaveNetwork_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ClientController_SaveNetwork_Result.err"> |
| <td><h3 id="ClientController_SaveNetwork_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#NetworkConfigChangeError'>NetworkConfigChangeError</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| ### Credential [flexible](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#Credential data-text="Credential"} |
| *Defined in [fuchsia.wlan.policy/types.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/types.fidl;l=42)* |
| <p>Information used to verify access to a target network.</p> |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="Credential.none"> |
| <td><h3 id="Credential.none" class="add-link hide-from-toc">1</h3></td> |
| <td><code>none</code></td> |
| <td> |
| <code><a class='link' href='#Empty'>Empty</a></code> |
| </td> |
| <td><p>The network does not use credentials (open networks).</p> |
| </td> |
| </tr> |
| <tr id="Credential.password"> |
| <td><h3 id="Credential.password" class="add-link hide-from-toc">2</h3></td> |
| <td><code>password</code></td> |
| <td> |
| <code>vector<uint8></code> |
| </td> |
| <td><p>Plaintext password (handled as binary data).</p> |
| </td> |
| </tr> |
| <tr id="Credential.psk"> |
| <td><h3 id="Credential.psk" class="add-link hide-from-toc">3</h3></td> |
| <td><code>psk</code></td> |
| <td> |
| <code>vector<uint8></code> |
| </td> |
| <td><p>Hash representation of the network passphrase (handled as binary data).</p> |
| </td> |
| </tr> |
| </table> |
| |
| ### ScanResultIterator_GetNext_Result [strict](/fuchsia-src/reference/fidl/language/language.md#strict-vs-flexible){:.fidl-attribute} {#ScanResultIterator_GetNext_Result data-text="ScanResultIterator_GetNext_Result"} |
| *Defined in [fuchsia.wlan.policy/client_provider.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.wlan.policy/client_provider.fidl;l=123)* |
| <table> |
| <tr><th>Ordinal</th><th>Variant</th><th>Type</th><th>Description</th></tr> |
| <tr id="ScanResultIterator_GetNext_Result.response"> |
| <td><h3 id="ScanResultIterator_GetNext_Result.response" class="add-link hide-from-toc">1</h3></td> |
| <td><code>response</code></td> |
| <td> |
| <code><a class='link' href='#ScanResultIterator_GetNext_Response'>ScanResultIterator_GetNext_Response</a></code> |
| </td> |
| <td></td> |
| </tr> |
| <tr id="ScanResultIterator_GetNext_Result.err"> |
| <td><h3 id="ScanResultIterator_GetNext_Result.err" class="add-link hide-from-toc">2</h3></td> |
| <td><code>err</code></td> |
| <td> |
| <code><a class='link' href='#ScanErrorCode'>ScanErrorCode</a></code> |
| </td> |
| <td></td> |
| </tr> |
| </table> |
| |
| |
| |