# Station management

**Detailed Description**

This section contains APIs related to station configuration management, such as static/dynamic IP, bridge/router mode, etc.

- *group* Telematics\_wlan\_station

    - Typedefs

- using NetworkId = uint16\_t

    - Network identifier is a unique serial number assigned to each configured network, It serves as an index to reference and manage the persistent network settings. Network identifiers remain consistent across operations as long as the wpa\_supplicant daemon is active. If the daemon is restarted, these identifiers may be reassigned, which can change their mapping to specific network configurations.

- using Priority = uint16\_t

    - Priority is used to determine the order in which persistent network configurations are selected when multiple network entries are present and network with higher priority value is preferred over those with lower values, it should be set to 0 if you do not want specify priority.

Enums

- enum StaIpConfig

    - Station Connection IP Type.

*Values:*

- enumerator DYNAMIC\_IP

    - Station is configured with dynamic IP

- enumerator STATIC\_IP

    - Station is configured with Static IP

- enum StaBridgeMode

    - Bridge/Router Mode.

*Values:*

- enumerator ROUTER

    - Station is in Router Mode

- enumerator BRIDGE

    - Station is in Bridge Mode

Functions

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setIpConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, [StaIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv411StaIpConfig) ipConfig, StaStaticIpConfig staticIpConfig) = 0

    - Set Station IP Configurations: Set Station IP configuration dynamic/static and static IP address if selected. If API is called when WLAN is disabled, changes will take effect when WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API. If API is called when WLAN is enabled, changes will take effect after restarting wpa\_supplicant by calling [telux::wlan::IStaInterfaceManager::manageStaService](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gaf655773ea2f0d89324e0624142bf30e3)

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **ipConfig** – **[in]** Static/Dynamic IP configuration [telux::wlan::StaIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00028_1gab88e75f984c2778060d174b259b0c662.html#a00028_1gab88e75f984c2778060d174b259b0c662).
- **staticIpConfig** – **[in]** Static IP configuration, not used if station was configured to use dynamic IP.

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setBridgeMode([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, [StaBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv413StaBridgeMode) bridgeMode) = 0

    - Set Station backhaul to act as router or bridge: Sets Station to act as router or bridge where station internal clients get public IP addresses. If API is called when WLAN is disabled, changes will take effect when WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API. If API is called when WLAN is enabled, changes will take effect after restarting wpa\_supplicant by calling [telux::wlan::IStaInterfaceManager::manageStaService](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gaf655773ea2f0d89324e0624142bf30e3)

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **bridgeMode** – **[in]** bridgeMode [telux::wlan::StaBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00028_1ga050d0ca0e5b18fa58a4e50586471c105.html#a00028_1ga050d0ca0e5b18fa58a4e50586471c105)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) enableHotspot2([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, bool enable) = 0

    - Enable Hotspot 2.0 Support

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **enable** – **[in]** True: enable Hotspot support, False disable support

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getConfig(std::vector&lt;StaConfig&gt; &config) = 0

    - Request current station configurations: Returns configurations set by [telux::wlan::IStaInterfaceManager::setIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga5cfa8b3e442cad4d7779cd03639f5571) and [telux::wlan::IStaInterfaceManager::setBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga0438678b184cd70341a70e535172ef54)

- Parameters:

    - **config** – **[in]** Station configurations [telux::wlan::StaConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00792)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getStatus(std::vector&lt;StaStatus&gt; &status) = 0

    - Request current station status: Returns current Sta interface status such as network interface name and IP address.

- Parameters:

    - **status** – **[in]** Station Status [telux::wlan::StaStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00799)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) startScan([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId) = 0

    - Initiates a scan for available Wi-Fi access points in the vicinity. Scan results are notified via [telux::wlan::IStaListener::onScanResultUpdated](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga87c729872b78148755aeb62d63a2b981).

The scan process internally generates five batches of result notifications, providing progressive updates as access points are discovered, unless the station is stopped before scan completion. If a scan is already in progress, any subsequent request will be returned with telux::common::ErrorCode::DEVICE\_IN\_USE.

This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) addNetworkConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, const StaNetworkConfigEntry &network) = 0

    - Add a network configuration entry to configure various parameters associated with a specific network and store the saved network settings persistently. This request will internally attempt to connect to the SSID tied to the configured network if there is no active connection, regardless of its priority compared to other configured networks, provided that the network is not disabled. The connection status is notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608). This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Preferential connection to a specific band set via [telux::wlan::StaNetworkConfigEntry::band](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gad2cfc76c72542936b414c0543e7fea89) is established or maintained only if the link to the external AP remains stable. Otherwise, this preference is ignored and the STA connects to an AP that can provide a reliable radio link without considering the band that it operates on.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **network** – **[in]** Station network config entry [telux::wlan::StaNetworkConfigEntry](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00790)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) removeNetworkConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, [NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv49NetworkId) networkId) = 0

    - Remove the specified network configuration entry from the saved network configurations. Subsequently, disconnect from the external AP if it is the active connection. Upon disconnection, an attempt is made to connect to another saved network, based on priority or availability. Connection status is notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608). This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **networkId** – **[in]** Station network Id [telux::wlan::NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8b94183db70549752189cb5f5cd8a6f1)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getNetworkConfigs([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, std::vector&lt;StaNetworkConfigInfo&gt; &network) = 0

    - Retrieve the list of network block entries stored in the saved network configurations. This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **network** – **[in]** Vector of Station network configs from persistent configuration [telux::wlan::StaNetworkConfigInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00791)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) connect([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, [NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv49NetworkId) networkId) = 0

    - Connect to the specified network ID from the saved network configurations. Details on the connection status are notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608).

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **networkId** – **[in]** Station network Id [telux::wlan::NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8b94183db70549752189cb5f5cd8a6f1)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) disconnect([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId) = 0

    - Disconnect from the active station connection. Details on the disconnection status are notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608).

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) manageStaService([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId, [ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv416ServiceOperation) opr) = 0

    - Execute an operation on wpa\_supplicant service. Provides ability for client to either stop/start or restart wpa\_supplicant service for selected station. Restarting wpa\_supplicant service is required for any changes made to wpa\_supplicant.conf file to take effect. Station selected to execute operation on, will temporarily go out of service when this API is called. This API should be called only after station mode is configured through telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station identifier to execute operation on. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **opr** – **[in]** Operation to be performed on wpa\_supplicant [telux::wlan::ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1gaee560caa8503ffc2f71b0cdea602592f)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) registerListener(std::weak\_ptr&lt;IStaListener&gt; listener) = 0

    - Register as a listener for specific events defined in [telux::wlan::IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00796)

- Parameters:

    - **listener** – **[in]** pointer of [IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00796) object that processes the notification

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) deregisterListener(std::weak\_ptr&lt;IStaListener&gt; listener) = 0

    - Removes a previously added listener.

- Parameters:

    - **listener** – **[in]** pointer of [IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00796) object that needs to be removed

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- inline virtual ~IStaInterfaceManager()

    - 

- inline virtual void onStationStatusChanged(std::vector&lt;StaStatus&gt; staStatus)

    - This function is called when Station Status Changes

- Parameters:

    - **status** – **[in]** List of station state [telux::wlan::StaStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00799)

- inline virtual void onScanResultUpdated(const StaScanResult &staScanResult)

    - This function is triggered upon receiving the station scan results. The results may be received in batches. The final indication in the sequence is identified by the flag [telux::wlan::StaScanResult::isScanComplete](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8fa5b3056c484f5230b350a5b9566b72) being set to true. This indication is sent exclusively to the client that initiated the scan request via [telux::wlan::IStaInterfaceManager::startScan](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8af65b94b072caa548eb68dec1dd64be)

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **staScanResult** – **[in]** Station scan result [telux::wlan::StaScanResult](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00794)

- inline virtual void onStationBandChanged([BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv48BandType) band)

    - This function is called when Station switch to different operation band

- Parameters:

    - **band** – **[in]** New Station operation band [telux::wlan::BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga6880eb6b46f211d4e68f217e977f5bde)

- inline virtual ~IStaListener()

    -

Variables

- std::string ipAddr

    - IPv4 address to be assigned.

- std::string gwIpAddr

    - IPv4 address of the gateway.

- std::string netMask

    - Subnet mask.

- std::string dnsAddr

    - DNS IPv4 address.

- std::string ssid

    - SSID of external Access point

- [Priority](https://docs.qualcomm.com/doc/80-PF458-2/topic/cpp_apis.html#_CPPv48Priority) priority

    - Priority to determine the preferred network

- [BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv48BandType) band

    - Operation band type

- std::string bssid

    - BSSID/MAC address of external access point

- std::string passPhrase

    - Passphrase of external Access point

- bool enable

    - Flag to control connection behavior.
    Copy to clipboard

 When set to true, initiates a connection to this configured network if the station is not already connected, regardless of its priority, and also updates the network configuration to persistent settings. When set to false, only updates the network configuration to persistent settings without attempting a connection.

- [NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv49NetworkId) networkId

    - Identifier associated with network

- bool isCurrent

    - Indicates whether this is the active
    Copy to clipboard

 network configuration

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId

    - Id of station backhaul

- [StaIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv411StaIpConfig) ipConfig

    - IP configuration of station backhaul

- StaStaticIpConfig staticIpConfig

    - Static IP configuration if selected

- [StaBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv413StaBridgeMode) bridgeMode

    - Station configuration as Router/bridge

- std::string ssid

    - SSID of external AP

- std::string bssid

    - BSSID/MAC address of external AP

- [BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv48BandType) band

    - Operation band type

- std::string securityFlags

    - Describes the authentication, key management, and encryption schemes supported by the external access point. Below is an example format of the string, indicating that the external AP network utilizes WPA2 for authentication. PSK denotes the key management method, while CCMP specifies the encryption protocol employed. ESS signifies that the network operates in standard infrastructure mode. Example: [WPA2-PSK-CCMP][ESS]

- int16\_t signalStrength

    - The detected signal level, measured in dBm and referred to as RSSI, ranges from -100 dBm for the weakest signal to 0 dBm for the strongest possible signal strength

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv42Id) staId

    - Id of station backhaul

- std::vector&lt;ExternalApInfo&gt; externalApList

    - List of scanned External Access point details

- uint8\_t batchIndex

    - This value serves as the order index for the batched scan results. Batching is performed when the number of APs in the scan results exceeds the capacity of a single batch, the details are communicated through multiple indications. i.e. in batches

- bool isScanComplete

    - Indicates this scan result is the last of the batches.

- struct StaStaticIpConfig

    - Static IP Configuration.

Public Members

- std::string ipAddr

    - IPv4 address to be assigned.

- std::string gwIpAddr

    - IPv4 address of the gateway.

- std::string netMask

    - Subnet mask.

- std::string dnsAddr

    - DNS IPv4 address.

- struct StaNetworkConfig

    - Station base network configuration.

Subclassed by [telux::wlan::StaNetworkConfigEntry](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00790), [telux::wlan::StaNetworkConfigInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00791)

Public Members

- std::string ssid

    - SSID of external Access point

- [Priority](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00028_1ga5672c7829a330ee81b42b50ba2d966ca.html#_CPPv4N5telux4wlan8PriorityE) priority

    - Priority to determine the preferred network

- [BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga6880eb6b46f211d4e68f217e977f5bde.html#_CPPv4N5telux4wlan8BandTypeE) band

    - Operation band type

- std::string bssid

    - BSSID/MAC address of external access point

- struct StaNetworkConfigEntry : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[wlan](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux4wlanE)::[StaNetworkConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan16StaNetworkConfigE)

    - Input entry for station network configuration, containing details needed by WLAN station to connect to an external access point.

Public Members

- std::string passPhrase

    - Passphrase of external Access point

- bool enable

    - Flag to control connection behavior.
    Copy to clipboard

 When set to true, initiates a connection to this configured network if the station is not already connected, regardless of its priority, and also updates the network configuration to persistent settings. When set to false, only updates the network configuration to persistent settings without attempting a connection.

- struct StaNetworkConfigInfo : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[wlan](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux4wlanE)::[StaNetworkConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan16StaNetworkConfigE)

    - Query listing from WLAN station network configurations.

Public Members

- [NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00028_1ga8b94183db70549752189cb5f5cd8a6f1.html#_CPPv4N5telux4wlan9NetworkIdE) networkId

    - Identifier associated with network

- bool isCurrent

    - Indicates whether this is the active
    Copy to clipboard

 network configuration

- struct StaConfig

    - Station Configuration

Public Members

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId

    - Id of station backhaul

- [StaIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux4wlan11StaIpConfigE) ipConfig

    - IP configuration of station backhaul

- [StaStaticIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan17StaStaticIpConfigE) staticIpConfig

    - Static IP configuration if selected

- [StaBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux4wlan13StaBridgeModeE) bridgeMode

    - Station configuration as Router/bridge

- struct ExternalApInfo

    - Details of an individual external access point (AP) discovered during a WLAN station scan. An external AP refers to a Wi-Fi network that the WLAN station can connect to.

Public Members

- std::string ssid

    - SSID of external AP

- std::string bssid

    - BSSID/MAC address of external AP

- [BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga6880eb6b46f211d4e68f217e977f5bde.html#_CPPv4N5telux4wlan8BandTypeE) band

    - Operation band type

- std::string securityFlags

    - Describes the authentication, key management, and encryption schemes supported by the external access point. Below is an example format of the string, indicating that the external AP network utilizes WPA2 for authentication. PSK denotes the key management method, while CCMP specifies the encryption protocol employed. ESS signifies that the network operates in standard infrastructure mode. Example: [WPA2-PSK-CCMP][ESS]

- int16\_t signalStrength

    - The detected signal level, measured in dBm and referred to as RSSI, ranges from -100 dBm for the weakest signal to 0 dBm for the strongest possible signal strength

- struct StaScanResult

    - Station Scan result

Public Members

- [Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId

    - Id of station backhaul

- std::vector&lt;[ExternalApInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan14ExternalApInfoE)&gt; externalApList

    - List of scanned External Access point details

- uint8\_t batchIndex

    - This value serves as the order index for the batched scan results. Batching is performed when the number of APs in the scan results exceeds the capacity of a single batch, the details are communicated through multiple indications. i.e. in batches

- bool isScanComplete

    - Indicates this scan result is the last of the batches.

- class IStaInterfaceManager

    - Manager class for configuring Wlan Station Mode.

Public Functions

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setIpConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, [StaIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux4wlan11StaIpConfigE) ipConfig, [StaStaticIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan17StaStaticIpConfigE) staticIpConfig) = 0

    - Set Station IP Configurations: Set Station IP configuration dynamic/static and static IP address if selected. If API is called when WLAN is disabled, changes will take effect when WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API. If API is called when WLAN is enabled, changes will take effect after restarting wpa\_supplicant by calling [telux::wlan::IStaInterfaceManager::manageStaService](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gaf655773ea2f0d89324e0624142bf30e3)

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **ipConfig** – **[in]** Static/Dynamic IP configuration [telux::wlan::StaIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00028_1gab88e75f984c2778060d174b259b0c662.html#a00028_1gab88e75f984c2778060d174b259b0c662).
- **staticIpConfig** – **[in]** Static IP configuration, not used if station was configured to use dynamic IP.

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) setBridgeMode([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, [StaBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux4wlan13StaBridgeModeE) bridgeMode) = 0

    - Set Station backhaul to act as router or bridge: Sets Station to act as router or bridge where station internal clients get public IP addresses. If API is called when WLAN is disabled, changes will take effect when WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API. If API is called when WLAN is enabled, changes will take effect after restarting wpa\_supplicant by calling [telux::wlan::IStaInterfaceManager::manageStaService](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gaf655773ea2f0d89324e0624142bf30e3)

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **bridgeMode** – **[in]** bridgeMode [telux::wlan::StaBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00028_1ga050d0ca0e5b18fa58a4e50586471c105.html#a00028_1ga050d0ca0e5b18fa58a4e50586471c105)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) enableHotspot2([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, bool enable) = 0

    - Enable Hotspot 2.0 Support

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **enable** – **[in]** True: enable Hotspot support, False disable support

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getConfig(std::vector&lt;[StaConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan9StaConfigE)&gt; &config) = 0

    - Request current station configurations: Returns configurations set by [telux::wlan::IStaInterfaceManager::setIpConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga5cfa8b3e442cad4d7779cd03639f5571) and [telux::wlan::IStaInterfaceManager::setBridgeMode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga0438678b184cd70341a70e535172ef54)

- Parameters:

    - **config** – **[in]** Station configurations [telux::wlan::StaConfig](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00792)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getStatus(std::vector&lt;[StaStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv4N5telux4wlan9StaStatusE)&gt; &status) = 0

    - Request current station status: Returns current Sta interface status such as network interface name and IP address.

- Parameters:

    - **status** – **[in]** Station Status [telux::wlan::StaStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00799)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) startScan([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId) = 0

    - Initiates a scan for available Wi-Fi access points in the vicinity. Scan results are notified via [telux::wlan::IStaListener::onScanResultUpdated](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga87c729872b78148755aeb62d63a2b981).

The scan process internally generates five batches of result notifications, providing progressive updates as access points are discovered, unless the station is stopped before scan completion. If a scan is already in progress, any subsequent request will be returned with telux::common::ErrorCode::DEVICE\_IN\_USE.

This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) addNetworkConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, const [StaNetworkConfigEntry](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan21StaNetworkConfigEntryE) &network) = 0

    - Add a network configuration entry to configure various parameters associated with a specific network and store the saved network settings persistently. This request will internally attempt to connect to the SSID tied to the configured network if there is no active connection, regardless of its priority compared to other configured networks, provided that the network is not disabled. The connection status is notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608). This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Preferential connection to a specific band set via [telux::wlan::StaNetworkConfigEntry::band](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gad2cfc76c72542936b414c0543e7fea89) is established or maintained only if the link to the external AP remains stable. Otherwise, this preference is ignored and the STA connects to an AP that can provide a reliable radio link without considering the band that it operates on.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **network** – **[in]** Station network config entry [telux::wlan::StaNetworkConfigEntry](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00790)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) removeNetworkConfig([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, [NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00028_1ga8b94183db70549752189cb5f5cd8a6f1.html#_CPPv4N5telux4wlan9NetworkIdE) networkId) = 0

    - Remove the specified network configuration entry from the saved network configurations. Subsequently, disconnect from the external AP if it is the active connection. Upon disconnection, an attempt is made to connect to another saved network, based on priority or availability. Connection status is notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608). This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **networkId** – **[in]** Station network Id [telux::wlan::NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8b94183db70549752189cb5f5cd8a6f1)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) getNetworkConfigs([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, std::vector&lt;[StaNetworkConfigInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan20StaNetworkConfigInfoE)&gt; &network) = 0

    - Retrieve the list of network block entries stored in the saved network configurations. This API should be called only after WLAN is enabled using [telux::wlan::IWlanDeviceManager::enable](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga8c1048108dc0654b28d695674356ffdc) API and required number of STAs are configured using telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **network** – **[in]** Vector of Station network configs from persistent configuration [telux::wlan::StaNetworkConfigInfo](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00791)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) connect([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, [NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/typedef_a00028_1ga8b94183db70549752189cb5f5cd8a6f1.html#_CPPv4N5telux4wlan9NetworkIdE) networkId) = 0

    - Connect to the specified network ID from the saved network configurations. Details on the connection status are notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608).

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **networkId** – **[in]** Station network Id [telux::wlan::NetworkId](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8b94183db70549752189cb5f5cd8a6f1)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) disconnect([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId) = 0

    - Disconnect from the active station connection. Details on the disconnection status are notified via [telux::wlan::IStaListener::onStationStatusChanged](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1gae42966c7c2598bcae320c37870c46608).

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **staId** – **[in]** Station Identifier [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) manageStaService([Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga242a7978aad8f8b802d953873f0742ef.html#_CPPv4N5telux4wlan2IdE) staId, [ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1gaee560caa8503ffc2f71b0cdea602592f.html#_CPPv4N5telux4wlan16ServiceOperationE) opr) = 0

    - Execute an operation on wpa\_supplicant service. Provides ability for client to either stop/start or restart wpa\_supplicant service for selected station. Restarting wpa\_supplicant service is required for any changes made to wpa\_supplicant.conf file to take effect. Station selected to execute operation on, will temporarily go out of service when this API is called. This API should be called only after station mode is configured through telux::wlan::IDeviceManager::setMode

On platforms with Access control enabled, caller needs to have TELUX\_WLAN\_STA\_CONFIG permission to invoke this API successfully.

- Parameters:

    - - **staId** – **[in]** Station identifier to execute operation on. [telux::wlan::Id](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga242a7978aad8f8b802d953873f0742ef)
- **opr** – **[in]** Operation to be performed on wpa\_supplicant [telux::wlan::ServiceOperation](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1gaee560caa8503ffc2f71b0cdea602592f)

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) registerListener(std::weak\_ptr&lt;[IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00796.html#_CPPv4N5telux4wlan12IStaListenerE)&gt; listener) = 0

    - Register as a listener for specific events defined in [telux::wlan::IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00796)

- Parameters:

    - **listener** – **[in]** pointer of [IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00796) object that processes the notification

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- virtual [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6common9ErrorCodeE) deregisterListener(std::weak\_ptr&lt;[IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00796.html#_CPPv4N5telux4wlan12IStaListenerE)&gt; listener) = 0

    - Removes a previously added listener.

- Parameters:

    - **listener** – **[in]** pointer of [IStaListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00796) object that needs to be removed

- Returns:

    - operation error code (if any). [telux::common::ErrorCode](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00023_1ga84acdb74b7d34616b1ca497c7369810d.html#a00023_1ga84acdb74b7d34616b1ca497c7369810d).

- inline virtual ~IStaInterfaceManager()

    -

- class IStaListener : public [telux](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv45telux)::[common](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#_CPPv4N5telux6commonE)::[ISDKListener](https://docs.qualcomm.com/doc/80-PF458-2/topic/class_a00046.html#_CPPv4N5telux6common12ISDKListenerE)

    - Public Functions

- inline virtual void onStationStatusChanged(std::vector&lt;[StaStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/wlan_device_management.html#_CPPv4N5telux4wlan9StaStatusE)&gt; staStatus)

    - This function is called when Station Status Changes

- Parameters:

    - **status** – **[in]** List of station state [telux::wlan::StaStatus](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00799)

- inline virtual void onScanResultUpdated(const [StaScanResult](https://docs.qualcomm.com/doc/80-PF458-2/topic/station_management.html#_CPPv4N5telux4wlan13StaScanResultE) &staScanResult)

    - This function is triggered upon receiving the station scan results. The results may be received in batches. The final indication in the sequence is identified by the flag [telux::wlan::StaScanResult::isScanComplete](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8fa5b3056c484f5230b350a5b9566b72) being set to true. This indication is sent exclusively to the client that initiated the scan request via [telux::wlan::IStaInterfaceManager::startScan](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00028_1ga8af65b94b072caa548eb68dec1dd64be)

Note

Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.

- Parameters:

    - **staScanResult** – **[in]** Station scan result [telux::wlan::StaScanResult](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00794)

- inline virtual void onStationBandChanged([BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/enum_a00003_1ga6880eb6b46f211d4e68f217e977f5bde.html#_CPPv4N5telux4wlan8BandTypeE) band)

    - This function is called when Station switch to different operation band

- Parameters:

    - **band** – **[in]** New Station operation band [telux::wlan::BandType](https://docs.qualcomm.com/doc/80-PF458-2/topic/common.html#a00003_1ga6880eb6b46f211d4e68f217e977f5bde)

- inline virtual ~IStaListener()

    -

Last Published: Apr 14, 2026

[Previous Topic
telux::wlan::IApListener](https://docs.qualcomm.com/bundle/publicresource/80-PF458-2/topics/access_point_management.md) [Next Topic
Satcom](https://docs.qualcomm.com/bundle/publicresource/80-PF458-2/topics/satcom.md)