RDK Documentation (Open Sourced RDK Components)
wifi_ap_hal.h
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**********************************************************************
21 
22  module: wifi_ap_hal.h
23 
24  For CCSP Component: Wifi_Provisioning_and_management
25 
26  ---------------------------------------------------------------
27 
28  description:
29 
30  This header file gives the function call prototypes and
31  structure definitions used for the RDK-Broadband
32  Wifi AP hardware abstraction layer
33 
34  NOTE:
35  THIS VERSION IS AN EARLY DRAFT INTENDED TO GET COMMENTS FROM COMCAST.
36  TESTING HAS NOT YET BEEN COMPLETED.
37 
38  ---------------------------------------------------------------
39 
40  environment:
41 
42  This HAL layer is intended to support Wifi drivers
43  through an open API.
44 
45  ---------------------------------------------------------------
46 
47  author:
48 
49  zhicheng_qiu@cable.comcast.com
50  Charles Moreman, moremac@cisco.com
51 
52 
53 **********************************************************************/
54 
55 #ifndef __WIFI_AP_HAL_H__
56 #define __WIFI_AP_HAL_H__
57 
58 #include <wifi_common_hal.h>
59 
60 //Please do not edit the elements for this data structure
61 typedef struct _wifi_associated_dev
62 {
63  //UCHAR cli_devMacAddress[6];
64  //CHAR cli_devIPAddress[64];
65  //BOOL cli_devAssociatedDeviceAuthentiationState;
66  //INT cli_devSignalStrength;
67  //INT cli_devTxRate;
68  //INT cli_devRxRate;
69 
70  UCHAR cli_MACAddress[6]; // The MAC address of an associated device.
71  BOOL cli_AuthenticationState; // Whether an associated device has authenticated (true) or not (false).
72  UINT cli_LastDataDownlinkRate; //The data transmit rate in kbps that was most recently used for transmission from the access point to the associated device.
73  UINT cli_LastDataUplinkRate; // The data transmit rate in kbps that was most recently used for transmission from the associated device to the access point.
74  INT cli_SignalStrength; //An indicator of radio signal strength of the uplink from the associated device to the access point, measured in dBm, as an average of the last 100 packets received from the device.
75  UINT cli_Retransmissions; //The number of packets that had to be re-transmitted, from the last 100 packets sent to the associated device. Multiple re-transmissions of the same packet count as one.
76  BOOL cli_Active; // boolean - Whether or not this node is currently present in the WiFi AccessPoint network.
77 
78  CHAR cli_OperatingStandard[64]; //Radio standard the associated Wi-Fi client device is operating under. Enumeration of:
79  CHAR cli_OperatingChannelBandwidth[64]; //The operating channel bandwidth of the associated device. The channel bandwidth (applicable to 802.11n and 802.11ac specifications only). Enumeration of:
80  INT cli_SNR; //A signal-to-noise ratio (SNR) compares the level of the Wi-Fi signal to the level of background noise. Sources of noise can include microwave ovens, cordless phone, bluetooth devices, wireless video cameras, wireless game controllers, fluorescent lights and more. It is measured in decibels (dB).
81  CHAR cli_InterferenceSources[64]; //Wi-Fi operates in two frequency ranges (2.4 Ghz and 5 Ghz) which may become crowded other radio products which operate in the same ranges. This parameter reports the probable interference sources that this Wi-Fi access point may be observing. The value of this parameter is a comma seperated list of the following possible sources: eg: MicrowaveOven,CordlessPhone,BluetoothDevices,FluorescentLights,ContinuousWaves,Others
82  ULONG cli_DataFramesSentAck; //The DataFramesSentAck parameter indicates the total number of MSDU frames marked as duplicates and non duplicates acknowledged. The value of this counter may be reset to zero when the CPE is rebooted. Refer section A.2.3.14 of CableLabs Wi-Fi MGMT Specification.
83  ULONG cli_DataFramesSentNoAck; //The DataFramesSentNoAck parameter indicates the total number of MSDU frames retransmitted out of the interface (i.e., marked as duplicate and non-duplicate) and not acknowledged, but does not exclude those defined in the DataFramesLost parameter. The value of this counter may be reset to zero when the CPE is rebooted. Refer section A.2.3.14 of CableLabs Wi-Fi MGMT Specification.
84  ULONG cli_BytesSent; //The total number of bytes transmitted to the client device, including framing characters.
85  ULONG cli_BytesReceived; //The total number of bytes received from the client device, including framing characters.
86  INT cli_RSSI; //The Received Signal Strength Indicator, RSSI, parameter is the energy observed at the antenna receiver for transmissions from the device averaged over past 100 packets recevied from the device.
87  INT cli_MinRSSI; //The Minimum Received Signal Strength Indicator, RSSI, parameter is the minimum energy observed at the antenna receiver for past transmissions (100 packets).
88  INT cli_MaxRSSI; //The Maximum Received Signal Strength Indicator, RSSI, parameter is the energy observed at the antenna receiver for past transmissions (100 packets).
89  UINT cli_Disassociations; //This parameter represents the total number of client disassociations. Reset the parameter evey 24hrs or reboot
90  UINT cli_AuthenticationFailures; //This parameter indicates the total number of authentication failures. Reset the parameter evey 24hrs or reboot
91 
92 } wifi_associated_dev_t; //COSA_DML_WIFI_AP_ASSOC_DEVICE
93 
94 typedef struct _wifi_radius_setting_t
95 {
96  INT RadiusServerRetries; //Number of retries for Radius requests.
97  INT RadiusServerRequestTimeout; //Radius request timeout in seconds after which the request must be retransmitted for the # of retries available.
98  INT PMKLifetime; //Default time in seconds after which a Wi-Fi client is forced to ReAuthenticate (def 8 hrs).
99  BOOL PMKCaching; //Enable or disable caching of PMK.
100  INT PMKCacheInterval; //Time interval in seconds after which the PMKSA (Pairwise Master Key Security Association) cache is purged (def 5 minutes).
101  INT MaxAuthenticationAttempts; //Indicates the # of time, a client can attempt to login with incorrect credentials. When this limit is reached, the client is blacklisted and not allowed to attempt loging into the network. Settings this parameter to 0 (zero) disables the blacklisting feature.
102  INT BlacklistTableTimeout; //Time interval in seconds for which a client will continue to be blacklisted once it is marked so.
103  INT IdentityRequestRetryInterval; //Time Interval in seconds between identity requests retries. A value of 0 (zero) disables it.
104  INT QuietPeriodAfterFailedAuthentication; //The enforced quiet period (time interval) in seconds following failed authentication. A value of 0 (zero) disables it.
105  UCHAR RadiusSecret[64]; //The secret used for handshaking with the RADIUS server [RFC2865]. When read, this parameter returns an empty string, regardless of the actual value.
106 
108 
109 //typedef struct wifi_AC_parameters_record // Access Catagoriy parameters. see 802.11-2012 spec for descriptions
110 //{
111 // INT CWmin; // CWmin variable
112 // INT CWmax; // CWmax vairable
113 // INT AIFS; // AIFS
114 // ULONG TxOpLimit; // TXOP Limit
115 //} wifi_AC_parameters_record_t;
116 
117 
118 //typedef struct _wifi_qos
119 //{
120 // wifi_AC_parameters_record_t BE_AcParametersRecord; // Best Effort QOS parameters, ACI == 0
121 // wifi_AC_parameters_record_t BK_AcParametersRecord; // Background QOS parameters, ACI == 1
122 // wifi_AC_parameters_record_t VI_AcParametersRecord; // Video QOS parameters, ACI == 2
123 // wifi_AC_parameters_record_t VO_AcParametersRecord; // Voice QOS parameters, ACI == 3
124 //} wifi_qos_t;
125 
126 
127 //---------------------------------------------------------------------------------------------------
128 //
129 // Additional Wifi radio level APIs used for RDKB Access Point devices
130 //
131 //---------------------------------------------------------------------------------------------------
132 
133 INT wifi_setRadioCtsProtectionEnable(INT apIndex, BOOL enable); //P3 // enables CTS protection for the radio used by this AP
134 INT wifi_setRadioObssCoexistenceEnable(INT apIndex, BOOL enable); // enables OBSS Coexistence - fall back to 20MHz if necessary for the radio used by this ap
135 INT wifi_setRadioFragmentationThreshold(INT apIndex, UINT threshold); //P3 // sets the fragmentation threshold in bytes for the radio used by this ap
136 INT wifi_setRadioSTBCEnable(INT radioIndex, BOOL STBC_Enable); // enable STBC mode in the hardwarwe, 0 == not enabled, 1 == enabled
137 INT wifi_getRadioAMSDUEnable(INT radioIndex, BOOL *output_bool); // outputs A-MSDU enable status, 0 == not enabled, 1 == enabled
138 INT wifi_setRadioAMSDUEnable(INT radioIndex, BOOL amsduEnable); // enables A-MSDU in the hardware, 0 == not enabled, 1 == enabled
139 INT wifi_getRadioTxChainMask(INT radioIndex, INT *output_int); //P2 // outputs the number of Tx streams
140 INT wifi_setRadioTxChainMask(INT radioIndex, INT numStreams); //P2 // sets the number of Tx streams to an enviornment variable
141 INT wifi_getRadioRxChainMask(INT radioIndex, INT *output_int); //P2 // outputs the number of Rx streams
142 INT wifi_setRadioRxChainMask(INT radioIndex, INT numStreams); //P2 // sets the number of Rx streams to an enviornment variable
143 //INT wifi_pushRadioChannel(INT radioIndex, UINT channel); //P2 // push the channel number setting to the hardware //Applying changes with wifi_applyRadioSettings().
144 //INT wifi_pushRadioChannelMode(INT radioIndex); //P2 // push the channel mode enviornment variable that is set by "wifi_setChannelMode()" to the hardware //Applying changes with wifi_applyRadioSettings().
145 //INT wifi_pushRadioTxChainMask(INT radioIndex); //P2 // push the enviornment varible that is set by "wifi_setTxChainMask()" to the hardware //Applying changes with wifi_applyRadioSettings().
146 //INT wifi_pushRadioRxChainMask(INT radioIndex); //P2 // push the enviornment varible that is set by "wifi_setRxChainMask()" to the hardware //Applying changes with wifi_applyRadioSettings().
147 
148 INT wifi_getRadioReverseDirectionGrantEnable(INT radioIndex, BOOL *output_bool); //Get radio RDG enable setting
149 INT wifi_setRadioReverseDirectionGrantEnable(INT radioIndex, BOOL enable); //Set radio RDG enable setting
150 INT wifi_getRadioDeclineBARequestEnable(INT radioIndex, BOOL *output_bool); //Get radio ADDBA enable setting
151 INT wifi_setRadioDeclineBARequestEnable(INT radioIndex, BOOL enable); //Set radio ADDBA enable setting
152 INT wifi_getRadioAutoBlockAckEnable(INT radioIndex, BOOL *output_bool); //Get radio auto block ack enable setting
153 INT wifi_setRadioAutoBlockAckEnable(INT radioIndex, BOOL enable); //Set radio auto block ack enable setting
154 INT wifi_getRadio11nGreenfieldEnable(INT radioIndex, BOOL *output_bool); //Get radio 11n pure mode enable setting
155 INT wifi_setRadio11nGreenfieldEnable(INT radioIndex, BOOL enable); //Set radio 11n pure mode enable setting
156 INT wifi_getRadioIGMPSnoopingEnable(INT radioIndex, BOOL *output_bool); //Get radio IGMP snooping enable setting
157 INT wifi_setRadioIGMPSnoopingEnable(INT radioIndex, BOOL enable); //Set radio IGMP snooping enable setting
158 INT wifi_getRadioDfsSupport(INT radioIndex, UINT *output_uint); //Get radio DFS support
159 INT wifi_getRadioDfsEnable(INT radioIndex, BOOL *output_bool); //Get radio DFS enable setting
160 INT wifi_setRadioDfsEnable(INT radioIndex, BOOL enabled); //Set radio DFS enable setting
161 //---------------------------------------------------------------------------------------------------
162 //
163 // Additional Wifi AP level APIs used for Access Point devices
164 //
165 //---------------------------------------------------------------------------------------------------
166 
167 
168 //AP HAL
169 INT wifi_createAp(INT apIndex, INT radioIndex, CHAR *essid, BOOL hideSsid); // creates a new ap and pushes these parameters to the hardware
170 INT wifi_deleteAp(INT apIndex); // deletes this ap entry on the hardware, clears all internal variables associaated with this ap
171 INT wifi_getApName(INT apIndex, CHAR *output_string); // Outputs a 16 byte or less name assocated with the AP. String buffer must be pre-allocated by the caller
172 
173 INT wifi_getApBeaconType(INT apIndex, CHAR *output_string); // Outputs a 32 byte or less string indicating the beacon type as "None", "Basic", "WPA, "11i", "WPAand11i"
174 INT wifi_setApBeaconType(INT apIndex, CHAR *beaconTypeString); // Sets the beacon type enviornment variable. Allowed input strings are "None", "Basic", "WPA, "11i", "WPAand11i"
175 INT wifi_setApBeaconInterval(INT apIndex, INT beaconInterval); // sets the beacon interval on the hardware for this AP
176 INT wifi_setApRtsThreshold(INT apIndex, UINT threshold); // sets the packet size threshold in bytes to apply RTS/CTS backoff rules.
177 
178 INT wifi_getApWpaEncryptoinMode(INT apIndex, CHAR *output_string); // ouputs up to a 32 byte string as either "TKIPEncryption", "AESEncryption", or "TKIPandAESEncryption"
179 INT wifi_setApWpaEncryptionMode(INT apIndex, CHAR *encMode); // sets the encyption mode enviornment variable. Valid string format is "TKIPEncryption", "AESEncryption", or "TKIPandAESEncryption"
180 INT wifi_removeApSecVaribles(INT apIndex); // deletes internal security varable settings for this ap
181 INT wifi_disableApEncryption(INT apIndex); // changes the hardware settings to disable encryption on this ap
182 INT wifi_setApAuthMode(INT apIndex, INT mode); // set the authorization mode on this ap
183 INT wifi_setApBasicAuthenticationMode(INT apIndex, CHAR *authMode); // sets an enviornment variable for the authMode. Valid strings are "None", "EAPAuthentication" or "SharedAuthentication"
184 
185 INT wifi_kickApAssociatedDevice(INT apIndex, CHAR *client_mac); // manually removes any active wi-fi association with the device specified on this ap
186 
187 INT wifi_getApRadioIndex(INT apIndex, INT *output_int); // outputs the radio index for the specified ap
188 INT wifi_setApRadioIndex(INT apIndex, INT radioIndex); // sets the radio index for the specific ap
189 
190 INT wifi_addApAclDevice(INT apIndex, CHAR *DeviceMacAddress); // adds the mac address to the filter list
191 INT wifi_delApAclDevice(INT apIndex, CHAR *DeviceMacAddress); // deletes the mac address from the filter list
192 INT wifi_getApAclDeviceNum(INT apIndex, UINT *output_uint); // outputs the number of devices in the filter list
193 INT wifi_kickApAclAssociatedDevices(INT apIndex,BOOL enable); // enable kick for devices on acl black list
194 INT wifi_setApMacAddressControlMode(INT apIndex, INT filterMode); // sets the mac address filter control mode. 0 == filter disabled, 1 == filter as whitelist, 2 == filter as blacklist
195 INT wifi_setApVlanEnable(INT apIndex, BOOL VlanEnabled); // enables internal gateway VLAN mode. In this mode a Vlan tag is added to upstream (received) data packets before exiting the Wifi driver. VLAN tags in downstream data are stripped from data packets before transmission. Default is FALSE.
196 
197 INT wifi_setApVlanID(INT apIndex, INT vlanId); // sets the vlan ID for this ap to an internal enviornment variable
198 INT wifi_getApBridgeInfo(INT index, CHAR *bridgeName, CHAR *IP, CHAR *subnet); // gets bridgeName, IP address and Subnet.
199 INT wifi_setApBridgeInfo(INT apIndex, CHAR *bridgeName, CHAR *IP, CHAR *subnet); //sets bridgeName, IP address and Subnet to internal enviornment variables. bridgeName is a maximum of 32 characters,
200 //INT wifi_pushApBridgeInfo(INT apIndex); // push the BridgeInfo enviornment variables to the hardware //Applying changes with wifi_applyRadioSettings()
201 INT wifi_resetApVlanCfg(INT apIndex); // reset the vlan configuration for this ap
202 INT wifi_setApBridging(INT apIndex, BOOL bridgeEnable); // set the enviornment variables to control briding. If isolation is requried then disable bridging.
203 //INT wifi_getApRouterEnable(INT apIndex, BOOL *output_bool); //P4 // Outputs a bool that indicates if router is enabled for this ap
204 //INT wifi_setApRouterEnable(INT apIndex, BOOL routerEnabled); //P4 // sets the routerEnabled variable for this ap
205 
206 INT wifi_createHostApdConfig(INT apIndex, BOOL createWpsCfg); // creates configuration variables needed for WPA/WPS. These variables are implementation dependent and in some implementations these variables are used by hostapd when it is started. Specific variables that are needed are dependent on the hostapd implementation. These variables are set by WPA/WPS security functions in this wifi HAL. If not needed for a particular implementation this function may simply return no error.
207 INT wifi_startHostApd(); // starts hostapd, uses the variables in the hostapd config with format compatible with the specific hostapd implementation
208 INT wifi_stopHostApd(); // stops hostapd
209 
210 //-----------------------------------------------------------------------------------------------
211 //Device.WiFi.AccessPoint.{i}.
212 //Device.WiFi.AccessPoint.{i}.Enable
213 INT wifi_setApEnable(INT apIndex, BOOL enable); // sets the AP enable status variable for the specified ap.
214 INT wifi_getApEnable(INT apIndex, BOOL *output_bool); // Outputs the setting of the internal variable that is set by wifi_setEnable().
215 
216 //Device.WiFi.AccessPoint.{i}.Status
217 INT wifi_getApStatus(INT apIndex, CHAR *output_string); // Outputs the AP "Enabled" "Disabled" status from driver
218 
219 //Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled
220 //Indicates whether or not beacons include the SSID name.
221 INT wifi_getApSsidAdvertisementEnable(INT apIndex, BOOL *output_bool);// outputs a 1 if SSID on the AP is enabled, else ouputs 0
222 INT wifi_setApSsidAdvertisementEnable(INT apIndex, BOOL enable); // sets an internal variable for ssid advertisement. Set to 1 to enable, set to 0 to disable
223 //INT wifi_pushApSsidAdvertisementEnable(INT apIndex, BOOL enable); // push the ssid advertisement enable variable to the hardware //Applying changs with wifi_applyRadioSettings()
224 
225 //Device.WiFi.AccessPoint.{i}.RetryLimit
226 //The maximum number of retransmission for a packet. This corresponds to IEEE 802.11 parameter dot11ShortRetryLimit.
227 INT wifi_getApRetryLimit(INT apIndex, UINT *output);
228 INT wifi_setApRetryLimit(INT apIndex, UINT number);
229 
230 //Device.WiFi.AccessPoint.{i}.WMMCapability
231 //Indicates whether this access point supports WiFi Multimedia (WMM) Access Categories (AC).
232 INT wifi_getApWMMCapability(INT apIndex, UINT *output);
233 
234 //Device.WiFi.AccessPoint.{i}.UAPSDCapability
235 //Indicates whether this access point supports WMM Unscheduled Automatic Power Save Delivery (U-APSD). Note: U-APSD support implies WMM support.
236 INT wifi_getApUAPSDCapability(INT apIndex, UINT *output);
237 
238 //Device.WiFi.AccessPoint.{i}.WMMEnable
239 //Whether WMM support is currently enabled. When enabled, this is indicated in beacon frames.
240 INT wifi_getApWmmEnable(INT apIndex, BOOL *output);
241 INT wifi_setApWmmEnable(INT apIndex, BOOL enable); // enables/disables WMM on the hardwawre for this AP. enable==1, disable == 0
242 
243 //Device.WiFi.AccessPoint.{i}.UAPSDEnable
244 //Whether U-APSD support is currently enabled. When enabled, this is indicated in beacon frames. Note: U-APSD can only be enabled if WMM is also enabled.
245 INT wifi_getApWmmUapsdEnable(INT apIndex, BOOL *output);
246 INT wifi_setApWmmUapsdEnable(INT apIndex, BOOL enable); // enables/disables Automatic Power Save Delivery on the hardwarwe for this AP
247 
248 //Device.WiFi.AccessPoint.{i}.IsolationEnable
249 //Enables or disables device isolation. A value of true means that the devices connected to the Access Point are isolated from all other devices within the home network (as is typically the case for a Wireless Hotspot).
250 INT wifi_getApIsolationEnable(INT apIndex, BOOL *output); //Tr181
251 INT wifi_setApIsolationEnable(INT apIndex, BOOL enable); //Tr181
252 
253 //Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices
254 //The maximum number of devices that can simultaneously be connected to the access point. A value of 0 means that there is no specific limit.
255 INT wifi_getApMaxAssociatedDevices(INT apIndex, UINT *output); //Tr181
256 INT wifi_setApMaxAssociatedDevices(INT apIndex, UINT number); //Tr181
257 
258 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThreshold
259 //The HighWatermarkThreshold value that is lesser than or equal to MaxAssociatedDevices. Setting this parameter does not actually limit the number of clients that can associate with this access point as that is controlled by MaxAssociatedDevices. MaxAssociatedDevices or 50. The default value of this parameter should be equal to MaxAssociatedDevices. In case MaxAssociatedDevices is 0 (zero), the default value of this parameter should be 50. A value of 0 means that there is no specific limit and Watermark calculation algorithm should be turned off.
260 INT wifi_getApAssociatedDevicesHighWatermarkThreshold(INT apIndex, UINT *output); //Tr181 //P3
261 INT wifi_setApAssociatedDevicesHighWatermarkThreshold(INT apIndex, UINT Threshold); //Tr181 //P3
262 
263 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThresholdReached
264 //Number of times the current total number of associated device has reached the HighWatermarkThreshold value. This calculation can be based on the parameter AssociatedDeviceNumberOfEntries as well. Implementation specifics about this parameter are left to the product group and the device vendors. It can be updated whenever there is a new client association request to the access point.
265 INT wifi_getApAssociatedDevicesHighWatermarkThresholdReached(INT apIndex, UINT *output); //Tr181 //P3
266 
267 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermark
268 //Maximum number of associated devices that have ever associated with the access point concurrently since the last reset of the device or WiFi module.
269 INT wifi_getApAssociatedDevicesHighWatermark(INT apIndex, UINT *output); //Tr181 //P3
270 
271 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkDate
272 //Date and Time at which the maximum number of associated devices ever associated with the access point concurrenlty since the last reset of the device or WiFi module (or in short when was X_COMCAST-COM_AssociatedDevicesHighWatermark updated). This dateTime value is in UTC.
273 INT wifi_getApAssociatedDevicesHighWatermarkDate(INT apIndex, ULONG *output_in_seconds); //Tr181 //P3
274 
275 
276 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingServiceCapability boolean R
277 //When true, indicates whether the access point supports interworking with external networks.
278 
279 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingServiceEnable boolean W
280 //Enables or disables capability of the access point to intework with external network. When enabled, the access point includes Interworking IE in the beacon frames.
281 
282 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_PasspointCapability boolean R
283 //Indicates whether this access point supports Passpoint (aka Hotspot 2.0). The Passpoint enabled AccessPoint must use WPA2-Enterprise security and WPS must not be enabled.
284 
285 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_PasspointEnable boolean W
286 //Whether Passpoint (aka Hotspot 2.0) support is currently enabled. When enabled, Passpoint specific information elemenets are indicated in beacon frames.
287 
288 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_MAC_FilteringMode string R
289 //"The current operational state of the MAC Filtering Mode, Enumeration of: Allow-ALL, Allow, Deny
290 
291 //-----------------------------------------------------------------------------------------------
292 //Device.WiFi.AccessPoint.{i}.Security.
293 
294 //Device.WiFi.AccessPoint.{i}.Security.ModesSupported
295 //Comma-separated list of strings. Indicates which security modes this AccessPoint instance is capable of supporting. Each list item is an enumeration of: None,WEP-64,WEP-128,WPA-Personal,WPA2-Personal,WPA-WPA2-Personal,WPA-Enterprise,WPA2-Enterprise,WPA-WPA2-Enterprise
296 INT wifi_getApSecurityModesSupported(INT apIndex, CHAR *output);
297 
298 //Device.WiFi.AccessPoint.{i}.Security.ModeEnabled string W
299 //The value MUST be a member of the list reported by the ModesSupported parameter. Indicates which security mode is enabled.
300 INT wifi_getApSecurityModeEnabled(INT apIndex, CHAR *output);
301 INT wifi_setApSecurityModeEnabled(INT apIndex, CHAR *encMode); // wifi_setApBasicEncryptionMode: sets an enviornment variable for the basic encryption mode. Valid encMode strings are "None" or "WEPEncryption"
302 
303 //Device.WiFi.AccessPoint.{i}.Security.WEPKey
304 //A WEP key expressed as a hexadecimal string.
305 
306 //Device.WiFi.AccessPoint.{i}.Security.PreSharedKey
307 //A literal PreSharedKey (PSK) expressed as a hexadecimal string.
308 INT wifi_getApSecurityPreSharedKey(INT apIndex, CHAR *output_string); // output_string must be pre-allocated as 64 character string by caller
309 INT wifi_setApSecurityPreSharedKey(INT apIndex, CHAR *preSharedKey); // sets an enviornment variable for the psk. Input string preSharedKey must be a maximum of 64 characters
310 
311 //Device.WiFi.AccessPoint.{i}.Security.KeyPassphrase string­(63) W
312 //A passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes.
313 INT wifi_getApSecurityKeyPassphrase(INT apIndex, CHAR *output_string); // outputs the passphrase, maximum 63 characters
314 INT wifi_setApSecurityKeyPassphrase(INT apIndex, CHAR *passPhrase); // sets the passphrase enviornment variable, max 63 characters
315 
316 //Device.WiFi.AccessPoint.{i}.Security.RekeyingInterval unsignedInt W
317 //The interval (expressed in seconds) in which the keys are re-generated.
318 //INT wifi_getApSecurityWpaRekeyInterval(INT apIndex, INT *output_int); // outputs the rekey interval
319 //INT wifi_setApSecurityWpaRekeyInterval(INT apIndex, INT rekeyInterval); // sets the internal variable for the rekey interval
320 
321 //Device.WiFi.AccessPoint.{i}.Security.Reset
322 //When set to true, this AccessPoint instance's WiFi security settings are reset to their factory default values. The affected settings include ModeEnabled, WEPKey, PreSharedKey and KeyPassphrase.
323 INT wifi_setApSecurityReset(INT apIndex);
324 
325 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_KeyPassphrase string­(63) RW
326 //A passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes. If KeyPassphrase is written, then PreSharedKey is immediately generated. The ACS SHOULD NOT set both the KeyPassphrase and the PreSharedKey directly (the result of doing this is undefined). The key is generated as specified by WPA, which uses PBKDF2 from PKCS #5: Password-based Cryptography Specification Version 2.0 ([RFC2898]). This custom parameter is defined to enable reading the Passphrase via TR-069 /ACS. When read it should return the actual passphrase
327 INT wifi_getApKeyPassphrase(INT apIndex, CHAR *output); //Tr181
328 INT wifi_setApKeyPassphrase(INT apIndex, CHAR *passphase); //Tr181
329 
330 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_WEPKey string RW
331 //A WEP key expressed as a hexadecimal string. WEPKey is used only if ModeEnabled is set to WEP-64 or WEP-128. A 5 byte WEPKey corresponds to security mode WEP-64 and a 13 byte WEPKey corresponds to security mode WEP-128. This custom parameter is defined to enable reading the WEPKey via TR-069/ACS. When read it should return the actual WEPKey. If User enters 10 or 26 Hexadecimal characters, it should return keys as Hexadecimal characters. If user enters 5 or 13 ASCII character key it should return key as ASCII characters.
332 
333 //-----------------------------------------------------------------------------------------------
334 //Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr
335 //Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort
336 //The IP Address and port number of the RADIUS server used for WLAN security. RadiusServerIPAddr is only applicable when ModeEnabled is an Enterprise type (i.e. WPA-Enterprise, WPA2-Enterprise or WPA-WPA2-Enterprise).
337 INT wifi_getApSecurityRadiusServer(INT apIndex, CHAR *IP_output, UINT *Port_output); //Tr181
338 INT wifi_setApSecurityRadiusServer(INT apIndex, CHAR *IPAddress, UINT port); //Tr181
339 
340 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.
341 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.RadiusServerRetries int W
342 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.RadiusServerRequestTimeout int W
343 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.PMKLifetime int W
344 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.PMKCaching boolean W
345 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.PMKCacheInterval int W
346 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.MaxAuthenticationAttempts int W
347 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.BlacklistTableTimeout int W
348 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.IdentityRequestRetryInterval int W
349 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.QuietPeriodAfterFailedAuthentication int W
350 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.RadiusSecret
351 INT wifi_getApSecurityRadiusSettings(INT apIndex, wifi_radius_setting_t *output); //Tr181
352 INT wifi_setApSecurityRadiusSettings(INT apIndex, wifi_radius_setting_t *input); //Tr181
353 
354 
355 //-----------------------------------------------------------------------------------------------
356 //Device.WiFi.AccessPoint.{i}.WPS.
357 //Device.WiFi.AccessPoint.{i}.WPS.Enable
358 //Enables or disables WPS functionality for this access point.
359 INT wifi_getApWpsEnable(INT apIndex, BOOL *output_bool); // outputs the WPS enable state of this ap in output_bool
360 INT wifi_setApWpsEnable(INT apIndex, BOOL enableValue); // sets the WPS enable enviornment variable for this ap to the value of enableValue, 1==enabled, 0==disabled
361 
362 //Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported
363 //Comma-separated list of strings. Indicates WPS configuration methods supported by the device. Each list item is an enumeration of: USBFlashDrive,Ethernet,ExternalNFCToken,IntegratedNFCToken,NFCInterface,PushButton,PIN
364 INT wifi_getApWpsConfigMethodsSupported(INT apIndex, CHAR *output); //Tr181
365 
366 //Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled string W
367 //Comma-separated list of strings. Each list item MUST be a member of the list reported by the ConfigMethodsSupported parameter. Indicates WPS configuration methods enabled on the device.
368 INT wifi_getApWpsConfigMethodsEnabled(INT apIndex, CHAR *output_string); // Outputs a common separated list of the enabled WPS config methods, 64 bytes max
369 INT wifi_setApWpsConfigMethodsEnabled(INT apIndex, CHAR *methodString); // sets an enviornment variable that specifies the WPS configuration method(s). methodString is a comma separated list of methods "USBFlashDrive","Ethernet","Label","Display","ExternalNFCToken","NFCInterface","PushButton","Keypad"
370 
371 INT wifi_getApWpsDevicePIN(INT apIndex, ULONG *output_ulong); // outputs the pin value, ulong_pin must be allocated by the caller
372 INT wifi_setApWpsDevicePIN(INT apIndex, ULONG pin); // set an enviornment variable for the WPS pin for the selected AP
373 INT wifi_getApWpsConfigurationState(INT apIndex, CHAR *output_string); // Output string is either Not configured or Configured, max 32 characters
374 INT wifi_setApWpsEnrolleePin(INT apIndex, CHAR *pin); // sets the WPS pin for this AP
375 INT wifi_setApWpsButtonPush(INT apIndex); // This function is called when the WPS push button has been pressed for this AP
376 INT wifi_cancelApWPS(INT apIndex); // cancels WPS mode for this AP
377 
378 //-----------------------------------------------------------------------------------------------
379 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.
380 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_OperatingStandard
381 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_OperatingChannelBandwidth
382 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_SNR
383 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_InterferenceSources //P3
384 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_DataFramesSentAck //P3
385 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_DataFramesSentNoAck //P3
386 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_BytesSent
387 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_BytesReceived
388 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_RSSI
389 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_MinRSSI //P3
390 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_MaxRSSI //P3
391 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_Disassociations //P3
392 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_AuthenticationFailures //P3
393 //HAL funciton should allocate an data structure array, and return to caller with "associated_dev_array"
394 INT wifi_getApAssociatedDeviceDiagnosticResult(INT apIndex, wifi_associated_dev_t **associated_dev_array, UINT *output_array_size); //Tr181
395 
396 //------------------------------------------------------------------------------------------------------
397 ////SSID stearing APIs using blacklisting
398 //INT wifi_setSsidSteeringPreferredList(INT radioIndex,INT apIndex, INT *preferredAPs[32]); // prevent any client device from assocating with this ipIndex that has previously had a valid assocation on any of the listed "preferred" SSIDs unless SsidSteeringTimeout has expired for this device. The array lists all APs that are preferred over this AP. Valid AP values are 1 to 32. Unused positions in this array must be set to 0. This setting becomes active when committed. The wifi subsystem must default to no preferred SSID when initalized.
399 ////Using the concept of an “preferred list” provides a solution to most use cases that requrie SSID Steering. To implement this approach, the AP places the STA into the Access Control DENY list for a given SSID only if the STA has previously associated to one of the SSIDs in the “preferred list” that for SSID.
400 //INT wifi_setSsidSteeringTimout(INT radioIndex,INT apIndex, ULONG SsidSteeringTimout); // only prevent the client device from assocatign with this apIndex if the device has connected to a preferred SSID within this timeout period - in units of hours. This setting becomes active when committed.
401 
402 
403 //This call back will be invoked when new wifi client come to associate to AP.
404 typedef INT (*wifi_newApAssociatedDevice_callback)(INT apIndex, wifi_associated_dev_t *associated_dev);
405 //Callback registration function.
406 void wifi_newApAssociatedDevice_callback_register(wifi_newApAssociatedDevice_callback callback_proc);
407 
408 //-----------------------------------------------------------------------------------------------
409 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.
410 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.AccessNetworkType
411 //Access Network Type value to be included in the Interworking IE in the beaconds. (refer 8.4.2.94 of IEEE Std 802.11-2012). Possible values are: 0 - Private network;1 - Private network with guest access;2 - Chargeable public network;3 - Free public network;4 - Personal device network;5 - Emergency services only network;6-13 - Reserved;14 - Test or experimental;15 - Wildcard
412 INT wifi_setAccessNetworkType(INT apIndex, INT accessNetworkType); // P3
413 
414 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.Internet
415 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.VenueGroupCode
416 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.VenueTypeCode
417 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.HESSID
418 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.DGAFEnable
419 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.ANQPDomainID
420 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.VenueNamesNumberOfEntries
421 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.OperatorNamesNumberOfEntries
422 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.ConsortiumOIsNumberOfEntries
423 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.DomainNamesNumberOfEntries
424 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.3GPPNetworksNumberOfEntries
425 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.NAIRealmsNumberOfEntries
426 
427 //-----------------------------------------------------------------------------------------------
428 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.VenueNames.{i}.
429 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.VenueNames.{i}.LanguageCode
430 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.VenueNames.{i}.VanueName
431 
432 //-----------------------------------------------------------------------------------------------
433 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OperatorNames.{i}.
434 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OperatorNames.{i}.LanguageCode
435 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OperatorNames.{i}.OperatorName
436 
437 //-----------------------------------------------------------------------------------------------
438 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.ConsortiumOIs.{i}.
439 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.ConsortiumOIs.{i}.OI
440 
441 //-----------------------------------------------------------------------------------------------
442 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.DomainNames.{i}.
443 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.DomainNames.{i}.DomainName
444 
445 //-----------------------------------------------------------------------------------------------
446 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.3GPPNetworks.{i}.
447 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.3GPPNetworks.{i}.MCC
448 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.3GPPNetworks.{i}.MNC
449 
450 //-----------------------------------------------------------------------------------------------
451 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.
452 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.NAIRealmEncodingType
453 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.NAIRealm
454 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethodsNumberOfEntries
455 
456 //-----------------------------------------------------------------------------------------------
457 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.
458 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.EAPMethod
459 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParametersNumberOfEntries
460 
461 //-----------------------------------------------------------------------------------------------
462 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParameters.{i}.
463 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParameters.{i}.ID
464 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParameters.{i}.Value
465 
466 //-----------------------------------------------------------------------------------------------
467 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.
468 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.LinkStatus
469 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.AtCapacity
470 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.DownlinkSpeed
471 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.UplinkSpeed
472 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.DownlinkLoad
473 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.UplinkLoad
474 
475 //-----------------------------------------------------------------------------------------------
476 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.
477 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProvidersNumberOfEntries
478 
479 //-----------------------------------------------------------------------------------------------
480 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.
481 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.OSUServerURI
482 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.OSUMethodsList
483 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.OSUNAI
484 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.NamesNumberOfEntries
485 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.IconsNumberOfEntries
486 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}ServiceDescriptionsNumberOfEntries
487 
488 //-----------------------------------------------------------------------------------------------
489 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Names.{i}.
490 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Names.{i}.LanguageCode
491 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Names.{i}.OSUProviderFriendlyName
492 
493 //-----------------------------------------------------------------------------------------------
494 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.
495 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.IconWidth
496 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.IconHeight
497 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.LanguageCode
498 
499 //-----------------------------------------------------------------------------------------------
500 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.ServiceDescriptions.{i}.
501 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.ServiceDescriptions.{i}.LanguageCode
502 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.ServiceDescriptions.{i}.ServiceDescription
503 
504 //-----------------------------------------------------------------------------------------------
505 //Device.IP.Diagnostics.
506 //Device.IP.Diagnostics.IPPing.
507 //Device.IP.Diagnostics.IPPing.DiagnosticsState
508 //Device.IP.Diagnostics.IPPing.Interface
509 //Device.IP.Diagnostics.IPPing.Host
510 //Device.IP.Diagnostics.IPPing.NumberOfRepetitions
511 //Device.IP.Diagnostics.IPPing.Timeout
512 //Device.IP.Diagnostics.IPPing.DataBlockSize
513 //Device.IP.Diagnostics.IPPing.DSCP
514 
515 //Device.IP.Diagnostics.IPPing.SuccessCount
516 //Device.IP.Diagnostics.IPPing.FailureCount
517 //Device.IP.Diagnostics.IPPing.AverageResponseTime
518 //Device.IP.Diagnostics.IPPing.MinimumResponseTime
519 //Device.IP.Diagnostics.IPPing.MaximumResponseTime
520 
521 //Start the ping test and get the result
522 //INT wifi_getIPDiagnosticsIPPingResult(wifi_diag_ipping_setting_t *input, wifi_diag_ipping_result_t *result); //Tr181
523 //--------------------------------------------------------------------------------------------------
524 // Wifi Airtime Management and QOS APIs to control contention based access to airtime
525 //INT wifi_clearDownLinkQos(INT apIndex); // clears the QOS parameters to the WMM default values for the downlink direction (from the access point to the stations. This set must take affect when the api wifi_applySSIDSettings() is called.
526 //INT wifi_setDownLinkQos(INT apIndex, wifi_qos_t qosStruct); // sets the QOS variables used in the downlink direction (from the access point to the stations). Values must be allowable values per IEEE 802.11-2012 section 8.4.2.31. Note: Some implementations may requrie that all downlink APs on the same radio are set to the same QOS values. Default values are per the WMM spec. This set must take affect when the api wifi_applySSIDSettings() is called.
527 //INT wifi_clearUpLinkQos(INT apIndex); // clears the QOS parameters to the WMM default values for the uplink direction (from the Wifi stations to the ap. This must take affect when the api wifi_applySSIDSettings() is called.
528 //INT wifi_setUpLinkQos (INT apIndex, wifi_qos_t qosStruct); // sets the QOS variables used in the uplink direction (from the Wifi stations to the AP). Values must be allowable values per IEEE 802.11-2012 section 8.4.2.31. The default values must be per the WMM spec. This set must take affect when the api wifi_applySSIDSettings() is called.
529 
530 //--------------------------------------------------------------------------------------------------
531 // Wifi Airtime Management and QOS APIs to control downlink queue prioritization
532 //INT wifi_getDownLinkQueuePrioritySupport (INT apIndex, INT *supportedPriorityLevels); //This api is used to get the the number of supported downlink queuing priority levels for each AP/SSID. If priority queuing levels for AP/SSIDs are not supported, the output should be set to 1. A value of 1 indicates that only the same priority level is supported for all AP/SSIDs.
533 //INT wifi_setDownLinkQueuePriority(INT apIndex, INT priorityLevel); // this sets the queue priority level for each AP/SSID in the downlink direction. It is used with the downlink QOS api to manage priority access to airtime in the downlink direction. This set must take affect when the api wifi_applySSIDSettings() is called.
534 
535 
536 #else
537 #error "! __WIFI_AP_HAL_H__"
538 #endif
_wifi_radius_setting_t
Definition: wifi_ap_hal.h:94
_wifi_associated_dev
Definition: wifi_ap_hal.h:61
Device_IP
It contains the members variables of the IP structure.
Definition: Device_IP.h:110
ULONG
#define ULONG
Defines for the basic data types.
Definition: wifi_common_hal.h:168