Telematics SDK - API Reference  v1.62.0
Access Point Management

Data Structures

struct  telux::wlan::ApVenueInfo
 
struct  telux::wlan::ApSecurity
 
struct  telux::wlan::ApElementInfoConfig
 
struct  telux::wlan::ApNetConfig
 
struct  telux::wlan::ApConfig
 
struct  telux::wlan::DeviceIndInfo
 
struct  telux::wlan::DeviceInfo
 
class  telux::wlan::IApInterfaceManager
 Manager class for configuring Wlan Access Points. More...
 
class  telux::wlan::IApListener
 

Macros

#define INVALID_AP_ID   0
 

Enumerations

enum  telux::wlan::ApInterworking { telux::wlan::ApInterworking::INTERNET_ACCESS = 0, telux::wlan::ApInterworking::FULL_ACCESS = 1 }
 
enum  telux::wlan::ApDeviceConnectionEvent { telux::wlan::ApDeviceConnectionEvent::CONNECTED = 0, telux::wlan::ApDeviceConnectionEvent::DISCONNECTED = 1, telux::wlan::ApDeviceConnectionEvent::IPV4_UPDATED = 2, telux::wlan::ApDeviceConnectionEvent::IPV6_UPDATED = 3 }
 
enum  telux::wlan::SecMode {
  telux::wlan::SecMode::OPEN, telux::wlan::SecMode::WEP, telux::wlan::SecMode::WPA, telux::wlan::SecMode::WPA2,
  telux::wlan::SecMode::WPA3
}
 
enum  telux::wlan::SecAuth {
  telux::wlan::SecAuth::NONE, telux::wlan::SecAuth::PSK, telux::wlan::SecAuth::EAP_SIM, telux::wlan::SecAuth::EAP_AKA,
  telux::wlan::SecAuth::EAP_LEAP, telux::wlan::SecAuth::EAP_TLS, telux::wlan::SecAuth::EAP_TTLS, telux::wlan::SecAuth::EAP_PEAP,
  telux::wlan::SecAuth::EAP_FAST, telux::wlan::SecAuth::EAP_PSK, telux::wlan::SecAuth::SAE
}
 
enum  telux::wlan::SecEncrypt { telux::wlan::SecEncrypt::RC4, telux::wlan::SecEncrypt::TKIP, telux::wlan::SecEncrypt::AES, telux::wlan::SecEncrypt::GCMP }
 
enum  telux::wlan::NetAccessType {
  telux::wlan::NetAccessType::PRIVATE = 0, telux::wlan::NetAccessType::PRIVATE_WITH_GUEST, telux::wlan::NetAccessType::CHARGEABLE_PUBLIC, telux::wlan::NetAccessType::FREE_PUBLIC,
  telux::wlan::NetAccessType::PERSONAL_DEVICE, telux::wlan::NetAccessType::EMERGENCY_SERVICES_ONLY, telux::wlan::NetAccessType::TEST_OR_EXPERIMENTAL, telux::wlan::NetAccessType::WILDCARD
}
 

Functions

virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setConfig (ApConfig config)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setSecurityConfig (Id apId, ApSecurity apSecurity)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setSsid (Id apId, std::string ssid)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setVisibility (Id apId, bool isVisible)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setElementInfoConfig (Id apId, ApElementInfoConfig config)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setPassPhrase (Id apId, std::string passPhrase)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::getConfig (std::vector< ApConfig > &config)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::getStatus (std::vector< ApStatus > &status)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::getConnectedDevices (std::vector< DeviceInfo > &clientsInfo)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::manageApService (Id apId, ServiceOperation opr)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::registerListener (std::weak_ptr< IApListener > listener)=0
 
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::deregisterListener (std::weak_ptr< IApListener > listener)=0
 
virtual telux::wlan::IApInterfaceManager::~IApInterfaceManager ()
 
virtual void telux::wlan::IApListener::onApDeviceStatusChanged (ApDeviceConnectionEvent event, std::vector< DeviceIndInfo > info)
 
virtual void telux::wlan::IApListener::onApBandChanged (BandType radio)
 
virtual void telux::wlan::IApListener::onApConfigChanged (Id apId)
 
virtual telux::wlan::IApListener::~IApListener ()
 

Variables

int telux::wlan::ApVenueInfo::type
 
int telux::wlan::ApVenueInfo::group
 
SecMode telux::wlan::ApSecurity::mode
 
SecAuth telux::wlan::ApSecurity::auth
 
SecEncrypt telux::wlan::ApSecurity::encrypt
 
bool telux::wlan::ApElementInfoConfig::isEnabled
 
bool telux::wlan::ApElementInfoConfig::isInterworkingEnabled
 
NetAccessType telux::wlan::ApElementInfoConfig::netAccessType
 
bool telux::wlan::ApElementInfoConfig::internet
 
bool telux::wlan::ApElementInfoConfig::asra
 
bool telux::wlan::ApElementInfoConfig::esr
 
bool telux::wlan::ApElementInfoConfig::uesa
 
uint8_t telux::wlan::ApElementInfoConfig::venueGroup
 
uint8_t telux::wlan::ApElementInfoConfig::venueType
 
std::string telux::wlan::ApElementInfoConfig::hessid
 
std::string telux::wlan::ApElementInfoConfig::vendorElements
 
std::string telux::wlan::ApElementInfoConfig::assocRespElements
 
ApInfo telux::wlan::ApNetConfig::info
 
std::string telux::wlan::ApNetConfig::ssid
 
bool telux::wlan::ApNetConfig::isVisible
 
ApElementInfoConfig telux::wlan::ApNetConfig::elementInfoConfig
 
ApInterworking telux::wlan::ApNetConfig::interworking
 
ApSecurity telux::wlan::ApNetConfig::apSecurity
 
std::string telux::wlan::ApNetConfig::passPhrase
 
Id telux::wlan::ApConfig::id
 
ApVenueInfo telux::wlan::ApConfig::venue
 
std::vector< ApNetConfig > telux::wlan::ApConfig::network
 
Id telux::wlan::DeviceIndInfo::id
 
std::string telux::wlan::DeviceIndInfo::macAddress
 
Id telux::wlan::DeviceInfo::id
 
std::string telux::wlan::DeviceInfo::name
 
std::string telux::wlan::DeviceInfo::ipv4Address
 
std::vector< std::string > telux::wlan::DeviceInfo::ipv6Address
 
std::string telux::wlan::DeviceInfo::macAddress
 

Detailed Description

This section contains APIs related to access point configuration management, such as private/guest, internet/local access, etc.


Data Structure Documentation

struct telux::wlan::ApVenueInfo

Wlan AP Venue Info as defined in IEEE Std 802.11u-2011, 7.3.1.34

Data Fields
int type

Venue Type

int group

Venue Group

struct telux::wlan::ApSecurity

AP Security

Data Fields
SecMode mode

Security mode

SecAuth auth

Authorization method

SecEncrypt encrypt

Encryption method

struct telux::wlan::ApElementInfoConfig

AP Element Info

Data Fields
bool isEnabled
bool isInterworkingEnabled

Interworking Service enablement

NetAccessType netAccessType

Network Access Type

bool internet

Whether network provide connectivity to internet

bool asra

Additional step required for access

bool esr

Emergency services reachable

bool uesa

Unauthenticated emergency service accessible

uint8_t venueGroup

Venue group

uint8_t venueType

Venue type

string hessid

Homogeneous ESS identifier

string vendorElements

Vendor elements for Beacon and Probe Response frames

string assocRespElements

Vendor elements for (Re)Association Response frames

struct telux::wlan::ApNetConfig

Ap Network Configuration

Data Fields
ApInfo info

AP type

string ssid

SSID for AP

bool isVisible

AP broadcast SSID

ApElementInfoConfig elementInfoConfig

AP broadcast it's capabilities (Such as CarPlay)

ApInterworking interworking

AP network access (internet/local)

ApSecurity apSecurity

AP Security settings

string passPhrase

Passphrase for SSID used

struct telux::wlan::ApConfig

Ap Configuration

Data Fields
Id id

AP id

ApVenueInfo venue

AP venue info

vector< ApNetConfig > network

Configurations supported by AP

struct telux::wlan::DeviceIndInfo

Wlan Client Device Indication Info

Data Fields
Id id

AP id device is connected to

string macAddress

MAC Address of Wi-Fi device

struct telux::wlan::DeviceInfo

Wlan Client Device Info

Data Fields
Id id

AP id device is connected to

string name

User friendly string that identifies Wi-Fi device

string ipv4Address

IPv4 Address of Wi-Fi device

vector< string > ipv6Address

List of IPv6 Addresses of Wi-Fi device

string macAddress

MAC Address of Wi-Fi device

class telux::wlan::IApInterfaceManager

Manager class for configuring Wlan Access Points.

Public Member Functions

virtual telux::common::ErrorCode setConfig (ApConfig config)=0
 
virtual telux::common::ErrorCode setSecurityConfig (Id apId, ApSecurity apSecurity)=0
 
virtual telux::common::ErrorCode setSsid (Id apId, std::string ssid)=0
 
virtual telux::common::ErrorCode setVisibility (Id apId, bool isVisible)=0
 
virtual telux::common::ErrorCode setElementInfoConfig (Id apId, ApElementInfoConfig config)=0
 
virtual telux::common::ErrorCode setPassPhrase (Id apId, std::string passPhrase)=0
 
virtual telux::common::ErrorCode getConfig (std::vector< ApConfig > &config)=0
 
virtual telux::common::ErrorCode getStatus (std::vector< ApStatus > &status)=0
 
virtual telux::common::ErrorCode getConnectedDevices (std::vector< DeviceInfo > &clientsInfo)=0
 
virtual telux::common::ErrorCode manageApService (Id apId, ServiceOperation opr)=0
 
virtual telux::common::ErrorCode registerListener (std::weak_ptr< IApListener > listener)=0
 
virtual telux::common::ErrorCode deregisterListener (std::weak_ptr< IApListener > listener)=0
 
virtual ~IApInterfaceManager ()
 
class telux::wlan::IApListener

Public Member Functions

virtual void onApDeviceStatusChanged (ApDeviceConnectionEvent event, std::vector< DeviceIndInfo > info)
 
virtual void onApBandChanged (BandType radio)
 
virtual void onApConfigChanged (Id apId)
 
virtual ~IApListener ()
 

Macro Definition Documentation

#define INVALID_AP_ID   0

Enumeration Type Documentation

AP Interworking Information

Enumerator
INTERNET_ACCESS 

AP with internet access only - No LAN access

FULL_ACCESS 

AP Can Access LAN and Internet

AP Client Connection Status

Enumerator
CONNECTED 
DISCONNECTED 
IPV4_UPDATED 
IPV6_UPDATED 
enum telux::wlan::SecMode
strong

Wlan Security Mode

Enumerator
OPEN 

Open System Architecture

WEP 

Wired Equivalent Privacy

WPA 

Wi-Fi Protected Access

WPA2 

Wi-Fi Protected Access II

WPA3 

Wi-Fi Protected Access III

enum telux::wlan::SecAuth
strong

Wlan Authentication Method

Enumerator
NONE 

No Authentication - Open System

PSK 

Pre-Shared Key

EAP_SIM 

EAP - Subscriber Identity Module

EAP_AKA 

EAP - Authentication and Key Agreement

EAP_LEAP 

EAP - Lightweight Extensible Authentication Protocol

EAP_TLS 

EAP - Transport Layer Security

EAP_TTLS 

EAP - Tunneled Transport Layer Security

EAP_PEAP 

EAP - Protected EAP

EAP_FAST 

EAP - Flexible Authentication via Secure Tunneling

EAP_PSK 

EAP - Pre-Shared Key

SAE 

Simultaneous Authentication of Equals

Wlan Encryption Method

Enumerator
RC4 

Rivest Cipher 4

TKIP 

Temporal Key Integrity Protocol

AES 

Advanced Encryption Standard

GCMP 

Galois/Counter Mode Protocol

AP Network Access Type

Enumerator
PRIVATE 

Private Network

PRIVATE_WITH_GUEST 

Private network with guest access

CHARGEABLE_PUBLIC 

Chargeable public network

FREE_PUBLIC 

Free public network

PERSONAL_DEVICE 

Personal device network

EMERGENCY_SERVICES_ONLY 

Emergency services only network

TEST_OR_EXPERIMENTAL 

Test or experimental

WILDCARD 

Wildcard

Function Documentation

virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setConfig ( ApConfig  config)
pure virtual

Set Access Point config: Used to fully configure access points including venue type, radio type (2.4/5 GHz), private/guest network and all other related settings. Configurations will take effect after hostapd service is restarted by calling telux::wlan::IApInterfaceManager::manageApService.

On platforms with Access control enabled, Caller needs to have TELUX_WLAN_AP_CONFIG permission to invoke this API successfully.

Parameters
[in]configAP configuration parameters telux::wlan::ApConfig
Returns
operation error code (if any). telux::common::ErrorCode telux::common::Status::NOTALLOWED is returned if AP to be configured was not enabled in telux::wlan::WlanDeviceManager::setMode.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setSecurityConfig ( Id  apId,
ApSecurity  apSecurity 
)
pure virtual

Set Wlan Security Configuration: Used to change security settings of selected network.

Parameters
[in]apIdAP identifier to set security for. telux::wlan::Id
[in]apSecurityAP security settings. telux::wlan::ApSecurity
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setSsid ( Id  apId,
std::string  ssid 
)
pure virtual

Set Access Point SSID: Used to change SSID of selected network.

Parameters
[in]apIdAP identifier to set SSID for. telux::wlan::Id
[in]ssidnew SSID to be set
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setVisibility ( Id  apId,
bool  isVisible 
)
pure virtual

Set Access Point visibility: Used to change SSID broadcast of selected network.

Parameters
[in]apIdAP identifier to set SSID visibility for. telux::wlan::Id
[in]isVisibleVisibility to be set
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setElementInfoConfig ( Id  apId,
ApElementInfoConfig  config 
)
pure virtual

Configure Element Info: Used to change element info configurations of selected network.

Parameters
[in]apIdAP identifier to enable element info on. telux::wlan::Id
[in]configElement Info configurations.

On platforms with Access control enabled, Caller needs to have TELUX_WLAN_AP_DEVICES permission to invoke this API successfully.

Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::setPassPhrase ( Id  apId,
std::string  passPhrase 
)
pure virtual

Set Passphrase for Access Point: Used to change passphrase of selected network.

Parameters
[in]apIdAP identifier to set passphrase for. telux::wlan::Id
[in]passPhrasenew passPhrase string
Returns
Immediate status of setPassPhrase() request i.e. success or suitable status.
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::getConfig ( std::vector< ApConfig > &  config)
pure virtual

Request Access Point Configurations

Parameters
[in]configVector of AP configurations telux::wlan::ApConfig as set by telux::wlan::IApInterfaceManager::setConfig
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::getStatus ( std::vector< ApStatus > &  status)
pure virtual

Request AP Status

Parameters
[in]statusVector of AP network Status telux::wlan::ApStatus
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated. It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::getConnectedDevices ( std::vector< DeviceInfo > &  clientsInfo)
pure virtual

Request Connected Devices to all enabled access points. Each entry in returned list will contain information about a device such as access point it is connected to and IP and MAC address as defined in telux::wlan::DeviceInfo

On platforms with Access control enabled, Caller needs to have TELUX_WLAN_AP_DEVICES permission to invoke this API successfully.

Parameters
[in]clientsInfoList of connected devices Info telux::wlan::DeviceInfo
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::manageApService ( Id  apId,
ServiceOperation  opr 
)
pure virtual

Execute an operation on hostapd service. Provides ability for client to either stop/start or restart hostapd service for selected access point. Restarting hostapd service is required for any changes made to hostapd.conf file and changes made by telux::wlan::IApInterfaceManager::setConfig to take effect. Stop/Start operation telux::wlan::ServiceOperation will Stop/Start WiFi service for access point. Access points selected to execute operation on, will temporarily go out of service when this API is called. This API should be called only when access point is configured through

On platforms with Access control enabled, Caller needs to have TELUX_WLAN_AP_CONFIG permission to invoke this API successfully.

telux::wlan::IDeviceManager::setMode

Parameters
[in]apIdAP identifier to execute operation on. telux::wlan::Id
[in]oprOperation to be performed on hostapd telux::wlan::ServiceOperation
Returns
operation error code (if any). telux::common::ErrorCode
Note
Eval: This is a new API and is being evaluated.It is subject to change and could break backwards compatibility.
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::registerListener ( std::weak_ptr< IApListener listener)
pure virtual

Register a listener for specific events in Access Point Manager

Parameters
[in]listenerpointer of IApListener object that processes the notification
Returns
operation error code (if any). telux::common::ErrorCode
virtual telux::common::ErrorCode telux::wlan::IApInterfaceManager::deregisterListener ( std::weak_ptr< IApListener listener)
pure virtual

Removes a previously added listener.

Parameters
[in]listenerpointer of IApListener object that needs to be removed
Returns
operation error code (if any). telux::common::ErrorCode
virtual telux::wlan::IApInterfaceManager::~IApInterfaceManager ( )
virtual
virtual void telux::wlan::IApListener::onApDeviceStatusChanged ( ApDeviceConnectionEvent  event,
std::vector< DeviceIndInfo info 
)
virtual

This function is called when AP device status has changed

Parameters
[in]eventEvent detected on device telux::wlan::ApDeviceConnectionEvent
[in]infoInfo about devices telux::wlan::DeviceIndInfo
virtual void telux::wlan::IApListener::onApBandChanged ( BandType  radio)
virtual

This function is called when AP switch to different operation band

Parameters
[in]radioNew AP operation band telux::wlan::BandType
virtual void telux::wlan::IApListener::onApConfigChanged ( Id  apId)
virtual

This function is called when AP configuration has changed

Parameters
[in]apidtelux::wlan::Id of Ap it's configuration has changed
virtual telux::wlan::IApListener::~IApListener ( )
virtual

Variable Documentation

int telux::wlan::ApVenueInfo::type

Venue Type

int telux::wlan::ApVenueInfo::group

Venue Group

SecMode telux::wlan::ApSecurity::mode

Security mode

SecAuth telux::wlan::ApSecurity::auth

Authorization method

SecEncrypt telux::wlan::ApSecurity::encrypt

Encryption method

bool telux::wlan::ApElementInfoConfig::isEnabled
bool telux::wlan::ApElementInfoConfig::isInterworkingEnabled

Interworking Service enablement

NetAccessType telux::wlan::ApElementInfoConfig::netAccessType

Network Access Type

bool telux::wlan::ApElementInfoConfig::internet

Whether network provide connectivity to internet

bool telux::wlan::ApElementInfoConfig::asra

Additional step required for access

bool telux::wlan::ApElementInfoConfig::esr

Emergency services reachable

bool telux::wlan::ApElementInfoConfig::uesa

Unauthenticated emergency service accessible

uint8_t telux::wlan::ApElementInfoConfig::venueGroup

Venue group

uint8_t telux::wlan::ApElementInfoConfig::venueType

Venue type

std::string telux::wlan::ApElementInfoConfig::hessid

Homogeneous ESS identifier

std::string telux::wlan::ApElementInfoConfig::vendorElements

Vendor elements for Beacon and Probe Response frames

std::string telux::wlan::ApElementInfoConfig::assocRespElements

Vendor elements for (Re)Association Response frames

ApInfo telux::wlan::ApNetConfig::info

AP type

std::string telux::wlan::ApNetConfig::ssid

SSID for AP

bool telux::wlan::ApNetConfig::isVisible

AP broadcast SSID

ApElementInfoConfig telux::wlan::ApNetConfig::elementInfoConfig

AP broadcast it's capabilities (Such as CarPlay)

ApInterworking telux::wlan::ApNetConfig::interworking

AP network access (internet/local)

ApSecurity telux::wlan::ApNetConfig::apSecurity

AP Security settings

std::string telux::wlan::ApNetConfig::passPhrase

Passphrase for SSID used

Id telux::wlan::ApConfig::id

AP id

ApVenueInfo telux::wlan::ApConfig::venue

AP venue info

std::vector<ApNetConfig> telux::wlan::ApConfig::network

Configurations supported by AP

Id telux::wlan::DeviceIndInfo::id

AP id device is connected to

std::string telux::wlan::DeviceIndInfo::macAddress

MAC Address of Wi-Fi device

Id telux::wlan::DeviceInfo::id

AP id device is connected to

std::string telux::wlan::DeviceInfo::name

User friendly string that identifies Wi-Fi device

std::string telux::wlan::DeviceInfo::ipv4Address

IPv4 Address of Wi-Fi device

std::vector<std::string> telux::wlan::DeviceInfo::ipv6Address

List of IPv6 Addresses of Wi-Fi device

std::string telux::wlan::DeviceInfo::macAddress

MAC Address of Wi-Fi device