RDK-B
wifi_hal_emu.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's LICENSE 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_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 radio hardware abstraction layer
33 
34  ---------------------------------------------------------------
35 
36  environment:
37 
38  This HAL layer is intended to support Wifi drivers
39  through an open API.
40 
41  ---------------------------------------------------------------
42 
43  HAL version:
44 
45  The version of the Wifi HAL is specified in #defines below.
46 
47  ---------------------------------------------------------------
48 
49  author:
50 
51  zhicheng_qiu@cable.comcast.com
52  Charles Moreman, moremac@cisco.com
53 
54  ---------------------------------------------------------------
55 
56  Notes:
57 
58  What is new for 2.2.0
59  1. Add Country Code support
60  2. Add more DCS function
61  3. Move RadiusSecret from struct wifi_radius_setting_t to wifi_getApSecurityRadiusServer function
62  4. Add wifi_getApSecuritySecondaryRadiusServer
63  What is new for 2.2.1
64  1. Add wifi_setRadioTrafficStatsMeasure, wifi_setRadioTrafficStatsRadioStatisticsEnable
65 **********************************************************************/
66 /**
67 * @file wifi_hal_emu.h
68 * @author zhicheng_qiu@cable.comcast.com
69 * @brief For CCSP Component: Wifi_Provisioning_and_management
70 *
71 * @description Wifi subsystem level APIs that are common to Client and Access Point devices. This HAL layer is intended to support Wifi drivers through an open API. This sample implementation file gives the function call prototypes and structure definitions used for the RDK-Broadband Wifi hardware abstraction layer.
72 * This header file gives the function call prototypes and structure definitions used for the RDK-Broadband Wifi radio hardware abstraction layer.
73 */
74 
75 #ifndef __WIFI_HAL_H__
76 #define __WIFI_HAL_H__
77 
78 
79 #ifndef ULONG
80 #define ULONG unsigned long
81 #endif
82 
83 #ifndef BOOL
84 #define BOOL unsigned char
85 #endif
86 
87 #ifndef CHAR
88 #define CHAR char
89 #endif
90 
91 #ifndef UCHAR
92 #define UCHAR unsigned char
93 #endif
94 
95 #ifndef INT
96 #define INT int
97 #endif
98 
99 #ifndef UINT
100 #define UINT unsigned int
101 #endif
102 
103 #ifndef TRUE
104 #define TRUE 1
105 #endif
106 
107 #ifndef FALSE
108 #define FALSE 0
109 #endif
110 
111 #ifndef ENABLE
112 #define ENABLE 1
113 #endif
114 
115 #ifndef RETURN_OK
116 #define RETURN_OK 0
117 #endif
118 
119 #ifndef RETURN_ERR
120 #define RETURN_ERR -1
121 #endif
122 
123 /**
124  * @addtogroup WIFI_HAL_TYPES
125  * @{
126  */
127 #ifndef RADIO_INDEX_1
128 #define RADIO_INDEX_1 1
129 #define RADIO_INDEX_2 2
130 #define AP_INDEX_1 1
131 #define AP_INDEX_2 2
132 #define AP_INDEX_3 3
133 #define AP_INDEX_4 4
134 #define AP_INDEX_5 5
135 #define AP_INDEX_6 6
136 #define AP_INDEX_7 7
137 #define AP_INDEX_8 8
138 #define AP_INDEX_9 9
139 #define AP_INDEX_10 10
140 #define AP_INDEX_11 11
141 #define AP_INDEX_12 12
142 #define AP_INDEX_13 13
143 #define AP_INDEX_14 14
144 #define AP_INDEX_15 15
145 #define AP_INDEX_16 16
146 #endif
147 
148 #define COSA_DML_ALIAS_NAME_LENGTH 64
149 #define MAX_MAC_FILT 16
150 
151 //defines for HAL version 2.2.1
152 #define WIFI_HAL_MAJOR_VERSION 2 // This is the major verion of this HAL.
153 #define WIFI_HAL_MINOR_VERSION 2 // This is the minor verson of the HAL.
154 #define WIFI_HAL_MAINTENANCE_VERSION 1 // This is the maintenance version of the HAL.
155 
156 #define HOSTAPD_CONF_FILE_PATH "/etc/hostapd.conf"
157 #define FILE_SIZE 1024
158 #define SPACE 32
159 #define NEW_LINE 10
160 #define BUFFER_ADJUSTMENT 128
161 #define WORD_SIZE 50
162 #define MACADDRESS_SIZE 6
163 
164 /**********************************************************************
165  STRUCTURE DEFINITIONS
166 **********************************************************************/
167 
168 struct hostDetails
169 {
170  char hostName[20];
171  char InterfaceType[50];
172 };
173 
174 
175 typedef struct
177 {
180 
181  char MACAddress[18];
182  char DeviceName[64];
183 }
185 
186 
187 //>> Deprecated: used for old RDKB code.
188 typedef struct _wifi_basicTrafficStats
189 {
196 
197 typedef struct _wifi_trafficStats
198 {
211 
212 typedef struct _wifi_radioTrafficStats
213 {
223 
225 
226 typedef struct _wifi_ssidTrafficStats
227 {
234 
236 
237 typedef struct _wifi_neighbor_ap
238 {
240  CHAR ap_SSID[64];
242  CHAR ap_Mode[64];
257 
259 //<<
260 
262 {
263  ULONG radio_BytesSent; /**< The total number of bytes transmitted out of the interface, including framing characters. */
264  ULONG radio_BytesReceived; /**< The total number of bytes received on the interface, including framing characters. */
265  ULONG radio_PacketsSent; /**< The total number of packets transmitted out of the interface. */
266  ULONG radio_PacketsReceived; /**< The total number of packets received on the interface. */
267 
268  ULONG radio_ErrorsSent; /**< The total number of outbound packets that could not be transmitted because of errors. */
269  ULONG radio_ErrorsReceived; /**< The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol. */
270  ULONG radio_DiscardPacketsSent; /**< The total number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. */
271  ULONG radio_DiscardPacketsReceived; /**< The total number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space. */
272  ULONG radio_PLCPErrorCount; /**< The number of packets that were received with a detected Physical Layer Convergence Protocol (PLCP) header error. */
273  ULONG radio_FCSErrorCount; /**< The number of packets that were received with a detected FCS error. This parameter is based on dot11FCSErrorCount from [Annex C/802.11-2012]. */
274  ULONG radio_InvalidMACCount; /**< The number of packets that were received with a detected invalid MAC header error. */
275  ULONG radio_PacketsOtherReceived; /**< The number of packets that were received, but which were destined for a MAC address that is not associated with this interface. */
276  INT radio_NoiseFloor; /**< The noise floor for this radio channel where a recoverable signal can be obtained. Expressed as a signed integer in the range (-110:0). Measurement should capture all energy (in dBm) from sources other than Wi-Fi devices as well as interference from Wi-Fi devices too weak to be decoded. Measured in dBm */
277  ULONG radio_ChannelUtilization; /**< Percentage of time the channel was occupied by the radio's own activity (Activity Factor) or the activity of other radios. Channel utilization MUST cover all user traffic, management traffic, and time the radio was unavailable for CSMA activities, including DIFS intervals, etc. The metric is calculated and updated in this parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected from the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in Percentage */
278  INT radio_ActivityFactor; /**< Percentage of time that the radio was transmitting or receiving Wi-Fi packets to/from associated clients. Activity factor MUST include all traffic that deals with communication between the radio and clients associated to the radio as well as management overhead for the radio, including NAV timers, beacons, probe responses,time for receiving devices to send an ACK, SIFC intervals, etc. The metric is calculated and updated in this parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected from the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in Percentage */
279  INT radio_CarrierSenseThreshold_Exceeded; /**< Percentage of time that the radio was unable to transmit or receive Wi-Fi packets to/from associated clients due to energy detection (ED) on the channel or clear channel assessment (CCA). The metric is calculated and updated in this Parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected from the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in Percentage */
280  INT radio_RetransmissionMetirc; /**< Percentage of packets that had to be re-transmitted. Multiple re-transmissions of the same packet count as one. The metric is calculated and updated in this parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected from the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in percentage */
281  INT radio_MaximumNoiseFloorOnChannel; /**< Maximum Noise on the channel during the measuring interval. The metric is updated in this parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected in the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in dBm */
282  INT radio_MinimumNoiseFloorOnChannel; /**< Minimum Noise on the channel. The metric is updated in this Parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected in the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in dBm */
283  INT radio_MedianNoiseFloorOnChannel; /**< Median Noise on the channel during the measuring interval. The metric is updated in this parameter at the end of the interval defined by "Radio Statistics Measuring Interval". The calculation of this metric MUST only use the data collected in the just completed interval. If this metric is queried before it has been updated with an initial calculation, it MUST return -1. Units in dBm */
284  ULONG radio_StatisticsStartTime; /**< The date and time at which the collection of the current set of statistics started. This time must be updated whenever the radio statistics are reset. */
285 
286 } wifi_radioTrafficStats2_t; //for radio only
287 
288 typedef struct _wifi_radioTrafficStatsMeasure
289 {
290  INT radio_RadioStatisticsMeasuringRate; /**< Input //"The rate at which radio related statistics are periodically collected. Only statistics that explicitly indicate the use of this parameter MUST use the rate set in this parameter Other parameter's are assumed to collect data in real-time or nearly real-time. Default value is 30 seconds. This parameter MUST be persistent across reboots. If this parameter is changed, then use of the new rate MUST be deferred until the start of the next interval and all metrics using this rate MUST return -1 until the completion of the next full interval Units in Seconds" */
291  INT radio_RadioStatisticsMeasuringInterval; /**< Input //The interval for which radio data MUST be retained in order and at the end of which appropriate calculations are executed and reflected in the associated radio object's. Only statistics that explicitly indicate the use of this parameter MUST use the interval set in this parameter Default value is 30 minutes. This parameter MUST be persistent across reboots. If this item is modified, then all metrics leveraging this interval as well as the metrics Total number 802.11 packet of TX and Total number 802.11 packet of RX MUST be re-initialized immediately. Additionally, the Statistics Start Time must be reset to the current time. Units in Seconds */
292 } wifi_radioTrafficStatsMeasure_t; //for radio only
293 
294 
296 {
297  ULONG ssid_BytesSent; /**< The total number of bytes transmitted out of the interface, including framing characters. */
298  ULONG ssid_BytesReceived; /**< The total number of bytes received on the interface, including framing characters. */
299  ULONG ssid_PacketsSent; /**< The total number of packets transmitted out of the interface. */
300  ULONG ssid_PacketsReceived; /**< The total number of packets received on the interface. */
301 
302  ULONG ssid_RetransCount; /**< The total number of transmitted packets which were retransmissions. Two retransmissions of the same packet results in this counter incrementing by two. */
303  ULONG ssid_FailedRetransCount; /**< The number of packets that were not transmitted successfully due to the number of retransmission attempts exceeding an 802.11 retry limit. This parameter is based on dot11FailedCount from [802.11-2012]. */
304  ULONG ssid_RetryCount; /**< The number of packets that were successfully transmitted after one or more retransmissions. This parameter is based on dot11RetryCount from [802.11-2012]. */
305  ULONG ssid_MultipleRetryCount; /**< The number of packets that were successfully transmitted after more than one retransmission. This parameter is based on dot11MultipleRetryCount from [802.11-2012]. */
306  ULONG ssid_ACKFailureCount; /**< The number of expected ACKs that were never received. This parameter is based on dot11ACKFailureCount from [802.11-2012]. */
307  ULONG ssid_AggregatedPacketCount; /**< The number of aggregated packets that were transmitted. This applies only to 802.11n and 802.11ac. */
308 
309  ULONG ssid_ErrorsSent; /**< The total number of outbound packets that could not be transmitted because of errors. */
310  ULONG ssid_ErrorsReceived; /**< The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol. */
311  ULONG ssid_UnicastPacketsSent; /**< The total number of inbound packets that contained errors preventing them from being delivered to a higher-layer protocol. */
312  ULONG ssid_UnicastPacketsReceived; /**< The total number of received packets, delivered by this layer to a higher layer, which were not addressed to a multicast or broadcast address at this layer. */
313  ULONG ssid_DiscardedPacketsSent; /**< The total number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space. */
314  ULONG ssid_DiscardedPacketsReceived; /**< The total number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being delivered. One possible reason for discarding such a packet could be to free up buffer space. */
315  ULONG ssid_MulticastPacketsSent; /**< The total number of packets that higher-level protocols requested for transmission and which were addressed to a multicast address at this layer, including those that were discarded or not sent. */
316  ULONG ssid_MulticastPacketsReceived; /**< The total number of received packets, delivered by this layer to a higher layer, which were addressed to a multicast address at this layer. */
317  ULONG ssid_BroadcastPacketsSent; /**< The total number of packets that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. */
318  ULONG ssid_BroadcastPacketsRecevied; /**< The total number of packets that higher-level protocols requested for transmission and which were addressed to a broadcast address at this layer, including those that were discarded or not sent. */
319  ULONG ssid_UnknownPacketsReceived; /**< The total number of packets received via the interface which were discarded because of an unknown or unsupported protocol. */
320 
321 } wifi_ssidTrafficStats2_t; //for ssid only
322 
323 
324 //Please do not edit the elements for this data structure
325 typedef struct _wifi_neighbor_ap2
326 {
327  //CHAR ap_Radio[64]; //The value MUST be the path name of a row in theDevice.WiFi.Radiotable. The Radio that detected the neighboring WiFi SSID.
328  CHAR ap_SSID[64]; /**< The current service set identifier in use by the neighboring WiFi SSID. The value MAY be empty for hidden SSIDs. */
329  CHAR ap_BSSID[64]; /**< [MACAddress] The BSSID used for the neighboring WiFi SSID. */
330  CHAR ap_Mode[64]; /**< The mode the neighboring WiFi radio is operating in. Enumeration of: AdHoc, Infrastructure */
331  UINT ap_Channel; /**< The current radio channel used by the neighboring WiFi radio. */
332  INT ap_SignalStrength; /**< An indicator of radio signal strength (RSSI) of the neighboring WiFi radio measured indBm, as an average of the last 100 packets received. */
333  CHAR ap_SecurityModeEnabled[64]; /**< The type of encryption the neighboring WiFi SSID advertises. Enumeration of:None, WPA-WPA2 etc. */
334  CHAR ap_EncryptionMode[64]; /**< Comma-separated list of strings. The type of encryption the neighboring WiFi SSID advertises. Each list item is an enumeration of: TKIP, AES */
335  CHAR ap_OperatingFrequencyBand[16]; /**< Indicates the frequency band at which the radio this SSID instance is operating. Enumeration of:2.4GHz, 5GHz */
336  CHAR ap_SupportedStandards[64]; /**< Comma-separated list of strings. List items indicate which IEEE 802.11 standards thisResultinstance can support simultaneously, in the frequency band specified byOperatingFrequencyBand. Each list item is an enumeration of: */
337  CHAR ap_OperatingStandards[16]; /**< Comma-separated list of strings. Each list item MUST be a member of the list reported by theSupportedStandardsparameter. List items indicate which IEEE 802.11 standard that is detected for thisResult. */
338  CHAR ap_OperatingChannelBandwidth[16]; /**< Indicates the bandwidth at which the channel is operating. Enumeration of: */
339  UINT ap_BeaconPeriod; /**< Time interval (inms) between transmitting beacons. */
340  INT ap_Noise; /**< Indicator of average noise strength (indBm) received from the neighboring WiFi radio. */
341  CHAR ap_BasicDataTransferRates[256]; /**< Comma-separated list (maximum list length 256) of strings. Basic data transmit rates (in Mbps) for the SSID. For example, ifBasicDataTransferRatesis "1,2", this indicates that the SSID is operating with basic rates of 1 Mbps and 2 Mbps. */
342  CHAR ap_SupportedDataTransferRates[256]; /**< Comma-separated list (maximum list length 256) of strings. Data transmit rates (in Mbps) for unicast frames at which the SSID will permit a station to connect. For example, ifSupportedDataTransferRatesis "1,2,5.5", this indicates that the SSID will only permit connections at 1 Mbps, 2 Mbps and 5.5 Mbps. */
343  UINT ap_DTIMPeriod; /**< The number of beacon intervals that elapse between transmission of Beacon frames containing a TIM element whose DTIM count field is 0. This value is transmitted in the DTIM Period field of beacon frames. [802.11-2012] */
344  UINT ap_ChannelUtilization; /**< Indicates the fraction of the time AP senses that the channel is in use by the neighboring AP for transmissions. */
345 
346 } wifi_neighbor_ap2_t; //COSA_DML_NEIGHTBOURING_WIFI_RESULT
347 
348 typedef struct _wifi_diag_ipping_setting
349 {
350  CHAR ipping_Interface[256]; /**< The value MUST be the path name of a row in the IP.Interface table. The IP-layer interface over which the test is to be performed. This identifies the source IP address to use when performing the test. Example: Device.IP.Interface.1. If an empty string is specified, the CPE MUST use the interface as directed by its routing policy (Forwarding table entries) to determine the appropriate interface. */
351  CHAR ipping_Host[256]; /**< Host name or address of the host to ping. In the case where Host is specified by name, and the name resolves to more than one address, it is up to the device implementation to choose which address to use. */
352  UINT ipping_NumberOfRepetitions; /**< Number of repetitions of the ping test to perform before reporting the results. */
353  UINT ipping_Timeout; /**< Timeout in milliseconds for the ping test. */
354  UINT ipping_DataBlockSize; /**< Size of the data block in bytes to be sent for each ping. */
355  UINT ipping_DSCP; /**< DiffServ codepoint to be used for the test packets. By default the CPE SHOULD set this value to zero. */
356 
358 
359 typedef struct _wifi_diag_ipping_result
360 {
361  CHAR ipping_DiagnosticsState[64]; /**< Indicates availability of diagnostic data. Enumeration of: Complete, Error_CannotResolveHostName, Error_Internal, Error_Other */
362  UINT ipping_SuccessCount; /**< Result parameter indicating the number of successful pings (those in which a successful response was received prior to the timeout) in the most recent ping test. */
363  UINT ipping_FailureCount; /**< Result parameter indicating the number of failed pings in the most recent ping test. */
364  UINT ipping_AverageResponseTime; /**< Result parameter indicating the average response time in milliseconds over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero. */
365  UINT ipping_MinimumResponseTime; /**< Result parameter indicating the minimum response time in milliseconds over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero. */
366  UINT ipping_MaximumResponseTime; /**< Result parameter indicating the maximum response time in milliseconds over all repetitions with successful responses of the most recent ping test. If there were no successful responses, this value MUST be zero. */
367 
369 
370 //>> -------------------------------- wifi_ap_hal --------------------------------------------
371 //>> Deprecated: used for old RDKB code.
372 typedef struct _wifi_device
373 {
380 } wifi_device_t;
381 //<<
382 
383 //Please do not edit the elements for this data structure
384 typedef struct _wifi_associated_dev
385 {
386  //UCHAR cli_devMacAddress[6];
387  //CHAR cli_devIPAddress[64];
388  //BOOL cli_devAssociatedDeviceAuthentiationState;
389  //INT cli_devSignalStrength;
390  //INT cli_devTxRate;
391  //INT cli_devRxRate;
392 
393  UCHAR cli_MACAddress[6]; /**< The MAC address of an associated device. */
394  CHAR cli_IPAddress[64]; /**< IP of the associated device */
395  BOOL cli_AuthenticationState; /**< Whether an associated device has authenticated (true) or not (false). */
396  UINT cli_LastDataDownlinkRate; /**< The data transmit rate in kbps that was most recently used for transmission from the access point to the associated device. */
397  UINT cli_LastDataUplinkRate; /**< The data transmit rate in kbps that was most recently used for transmission from the associated device to the access point. */
398  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. */
399  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. */
400  BOOL cli_Active; /**< boolean - Whether or not this node is currently present in the WiFi AccessPoint network. */
401 
402  CHAR cli_OperatingStandard[64]; /**< Radio standard the associated Wi-Fi client device is operating under. Enumeration of: */
403  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: */
404  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). */
405  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 */
406  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. */
407  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. */
408  ULONG cli_BytesSent; /**< The total number of bytes transmitted to the client device, including framing characters. */
409  ULONG cli_BytesReceived; /**< The total number of bytes received from the client device, including framing characters. */
410  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. */
411  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). */
412  INT cli_MaxRSSI; /**< The Maximum Received Signal Strength Indicator, RSSI, parameter is the energy observed at the antenna receiver for past transmissions (100 packets). */
413  UINT cli_Disassociations; /**< This parameter represents the total number of client disassociations. Reset the parameter evey 24hrs or reboot */
414  UINT cli_AuthenticationFailures; /**< This parameter indicates the total number of authentication failures. Reset the parameter evey 24hrs or reboot */
415 
416 } wifi_associated_dev_t; //~COSA_DML_WIFI_AP_ASSOC_DEVICE
417 
418 typedef struct _wifi_radius_setting_t
419 {
420  INT RadiusServerRetries; /**< Number of retries for Radius requests. */
421  INT RadiusServerRequestTimeout; /**< Radius request timeout in seconds after which the request must be retransmitted for the # of retries available. */
422  INT PMKLifetime; /**< Default time in seconds after which a Wi-Fi client is forced to ReAuthenticate (def 8 hrs). */
423  BOOL PMKCaching; /**< Enable or disable caching of PMK. */
424  INT PMKCacheInterval; /**< Time interval in seconds after which the PMKSA (Pairwise Master Key Security Association) cache is purged (def 5 minutes). */
425  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. */
426  INT BlacklistTableTimeout; /**< Time interval in seconds for which a client will continue to be blacklisted once it is marked so. */
427  INT IdentityRequestRetryInterval; /**< Time Interval in seconds between identity requests retries. A value of 0 (zero) disables it. */
428  INT QuietPeriodAfterFailedAuthentication; /**< The enforced quiet period (time interval) in seconds following failed authentication. A value of 0 (zero) disables it. */
429  //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.
430 
432 
433 //typedef struct wifi_AC_parameters_record // Access Catagoriy parameters. see 802.11-2012 spec for descriptions
434 //{
435 // INT CWmin; // CWmin variable
436 // INT CWmax; // CWmax vairable
437 // INT AIFS; // AIFS
438 // ULONG TxOpLimit; // TXOP Limit
439 //} wifi_AC_parameters_record_t;
440 
441 
442 //typedef struct _wifi_qos
443 //{
444 // wifi_AC_parameters_record_t BE_AcParametersRecord; // Best Effort QOS parameters, ACI == 0
445 // wifi_AC_parameters_record_t BK_AcParametersRecord; // Background QOS parameters, ACI == 1
446 // wifi_AC_parameters_record_t VI_AcParametersRecord; // Video QOS parameters, ACI == 2
447 // wifi_AC_parameters_record_t VO_AcParametersRecord; // Voice QOS parameters, ACI == 3
448 //} wifi_qos_t;
449 
450 /** @} */ //END OF GROUP WIFI_HAL_TYPES
451 
452 /**
453  * @addtogroup WIFI_HAL_APIS
454  * @{
455  */
456 
457 //<< -------------------------------- wifi_ap_hal --------------------------------------------
458 
459 //---------------------------------------------------------------------------------------------------
460 /* wifi_getHalVersion() function */
461 /**
462 * @description Get the wifi hal version in string, eg "2.0.0". WIFI_HAL_MAJOR_VERSION.WIFI_HAL_MINOR_VERSION.WIFI_HAL_MAINTENANCE_VERSION
463 *
464 * @param output_string - WiFi Hal version, to be returned
465 *
466 * @return The status of the operation
467 * @retval RETURN_OK if successful
468 * @retval RETURN_ERR if any error is detected
469 *
470 * @sideeffect None
471 */
472 //Wifi system api
473 //Get the wifi hal version in string, eg "2.0.0". WIFI_HAL_MAJOR_VERSION.WIFI_HAL_MINOR_VERSION.WIFI_HAL_MAINTENANCE_VERSION
474 INT wifi_getHalVersion(CHAR *output_string); //RDKB
475 
476 //---------------------------------------------------------------------------------------------------
477 //
478 // Wifi subsystem level APIs that are common to Client and Access Point devices.
479 //
480 //---------------------------------------------------------------------------------------------------
481 
482 /* wifi_factoryReset() function */
483 /**
484 * @description Clears internal variables to implement a factory reset of the Wi-Fi
485 * subsystem. Resets Implementation specifics may dictate some functionality since different hardware implementations may have different requirements.
486 *
487 * @param None
488 *
489 * @return The status of the operation.
490 * @retval RETURN_OK if successful.
491 * @retval RETURN_ERR if any error is detected
492 *
493 * @execution Synchronous
494 * @sideeffect None
495 *
496 * @note This function must not suspend and must not invoke any blocking system
497 * calls. It should probably just send a message to a driver event handler task.
498 *
499 */
500 //clears internal variables to implement a factory reset of the Wi-Fi subsystem
501 INT wifi_factoryReset(); //RDKB
502 
503 /* wifi_factoryResetRadios() function */
504 /**
505 * @description Restore all radio parameters without touching access point parameters. Resets Implementation specifics may dictate some functionality since different hardware implementations may have different requirements.
506 *
507 * @param None
508 * @return The status of the operation
509 * @retval RETURN_OK if successful
510 * @retval RETURN_ERR if any error is detected
511 *
512 * @execution Synchronous
513 *
514 * @sideeffect None
515 *
516 * @note This function must not suspend and must not invoke any blocking system
517 * calls. It should probably just send a message to a driver event handler task.
518 *
519 */
520 //Restore all radio parameters without touch access point parameters
522 
523 /* wifi_factoryResetRadio() function */
524 /**
525 * @description Restore selected radio parameters without touching access point parameters
526 *
527 * @param radioIndex - Index of Wi-Fi Radio channel
528 *
529 * @return The status of the operation.
530 * @retval RETURN_OK if successful.
531 * @retval RETURN_ERR if any error is detected
532 *
533 * @execution Synchronous.
534 * @sideeffect None.
535 *
536 * @note This function must not suspend and must not invoke any blocking system
537 * calls. It should probably just send a message to a driver event handler task.
538 *
539 */
540 //Restore selected radio parameters without touch access point parameters
541 INT wifi_factoryResetRadio(int radioIndex); //RDKB
542 
543 /* wifi_setLED() function */
544 /**
545 * @description Set the system LED status
546 *
547 * @param radioIndex - Index of Wi-Fi Radio channel
548 * @param enable - LED status
549 *
550 * @return The status of the operation.
551 * @retval RETURN_OK if successful.
552 * @retval RETURN_ERR if any error is detected
553 *
554 * @execution Synchronous.
555 * @sideeffect None.
556 *
557 * @note This function must not suspend and must not invoke any blocking system
558 * calls. It should probably just send a message to a driver event handler task.
559 *
560 */
561 //Set the system LED status
562 INT wifi_setLED(INT radioIndex, BOOL enable); //RDKB
563 
564 /* wifi_init() function */
565 /**
566 * @description This function call initializes all Wi-Fi radios. Implementation
567 * specifics may dictate the functionality since different hardware implementations
568 * may have different initilization requirements.
569 *
570 * @param None
571 *
572 * @return The status of the operation
573 * @retval RETURN_OK if successful
574 * @retval RETURN_ERR if any error is detected
575 *
576 * @execution Synchronous
577 * @sideeffect None
578 *
579 * @note This function must not suspend and must not invoke any blocking system
580 * calls. It should probably just send a message to a driver event handler task.
581 *
582 */
583 // Initializes the wifi subsystem (all radios)
584 INT wifi_init(); //RDKB
585 
586 /* wifi_reset() function */
587 /**
588 * @description Resets the Wifi subsystem. This includes reset of all AP varibles.
589 * Implementation specifics may dictate what is actualy reset since different hardware
590 * implementations may have different requirements.
591 *
592 * @param None
593 *
594 * @return The status of the operation
595 * @retval RETURN_OK if successful
596 * @retval RETURN_ERR if any error is detected
597 *
598 * @execution Synchronous
599 * @sideeffect None
600 *
601 * @note This function must not suspend and must not invoke any blocking system
602 * calls. It should probably just send a message to a driver event handler task.
603 *
604 */
605 // resets the wifi subsystem, deletes all APs
606 INT wifi_reset(); //RDKB
607 
608 /* wifi_down() function */
609 /**
610 * @description Turns off transmit power for the entire Wifi subsystem, for all radios.
611 * Implementation specifics may dictate some functionality since
612 * different hardware implementations may have different requirements.
613 *
614 * @param None
615 *
616 * @return The status of the operation
617 * @retval RETURN_OK if successful
618 * @retval RETURN_ERR if any error is detected
619 *
620 * @execution Synchronous
621 * @sideeffect None
622 *
623 * @note This function must not suspend and must not invoke any blocking system
624 * calls. It should probably just send a message to a driver event handler task.
625 *
626 */
627 // turns off transmit power for the entire Wifi subsystem, for all radios
628 INT wifi_down(); //RDKB
629 
630 /* wifi_createInitialConfigFiles() function */
631 /**
632 * @description This function creates wifi configuration files. The format
633 * and content of these files are implementation dependent. This function call is
634 * used to trigger this task if necessary. Some implementations may not need this
635 * function. If an implementation does not need to create config files the function call can
636 * do nothing and return RETURN_OK.
637 *
638 * @param None
639 *
640 * @return The status of the operation
641 * @retval RETURN_OK if successful
642 * @retval RETURN_ERR if any error is detected
643 *
644 * @execution Synchronous
645 * @sideeffect None
646 *
647 * @note This function must not suspend and must not invoke any blocking system
648 * calls. It should probably just send a message to a driver event handler task.
649 *
650 */
651 // creates initial implementation dependent configuration files that are later used for variable storage. Not all implementations may need this function. If not needed for a particular implementation simply return no-error (0)
653 
654 /* wifi_getRadioCountryCode() function */
655 /**
656 * @description Outputs the country code to a max 64 character string
657 *
658 * @param radioIndex - Index of Wi-Fi radio channel
659 * @param output_string - Country code, to be returned
660 *
661 * @return The status of the operation
662 * @retval RETURN_OK if successful
663 * @retval RETURN_ERR if any error is detected
664 *
665 * @execution Synchronous
666 * @sideeffect None
667 *
668 * @note This function must not suspend and must not invoke any blocking system
669 * calls. It should probably just send a message to a driver event handler task.
670 *
671 */
672 // outputs the country code to a max 64 character string
673 INT wifi_getRadioCountryCode(INT radioIndex, CHAR *output_string);
674 
675 /* wifi_setRadioCountryCode() function */
676 /**
677 * @description Set the country code for selected Wi-Fi radio channel.
678 *
679 * @param radioIndex - Index of Wi-Fi radio channel
680 * @param CountryCode - Country code
681 *
682 * @return The status of the operation
683 * @retval RETURN_OK if successful
684 * @retval RETURN_ERR if any error is detected
685 *
686 * @execution Synchronous
687 * @sideeffect None
688 *
689 * @note This function must not suspend and must not invoke any blocking system
690 * calls. It should probably just send a message to a driver event handler task.
691 *
692 */
693 INT wifi_setRadioCountryCode(INT radioIndex, CHAR *CountryCode);
694 
695 //---------------------------------------------------------------------------------------------------
696 //Wifi Tr181 API
697 
698 //Device.WiFi.
699 
700 /* wifi_getRadioNumberOfEntries() function */
701 /**
702 * @description Get the total number of radios in this wifi subsystem
703 *
704 * @param output - Total no. of radios, to be returned
705 *
706 * @return The status of the operation
707 * @retval RETURN_OK if successful
708 * @retval RETURN_ERR if any error is detected
709 *
710 * @execution Synchronous
711 * @sideeffect None
712 *
713 * @note This function must not suspend and must not invoke any blocking system
714 * calls. It should probably just send a message to a driver event handler task.
715 *
716 */
717 //Device.WiFi.RadioNumberOfEntries
718 //Get the total number of radios in this wifi subsystem
719 INT wifi_getRadioNumberOfEntries(ULONG *output); //Tr181
720 
721 /* wifi_getSSIDNumberOfEntries() function */
722 /**
723 * @description Get the total number of SSID entries in this wifi subsystem
724 *
725 * @param output - Total no. of SSID entries, to be returned
726 *
727 * @return The status of the operation
728 * @retval RETURN_OK if successful
729 * @retval RETURN_ERR if any error is detected
730 *
731 * @execution Synchronous
732 * @sideeffect None
733 *
734 * @note This function must not suspend and must not invoke any blocking system
735 * calls. It should probably just send a message to a driver event handler task.
736 *
737 */
738 //Device.WiFi.SSIDNumberOfEntries
739 //Get the total number of SSID entries in this wifi subsystem
740 INT wifi_getSSIDNumberOfEntries(ULONG *output); //Tr181
741 
742 //Device.WiFi.AccessPointNumberOfEntries
743 
744 //Device.WiFi.EndPointNumberOfEntries
745 //End points are managed by RDKB
746 //INT wifi_getEndPointNumberOfEntries(INT radioIndex, ULONG *output); //Tr181
747 
748 //---------------------------------------------------------------------------------------------------
749 //
750 // Wifi radio level APIs that are common to Client and Access Point devices
751 //
752 //---------------------------------------------------------------------------------------------------
753 
754 //Device.WiFi.Radio.
755 
756 /* wifi_getRadioEnable() function */
757 /**
758 * @description Get the Radio enable config parameter
759 *
760 * @param radioIndex - Index of Wi-Fi radio channel
761 * @param output_bool - Radio Enable status, to be returned
762 *
763 * @return The status of the operation
764 * @retval RETURN_OK if successful
765 * @retval RETURN_ERR if any error is detected
766 *
767 * @execution Synchronous
768 * @sideeffect None
769 *
770 * @note This function must not suspend and must not invoke any blocking system
771 * calls. It should probably just send a message to a driver event handler task.
772 *
773 */
774 //Device.WiFi.Radio.{i}.Enable
775 //Get the Radio enable config parameter
776 INT wifi_getRadioEnable(INT radioIndex, BOOL *output_bool); //RDKB
777 
778 /* wifi_setRadioEnable() function */
779 /**
780 * @description Set the Radio enable config parameter
781 *
782 * @param radioIndex - Index of Wi-Fi radio channel
783 * @param enable - Set the selected radio's status as Enable/Disable
784 *
785 * @return The status of the operation
786 * @retval RETURN_OK if successful
787 * @retval RETURN_ERR if any error is detected
788 *
789 * @execution Synchronous
790 * @sideeffect None
791 *
792 * @note This function must not suspend and must not invoke any blocking system
793 * calls. It should probably just send a message to a driver event handler task.
794 *
795 */
796 //Set the Radio enable config parameter
797 INT wifi_setRadioEnable(INT radioIndex, BOOL enable); //RDKB
798 
799 /* wifi_getRadioStatus() function */
800 /**
801 * @description Get the Radio enable status
802 *
803 * @param radioIndex - Index of Wi-Fi radio channel
804 * @param output_bool - Selected radio's enable status, to be returned
805 *
806 * @return The status of the operation
807 * @retval RETURN_OK if successful
808 * @retval RETURN_ERR if any error is detected
809 *
810 * @execution Synchronous
811 * @sideeffect None
812 *
813 * @note This function must not suspend and must not invoke any blocking system
814 * calls. It should probably just send a message to a driver event handler task.
815 *
816 */
817 //Device.WiFi.Radio.{i}.Status
818 //Get the Radio enable status
819 INT wifi_getRadioStatus(INT radioIndex, BOOL *output_bool); //RDKB
820 
821 /* wifi_getRadioIfName() function */
822 /**
823 * @description Get the Radio Interface name from platform, eg "wifi0"
824 *
825 * @param radioIndex - Index of Wi-Fi radio channel
826 * @param output_string - Interface name, to be returned
827 *
828 * @return The status of the operation
829 * @retval RETURN_OK if successful
830 * @retval RETURN_ERR if any error is detected
831 *
832 * @execution Synchronous
833 * @sideeffect None
834 *
835 * @note This function must not suspend and must not invoke any blocking system
836 * calls. It should probably just send a message to a driver event handler task.
837 *
838 */
839 //Device.WiFi.Radio.{i}.Alias
840 
841 //Device.WiFi.Radio.{i}.Name
842 //Get the Radio Interface name from platform, eg "wifi0"
843 INT wifi_getRadioIfName(INT radioIndex, CHAR *output_string); //Tr181
844 
845 //Device.WiFi.Radio.{i}.LastChange
846 
847 //Device.WiFi.Radio.{i}.LowerLayers
848 
849 //Device.WiFi.Radio.{i}.Upstream
850 
851 /* wifi_getRadioMaxBitRate() function */
852 /**
853 * @description Get the maximum PHY bit rate supported by this interface. eg: "216.7 Mb/s", "1.3 Gb/s"
854 * The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
855 *
856 * @param radioIndex - Index of Wi-Fi radio channel
857 * @param output_string - Maximum bit rate supported, to be returned
858 *
859 * @return The status of the operation
860 * @retval RETURN_OK if successful
861 * @retval RETURN_ERR if any error is detected
862 *
863 * @execution Synchronous
864 * @sideeffect None
865 *
866 * @note This function must not suspend and must not invoke any blocking system
867 * calls. It should probably just send a message to a driver event handler task.
868 *
869 */
870 //Device.WiFi.Radio.{i}.MaxBitRate
871 //Get the maximum PHY bit rate supported by this interface. eg: "216.7 Mb/s", "1.3 Gb/s"
872 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
873 INT wifi_getRadioMaxBitRate(INT radioIndex, CHAR *output_string); //RDKB
874 
875 /* wifi_getRadioSupportedFrequencyBands() function */
876 /**
877 * @description Get Supported frequency bands at which the radio can operate. eg: "2.4GHz,5GHz"
878 * The output_string is a max length 64 octet string that is allocated by the RDKB code.
879 * Implementations must ensure that strings are not longer than this.
880 *
881 * @param radioIndex - Index of Wi-Fi radio channel
882 * @param output_string - Supported frequency bands, to be returned
883 *
884 * @return The status of the operation
885 * @retval RETURN_OK if successful
886 * @retval RETURN_ERR if any error is detected
887 *
888 * @execution Synchronous
889 * @sideeffect None
890 *
891 * @note This function must not suspend and must not invoke any blocking system
892 * calls. It should probably just send a message to a driver event handler task.
893 *
894 */
895 //Device.WiFi.Radio.{i}.SupportedFrequencyBands
896 //Get Supported frequency bands at which the radio can operate. eg: "2.4GHz,5GHz"
897 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
898 INT wifi_getRadioSupportedFrequencyBands(INT radioIndex, CHAR *output_string); //RDKB
899 
900 /* wifi_getRadioOperatingFrequencyBand() function */
901 /**
902 * @description Get the frequency band at which the radio is operating, eg: "2.4GHz".
903 * The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
904 *
905 * @param radioIndex - Index of Wi-Fi radio channel
906 * @param output_string - Operating frequency band, to be returned
907 *
908 * @return The status of the operation
909 * @retval RETURN_OK if successful
910 * @retval RETURN_ERR if any error is detected
911 *
912 * @execution Synchronous
913 * @sideeffect None
914 *
915 * @note This function must not suspend and must not invoke any blocking system
916 * calls. It should probably just send a message to a driver event handler task.
917 *
918 */
919 //Device.WiFi.Radio.{i}.OperatingFrequencyBand
920 //Get the frequency band at which the radio is operating, eg: "2.4GHz"
921 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
922 INT wifi_getRadioOperatingFrequencyBand(INT radioIndex, CHAR *output_string); //Tr181
923 
924 /* wifi_getRadioSupportedStandards() function */
925 /**
926 * @description Get the Supported Radio Mode. eg: "b,g,n"; "n,ac".
927 * The output_string is a max length 64 octet string that is allocated by the RDKB code.
928 * Implementations must ensure that strings are not longer than this.
929 *
930 * @param radioIndex - Index of Wi-Fi radio channel
931 * @param output_string - Supported radio mode, to be returned
932 *
933 * @return The status of the operation
934 * @retval RETURN_OK if successful
935 * @retval RETURN_ERR if any error is detected
936 *
937 * @execution Synchronous
938 * @sideeffect None
939 *
940 * @note This function must not suspend and must not invoke any blocking system
941 * calls. It should probably just send a message to a driver event handler task.
942 *
943 */
944 //Device.WiFi.Radio.{i}.SupportedStandards
945 //Get the Supported Radio Mode. eg: "b,g,n"; "n,ac"
946 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
947 INT wifi_getRadioSupportedStandards(INT radioIndex, CHAR *output_string); //Tr181
948 
949 /* wifi_getRadioStandard() function */
950 /**
951 * @description Get the radio operating mode, and pure mode flag. eg: "ac".
952 * The output_string is a max length 64 octet string that is allocated by the RDKB code.
953 * Implementations must ensure that strings are not longer than this.
954 *
955 * @param radioIndex - Index of Wi-Fi radio channel
956 * @param output_string - Radio operating mode, to be returned
957 * @param gOnly - Boolean pointer variable need to be updated based on the "output_string"
958 * @param nOnly - Boolean pointer variable need to be updated based on the "output_string"
959 * @param acOnly - Boolean pointer variable need to be updated based on the "output_string"
960 *
961 * @return The status of the operation
962 * @retval RETURN_OK if successful
963 * @retval RETURN_ERR if any error is detected
964 *
965 * @execution Synchronous
966 * @sideeffect None
967 *
968 * @note This function must not suspend and must not invoke any blocking system
969 * calls. It should probably just send a message to a driver event handler task.
970 *
971 */
972 //Device.WiFi.Radio.{i}.OperatingStandards
973 //Get the radio operating mode, and pure mode flag. eg: "ac"
974 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
975 INT wifi_getRadioStandard(INT radioIndex, CHAR *output_string, BOOL *gOnly, BOOL *nOnly, BOOL *acOnly); //RDKB
976 
977 /* wifi_setRadioChannelMode() function */
978 /**
979 * @description Set the radio operating mode, and pure mode flag.
980 *
981 * @param radioIndex - Index of Wi-Fi radio channel
982 * @param channelMode - Pass the channelMode for specified radio index
983 * @param gOnlyFlag - Pass operating mode flag for setting pure mode flag
984 * @param nOnlyFlag - Pass operating mode flag for setting pure mode flag
985 * @param acOnlyFlag - Pass operating mode flag for setting pure mode flag
986 *
987 * @return The status of the operation
988 * @retval RETURN_OK if successful
989 * @retval RETURN_ERR if any error is detected
990 *
991 * @execution Synchronous
992 * @sideeffect None
993 *
994 * @note This function must not suspend and must not invoke any blocking system
995 * calls. It should probably just send a message to a driver event handler task.
996 *
997 */
998 //Set the radio operating mode, and pure mode flag.
999 INT wifi_setRadioChannelMode(INT radioIndex, CHAR *channelMode, BOOL gOnlyFlag, BOOL nOnlyFlag, BOOL acOnlyFlag); //RDKB
1000 
1001 /* wifi_getRadioPossibleChannels() function */
1002 /**
1003 * @description Get the list of supported channel. eg: "1-11".
1004 * The output_string is a max length 64 octet string that is allocated by the RDKB code.
1005 * Implementations must ensure that strings are not longer than this.
1006 *
1007 * @param radioIndex - Index of Wi-Fi radio channel
1008 * @param output_string - List of supported radio channels, to be returned
1009 *
1010 * @return The status of the operation
1011 * @retval RETURN_OK if successful
1012 * @retval RETURN_ERR if any error is detected
1013 *
1014 * @execution Synchronous
1015 * @sideeffect None
1016 *
1017 * @note This function must not suspend and must not invoke any blocking system
1018 * calls. It should probably just send a message to a driver event handler task.
1019 *
1020 */
1021 //Device.WiFi.Radio.{i}.PossibleChannels
1022 //Get the list of supported channel. eg: "1-11"
1023 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1024 INT wifi_getRadioPossibleChannels(INT radioIndex, CHAR *output_string); //RDKB
1025 
1026 /* wifi_getRadioChannelsInUse() function */
1027 /**
1028 * @description Get the list of supported channel. eg: "1-11".
1029 * The output_string is a max length 64 octet string that is allocated by the RDKB code.
1030 * Implementations must ensure that strings are not longer than this.
1031 *
1032 * @param radioIndex - Index of Wi-Fi radio channel
1033 * @param output_string - List of supported radio channels, to be returned
1034 *
1035 * @return The status of the operation
1036 * @retval RETURN_OK if successful
1037 * @retval RETURN_ERR if any error is detected
1038 *
1039 * @execution Synchronous
1040 * @sideeffect None
1041 *
1042 * @note This function must not suspend and must not invoke any blocking system
1043 * calls. It should probably just send a message to a driver event handler task.
1044 *
1045 */
1046 //Device.WiFi.Radio.{i}.ChannelsInUse
1047 //Get the list for used channel. eg: "1,6,9,11"
1048 //The output_string is a max length 256 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1049 INT wifi_getRadioChannelsInUse(INT radioIndex, CHAR *output_string); //RDKB
1050 
1051 /* wifi_getRadioChannel() function */
1052 /**
1053 * @description Get the running channel number.
1054 *
1055 * @param radioIndex - Index of Wi-Fi radio channel
1056 * @param output_ulong - Running channel number, to be returned
1057 *
1058 * @return The status of the operation
1059 * @retval RETURN_OK if successful
1060 * @retval RETURN_ERR if any error is detected
1061 *
1062 * @execution Synchronous
1063 * @sideeffect None
1064 *
1065 * @note This function must not suspend and must not invoke any blocking system
1066 * calls. It should probably just send a message to a driver event handler task.
1067 *
1068 */
1069 //Device.WiFi.Radio.{i}.Channel
1070 //Get the running channel number
1071 INT wifi_getRadioChannel(INT radioIndex,ULONG *output_ulong); //RDKB
1072 
1073 /* wifi_setRadioChannel() function */
1074 /**
1075 * @description Set the running channel number.
1076 *
1077 * @param radioIndex - Index of Wi-Fi radio channel
1078 * @param channel - Channel number to be set as running wifi radio channel
1079 *
1080 * @return The status of the operation
1081 * @retval RETURN_OK if successful
1082 * @retval RETURN_ERR if any error is detected
1083 *
1084 * @execution Synchronous
1085 * @sideeffect None
1086 *
1087 * @note This function must not suspend and must not invoke any blocking system
1088 * calls. It should probably just send a message to a driver event handler task.
1089 *
1090 */
1091 //Set the running channel number
1092 INT wifi_setRadioChannel(INT radioIndex, ULONG channel); //RDKB //AP only
1093 
1094 /* wifi_setRadioAutoChannelEnable() function */
1095 /**
1096 * @description Enables or disables a driver level variable to indicate if auto channel selection is enabled on this radio.
1097 * This "auto channel" means the auto channel selection when radio is up. (which is different from the dynamic channel/frequency selection (DFC/DCS))
1098 *
1099 * @param radioIndex - Index of Wi-Fi radio channel
1100 * @param enable - Enable/Disable selected radio channel as auto channel radio
1101 *
1102 * @return The status of the operation
1103 * @retval RETURN_OK if successful
1104 * @retval RETURN_ERR if any error is detected
1105 *
1106 * @execution Synchronous
1107 * @sideeffect None
1108 *
1109 * @note This function must not suspend and must not invoke any blocking system
1110 * calls. It should probably just send a message to a driver event handler task.
1111 *
1112 */
1113 //Enables or disables a driver level variable to indicate if auto channel selection is enabled on this radio
1114 //This "auto channel" means the auto channel selection when radio is up. (which is different from the dynamic channel/frequency selection (DFC/DCS))
1115 INT wifi_setRadioAutoChannelEnable(INT radioIndex, BOOL enable); //RDKB
1116 
1117 /* wifi_getRadioAutoChannelSupported() function */
1118 /**
1119 * @description Check if the driver support the AutoChannel.
1120 * \n Device.WiFi.Radio.{i}.AutoChannelSupported
1121 *
1122 * @param radioIndex - Index of Wi-Fi radio channel
1123 * @param BOOL *output_bool - Value of Auto Channel Supported, to be returned
1124 *
1125 * @return The status of the operation
1126 * @retval RETURN_OK if successful
1127 * @retval RETURN_ERR if any error is detected
1128 *
1129 * @execution Synchronous
1130 * @sideeffect None
1131 *
1132 * @note This function must not suspend and must not invoke any blocking system
1133 * calls. It should probably just send a message to a driver event handler task.
1134 *
1135 */
1136 //Device.WiFi.Radio.{i}.AutoChannelSupported
1137 //Check if the driver support the AutoChannel
1138 INT wifi_getRadioAutoChannelSupported(INT radioIndex, BOOL *output_bool); //Tr181
1139 
1140 /* wifi_getRadioAutoChannelEnable() function */
1141 /**
1142 * @description Get the AutoChannel enable status.
1143 *
1144 * @param radioIndex - Index of Wi-Fi radio channel
1145 * @param BOOL *output_bool - Auto Channel Enabled status, to be returned
1146 *
1147 * @return The status of the operation
1148 * @retval RETURN_OK if successful
1149 * @retval RETURN_ERR if any error is detected
1150 *
1151 * @execution Synchronous
1152 * @sideeffect None
1153 *
1154 * @note This function must not suspend and must not invoke any blocking system
1155 * calls. It should probably just send a message to a driver event handler task.
1156 *
1157 */
1158 //Get the AutoChannel enable status
1159 INT wifi_getRadioAutoChannelEnable(INT radioIndex, BOOL *output_bool); //Tr181
1160 
1161 /* wifi_setRadioAutoChannelEnable() function */
1162 /**
1163 * @description Enables or disables a driver level variable to indicate if auto channel selection is enabled on this radio.
1164 * This "auto channel" means the auto channel selection when radio is up. (which is different from the dynamic channel/frequency selection (DFC/DCS))
1165 *
1166 * @param radioIndex - Index of Wi-Fi radio channel
1167 * @param enable - Enable/Disable selected radio channel as auto channel radio
1168 *
1169 * @return The status of the operation
1170 * @retval RETURN_OK if successful
1171 * @retval RETURN_ERR if any error is detected
1172 *
1173 * @execution Synchronous
1174 * @sideeffect None
1175 *
1176 * @note This function must not suspend and must not invoke any blocking system
1177 * calls. It should probably just send a message to a driver event handler task.
1178 *
1179 */
1180 //Set the AutoChannel enable status
1181 INT wifi_setRadioAutoChannelEnable(INT radioIndex, BOOL enable); //Tr181
1182 
1183 /* wifi_getRadioDCSSupported() function */
1184 /**
1185 * @description Device.WiFi.Radio.{i}.X_COMCAST-COM_DCSSupported.
1186 * Check if the driver support the DCS
1187 *
1188 * @param radioIndex - Index of Wi-Fi radio channel
1189 * @param output_bool - DCS Supported flag for the radio index, to be returned
1190 *
1191 * @return The status of the operation
1192 * @retval RETURN_OK if successful
1193 * @retval RETURN_ERR if any error is detected
1194 *
1195 * @execution Synchronous
1196 * @sideeffect None
1197 *
1198 * @note This function must not suspend and must not invoke any blocking system
1199 * calls. It should probably just send a message to a driver event handler task.
1200 *
1201 */
1202 //Device.WiFi.Radio.{i}.X_COMCAST-COM_DCSSupported
1203 //Check if the driver support the DCS
1204 INT wifi_getRadioDCSSupported(INT radioIndex, BOOL *output_bool); //RDKB
1205 
1206 /* wifi_getRadioDCSEnable() function */
1207 /**
1208 * @description Get DCS of the selected wifi radio channel's enable/disable status.
1209 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_DCSEnable
1210 *
1211 * @param radioIndex - Index of Wi-Fi radio channel
1212 * @param output_bool - DCS Enable flag for the selected radio index, to be returned
1213 *
1214 * @return The status of the operation
1215 * @retval RETURN_OK if successful
1216 * @retval RETURN_ERR if any error is detected
1217 *
1218 * @execution Synchronous
1219 * @sideeffect None
1220 *
1221 * @note This function must not suspend and must not invoke any blocking system
1222 * calls. It should probably just send a message to a driver event handler task.
1223 *
1224 */
1225 //Device.WiFi.Radio.{i}.X_COMCAST-COM_DCSEnable
1226 INT wifi_getRadioDCSEnable(INT radioIndex, BOOL *output_bool); //RDKB
1227 
1228 /* wifi_setRadioDCSEnable() function */
1229 /**
1230 * @description Enable/Disable selected wifi radio channel's DCS.
1231 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_DCSEnable
1232 *
1233 * @param radioIndex - Index of Wi-Fi radio channel
1234 * @param enable - Set the value of DCS Enable flag for the selected radio index
1235 *
1236 * @return The status of the operation
1237 * @retval RETURN_OK if successful
1238 * @retval RETURN_ERR if any error is detected
1239 *
1240 * @execution Synchronous
1241 * @sideeffect None
1242 *
1243 * @note This function must not suspend and must not invoke any blocking system
1244 * calls. It should probably just send a message to a driver event handler task.
1245 *
1246 */
1247 INT wifi_setRadioDCSEnable(INT radioIndex, BOOL enable); //RDKB
1248 
1249 /* wifi_getRadioDCSChannelPool() function */
1250 /**
1251 * @description Get radio DCS channel pool.
1252 * The output_string is a max length 256 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1253 * The value of this parameter is a comma seperated list of channel number.
1254 *
1255 * @param radioIndex - Index of Wi-Fi radio channel
1256 * @param output_pool - DCS channel pool for the selected radio index,to be returned
1257 *
1258 * @return The status of the operation
1259 * @retval RETURN_OK if successful
1260 * @retval RETURN_ERR if any error is detected
1261 *
1262 * @execution Synchronous
1263 * @sideeffect None
1264 *
1265 * @note This function must not suspend and must not invoke any blocking system
1266 * calls. It should probably just send a message to a driver event handler task.
1267 *
1268 */
1269 //The output_string is a max length 256 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1270 //The value of this parameter is a comma seperated list of channel number
1271 INT wifi_getRadioDCSChannelPool(INT radioIndex, CHAR *output_pool); //RDKB
1272 
1273 /* wifi_setRadioDCSChannelPool() function */
1274 /**
1275 * @description Set radio DCS channel pool.
1276 * The output_string is a max length 256 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1277 * The value of this parameter is a comma seperated list of channel number.
1278 *
1279 * @param radioIndex - Index of Wi-Fi radio channel
1280 * @param pool - Set DCS channel pool for the selected radio index
1281 *
1282 * @return The status of the operation
1283 * @retval RETURN_OK if successful
1284 * @retval RETURN_ERR if any error is detected
1285 *
1286 * @execution Synchronous
1287 * @sideeffect None
1288 *
1289 * @note This function must not suspend and must not invoke any blocking system
1290 * calls. It should probably just send a message to a driver event handler task.
1291 *
1292 */
1293 INT wifi_setRadioDCSChannelPool(INT radioIndex, CHAR *pool); //RDKB
1294 
1295 /* wifi_getRadioDCSScanTime() function */
1296 /**
1297 * @description Get radio DCS scan time.
1298 *
1299 * @param radioIndex - Index of Wi-Fi radio channel
1300 * @param output_interval_seconds - Get the interval time in seconds
1301 * @param output_dwell_milliseconds - Get the dwell time in milliseconds
1302 *
1303 * @return The status of the operation
1304 * @retval RETURN_OK if successful
1305 * @retval RETURN_ERR if any error is detected
1306 *
1307 * @execution Synchronous
1308 * @sideeffect None
1309 *
1310 * @note This function must not suspend and must not invoke any blocking system
1311 * calls. It should probably just send a message to a driver event handler task.
1312 *
1313 */
1314 INT wifi_getRadioDCSScanTime(INT radioIndex, INT *output_interval_seconds, INT *output_dwell_milliseconds);
1315 
1316 /* wifi_setRadioDCSScanTime() function */
1317 /**
1318 * @description Set radio DCS scan time.
1319 *
1320 * @param radioIndex - Index of Wi-Fi radio channel
1321 * @param interval_seconds - Set the interval time in seconds
1322 * @param dwell_milliseconds - Set the dwell time in milliseconds
1323 *
1324 * @return The status of the operation
1325 * @retval RETURN_OK if successful
1326 * @retval RETURN_ERR if any error is detected
1327 *
1328 * @execution Synchronous
1329 * @sideeffect None
1330 *
1331 * @note This function must not suspend and must not invoke any blocking system
1332 * calls. It should probably just send a message to a driver event handler task.
1333 *
1334 */
1335 INT wifi_setRadioDCSScanTime(INT radioIndex, INT interval_seconds, INT dwell_milliseconds);
1336 
1337 /* wifi_getRadioDfsSupport() function */
1338 /**
1339 * @description Get radio DFS support.
1340 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_DfsSupported
1341 *
1342 * @param radioIndex - Index of Wi-Fi radio channel
1343 * @param output_bool - Get DFS support for the selected radio index in the pre-allocated buffer
1344 *
1345 * @return The status of the operation
1346 * @retval RETURN_OK if successful
1347 * @retval RETURN_ERR if any error is detected
1348 *
1349 * @execution Synchronous
1350 * @sideeffect None
1351 *
1352 * @note This function must not suspend and must not invoke any blocking system
1353 * calls. It should probably just send a message to a driver event handler task.
1354 *
1355 */
1356 //Device.WiFi.Radio.{i}.X_COMCAST-COM_DfsSupported
1357 //Get radio DFS support
1358 INT wifi_getRadioDfsSupport(INT radioIndex, BOOL *output_bool); //RDKB
1359 
1360 /* wifi_getRadioDfsEnable() function */
1361 /**
1362 * @description Get the Dfs enable status.
1363 * Data model parameter used to check the DFS enable status is,
1364 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_DfsEnable
1365 *
1366 * @param radioIndex - Index of Wi-Fi radio channel
1367 * @param output_bool - Get DFS Enable status of the selected radio channel
1368 *
1369 * @return The status of the operation
1370 * @retval RETURN_OK if successful
1371 * @retval RETURN_ERR if any error is detected
1372 *
1373 * @execution Synchronous
1374 * @sideeffect None
1375 *
1376 * @note This function must not suspend and must not invoke any blocking system
1377 * calls. It should probably just send a message to a driver event handler task.
1378 *
1379 */
1380 //Device.WiFi.Radio.{i}.X_COMCAST-COM_DfsEnable
1381 INT wifi_getRadioDfsEnable(INT radioIndex, BOOL *output_bool); //RDKB
1382 
1383 /* wifi_setRadioDfsEnable() function */
1384 /**
1385 * @description Set the Dfs enable status.
1386 * Data model parameter used to check the DFS enable status is "Device.WiFi.Radio.{i}.X_COMCAST-COM_DfsEnable".
1387 *
1388 * @param radioIndex - Index of Wi-Fi radio channel
1389 * @param enable - Set DFS Enable status of the selected radio channel
1390 *
1391 * @return The status of the operation
1392 * @retval RETURN_OK if successful
1393 * @retval RETURN_ERR if any error is detected
1394 *
1395 * @execution Synchronous
1396 * @sideeffect None
1397 *
1398 * @note This function must not suspend and must not invoke any blocking system
1399 * calls. It should probably just send a message to a driver event handler task.
1400 *
1401 */
1402 INT wifi_setRadioDfsEnable(INT radioIndex, BOOL enabled); //RDKB
1403 
1404 /* wifi_getRadioAutoChannelRefreshPeriodSupported() function */
1405 /**
1406 * @description Check if the driver support the AutoChannelRefreshPeriod.
1407 *
1408 * @param radioIndex - Index of Wi-Fi radio channel
1409 * @param output_bool - Get auto channel refresh period support for the selected radio channel in the pre-allocated bool buffer.
1410 *
1411 * @return The status of the operation
1412 * @retval RETURN_OK if successful
1413 * @retval RETURN_ERR if any error is detected
1414 *
1415 * @execution Synchronous
1416 * @sideeffect None
1417 *
1418 * @note This function must not suspend and must not invoke any blocking system
1419 * calls. It should probably just send a message to a driver event handler task.
1420 *
1421 */
1422 //Device.WiFi.Radio.{i}.AutoChannelRefreshPeriod
1423 //Check if the driver support the AutoChannelRefreshPeriod
1424 INT wifi_getRadioAutoChannelRefreshPeriodSupported(INT radioIndex, BOOL *output_bool); //Tr181
1425 
1426 /* wifi_getRadioAutoChannelRefreshPeriod() function */
1427 /**
1428 * @description Check if the driver support the AutoChannelRefreshPeriod.
1429 *
1430 * @param radioIndex - Index of Wi-Fi radio channel
1431 * @param output_bool - Get auto channel refresh period support for the selected radio channel in the pre-allocated bool buffer.
1432 *
1433 * @return The status of the operation
1434 * @retval RETURN_OK if successful
1435 * @retval RETURN_ERR if any error is detected
1436 *
1437 * @execution Synchronous
1438 * @sideeffect None
1439 *
1440 * @note This function must not suspend and must not invoke any blocking system
1441 * calls. It should probably just send a message to a driver event handler task.
1442 *
1443 */
1444 //Get the DCS refresh period in seconds
1445 INT wifi_getRadioAutoChannelRefreshPeriod(INT radioIndex, ULONG *output_ulong); //Tr181
1446 
1447 /* wifi_setRadioAutoChannelRefreshPeriod() function */
1448 /**
1449 * @description Set the DCS refresh period in seconds.
1450 *
1451 * @param radioIndex - Index of Wi-Fi radio channel
1452 * @param seconds - Set auto channel refresh period in seconds support for the selected radio channel
1453 *
1454 * @return The status of the operation
1455 * @retval RETURN_OK if successful
1456 * @retval RETURN_ERR if any error is detected
1457 *
1458 * @execution Synchronous
1459 * @sideeffect None
1460 *
1461 * @note This function must not suspend and must not invoke any blocking system
1462 * calls. It should probably just send a message to a driver event handler task.
1463 *
1464 */
1465 //Set the DCS refresh period in seconds
1466 INT wifi_setRadioAutoChannelRefreshPeriod(INT radioIndex, ULONG seconds); //Tr181
1467 
1468 /* wifi_getRadioOperatingChannelBandwidth() function */
1469 /**
1470 * @description Get the Operating Channel Bandwidth. eg "20MHz", "40MHz", "80MHz", "80+80", "160".
1471 * The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1472 *
1473 * @param radioIndex - Index of Wi-Fi radio channel
1474 * @param output_string - Get operating channel bandwidth for the selected radio channel in the pre-allocated char buffer
1475 *
1476 * @return The status of the operation
1477 * @retval RETURN_OK if successful
1478 * @retval RETURN_ERR if any error is detected
1479 *
1480 * @execution Synchronous
1481 * @sideeffect None
1482 *
1483 * @note This function must not suspend and must not invoke any blocking system
1484 * calls. It should probably just send a message to a driver event handler task.
1485 *
1486 */
1487 //Device.WiFi.Radio.{i}.OperatingChannelBandwidth
1488 //Get the Operating Channel Bandwidth. eg "20MHz", "40MHz", "80MHz", "80+80", "160"
1489 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1490 INT wifi_getRadioOperatingChannelBandwidth(INT radioIndex, CHAR *output_string); //Tr181
1491 
1492 /* wifi_setRadioOperatingChannelBandwidth() function */
1493 /**
1494 * @description Set the Operating Channel Bandwidth. eg "20MHz", "40MHz", "80MHz", "80+80", "160".
1495 *
1496 * @param radioIndex - Index of Wi-Fi radio channel
1497 * @param bandwidth - Set operating channel bandwidth for the selected radio channel
1498 *
1499 * @return The status of the operation
1500 * @retval RETURN_OK if successful
1501 * @retval RETURN_ERR if any error is detected
1502 *
1503 * @execution Synchronous
1504 * @sideeffect None
1505 *
1506 * @note This function must not suspend and must not invoke any blocking system
1507 * calls. It should probably just send a message to a driver event handler task.
1508 *
1509 */
1510 //Set the Operating Channel Bandwidth.
1511 INT wifi_setRadioOperatingChannelBandwidth(INT radioIndex, CHAR *bandwidth); //Tr181 //AP only
1512 
1513 /* wifi_getRadioExtChannel() function */
1514 /**
1515 * @description Get the secondary extension channel position, "AboveControlChannel" or "BelowControlChannel". (this is for 40MHz and 80MHz bandwith only).
1516 * The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1517 * \n Device.WiFi.Radio.{i}.ExtensionChannel
1518 *
1519 * @param radioIndex - Index of Wi-Fi radio channel
1520 * @param output_string - Secondary extension channel position, to be returned
1521 *
1522 * @return The status of the operation
1523 * @retval RETURN_OK if successful
1524 * @retval RETURN_ERR if any error is detected
1525 *
1526 * @execution Synchronous
1527 * @sideeffect None
1528 *
1529 * @note This function must not suspend and must not invoke any blocking system
1530 * calls. It should probably just send a message to a driver event handler task.
1531 *
1532 */
1533 //Device.WiFi.Radio.{i}.ExtensionChannel
1534 //Get the secondary extension channel position, "AboveControlChannel" or "BelowControlChannel". (this is for 40MHz and 80MHz bandwith only)
1535 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1536 INT wifi_getRadioExtChannel(INT radioIndex, CHAR *output_string); //Tr181
1537 
1538 /* wifi_setRadioExtChannel() function */
1539 /**
1540 * @description Set the secondary extension channel position, "AboveControlChannel" or "BelowControlChannel". (this is for 40MHz and 80MHz bandwith only).
1541 * \n Device.WiFi.Radio.{i}.ExtensionChannel
1542 *
1543 * @param radioIndex - Index of Wi-Fi radio channel
1544 * @param string - Secondary extension channel position
1545 *
1546 * @return The status of the operation
1547 * @retval RETURN_OK if successful
1548 * @retval RETURN_ERR if any error is detected
1549 *
1550 * @execution Synchronous
1551 * @sideeffect None
1552 *
1553 * @note This function must not suspend and must not invoke any blocking system
1554 * calls. It should probably just send a message to a driver event handler task.
1555 *
1556 */
1557 //Set the extension channel.
1558 INT wifi_setRadioExtChannel(INT radioIndex, CHAR *string); //Tr181 //AP only
1559 
1560 /* wifi_getRadioGuardInterval() function */
1561 /**
1562 * @description Get the guard interval value. eg "400nsec" or "800nsec".
1563 * The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1564 * \n Device.WiFi.Radio.{i}.GuardInterval
1565 *
1566 * @param radioIndex - Index of Wi-Fi radio channel
1567 * @param output_string - Guard interval value, to be returned
1568 *
1569 * @return The status of the operation
1570 * @retval RETURN_OK if successful
1571 * @retval RETURN_ERR if any error is detected
1572 *
1573 * @execution Synchronous
1574 * @sideeffect None
1575 *
1576 * @note This function must not suspend and must not invoke any blocking system
1577 * calls. It should probably just send a message to a driver event handler task.
1578 *
1579 */
1580 //Device.WiFi.Radio.{i}.GuardInterval
1581 //Get the guard interval value. eg "400nsec" or "800nsec"
1582 //The output_string is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1583 INT wifi_getRadioGuardInterval(INT radioIndex, CHAR *output_string); //Tr181
1584 
1585 /* wifi_setRadioGuardInterval() function */
1586 /**
1587 * @description Set the guard interval value. eg "400nsec" or "800nsec".
1588 * \n Device.WiFi.Radio.{i}.GuardInterval
1589 *
1590 * @param radioIndex - Index of Wi-Fi radio channel
1591 * @param string - Guard interval value
1592 *
1593 * @return The status of the operation
1594 * @retval RETURN_OK if successful
1595 * @retval RETURN_ERR if any error is detected
1596 *
1597 * @execution Synchronous
1598 * @sideeffect None
1599 *
1600 * @note This function must not suspend and must not invoke any blocking system
1601 * calls. It should probably just send a message to a driver event handler task.
1602 *
1603 */
1604 //Set the guard interval value.
1605 INT wifi_setRadioGuardInterval(INT radioIndex, CHAR *string); //Tr181
1606 
1607 /* wifi_getRadioMCS() function */
1608 /**
1609 * @description Get the Modulation Coding Scheme index, eg: "-1", "1", "15".
1610 * \n Device.WiFi.Radio.{i}.MCS
1611 *
1612 * @param radioIndex - Index of Wi-Fi radio channel
1613 * @param output_INT - Modulation Coding Scheme index, to be returned
1614 *
1615 * @return The status of the operation
1616 * @retval RETURN_OK if successful
1617 * @retval RETURN_ERR if any error is detected
1618 *
1619 * @execution Synchronous
1620 * @sideeffect None
1621 *
1622 * @note This function must not suspend and must not invoke any blocking system
1623 * calls. It should probably just send a message to a driver event handler task.
1624 *
1625 */
1626 //Device.WiFi.Radio.{i}.MCS
1627 //Get the Modulation Coding Scheme index, eg: "-1", "1", "15"
1628 INT wifi_getRadioMCS(INT radioIndex, INT *output_INT); //Tr181
1629 
1630 /* wifi_setRadioMCS() function */
1631 /**
1632 * @description Set the Modulation Coding Scheme index, eg: "-1", "1", "15".
1633 * \n Device.WiFi.Radio.{i}.MCS
1634 *
1635 * @param radioIndex - Index of Wi-Fi radio channel
1636 * @param MCS - Modulation Coding Scheme index value
1637 *
1638 * @return The status of the operation
1639 * @retval RETURN_OK if successful
1640 * @retval RETURN_ERR if any error is detected
1641 *
1642 * @execution Synchronous
1643 * @sideeffect None
1644 *
1645 * @note This function must not suspend and must not invoke any blocking system
1646 * calls. It should probably just send a message to a driver event handler task.
1647 *
1648 */
1649 //Set the Modulation Coding Scheme index
1650 INT wifi_setRadioMCS(INT radioIndex, INT MCS); //Tr181
1651 
1652 /* wifi_getRadioTransmitPowerSupported() function */
1653 /**
1654 * @description Get supported Transmit Power list, eg : "0,25,50,75,100".
1655 * The output_list is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1656 * \n Device.WiFi.Radio.{i}.TransmitPowerSupported
1657 *
1658 * @param radioIndex - Index of Wi-Fi radio channel
1659 * @param output_list - Transmit power list, to be returned
1660 *
1661 * @return The status of the operation
1662 * @retval RETURN_OK if successful
1663 * @retval RETURN_ERR if any error is detected
1664 *
1665 * @execution Synchronous
1666 * @sideeffect None
1667 *
1668 * @note This function must not suspend and must not invoke any blocking system
1669 * calls. It should probably just send a message to a driver event handler task.
1670 *
1671 */
1672 //Device.WiFi.Radio.{i}.TransmitPowerSupported
1673 //Get supported Transmit Power list, eg : "0,25,50,75,100"
1674 //The output_list is a max length 64 octet string that is allocated by the RDKB code. Implementations must ensure that strings are not longer than this.
1675 INT wifi_getRadioTransmitPowerSupported(INT radioIndex, CHAR *output_list); //Tr181
1676 
1677 /* wifi_getRadioTransmitPower() function */
1678 /**
1679 * @description Get current Transmit Power, eg "75", "100".
1680 * The transmite power level is in units of full power for this radio.
1681 * \n Device.WiFi.Radio.{i}.TransmitPower
1682 *
1683 * @param radioIndex - Index of Wi-Fi radio channel
1684 * @param ULONG *output_ulong - Current Transmit power value, to be returned
1685 *
1686 * @return The status of the operation
1687 * @retval RETURN_OK if successful
1688 * @retval RETURN_ERR if any error is detected
1689 *
1690 * @execution Synchronous
1691 * @sideeffect None
1692 *
1693 * @note This function must not suspend and must not invoke any blocking system
1694 * calls. It should probably just send a message to a driver event handler task.
1695 *
1696 */
1697 //Device.WiFi.Radio.{i}.TransmitPower
1698 //Get current Transmit Power, eg "75", "100"
1699 //The transmite power level is in units of full power for this radio.
1700 INT wifi_getRadioTransmitPower(INT radioIndex, ULONG *output_ulong); //RDKB
1701 
1702 /* wifi_setRadioTransmitPower() function */
1703 /**
1704 * @description Set current Transmit Power, eg "75", "100".
1705 * The transmite power level is in units of full power for this radio.
1706 * \n Device.WiFi.Radio.{i}.TransmitPower
1707 *
1708 * @param radioIndex - Index of Wi-Fi radio channel
1709 * @param TransmitPower - Transmit power value
1710 *
1711 * @return The status of the operation
1712 * @retval RETURN_OK if successful
1713 * @retval RETURN_ERR if any error is detected
1714 *
1715 * @execution Synchronous
1716 * @sideeffect None
1717 *
1718 * @note This function must not suspend and must not invoke any blocking system
1719 * calls. It should probably just send a message to a driver event handler task.
1720 *
1721 */
1722 //Set Transmit Power
1723 //The transmite power level is in units of full power for this radio.
1724 INT wifi_setRadioTransmitPower(INT radioIndex, ULONG TransmitPower); //RDKB
1725 
1726 /* wifi_getRadioIEEE80211hSupported() function */
1727 /**
1728 * @description Get 80211h Supported.
1729 * 80211h solves interference with satellites and radar using the same 5 GHz frequency band.
1730 * \n Device.WiFi.Radio.{i}.IEEE80211hSupported
1731 *
1732 * @param radioIndex - Index of Wi-Fi radio channel
1733 * @param Supported - 80211h Supported, to be returned
1734 *
1735 * @return The status of the operation
1736 * @retval RETURN_OK if successful
1737 * @retval RETURN_ERR if any error is detected
1738 *
1739 * @execution Synchronous
1740 * @sideeffect None
1741 *
1742 * @note This function must not suspend and must not invoke any blocking system
1743 * calls. It should probably just send a message to a driver event handler task.
1744 *
1745 */
1746 //Device.WiFi.Radio.{i}.IEEE80211hSupported
1747 //get 80211h Supported. 80211h solves interference with satellites and radar using the same 5 GHz frequency band
1748 INT wifi_getRadioIEEE80211hSupported(INT radioIndex, BOOL *Supported); //Tr181
1749 
1750 /* wifi_getRadioIEEE80211hEnabled() function */
1751 /**
1752 * @description Get 80211h feature enable.
1753 * \n Device.WiFi.Radio.{i}.IEEE80211hEnabled
1754 *
1755 * @param radioIndex - Index of Wi-Fi radio channel
1756 * @param enable - 80211h feature enable, to be returned
1757 *
1758 * @return The status of the operation
1759 * @retval RETURN_OK if successful
1760 * @retval RETURN_ERR if any error is detected
1761 *
1762 * @execution Synchronous
1763 * @sideeffect None
1764 *
1765 * @note This function must not suspend and must not invoke any blocking system
1766 * calls. It should probably just send a message to a driver event handler task.
1767 *
1768 */
1769 //Device.WiFi.Radio.{i}.IEEE80211hEnabled
1770 //Get 80211h feature enable
1771 INT wifi_getRadioIEEE80211hEnabled(INT radioIndex, BOOL *enable); //Tr181
1772 
1773 /* wifi_setRadioIEEE80211hEnabled() function */
1774 /**
1775 * @description Set 80211h feature enable.
1776 * \n Device.WiFi.Radio.{i}.IEEE80211hEnabled
1777 *
1778 * @param radioIndex - Index of Wi-Fi radio channel
1779 * @param enable - 80211h feature enable
1780 *
1781 * @return The status of the operation
1782 * @retval RETURN_OK if successful
1783 * @retval RETURN_ERR if any error is detected
1784 *
1785 * @execution Synchronous
1786 * @sideeffect None
1787 *
1788 * @note This function must not suspend and must not invoke any blocking system
1789 * calls. It should probably just send a message to a driver event handler task.
1790 *
1791 */
1792 //Set 80211h feature enable
1793 INT wifi_setRadioIEEE80211hEnabled(INT radioIndex, BOOL enable); //Tr181
1794 
1795 /* wifi_getRadioCarrierSenseThresholdRange() function */
1796 /**
1797 * @description Indicates the Carrier Sense ranges supported by the radio. It is measured in dBm. Refer section A.2.3.2 of CableLabs Wi-Fi MGMT Specification.
1798 * \n Device.WiFi.Radio.{i}.RegulatoryDomain
1799 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_CarrierSenseThresholdRange
1800 *
1801 * @param radioIndex - Index of Wi-Fi radio channel
1802 * @param output - Carrier sense threshold range, to be returned
1803 *
1804 * @return The status of the operation
1805 * @retval RETURN_OK if successful
1806 * @retval RETURN_ERR if any error is detected
1807 *
1808 * @execution Synchronous
1809 * @sideeffect None
1810 *
1811 * @note This function must not suspend and must not invoke any blocking system
1812 * calls. It should probably just send a message to a driver event handler task.
1813 *
1814 */
1815 //Device.WiFi.Radio.{i}.RegulatoryDomain
1816 
1817 //Device.WiFi.Radio.{i}.X_COMCAST-COM_CarrierSenseThresholdRange
1818 //Indicates the Carrier Sense ranges supported by the radio. It is measured in dBm. Refer section A.2.3.2 of CableLabs Wi-Fi MGMT Specification.
1819 INT wifi_getRadioCarrierSenseThresholdRange(INT radioIndex, INT *output); //P3
1820 
1821 /* wifi_getRadioCarrierSenseThresholdInUse() function */
1822 /**
1823 * @description The RSSI signal level at which CS/CCA detects a busy condition. This attribute enables APs to increase minimum sensitivity to avoid detecting busy condition from multiple/weak Wi-Fi sources in dense Wi-Fi environments. It is measured in dBm. Refer section A.2.3.2 of CableLabs Wi-Fi MGMT Specification.
1824 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_CarrierSenseThresholdInUse
1825 *
1826 * @param radioIndex - Index of Wi-Fi radio channel
1827 * @param output - Carrier sense threshold in use, to be returned
1828 *
1829 * @return The status of the operation
1830 * @retval RETURN_OK if successful
1831 * @retval RETURN_ERR if any error is detected
1832 *
1833 * @execution Synchronous
1834 * @sideeffect None
1835 *
1836 * @note This function must not suspend and must not invoke any blocking system
1837 * calls. It should probably just send a message to a driver event handler task.
1838 *
1839 */
1840 //Device.WiFi.Radio.{i}.X_COMCAST-COM_CarrierSenseThresholdInUse
1841 //The RSSI signal level at which CS/CCA detects a busy condition. This attribute enables APs to increase minimum sensitivity to avoid detecting busy condition from multiple/weak Wi-Fi sources in dense Wi-Fi environments. It is measured in dBm. Refer section A.2.3.2 of CableLabs Wi-Fi MGMT Specification.
1842 INT wifi_getRadioCarrierSenseThresholdInUse(INT radioIndex, INT *output); //P3
1843 
1844 /* wifi_setRadioCarrierSenseThresholdInUse() function */
1845 /**
1846 * @description Set Carrier sense threshold in use for the selected radio index.
1847 * The RSSI signal level at which CS/CCA detects a busy condition. This attribute enables APs to increase minimum sensitivity to avoid detecting busy condition from multiple/weak Wi-Fi sources in dense Wi-Fi environments. It is measured in dBm.
1848 * \n Device.WiFi.Radio.{i}.X_COMCAST-COM_CarrierSenseThresholdInUse
1849 *
1850 * @param radioIndex - Index of Wi-Fi radio channel
1851 * @param threshold - Carrier sense threshold, to be returned
1852 *
1853 * @return The status of the operation
1854 * @retval RETURN_OK if successful
1855 * @retval RETURN_ERR if any error is detected
1856 *
1857 * @execution Synchronous
1858 * @sideeffect None
1859 *
1860 * @note This function must not suspend and must not invoke any blocking system
1861 * calls. It should probably just send a message to a driver event handler task.
1862 *
1863 */
1864 INT wifi_setRadioCarrierSenseThresholdInUse(INT radioIndex, INT threshold); //P3
1865 
1866 //Device.WiFi.Radio.{i}.X_COMCAST-COM_ChannelSwitchingCount
1867 //This parameter indicates the total number of Channel Changes. Reset the parameter every 24 hrs or reboot
1868 //INT wifi_getRadioChannelSwitchingCount(INT radioIndex, INT *output); //P3
1869 
1870 
1871 /* wifi_getRadioBeaconPeriod() function */
1872 /**
1873 * @description Time interval between transmitting beacons (expressed in milliseconds). This parameter is based ondot11BeaconPeriod from [802.11-2012].
1874 * \n Device.WiFi.Radio.{i}.BeaconPeriod
1875 *
1876 * @param radioIndex - Index of Wi-Fi radio channel
1877 * @param output - Radio Beacon period, to be returned
1878 *
1879 * @return The status of the operation
1880 * @retval RETURN_OK if successful
1881 * @retval RETURN_ERR if any error is detected
1882 *
1883 * @execution Synchronous
1884 * @sideeffect None
1885 *
1886 * @note This function must not suspend and must not invoke any blocking system
1887 * calls. It should probably just send a message to a driver event handler task.
1888 *
1889 */
1890 //Device.WiFi.Radio.{i}.BeaconPeriod
1891 //Time interval between transmitting beacons (expressed in milliseconds). This parameter is based ondot11BeaconPeriod from [802.11-2012].
1892 INT wifi_getRadioBeaconPeriod(INT radioIndex, UINT *output);
1893 
1894 /* wifi_setRadioBeaconPeriod() function */
1895 /**
1896 * @description Time interval between transmitting beacons (expressed in milliseconds). This parameter is based ondot11BeaconPeriod from [802.11-2012].
1897 * \n Device.WiFi.Radio.{i}.BeaconPeriod
1898 *
1899 * @param radioIndex - Index of Wi-Fi radio channel
1900 * @param BeaconPeriod - Radio Beacon period
1901 *
1902 * @return The status of the operation
1903 * @retval RETURN_OK if successful
1904 * @retval RETURN_ERR if any error is detected
1905 *
1906 * @execution Synchronous
1907 * @sideeffect None
1908 *
1909 * @note This function must not suspend and must not invoke any blocking system
1910 * calls. It should probably just send a message to a driver event handler task.
1911 *
1912 */
1913 INT wifi_setRadioBeaconPeriod(INT radioIndex, UINT BeaconPeriod);
1914 
1915 /* wifi_getRadioBasicDataTransmitRates() function */
1916 /**
1917 * @description Get the set of data rates, in Mbps, that have to be supported by all stations that desire to join this BSS. The stations have to be able to receive and transmit at each of the data rates listed inBasicDataTransmitRates. For example, a value of "1,2", indicates that stations support 1 Mbps and 2 Mbps. Most control packets use a data rate in BasicDataTransmitRates.
1918 * \n Device.WiFi.Radio.{i}.BasicDataTransmitRates
1919 *
1920 * @param radioIndex - Index of Wi-Fi radio channel
1921 * @param output - Comma-separated list of strings, to be returned
1922 *
1923 * @return The status of the operation
1924 * @retval RETURN_OK if successful
1925 * @retval RETURN_ERR if any error is detected
1926 *
1927 * @execution Synchronous
1928 * @sideeffect None
1929 *
1930 * @note This function must not suspend and must not invoke any blocking system
1931 * calls. It should probably just send a message to a driver event handler task.
1932 *
1933 */
1934 //Device.WiFi.Radio.{i}.BasicDataTransmitRates
1935 //Comma-separated list of strings. The set of data rates, in Mbps, that have to be supported by all stations that desire to join this BSS. The stations have to be able to receive and transmit at each of the data rates listed inBasicDataTransmitRates. For example, a value of "1,2", indicates that stations support 1 Mbps and 2 Mbps. Most control packets use a data rate in BasicDataTransmitRates.
1936 INT wifi_getRadioBasicDataTransmitRates(INT radioIndex, CHAR *output);
1937 
1938 /* wifi_setRadioBasicDataTransmitRates() function */
1939 /**
1940 * @description Set the data rates, in Mbps, that have to be supported by all stations that desire to join this BSS. The stations have to be able to receive and transmit at each of the data rates listed inBasicDataTransmitRates. For example, a value of "1,2", indicates that stations support 1 Mbps and 2 Mbps. Most control packets use a data rate in BasicDataTransmitRates.
1941 * \n Device.WiFi.Radio.{i}.BasicDataTransmitRates
1942 *
1943 * @param radioIndex - Index of Wi-Fi radio channel
1944 * @param TransmitRates - Comma-separated list of strings
1945 *
1946 * @return The status of the operation
1947 * @retval RETURN_OK if successful
1948 * @retval RETURN_ERR if any error is detected
1949 *
1950 * @execution Synchronous
1951 * @sideeffect None
1952 *
1953 * @note This function must not suspend and must not invoke any blocking system
1954 * calls. It should probably just send a message to a driver event handler task.
1955 *
1956 */
1957 INT wifi_setRadioBasicDataTransmitRates(INT radioIndex, CHAR *TransmitRates);
1958 
1959 //---------------------------------------------------------------------------------------------------
1960 //Device.WiFi.Radio.{i}.Stats.
1961 
1962 //Device.WiFi.Radio.{i}.Stats.BytesSent
1963 //Device.WiFi.Radio.{i}.Stats.BytesReceived
1964 //Device.WiFi.Radio.{i}.Stats.PacketsSent
1965 //Device.WiFi.Radio.{i}.Stats.PacketsReceived
1966 //Device.WiFi.Radio.{i}.Stats.ErrorsSent
1967 //Device.WiFi.Radio.{i}.Stats.ErrorsReceived
1968 //Device.WiFi.Radio.{i}.Stats.DiscardPacketsSent
1969 //Device.WiFi.Radio.{i}.Stats.DiscardPacketsReceived
1970 //Device.WiFi.Radio.{i}.Stats.PLCPErrorCount
1971 //Device.WiFi.Radio.{i}.Stats.FCSErrorCount
1972 //Device.WiFi.Radio.{i}.Stats.InvalidMACCount
1973 //Device.WiFi.Radio.{i}.Stats.PacketsOtherReceived
1974 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_NoiseFloor
1975 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_ChannelUtilization
1976 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_ActivityFactor
1977 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_CarrierSenseThreshold_Exceeded
1978 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RetransmissionMetirc
1979 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_MaximumNoiseFloorOnChannel
1980 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_MinimumNoiseFloorOnChannel
1981 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_MedianNoiseFloorOnChannel
1982 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_StatisticsStartTime
1983 
1984 /* wifi_getRadioTrafficStats2() function */
1985 /**
1986 * @description Get detail radio traffic static info.
1987 *
1988 * @param radioIndex - Index of Wi-Fi radio channel
1989 * @param output_struct - wifi_radioTrafficStats2_t *output_struct, all traffic stats info to be returned
1990 *
1991 * @return The status of the operation
1992 * @retval RETURN_OK if successful
1993 * @retval RETURN_ERR if any error is detected
1994 *
1995 * @execution Synchronous
1996 * @sideeffect None
1997 *
1998 * @note This function must not suspend and must not invoke any blocking system
1999 * calls. It should probably just send a message to a driver event handler task.
2000 *
2001 */
2002 //Get detail radio traffic static info
2003 INT wifi_getRadioTrafficStats2(INT radioIndex, wifi_radioTrafficStats2_t *output_struct); //Tr181
2004 
2005 /* wifi_setRadioTrafficStatsMeasure() function */
2006 /**
2007 * @description Set radio traffic static Measuring rules.
2008 * \n Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RadioStatisticsMeasuringRate
2009 * \n Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RadioStatisticsMeasuringInterval
2010 *
2011 * @param radioIndex - Index of Wi-Fi radio channel
2012 * @param input_struct - wifi_radioTrafficStatsMeasure_t *input_struct, traffic stats measure info
2013 *
2014 * @return The status of the operation
2015 * @retval RETURN_OK if successful
2016 * @retval RETURN_ERR if any error is detected
2017 *
2018 * @execution Synchronous
2019 * @sideeffect None
2020 *
2021 * @note This function must not suspend and must not invoke any blocking system
2022 * calls. It should probably just send a message to a driver event handler task.
2023 *
2024 */
2025 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RadioStatisticsMeasuringRate
2026 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RadioStatisticsMeasuringInterval
2027 //Set radio traffic static Measureing rules
2028 INT wifi_setRadioTrafficStatsMeasure(INT radioIndex, wifi_radioTrafficStatsMeasure_t *input_struct); //Tr181
2029 
2030 /* wifi_setRadioTrafficStatsRadioStatisticsEnable() function */
2031 /**
2032 * @description Set radio traffic statistics enable.
2033 * \n Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RadioStatisticsEnable bool writable
2034 *
2035 * @param radioIndex - Index of Wi-Fi radio channel
2036 * @param enable - Enable/disable, traffic stats statistics
2037 *
2038 * @return The status of the operation
2039 * @retval RETURN_OK if successful
2040 * @retval RETURN_ERR if any error is detected
2041 *
2042 * @execution Synchronous
2043 * @sideeffect None
2044 *
2045 * @note This function must not suspend and must not invoke any blocking system
2046 * calls. It should probably just send a message to a driver event handler task.
2047 *
2048 */
2049 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_RadioStatisticsEnable bool writable
2051 
2052 //-----------------------------------------------------------------------------------------------
2053 /* wifi_getRadioStatsReceivedSignalLevel() function */
2054 /**
2055 * @description Clients associated with the AP over a specific interval. The histogram MUST have a range from -110to 0 dBm and MUST be divided in bins of 3 dBM, with bins aligning on the -110 dBm end of the range. Received signal levels equal to or greater than the smaller boundary of a bin and less than the larger boundary are included in the respective bin. The bin associated with the client?s current received signal level MUST be incremented when a client associates with the AP. Additionally, the respective bins associated with each connected client?s current received signal level MUST be incremented at the interval defined by "Radio Statistics Measuring Rate". The histogram?s bins MUST NOT be incremented at any other time. The histogram data collected during the interval MUST be published to the parameter only at the end of the interval defined by "Radio Statistics Measuring Interval". The underlying histogram data MUST be cleared at the start of each interval defined by "Radio Statistics Measuring Interval?. If any of the parameter's representing this histogram is queried before the histogram has been updated with an initial set of data, it MUST return -1. Units dBm.
2056 * \n Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_ReceivedSignalLevel.{i}.ReceivedSignalLevel
2057 *
2058 * @param radioIndex - Index of Wi-Fi radio channel
2059 * @param signalIndex - Signal index
2060 * @param SignalLevel - Signal level, to be returned
2061 *
2062 * @return The status of the operation
2063 * @retval RETURN_OK if successful
2064 * @retval RETURN_ERR if any error is detected
2065 *
2066 * @execution Synchronous
2067 * @sideeffect None
2068 *
2069 * @note This function must not suspend and must not invoke any blocking system
2070 * calls. It should probably just send a message to a driver event handler task.
2071 *
2072 */
2073 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_ReceivedSignalLevel.{i}.
2074 
2075 //Device.WiFi.Radio.{i}.Stats.X_COMCAST-COM_ReceivedSignalLevel.{i}.ReceivedSignalLevel
2076 //Clients associated with the AP over a specific interval. The histogram MUST have a range from -110to 0 dBm and MUST be divided in bins of 3 dBM, with bins aligning on the -110 dBm end of the range. Received signal levels equal to or greater than the smaller boundary of a bin and less than the larger boundary are included in the respective bin. The bin associated with the client?s current received signal level MUST be incremented when a client associates with the AP. Additionally, the respective bins associated with each connected client?s current received signal level MUST be incremented at the interval defined by "Radio Statistics Measuring Rate". The histogram?s bins MUST NOT be incremented at any other time. The histogram data collected during the interval MUST be published to the parameter only at the end of the interval defined by "Radio Statistics Measuring Interval". The underlying histogram data MUST be cleared at the start of each interval defined by "Radio Statistics Measuring Interval?. If any of the parameter's representing this histogram is queried before the histogram has been updated with an initial set of data, it MUST return -1. Units dBm
2077 INT wifi_getRadioStatsReceivedSignalLevel(INT radioIndex, INT signalIndex, INT *SignalLevel); //Tr181
2078 
2079 //-----------------------------------------------------------------------------------------------------
2080 /* wifi_applyRadioSettings() function */
2081 /**
2082 * @description This API is used to apply (push) all previously set radio level variables and make these settings active in the
2083 * hardware. Not all implementations may need this function. If not needed for a particular implementation simply return no-error
2084 * (0).
2085 *
2086 * @param radioIndex - Index of Wi-Fi radio channel
2087 *
2088 * @return The status of the operation
2089 * @retval RETURN_OK if successful
2090 * @retval RETURN_ERR if any error is detected
2091 *
2092 * @execution Synchronous
2093 * @sideeffect None
2094 *
2095 * @note This function must not suspend and must not invoke any blocking system
2096 * calls. It should probably just send a message to a driver event handler task.
2097 *
2098 */
2099 //This API is used to apply (push) all previously set radio level variables and make these settings active in the hardware
2100 //Not all implementations may need this function. If not needed for a particular implementation simply return no-error (0)
2101 INT wifi_applyRadioSettings(INT radioIndex);
2102 
2103 
2104 /* wifi_getRadioResetCount() function */
2105 /**
2106 * @description Get the radio reset count.
2107 *
2108 * @param radioIndex - Index of Wi-Fi radio channel
2109 * @param output_int - Reset count, to be returned
2110 *
2111 * @return The status of the operation
2112 * @retval RETURN_OK if successful
2113 * @retval RETURN_ERR if any error is detected
2114 *
2115 * @execution Synchronous
2116 * @sideeffect None
2117 *
2118 * @note This function must not suspend and must not invoke any blocking system
2119 * calls. It should probably just send a message to a driver event handler task.
2120 *
2121 */
2122 //Radio reset count
2123 INT wifi_getRadioResetCount(INT radioIndex, ULONG *output_int);
2124 
2125 //---------------------------------------------------------------------------------------------------
2126 //
2127 // Wifi SSID level APIs common to Client and Access Point devices.
2128 //
2129 //---------------------------------------------------------------------------------------------------
2130 
2131 //Device.WiFi.SSID.{i}.
2132 
2133 /* wifi_getSSIDRadioIndex() function */
2134 /**
2135 * @description Get the radio index associated with the SSID entry.
2136 *
2137 * @param ssidIndex - SSID index
2138 * @param radioIndex - Radio index, to be returned
2139 *
2140 * @return The status of the operation
2141 * @retval RETURN_OK if successful
2142 * @retval RETURN_ERR if any error is detected
2143 *
2144 * @execution Synchronous
2145 * @sideeffect None
2146 *
2147 * @note This function must not suspend and must not invoke any blocking system
2148 * calls. It should probably just send a message to a driver event handler task.
2149 *
2150 */
2151 //Get the radio index assocated with this SSID entry
2152 INT wifi_getSSIDRadioIndex(INT ssidIndex, INT *radioIndex);
2153 
2154 /* wifi_getSSIDEnable() function */
2155 /**
2156 * @description Get SSID enable configuration parameters (not the SSID enable status).
2157 * \n Device.WiFi.SSID.{i}.Enable
2158 *
2159 * @param ssidIndex - SSID index
2160 * @param output_bool - SSID enable, to be returned
2161 *
2162 * @return The status of the operation
2163 * @retval RETURN_OK if successful
2164 * @retval RETURN_ERR if any error is detected
2165 *
2166 * @execution Synchronous
2167 * @sideeffect None
2168 *
2169 * @note This function must not suspend and must not invoke any blocking system
2170 * calls. It should probably just send a message to a driver event handler task.
2171 *
2172 */
2173 //Device.WiFi.SSID.{i}.Enable
2174 //Get SSID enable configuration parameters (not the SSID enable status)
2175 INT wifi_getSSIDEnable(INT ssidIndex, BOOL *output_bool); //Tr181
2176 
2177 /* wifi_setSSIDEnable() function */
2178 /**
2179 * @description Set SSID enable configuration parameters.
2180 * \n Device.WiFi.SSID.{i}.Enable
2181 *
2182 * @param ssidIndex - SSID index
2183 * @param enable - SSID enable value
2184 *
2185 * @return The status of the operation
2186 * @retval RETURN_OK if successful
2187 * @retval RETURN_ERR if any error is detected
2188 *
2189 * @execution Synchronous
2190 * @sideeffect None
2191 *
2192 * @note This function must not suspend and must not invoke any blocking system
2193 * calls. It should probably just send a message to a driver event handler task.
2194 *
2195 */
2196 //Set SSID enable configuration parameters
2197 INT wifi_setSSIDEnable(INT ssidIndex, BOOL enable); //Tr181
2198 
2199 /* wifi_getSSIDStatus() function */
2200 /**
2201 * @description Get SSID enable status.
2202 * \n Device.WiFi.SSID.{i}.Status
2203 *
2204 * @param ssidIndex - SSID index
2205 * @param output_string - SSID enable status, to be returned
2206 *
2207 * @return The status of the operation
2208 * @retval RETURN_OK if successful
2209 * @retval RETURN_ERR if any error is detected
2210 *
2211 * @execution Synchronous
2212 * @sideeffect None
2213 *
2214 * @note This function must not suspend and must not invoke any blocking system
2215 * calls. It should probably just send a message to a driver event handler task.
2216 *
2217 */
2218 //Device.WiFi.SSID.{i}.Status
2219 //Get the SSID enable status
2220 INT wifi_getSSIDStatus(INT ssidIndex, CHAR *output_string); //Tr181
2221 
2222 /* wifi_getSSIDName() function */
2223 /**
2224 * @description Get SSID Name associated with the Access Point index.
2225 * Outputs a 32 byte or less string indicating the SSID name. Sring buffer must be preallocated by the caller.
2226 * \n Device.WiFi.SSID.{i}.Name
2227 * \n Device.WiFi.SSID.{i}.Alias
2228 *
2229 * @param apIndex - Access Point index
2230 * @param output_string - SSID enable status, to be returned
2231 *
2232 * @return The status of the operation
2233 * @retval RETURN_OK if successful
2234 * @retval RETURN_ERR if any error is detected
2235 *
2236 * @execution Synchronous
2237 * @sideeffect None
2238 *
2239 * @note This function must not suspend and must not invoke any blocking system
2240 * calls. It should probably just send a message to a driver event handler task.
2241 *
2242 */
2243 //Device.WiFi.SSID.{i}.Alias
2244 
2245 //Device.WiFi.SSID.{i}.Name
2246 // Outputs a 32 byte or less string indicating the SSID name. Sring buffer must be preallocated by the caller.
2247 INT wifi_getSSIDName(INT apIndex, CHAR *output_string);
2248 
2249 /* wifi_setSSIDName() function */
2250 /**
2251 * @description Set SSID Name associated with the Access Point index.
2252 * \n Device.WiFi.SSID.{i}.Name
2253 * \n Device.WiFi.SSID.{i}.Alias
2254 *
2255 * @param apIndex - Access Point index
2256 * @param ssid_string - SSID Name
2257 *
2258 * @return The status of the operation
2259 * @retval RETURN_OK if successful
2260 * @retval RETURN_ERR if any error is detected
2261 *
2262 * @execution Synchronous
2263 * @sideeffect None
2264 *
2265 * @note This function must not suspend and must not invoke any blocking system
2266 * calls. It should probably just send a message to a driver event handler task.
2267 *
2268 */
2269 // accepts a max 32 byte string and sets an internal variable to the SSID name
2270 INT wifi_setSSIDName(INT apIndex, CHAR *ssid_string);
2271 // push the ssid name to the hardware //repleaced by wifi_applySSIDSettings
2272 //INT wifi_pushSSIDName(INT apIndex, CHAR *ssid);
2273 
2274 
2275 /* wifi_getBaseBSSID() function */
2276 /**
2277 * @description Get the BSSID.
2278 * \n Device.WiFi.SSID.{i}.BSSID
2279 *
2280 * @param ssidIndex - SSID index
2281 * @param output_string - Base BSSID, to be returned
2282 *
2283 * @return The status of the operation
2284 * @retval RETURN_OK if successful
2285 * @retval RETURN_ERR if any error is detected
2286 *
2287 * @execution Synchronous
2288 * @sideeffect None
2289 *
2290 * @note This function must not suspend and must not invoke any blocking system
2291 * calls. It should probably just send a message to a driver event handler task.
2292 *
2293 */
2294 //Device.WiFi.SSID.{i}.LastChange
2295 
2296 //Device.WiFi.SSID.{i}.LowerLayers
2297 
2298 //Device.WiFi.SSID.{i}.BSSID
2299 //Get the BSSID
2300 INT wifi_getBaseBSSID(INT ssidIndex, CHAR *output_string); //RDKB
2301 
2302 /* wifi_getSSIDMACAddress() function */
2303 /**
2304 * @description Get the MAC address associated with this Wifi SSID.
2305 * \n Device.WiFi.SSID.{i}.MACAddress
2306 *
2307 * @param ssidIndex - SSID index
2308 * @param output_string - MAC Address, to be returned
2309 *
2310 * @return The status of the operation
2311 * @retval RETURN_OK if successful
2312 * @retval RETURN_ERR if any error is detected
2313 *
2314 * @execution Synchronous
2315 * @sideeffect None
2316 *
2317 * @note This function must not suspend and must not invoke any blocking system
2318 * calls. It should probably just send a message to a driver event handler task.
2319 *
2320 */
2321 //Device.WiFi.SSID.{i}.MACAddress
2322 //Get the MAC address associated with this Wifi SSID
2323 INT wifi_getSSIDMACAddress(INT ssidIndex, CHAR *output_string); //Tr181
2324 
2325 //Device.WiFi.SSID.{i}.SSID
2326 
2327 //-----------------------------------------------------------------------------------------------
2328 //Device.WiFi.SSID.{i}.Stats.
2329 //Device.WiFi.SSID.{i}.Stats.BytesSent
2330 //Device.WiFi.SSID.{i}.Stats.BytesReceived
2331 //Device.WiFi.SSID.{i}.Stats.PacketsSent
2332 //Device.WiFi.SSID.{i}.Stats.PacketsReceived
2333 
2334 //Device.WiFi.SSID.{i}.Stats.RetransCount
2335 //Device.WiFi.SSID.{i}.Stats.FailedRetransCount
2336 //Device.WiFi.SSID.{i}.Stats.RetryCount
2337 //Device.WiFi.SSID.{i}.Stats.MultipleRetryCount
2338 //Device.WiFi.SSID.{i}.Stats.ACKFailureCount
2339 //Device.WiFi.SSID.{i}.Stats.AggregatedPacketCount
2340 
2341 //Device.WiFi.SSID.{i}.Stats.ErrorsSent
2342 //Device.WiFi.SSID.{i}.Stats.ErrorsReceived
2343 //Device.WiFi.SSID.{i}.Stats.UnicastPacketsSent
2344 //Device.WiFi.SSID.{i}.Stats.UnicastPacketsReceived
2345 //Device.WiFi.SSID.{i}.Stats.DiscardPacketsSent
2346 //Device.WiFi.SSID.{i}.Stats.DiscardPacketsReceived
2347 //Device.WiFi.SSID.{i}.Stats.MulticastPacketsSent
2348 //Device.WiFi.SSID.{i}.Stats.MulticastPacketsReceived
2349 //Device.WiFi.SSID.{i}.Stats.BroadcastPacketsSent
2350 //Device.WiFi.SSID.{i}.Stats.BroadcastPacketsReceived
2351 //Device.WiFi.SSID.{i}.Stats.UnknownProtoPacketsReceived
2352 
2353 /* wifi_getSSIDTrafficStats2() function */
2354 /**
2355 * @description Get the basic SSID traffic static info.
2356 *
2357 * @param ssidIndex - SSID index
2358 * @param output_struct - wifi_ssidTrafficStats2_t *output_struct SSID traffic
2359 * stats, to be returned
2360 *
2361 * @return The status of the operation
2362 * @retval RETURN_OK if successful
2363 * @retval RETURN_ERR if any error is detected
2364 *
2365 * @execution Synchronous
2366 * @sideeffect None
2367 *
2368 * @note This function must not suspend and must not invoke any blocking system
2369 * calls. It should probably just send a message to a driver event handler task.
2370 *
2371 */
2372 //Get the basic SSID traffic static info
2373 INT wifi_getSSIDTrafficStats2(INT ssidIndex, wifi_ssidTrafficStats2_t *output_struct); //Tr181
2374 
2375 /* wifi_applySSIDSettings() function */
2376 /**
2377 * @description Apply SSID and AP (in the case of Acess Point devices) to the hardware.
2378 * Not all implementations may need this function. If not needed for a particular implementation simply return no-error (0).
2379 *
2380 * @param ssidIndex - SSID index
2381 *
2382 * @return The status of the operation
2383 * @retval RETURN_OK if successful
2384 * @retval RETURN_ERR if any error is detected
2385 *
2386 * @execution Synchronous
2387 * @sideeffect None
2388 *
2389 * @note This function must not suspend and must not invoke any blocking system
2390 * calls. It should probably just send a message to a driver event handler task.
2391 *
2392 */
2393 //Apply SSID and AP (in the case of Acess Point devices) to the hardware
2394 //Not all implementations may need this function. If not needed for a particular implementation simply return no-error (0)
2395 INT wifi_applySSIDSettings(INT ssidIndex);
2396 
2397 
2398 //-----------------------------------------------------------------------------------------------
2399 //Device.WiFi.NeighboringWiFiDiagnostic.
2400 //Device.WiFi.NeighboringWiFiDiagnostic.DiagnosticsState
2401 //Device.WiFi.NeighboringWiFiDiagnostic.ResultNumberOfEntries
2402 
2403 //-----------------------------------------------------------------------------------------------
2404 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.
2405 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Radio
2406 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SSID
2407 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BSSID
2408 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Mode
2409 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Channel
2410 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SignalStrength
2411 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SecurityModeEnabled
2412 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.EncryptionMode
2413 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingFrequencyBand
2414 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedStandards
2415 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingStandards
2416 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.OperatingChannelBandwidth
2417 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BeaconPeriod
2418 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.Noise
2419 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.BasicDataTransferRates
2420 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.SupportedDataTransferRates
2421 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.DTIMPeriod
2422 //Device.WiFi.NeighboringWiFiDiagnostic.Result.{i}.X_COMCAST-COM_ChannelUtilization
2423 
2424 /* wifi_getNeighboringWiFiDiagnosticResult2() function */
2425 /**
2426 * @description Start the wifi scan and get the result into output buffer for RDKB to parser. The result will be used to manage endpoint list.
2427 * HAL funciton should allocate an data structure array, and return to caller with
2428 "neighbor_ap_array".
2429 *
2430 * @param radioIndex - Radio index
2431 * @param neighbor_ap_array - wifi_neighbor_ap2_t **neighbor_ap_array, neighbour
2432 access point info to be returned
2433 * @param output_array_size - UINT *output_array_size, to be returned
2434 *
2435 * @return The status of the operation
2436 * @retval RETURN_OK if successful
2437 * @retval RETURN_ERR if any error is detected
2438 *
2439 * @execution Synchronous
2440 * @sideeffect None
2441 *
2442 * @note This function must not suspend and must not invoke any blocking system
2443 * calls. It should probably just send a message to a driver event handler task.
2444 *
2445 */
2446 //Start the wifi scan and get the result into output buffer for RDKB to parser. The result will be used to manage endpoint list
2447 //HAL funciton should allocate an data structure array, and return to caller with "neighbor_ap_array"
2448 INT wifi_getNeighboringWiFiDiagnosticResult2(INT radioIndex, wifi_neighbor_ap2_t **neighbor_ap_array, UINT *output_array_size); //Tr181
2449 
2450 //>> Deprecated: used for old RDKB code.
2451 /** Deprecated: used for old RDKB code. */
2452 INT wifi_getSSIDTrafficStats(INT ssidIndex, wifi_ssidTrafficStats_t *output_struct); //Tr181
2453 /** Deprecated: used for old RDKB code. */
2454 INT wifi_getBasicTrafficStats(INT apIndex, wifi_basicTrafficStats_t *output_struct); // outputs basic traffic stats per AP
2455 /** Deprecated: used for old RDKB code. */
2456 INT wifi_getWifiTrafficStats(INT apIndex, wifi_trafficStats_t *output_struct); // outputs more detailed traffic stats per AP
2457 /** Deprecated: used for old RDKB code. */
2458 INT wifi_getNeighboringWiFiDiagnosticResult(wifi_neighbor_ap_t **neighbor_ap_array, UINT *output_array_size); //Tr181
2459 /** Deprecated: used for old RDKB code. */
2460 INT wifi_getAllAssociatedDeviceDetail(INT apIndex, ULONG *output_ulong, wifi_device_t **output_struct); //RDKB
2461 //<<
2462 
2463 //>> -------------------- wifi_ap_hal -----------------------------------
2464 //---------------------------------------------------------------------------------------------------
2465 //
2466 // Additional Wifi radio level APIs used for RDKB Access Point devices
2467 //
2468 //---------------------------------------------------------------------------------------------------
2469 
2470 
2471 /* wifi_factoryResetAP() function */
2472 /**
2473 * @description Restore AP paramters to default without change other AP nor Radio parameters (No need to reboot wifi)
2474 *
2475 * @param apIndex - Access Point index
2476 *
2477 * @return The status of the operation
2478 * @retval RETURN_OK if successful
2479 * @retval RETURN_ERR if any error is detected
2480 *
2481 * @execution Synchronous
2482 * @sideeffect None
2483 *
2484 * @note This function must not suspend and must not invoke any blocking system
2485 * calls. It should probably just send a message to a driver event handler task.
2486 *
2487 */
2488 INT wifi_factoryResetAP(int apIndex); //Restore AP paramters to default without change other AP nor Radio parameters (No need to reboot wifi)
2489 
2490 /* wifi_setRadioCtsProtectionEnable() function */
2491 /**
2492 * @description Enables CTS protection for the radio used by this AP
2493 *
2494 * @param apIndex - Access Point index
2495 * @param enable - CTS protection enable value
2496 *
2497 * @return The status of the operation
2498 * @retval RETURN_OK if successful
2499 * @retval RETURN_ERR if any error is detected
2500 *
2501 * @execution Synchronous
2502 * @sideeffect None
2503 *
2504 * @note This function must not suspend and must not invoke any blocking system
2505 * calls. It should probably just send a message to a driver event handler task.
2506 *
2507 */
2508 INT wifi_setRadioCtsProtectionEnable(INT apIndex, BOOL enable); //P3 // enables CTS protection for the radio used by this AP
2509 
2510 /* wifi_setRadioObssCoexistenceEnable() function */
2511 /**
2512 * @description enables OBSS Coexistence - fall back to 20MHz if necessary for the radio used by this
2513 AP.
2514 *
2515 * @param apIndex - Access Point index
2516 * @param enable - OBSS Coexistence enable value
2517 *
2518 * @return The status of the operation
2519 * @retval RETURN_OK if successful
2520 * @retval RETURN_ERR if any error is detected
2521 *
2522 * @execution Synchronous
2523 * @sideeffect None
2524 *
2525 * @note This function must not suspend and must not invoke any blocking system
2526 * calls. It should probably just send a message to a driver event handler task.
2527 *
2528 */
2529 INT wifi_setRadioObssCoexistenceEnable(INT apIndex, BOOL enable); // enables OBSS Coexistence - fall back to 20MHz if necessary for the radio used by this ap
2530 
2531 /* wifi_setRadioFragmentationThreshold() function */
2532 /**
2533 * @description Sets the fragmentation threshold in bytes for the radio used by this
2534 AP.
2535 *
2536 * @param apIndex - Access Point index
2537 * @param threshold - Fragmentation Threshold value
2538 *
2539 * @return The status of the operation
2540 * @retval RETURN_OK if successful
2541 * @retval RETURN_ERR if any error is detected
2542 *
2543 * @execution Synchronous
2544 * @sideeffect None
2545 *
2546 * @note This function must not suspend and must not invoke any blocking system
2547 * calls. It should probably just send a message to a driver event handler task.
2548 *
2549 */
2550 INT wifi_setRadioFragmentationThreshold(INT apIndex, UINT threshold); //P3 // sets the fragmentation threshold in bytes for the radio used by this ap
2551 
2552 /* wifi_setRadioSTBCEnable() function */
2553 /**
2554 * @description Enable STBC mode in the hardware, 0 == not enabled, 1 == enabled.
2555 *
2556 * @param radioIndex - Radio index
2557 * @param STBC_Enable - STBC mode enable value
2558 *
2559 * @return The status of the operation
2560 * @retval RETURN_OK if successful
2561 * @retval RETURN_ERR if any error is detected
2562 *
2563 * @execution Synchronous
2564 * @sideeffect None
2565 *
2566 * @note This function must not suspend and must not invoke any blocking system
2567 * calls. It should probably just send a message to a driver event handler task.
2568 *
2569 */
2570 INT wifi_setRadioSTBCEnable(INT radioIndex, BOOL STBC_Enable); // enable STBC mode in the hardwarwe, 0 == not enabled, 1 == enabled
2571 
2572 /* wifi_getRadioAMSDUEnable() function */
2573 /**
2574 * @description Outputs A-MSDU enable status, 0 == not enabled, 1 == enabled.
2575 *
2576 * @param radioIndex - Radio index
2577 * @param output_bool - A-MSDU enable status, to be returned
2578 *
2579 * @return The status of the operation
2580 * @retval RETURN_OK if successful
2581 * @retval RETURN_ERR if any error is detected
2582 *
2583 * @execution Synchronous
2584 * @sideeffect None
2585 *
2586 * @note This function must not suspend and must not invoke any blocking system
2587 * calls. It should probably just send a message to a driver event handler task.
2588 *
2589 */
2590 INT wifi_getRadioAMSDUEnable(INT radioIndex, BOOL *output_bool); // outputs A-MSDU enable status, 0 == not enabled, 1 == enabled
2591 
2592 /* wifi_setRadioAMSDUEnable() function */
2593 /**
2594 * @description Enables A-MSDU in the hardware, 0 == not enabled, 1 == enabled.
2595 *
2596 * @param radioIndex - Radio index
2597 * @param amsduEnable - A-MSDU enable status value
2598 *
2599 * @return The status of the operation
2600 * @retval RETURN_OK if successful
2601 * @retval RETURN_ERR if any error is detected
2602 *
2603 * @execution Synchronous
2604 * @sideeffect None
2605 *
2606 * @note This function must not suspend and must not invoke any blocking system
2607 * calls. It should probably just send a message to a driver event handler task.
2608 *
2609 */
2610 INT wifi_setRadioAMSDUEnable(INT radioIndex, BOOL amsduEnable); // enables A-MSDU in the hardware, 0 == not enabled, 1 == enabled
2611 
2612 /* wifi_getRadioTxChainMask() function */
2613 /**
2614 * @description Outputs the number of Tx streams.
2615 *
2616 * @param radioIndex - Radio index
2617 * @param output_int - Number of Tx streams, to be returned
2618 *
2619 * @return The status of the operation
2620 * @retval RETURN_OK if successful
2621 * @retval RETURN_ERR if any error is detected
2622 *
2623 * @execution Synchronous
2624 * @sideeffect None
2625 *
2626 * @note This function must not suspend and must not invoke any blocking system
2627 * calls. It should probably just send a message to a driver event handler task.
2628 *
2629 */
2630 INT wifi_getRadioTxChainMask(INT radioIndex, INT *output_int); //P2 // outputs the number of Tx streams
2631 
2632 /* wifi_setRadioTxChainMask() function */
2633 /**
2634 * @description Sets the number of Tx streams to an enviornment variable.
2635 *
2636 * @param radioIndex - Radio index
2637 * @param numStreams - Number of Tx streams
2638 *
2639 * @return The status of the operation
2640 * @retval RETURN_OK if successful
2641 * @retval RETURN_ERR if any error is detected
2642 *
2643 * @execution Synchronous
2644 * @sideeffect None
2645 *
2646 * @note This function must not suspend and must not invoke any blocking system
2647 * calls. It should probably just send a message to a driver event handler task.
2648 *
2649 */
2650 INT wifi_setRadioTxChainMask(INT radioIndex, INT numStreams); //P2 // sets the number of Tx streams to an enviornment variable
2651 
2652 /* wifi_getRadioRxChainMask() function */
2653 /**
2654 * @description Outputs the number of Rx streams.
2655 *
2656 * @param radioIndex - Radio index
2657 * @param output_int - Number of Rx streams, to be returned
2658 *
2659 * @return The status of the operation
2660 * @retval RETURN_OK if successful
2661 * @retval RETURN_ERR if any error is detected
2662 *
2663 * @execution Synchronous
2664 * @sideeffect None
2665 *
2666 * @note This function must not suspend and must not invoke any blocking system
2667 * calls. It should probably just send a message to a driver event handler task.
2668 *
2669 */
2670 INT wifi_getRadioRxChainMask(INT radioIndex, INT *output_int); //P2 // outputs the number of Rx streams
2671 
2672 /* wifi_setRadioRxChainMask() function */
2673 /**
2674 * @description Sets the number of Rx streams to an enviornment variable.
2675 *
2676 * @param radioIndex - Radio index
2677 * @param numStreams - Number of Rx streams
2678 *
2679 * @return The status of the operation
2680 * @retval RETURN_OK if successful
2681 * @retval RETURN_ERR if any error is detected
2682 *
2683 * @execution Synchronous
2684 * @sideeffect None
2685 *
2686 * @note This function must not suspend and must not invoke any blocking system
2687 * calls. It should probably just send a message to a driver event handler task.
2688 *
2689 */
2690 INT wifi_setRadioRxChainMask(INT radioIndex, INT numStreams); //P2 // sets the number of Rx streams to an enviornment variable
2691 
2692 //>> Deprecated:
2693 /** Deprecated */
2694 INT wifi_pushBridgeInfo(INT apIndex); //P2 // Push the BridgeInfo environment variables to the hardware
2695 /** Deprecated */
2696 INT wifi_pushRadioChannel(INT radioIndex, UINT channel); //P2 // push the channel number setting to the hardware //Applying changes with wifi_applyRadioSettings().
2697 /** Deprecated */
2698 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().
2699 /** Deprecated */
2700 INT wifi_pushRadioTxChainMask(INT radioIndex); //P2 // push the enviornment varible that is set by "wifi_setTxChainMask()" to the hardware //Applying changes with wifi_applyRadioSettings().
2701 /** Deprecated */
2702 INT wifi_pushRadioRxChainMask(INT radioIndex); //P2 // push the enviornment varible that is set by "wifi_setRxChainMask()" to the hardware //Applying changes with wifi_applyRadioSettings().
2703 //<<
2704 
2705 /* wifi_pushSSID() function */
2706 /**
2707 * @description Push the enviornment varible that is set by "wifi_setSsidName" to the hardware.
2708 *
2709 * @param apIndex - Access Point index
2710 * @param ssid - WiFi SSID value
2711 *
2712 * @return The status of the operation
2713 * @retval RETURN_OK if successful
2714 * @retval RETURN_ERR if any error is detected
2715 *
2716 * @execution Synchronous
2717 * @sideeffect None
2718 *
2719 * @note This function must not suspend and must not invoke any blocking system
2720 * calls. It should probably just send a message to a driver event handler task.
2721 *
2722 */
2723 INT wifi_pushSSID(INT apIndex, CHAR *ssid); // push the enviornment varible that is set by "wifi_setSsidName" to the hardware
2724 
2725 /* wifi_pushSsidAdvertisementEnable() function */
2726 /**
2727 * @description Push the enviornment varible that is set by "wifi_setApSsidAdvertisementEnable" to the hardware.
2728 *
2729 * @param apIndex - Access Point index
2730 * @param enable - SSID Advertisement value
2731 *
2732 * @return The status of the operation
2733 * @retval RETURN_OK if successful
2734 * @retval RETURN_ERR if any error is detected
2735 *
2736 * @execution Synchronous
2737 * @sideeffect None
2738 *
2739 * @note This function must not suspend and must not invoke any blocking system
2740 * calls. It should probably just send a message to a driver event handler task.
2741 *
2742 */
2743 INT wifi_pushSsidAdvertisementEnable(INT apIndex, BOOL enable); // push the enviornment varible that is set by "wifi_setApSsidAdvertisementEnable" to the hardware
2744 
2745 /* wifi_getRadioUpTime() function */
2746 /**
2747 * @description Get the number of seconds elapsed since radio is started.
2748 *
2749 * @param radioIndex - Radio index
2750 * @param uptime - Wifi uptime, to be returned
2751 *
2752 * @return The status of the operation
2753 * @retval RETURN_OK if successful
2754 * @retval RETURN_ERR if any error is detected
2755 *
2756 * @execution Synchronous
2757 * @sideeffect None
2758 *
2759 * @note This function must not suspend and must not invoke any blocking system
2760 * calls. It should probably just send a message to a driver event handler task.
2761 *
2762 */
2763 INT wifi_getRadioUpTime(INT radioIndex, ULONG *uptime); // get the number of seconds elapsed since radio is started
2764 
2765 
2766 /* wifi_getRadioReverseDirectionGrantSupported() function */
2767 /**
2768 * @description Get radio RDG enable Support.
2769 *
2770 * @param radioIndex - Radio index
2771 * @param output_bool - RDG enable support value, to be returned
2772 *
2773 * @return The status of the operation
2774 * @retval RETURN_OK if successful
2775 * @retval RETURN_ERR if any error is detected
2776 *
2777 * @execution Synchronous
2778 * @sideeffect None
2779 *
2780 * @note This function must not suspend and must not invoke any blocking system
2781 * calls. It should probably just send a message to a driver event handler task.
2782 *
2783 */
2784 INT wifi_getRadioReverseDirectionGrantSupported(INT radioIndex, BOOL *output_bool); //Get radio RDG enable Support
2785 
2786 /* wifi_getRadioReverseDirectionGrantEnable() function */
2787 /**
2788 * @description Get radio RDG enable setting.
2789 *
2790 * @param radioIndex - Radio index
2791 * @param output_bool - RDG enable setting value, to be returned
2792 *
2793 * @return The status of the operation
2794 * @retval RETURN_OK if successful
2795 * @retval RETURN_ERR if any error is detected
2796 *
2797 * @execution Synchronous
2798 * @sideeffect None
2799 *
2800 * @note This function must not suspend and must not invoke any blocking system
2801 * calls. It should probably just send a message to a driver event handler task.
2802 *
2803 */
2804 INT wifi_getRadioReverseDirectionGrantEnable(INT radioIndex, BOOL *output_bool); //Get radio RDG enable setting
2805 
2806 /* wifi_setRadioReverseDirectionGrantEnable() function */
2807 /**
2808 * @description Set radio RDG enable setting.
2809 *
2810 * @param radioIndex - Radio index
2811 * @param enable - RDG enable setting value
2812 *
2813 * @return The status of the operation
2814 * @retval RETURN_OK if successful
2815 * @retval RETURN_ERR if any error is detected
2816 *
2817 * @execution Synchronous
2818 * @sideeffect None
2819 *
2820 * @note This function must not suspend and must not invoke any blocking system
2821 * calls. It should probably just send a message to a driver event handler task.
2822 *
2823 */
2824 INT wifi_setRadioReverseDirectionGrantEnable(INT radioIndex, BOOL enable); //Set radio RDG enable setting
2825 
2826 /* wifi_getRadioDeclineBARequestEnable() function */
2827 /**
2828 * @description Get radio ADDBA (ADD Block Acknowledgement) enable setting.
2829 *
2830 * @param radioIndex - Radio index
2831 * @param output_bool - Radio ADDBA enable setting value, to be returned
2832 *
2833 * @return The status of the operation
2834 * @retval RETURN_OK if successful
2835 * @retval RETURN_ERR if any error is detected
2836 *
2837 * @execution Synchronous
2838 * @sideeffect None
2839 *
2840 * @note This function must not suspend and must not invoke any blocking system
2841 * calls. It should probably just send a message to a driver event handler task.
2842 *
2843 */
2844 INT wifi_getRadioDeclineBARequestEnable(INT radioIndex, BOOL *output_bool); //Get radio ADDBA enable setting
2845 
2846 /* wifi_setRadioDeclineBARequestEnable() function */
2847 /**
2848 * @description Set radio ADDBA (ADD Block Acknowledgement) enable setting.
2849 *
2850 * @param radioIndex - Radio index
2851 * @param enable - Radio ADDBA enable setting value
2852 *
2853 * @return The status of the operation
2854 * @retval RETURN_OK if successful
2855 * @retval RETURN_ERR if any error is detected
2856 *
2857 * @execution Synchronous
2858 * @sideeffect None
2859 *
2860 * @note This function must not suspend and must not invoke any blocking system
2861 * calls. It should probably just send a message to a driver event handler task.
2862 *
2863 */
2864 INT wifi_setRadioDeclineBARequestEnable(INT radioIndex, BOOL enable); //Set radio ADDBA enable setting
2865 
2866 /* wifi_getRadioAutoBlockAckEnable() function */
2867 /**
2868 * @description Get radio auto block ack enable setting.
2869 *
2870 * @param radioIndex - Radio index
2871 * @param output_bool - Auto block ack enable setting value, to be returned
2872 *
2873 * @return The status of the operation
2874 * @retval RETURN_OK if successful
2875 * @retval RETURN_ERR if any error is detected
2876 *
2877 * @execution Synchronous
2878 * @sideeffect None
2879 *
2880 * @note This function must not suspend and must not invoke any blocking system
2881 * calls. It should probably just send a message to a driver event handler task.
2882 *
2883 */
2884 INT wifi_getRadioAutoBlockAckEnable(INT radioIndex, BOOL *output_bool); //Get radio auto block ack enable setting
2885 
2886 /* wifi_setRadioAutoBlockAckEnable() function */
2887 /**
2888 * @description Set radio auto block ack enable setting.
2889 *
2890 * @param radioIndex - Radio index
2891 * @param enable - Auto block ack enable setting value
2892 *
2893 * @return The status of the operation
2894 * @retval RETURN_OK if successful
2895 * @retval RETURN_ERR if any error is detected
2896 *
2897 * @execution Synchronous
2898 * @sideeffect None
2899 *
2900 * @note This function must not suspend and must not invoke any blocking system
2901 * calls. It should probably just send a message to a driver event handler task.
2902 *
2903 */
2904 INT wifi_setRadioAutoBlockAckEnable(INT radioIndex, BOOL enable); //Set radio auto block ack enable setting
2905 
2906 /* wifi_getRadio11nGreenfieldSupported() function */
2907 /**
2908 * @description Get radio 11n pure mode enable support.
2909 *
2910 * @param radioIndex - Radio index
2911 * @param output_bool - Radio 11n pure mode enable support value, to be returned
2912 *
2913 * @return The status of the operation
2914 * @retval RETURN_OK if successful
2915 * @retval RETURN_ERR if any error is detected
2916 *
2917 * @execution Synchronous
2918 * @sideeffect None
2919 *
2920 * @note This function must not suspend and must not invoke any blocking system
2921 * calls. It should probably just send a message to a driver event handler task.
2922 *
2923 */
2924 INT wifi_getRadio11nGreenfieldSupported(INT radioIndex, BOOL *output_bool); //Get radio 11n pure mode enable Support
2925 
2926 /* wifi_getRadio11nGreenfieldEnable() function */
2927 /**
2928 * @description Get radio 11n pure mode enable setting.
2929 *
2930 * @param radioIndex - Radio index
2931 * @param output_bool - Radio 11n pure mode enable setting, to be returned
2932 *
2933 * @return The status of the operation
2934 * @retval RETURN_OK if successful
2935 * @retval RETURN_ERR if any error is detected
2936 *
2937 * @execution Synchronous
2938 * @sideeffect None
2939 *
2940 * @note This function must not suspend and must not invoke any blocking system
2941 * calls. It should probably just send a message to a driver event handler task.
2942 *
2943 */
2944 INT wifi_getRadio11nGreenfieldEnable(INT radioIndex, BOOL *output_bool); //Get radio 11n pure mode enable setting
2945 
2946 /* wifi_setRadio11nGreenfieldEnable() function */
2947 /**
2948 * @description Set radio 11n pure mode enable setting.
2949 *
2950 * @param radioIndex - Radio index
2951 * @param enable - Radio 11n pure mode enable setting
2952 *
2953 * @return The status of the operation
2954 * @retval RETURN_OK if successful
2955 * @retval RETURN_ERR if any error is detected
2956 *
2957 * @execution Synchronous
2958 * @sideeffect None
2959 *
2960 * @note This function must not suspend and must not invoke any blocking system
2961 * calls. It should probably just send a message to a driver event handler task.
2962 *
2963 */
2964 INT wifi_setRadio11nGreenfieldEnable(INT radioIndex, BOOL enable); //Set radio 11n pure mode enable setting
2965 
2966 /* wifi_getRadioIGMPSnoopingEnable() function */
2967 /**
2968 * @description Get radio IGMP snooping enable setting.
2969 *
2970 * @param radioIndex - Radio index
2971 * @param output_bool - Radio IGMP snooping enable setting, to be returned
2972 *
2973 * @return The status of the operation
2974 * @retval RETURN_OK if successful
2975 * @retval RETURN_ERR if any error is detected
2976 *
2977 * @execution Synchronous
2978 * @sideeffect None
2979 *
2980 * @note This function must not suspend and must not invoke any blocking system
2981 * calls. It should probably just send a message to a driver event handler task.
2982 *
2983 */
2984 INT wifi_getRadioIGMPSnoopingEnable(INT radioIndex, BOOL *output_bool); //Get radio IGMP snooping enable setting
2985 
2986 /* wifi_setRadioIGMPSnoopingEnable() function */
2987 /**
2988 * @description Set radio IGMP snooping enable setting.
2989 *
2990 * @param radioIndex - Radio index
2991 * @param enable - Radio IGMP snooping enable setting
2992 *
2993 * @return The status of the operation
2994 * @retval RETURN_OK if successful
2995 * @retval RETURN_ERR if any error is detected
2996 *
2997 * @execution Synchronous
2998 * @sideeffect None
2999 *
3000 * @note This function must not suspend and must not invoke any blocking system
3001 * calls. It should probably just send a message to a driver event handler task.
3002 *
3003 */
3004 INT wifi_setRadioIGMPSnoopingEnable(INT radioIndex, BOOL enable); //Set radio IGMP snooping enable setting
3005 //---------------------------------------------------------------------------------------------------
3006 //
3007 // Additional Wifi AP level APIs used for Access Point devices
3008 //
3009 //---------------------------------------------------------------------------------------------------
3010 
3011 
3012 //AP HAL
3013 
3014 /* wifi_createAp() function */
3015 /**
3016 * @description creates a new ap and pushes these parameters to the hardware.
3017 *
3018 * @param apIndex - Access Point index
3019 * @param radioIndex - Radio index
3020 * @param essid - SSID Name
3021 * @param hideSsid - True/False, to SSID advertisement enable value
3022 *
3023 * @return The status of the operation
3024 * @retval RETURN_OK if successful
3025 * @retval RETURN_ERR if any error is detected
3026 *
3027 * @execution Synchronous
3028 * @sideeffect None
3029 *
3030 * @note This function must not suspend and must not invoke any blocking system
3031 * calls. It should probably just send a message to a driver event handler task.
3032 *
3033 */
3034 INT wifi_createAp(INT apIndex, INT radioIndex, CHAR *essid, BOOL hideSsid); // creates a new ap and pushes these parameters to the hardware
3035 
3036 /* wifi_deleteAp() function */
3037 /**
3038 * @description Deletes this ap entry on the hardware, clears all internal variables associaated with this ap.
3039 *
3040 * @param apIndex - Access Point index
3041 *
3042 * @return The status of the operation
3043 * @retval RETURN_OK if successful
3044 * @retval RETURN_ERR if any error is detected
3045 *
3046 * @execution Synchronous
3047 * @sideeffect None
3048 *
3049 * @note This function must not suspend and must not invoke any blocking system
3050 * calls. It should probably just send a message to a driver event handler task.
3051 *
3052 */
3053 INT wifi_deleteAp(INT apIndex); // deletes this ap entry on the hardware, clears all internal variables associaated with this ap
3054 
3055 /* wifi_getApName() function */
3056 /**
3057 * @description Outputs a 16 byte or less name assocated with the AP.
3058 * String buffer must be pre-allocated by the caller.
3059 *
3060 * @param apIndex - Access Point index
3061 * @param output_string - Access Point name, to be returned
3062 *
3063 * @return The status of the operation
3064 * @retval RETURN_OK if successful
3065 * @retval RETURN_ERR if any error is detected
3066 *
3067 * @execution Synchronous
3068 * @sideeffect None
3069 *
3070 * @note This function must not suspend and must not invoke any blocking system
3071 * calls. It should probably just send a message to a driver event handler task.
3072 *
3073 */
3074 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
3075 
3076 /* wifi_getApIndexFromName() function */
3077 /**
3078 * @description Outputs the index number in that corresponds to the SSID string.
3079 *
3080 * @param inputSsidString - WiFi SSID Name
3081 * @param ouput_int - Access Point index, to be returned
3082 *
3083 * @return The status of the operation
3084 * @retval RETURN_OK if successful
3085 * @retval RETURN_ERR if any error is detected
3086 *
3087 * @execution Synchronous
3088 * @sideeffect None
3089 *
3090 * @note This function must not suspend and must not invoke any blocking system
3091 * calls. It should probably just send a message to a driver event handler task.
3092 *
3093 */
3094 INT wifi_getApIndexFromName(CHAR *inputSsidString, INT *ouput_int); // Outputs the index number in that corresponds to the SSID string
3095 
3096 /* wifi_getApBeaconType() function */
3097 /**
3098 * @description Outputs a 32 byte or less string indicating the beacon type as "None", "Basic", "WPA", "11i", "WPAand11i".
3099 *
3100 * @param apIndex - Access Point index
3101 * @param output_string - Beacon type, to be returned
3102 *
3103 * @return The status of the operation
3104 * @retval RETURN_OK if successful
3105 * @retval RETURN_ERR if any error is detected
3106 *
3107 * @execution Synchronous
3108 * @sideeffect None
3109 *
3110 * @note This function must not suspend and must not invoke any blocking system
3111 * calls. It should probably just send a message to a driver event handler task.
3112 *
3113 */
3114 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"
3115 
3116 /* wifi_setApBeaconType() function */
3117 /**
3118 * @description Sets the beacon type enviornment variable. Allowed input strings are "None", "Basic", "WPA, "11i", "WPAand11i".
3119 *
3120 * @param apIndex - Access Point index
3121 * @param beaconTypeString - Beacon type
3122 *
3123 * @return The status of the operation
3124 * @retval RETURN_OK if successful
3125 * @retval RETURN_ERR if any error is detected
3126 *
3127 * @execution Synchronous
3128 * @sideeffect None
3129 *
3130 * @note This function must not suspend and must not invoke any blocking system
3131 * calls. It should probably just send a message to a driver event handler task.
3132 *
3133 */
3134 INT wifi_setApBeaconType(INT apIndex, CHAR *beaconTypeString); // Sets the beacon type enviornment variable. Allowed input strings are "None", "Basic", "WPA, "11i", "WPAand11i"
3135 
3136 /* wifi_setApBeaconInterval() function */
3137 /**
3138 * @description Sets the beacon interval on the hardware for this AP.
3139 *
3140 * @param apIndex - Access Point index
3141 * @param beaconInterval - Beacon interval
3142 *
3143 * @return The status of the operation
3144 * @retval RETURN_OK if successful
3145 * @retval RETURN_ERR if any error is detected
3146 *
3147 * @execution Synchronous
3148 * @sideeffect None
3149 *
3150 * @note This function must not suspend and must not invoke any blocking system
3151 * calls. It should probably just send a message to a driver event handler task.
3152 *
3153 */
3154 INT wifi_setApBeaconInterval(INT apIndex, INT beaconInterval); // sets the beacon interval on the hardware for this AP
3155 
3156 /* wifi_setApDTIMInterval() function */
3157 /**
3158 * @description Sets the DTIM interval for this AP.
3159 *
3160 * @param apIndex - Access Point index
3161 * @param dtimInterval - DTIM interval
3162 *
3163 * @return The status of the operation
3164 * @retval RETURN_OK if successful
3165 * @retval RETURN_ERR if any error is detected
3166 *
3167 * @execution Synchronous
3168 * @sideeffect None
3169 *
3170 * @note This function must not suspend and must not invoke any blocking system
3171 * calls. It should probably just send a message to a driver event handler task.
3172 *
3173 */
3174 INT wifi_setApDTIMInterval(INT apIndex, INT dtimInterval); // Sets the DTIM interval for this AP
3175 
3176 /* wifi_getApRtsThresholdSupported() function */
3177 /**
3178 * @description Get the packet size threshold supported.
3179 *
3180 * @param apIndex - Access Point index
3181 * @param output_bool - Packet size threshold supported, to be returned
3182 *
3183 * @return The status of the operation
3184 * @retval RETURN_OK if successful
3185 * @retval RETURN_ERR if any error is detected
3186 *
3187 * @execution Synchronous
3188 * @sideeffect None
3189 *
3190 * @note This function must not suspend and must not invoke any blocking system
3191 * calls. It should probably just send a message to a driver event handler task.
3192 *
3193 */
3194 INT wifi_getApRtsThresholdSupported(INT apIndex, BOOL *output_bool); // Get the packet size threshold supported.
3195 
3196 /* wifi_setApRtsThreshold() function */
3197 /**
3198 * @description Sets the packet size threshold in bytes to apply RTS/CTS backoff rules.
3199 *
3200 * @param apIndex - Access Point index
3201 * @param threshold - Packet size threshold
3202 *
3203 * @return The status of the operation
3204 * @retval RETURN_OK if successful
3205 * @retval RETURN_ERR if any error is detected
3206 *
3207 * @execution Synchronous
3208 * @sideeffect None
3209 *
3210 * @note This function must not suspend and must not invoke any blocking system
3211 * calls. It should probably just send a message to a driver event handler task.
3212 *
3213 */
3214 INT wifi_setApRtsThreshold(INT apIndex, UINT threshold); // sets the packet size threshold in bytes to apply RTS/CTS backoff rules.
3215 
3216 /* wifi_getApWpaEncryptoinMode() function */
3217 /**
3218 * @description ouputs up to a 32 byte string as either "TKIPEncryption", "AESEncryption", or "TKIPandAESEncryption".
3219 *
3220 * @param apIndex - Access Point index
3221 * @param output_string - WPA Encryption mode, to be returned
3222 *
3223 * @return The status of the operation
3224 * @retval RETURN_OK if successful
3225 * @retval RETURN_ERR if any error is detected
3226 *
3227 * @execution Synchronous
3228 * @sideeffect None
3229 *
3230 * @note This function must not suspend and must not invoke any blocking system
3231 * calls. It should probably just send a message to a driver event handler task.
3232 *
3233 */
3234 INT wifi_getApWpaEncryptoinMode(INT apIndex, CHAR *output_string); // ouputs up to a 32 byte string as either "TKIPEncryption", "AESEncryption", or "TKIPandAESEncryption"
3235 
3236 /* wifi_setApWpaEncryptionMode() function */
3237 /**
3238 * @description Sets the encyption mode enviornment variable. Valid string format is "TKIPEncryption", "AESEncryption", or "TKIPandAESEncryption".
3239 *
3240 * @param apIndex - Access Point index
3241 * @param encMode - WPA Encryption mode
3242 *
3243 * @return The status of the operation
3244 * @retval RETURN_OK if successful
3245 * @retval RETURN_ERR if any error is detected
3246 *
3247 * @execution Synchronous
3248 * @sideeffect None
3249 *
3250 * @note This function must not suspend and must not invoke any blocking system
3251 * calls. It should probably just send a message to a driver event handler task.
3252 *
3253 */
3254 INT wifi_setApWpaEncryptionMode(INT apIndex, CHAR *encMode); // sets the encyption mode enviornment variable. Valid string format is "TKIPEncryption", "AESEncryption", or "TKIPandAESEncryption"
3255 
3256 /* wifi_removeApSecVaribles() function */
3257 /**
3258 * @description Deletes internal security varable settings for this ap.
3259 *
3260 * @param apIndex - Access Point index
3261 *
3262 * @return The status of the operation
3263 * @retval RETURN_OK if successful
3264 * @retval RETURN_ERR if any error is detected
3265 *
3266 * @execution Synchronous
3267 * @sideeffect None
3268 *
3269 * @note This function must not suspend and must not invoke any blocking system
3270 * calls. It should probably just send a message to a driver event handler task.
3271 *
3272 */
3273 INT wifi_removeApSecVaribles(INT apIndex); // deletes internal security varable settings for this ap
3274 
3275 /* wifi_disableApEncryption() function */
3276 /**
3277 * @description changes the hardware settings to disable encryption on this ap.
3278 *
3279 * @param apIndex - Access Point index
3280 *
3281 * @return The status of the operation
3282 * @retval RETURN_OK if successful
3283 * @retval RETURN_ERR if any error is detected
3284 *
3285 * @execution Synchronous
3286 * @sideeffect None
3287 *
3288 * @note This function must not suspend and must not invoke any blocking system
3289 * calls. It should probably just send a message to a driver event handler task.
3290 *
3291 */
3292 INT wifi_disableApEncryption(INT apIndex); // changes the hardware settings to disable encryption on this ap
3293 
3294 /* wifi_setApAuthMode() function */
3295 /**
3296 * @description Set the authorization mode on this ap. mode mapping as: 1: open, 2: shared, 4:auto.
3297 *
3298 * @param apIndex - Access Point index
3299 * @param mode - Authorization mode
3300 *
3301 * @return The status of the operation
3302 * @retval RETURN_OK if successful
3303 * @retval RETURN_ERR if any error is detected
3304 *
3305 * @execution Synchronous
3306 * @sideeffect None
3307 *
3308 * @note This function must not suspend and must not invoke any blocking system
3309 * calls. It should probably just send a message to a driver event handler task.
3310 *
3311 */
3312 INT wifi_setApAuthMode(INT apIndex, INT mode); // set the authorization mode on this ap. mode mapping as: 1: open, 2: shared, 4:auto
3313 
3314 /* wifi_setApBasicAuthenticationMode() function */
3315 /**
3316 * @description Sets an enviornment variable for the authMode. Valid strings are "None", "EAPAuthentication" or "SharedAuthentication".
3317 *
3318 * @param apIndex - Access Point index
3319 * @param authMode - Authentication mode
3320 *
3321 * @return The status of the operation
3322 * @retval RETURN_OK if successful
3323 * @retval RETURN_ERR if any error is detected
3324 *
3325 * @execution Synchronous
3326 * @sideeffect None
3327 *
3328 * @note This function must not suspend and must not invoke any blocking system
3329 * calls. It should probably just send a message to a driver event handler task.
3330 *
3331 */
3332 INT wifi_setApBasicAuthenticationMode(INT apIndex, CHAR *authMode); // sets an enviornment variable for the authMode. Valid strings are "None", "EAPAuthentication" or "SharedAuthentication"
3333 
3334 /* wifi_getApNumDevicesAssociated() function */
3335 /**
3336 * @description Outputs the number of stations associated per AP.
3337 *
3338 * @param apIndex - Access Point index
3339 * @param output_ulong - Number of stations, to be returned
3340 *
3341 * @return The status of the operation
3342 * @retval RETURN_OK if successful
3343 * @retval RETURN_ERR if any error is detected
3344 *
3345 * @execution Synchronous
3346 * @sideeffect None
3347 *
3348 * @note This function must not suspend and must not invoke any blocking system
3349 * calls. It should probably just send a message to a driver event handler task.
3350 *
3351 */
3352 INT wifi_getApNumDevicesAssociated(INT apIndex, ULONG *output_ulong); // Outputs the number of stations associated per AP
3353 
3354 /* wifi_kickApAssociatedDevice() function */
3355 /**
3356 * @description Manually removes any active wi-fi association with the device specified on this ap.
3357 *
3358 * @param apIndex - Access Point index
3359 * @param client_mac - Client device MAC address
3360 *
3361 * @return The status of the operation
3362 * @retval RETURN_OK if successful
3363 * @retval RETURN_ERR if any error is detected
3364 *
3365 * @execution Synchronous
3366 * @sideeffect None
3367 *
3368 * @note This function must not suspend and must not invoke any blocking system
3369 * calls. It should probably just send a message to a driver event handler task.
3370 *
3371 */
3372 INT wifi_kickApAssociatedDevice(INT apIndex, CHAR *client_mac); // manually removes any active wi-fi association with the device specified on this ap
3373 
3374 /* wifi_getApRadioIndex() function */
3375 /**
3376 * @description Outputs the radio index for the specified ap.
3377 *
3378 * @param apIndex - Access Point index
3379 * @param output_int - Radio index, to be returned
3380 *
3381 * @return The status of the operation
3382 * @retval RETURN_OK if successful
3383 * @retval RETURN_ERR if any error is detected
3384 *
3385 * @execution Synchronous
3386 * @sideeffect None
3387 *
3388 * @note This function must not suspend and must not invoke any blocking system
3389 * calls. It should probably just send a message to a driver event handler task.
3390 *
3391 */
3392 INT wifi_getApRadioIndex(INT apIndex, INT *output_int); // outputs the radio index for the specified ap
3393 
3394 /* wifi_setApRadioIndex() function */
3395 /**
3396 * @description Sets the radio index for the specific ap.
3397 *
3398 * @param apIndex - Access Point index
3399 * @param radioIndex - Radio index
3400 *
3401 * @return The status of the operation
3402 * @retval RETURN_OK if successful
3403 * @retval RETURN_ERR if any error is detected
3404 *
3405 * @execution Synchronous
3406 * @sideeffect None
3407 *
3408 * @note This function must not suspend and must not invoke any blocking system
3409 * calls. It should probably just send a message to a driver event handler task.
3410 *
3411 */
3412 INT wifi_setApRadioIndex(INT apIndex, INT radioIndex); // sets the radio index for the specific ap
3413 
3414 /* wifi_getApAclDevices() function */
3415 /**
3416 * @description Get the ACL MAC list per AP.
3417 *
3418 * @param apIndex - Access Point index
3419 * @param macArray - Mac Array list, to be returned
3420 * @param buf_size - Buffer size for the mac array list
3421 *
3422 * @return The status of the operation
3423 * @retval RETURN_OK if successful
3424 * @retval RETURN_ERR if any error is detected
3425 *
3426 * @execution Synchronous
3427 * @sideeffect None
3428 *
3429 * @note This function must not suspend and must not invoke any blocking system
3430 * calls. It should probably just send a message to a driver event handler task.
3431 *
3432 */
3433 INT wifi_getApAclDevices(INT apIndex, CHAR *macArray, UINT buf_size); // Get the ACL MAC list per AP
3434 
3435 /* wifi_addApAclDevice() function */
3436 /**
3437 * @description Adds the mac address to the filter list.
3438 *
3439 * @param apIndex - Access Point index
3440 * @param DeviceMacAddress - Mac Address of a device
3441 *
3442 * @return The status of the operation
3443 * @retval RETURN_OK if successful
3444 * @retval RETURN_ERR if any error is detected
3445 *
3446 * @execution Synchronous
3447 * @sideeffect None
3448 *
3449 * @note This function must not suspend and must not invoke any blocking system
3450 * calls. It should probably just send a message to a driver event handler task.
3451 *
3452 */
3453 INT wifi_addApAclDevice(INT apIndex, CHAR *DeviceMacAddress); // adds the mac address to the filter list
3454 
3455 /* wifi_delApAclDevice() function */
3456 /**
3457 * @description Deletes the mac address from the filter list.
3458 *
3459 * @param apIndex - Access Point index
3460 * @param DeviceMacAddress - Mac Address of a device
3461 *
3462 * @return The status of the operation
3463 * @retval RETURN_OK if successful
3464 * @retval RETURN_ERR if any error is detected
3465 *
3466 * @execution Synchronous
3467 * @sideeffect None
3468 *
3469 * @note This function must not suspend and must not invoke any blocking system
3470 * calls. It should probably just send a message to a driver event handler task.
3471 *
3472 */
3473 INT wifi_delApAclDevice(INT apIndex, CHAR *DeviceMacAddress); // deletes the mac address from the filter list
3474 
3475 /* wifi_getApAclDeviceNum() function */
3476 /**
3477 * @description Outputs the number of devices in the filter list.
3478 *
3479 * @param apIndex - Access Point index
3480 * @param output_uint - Number of devices, to be returned
3481 *
3482 * @return The status of the operation
3483 * @retval RETURN_OK if successful
3484 * @retval RETURN_ERR if any error is detected
3485 *
3486 * @execution Synchronous
3487 * @sideeffect None
3488 *
3489 * @note This function must not suspend and must not invoke any blocking system
3490 * calls. It should probably just send a message to a driver event handler task.
3491 *
3492 */
3493 INT wifi_getApAclDeviceNum(INT apIndex, UINT *output_uint); // outputs the number of devices in the filter list
3494 
3495 /* wifi_kickApAclAssociatedDevices() function */
3496 /**
3497 * @description Enable kick for devices on acl black list.
3498 *
3499 * @param apIndex - Access Point index
3500 * @param enable - Enable/disable kick for devices on acl black list
3501 *
3502 * @return The status of the operation
3503 * @retval RETURN_OK if successful
3504 * @retval RETURN_ERR if any error is detected
3505 *
3506 * @execution Synchronous
3507 * @sideeffect None
3508 *
3509 * @note This function must not suspend and must not invoke any blocking system
3510 * calls. It should probably just send a message to a driver event handler task.
3511 *
3512 */
3513 INT wifi_kickApAclAssociatedDevices(INT apIndex,BOOL enable); // enable kick for devices on acl black list
3514 
3515 /* wifi_setApMacAddressControlMode() function */
3516 /**
3517 * @description Sets the mac address filter control mode. 0 == filter disabled, 1 == filter as whitelist, 2 == filter as blacklist.
3518 *
3519 * @param apIndex - Access Point index
3520 * @param filterMode - Mac Address filter control mode
3521 *
3522 * @return The status of the operation
3523 * @retval RETURN_OK if successful
3524 * @retval RETURN_ERR if any error is detected
3525 *
3526 * @execution Synchronous
3527 * @sideeffect None
3528 *
3529 * @note This function must not suspend and must not invoke any blocking system
3530 * calls. It should probably just send a message to a driver event handler task.
3531 *
3532 */
3533 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
3534 
3535 /* wifi_setApVlanEnable() function */
3536 /**
3537 * @description 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.
3538 *
3539 * @param apIndex - Access Point index
3540 * @param VlanEnabled - Internal gateway VLAN mode
3541 *
3542 * @return The status of the operation
3543 * @retval RETURN_OK if successful
3544 * @retval RETURN_ERR if any error is detected
3545 *
3546 * @execution Synchronous
3547 * @sideeffect None
3548 *
3549 * @note This function must not suspend and must not invoke any blocking system
3550 * calls. It should probably just send a message to a driver event handler task.
3551 *
3552 */
3553 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.
3554 
3555 /* wifi_setApVlanID() function */
3556 /**
3557 * @description Sets the vlan ID for this ap to an internal enviornment variable.
3558 *
3559 * @param apIndex - Access Point index
3560 * @param vlanId - VLAN ID
3561 *
3562 * @return The status of the operation
3563 * @retval RETURN_OK if successful
3564 * @retval RETURN_ERR if any error is detected
3565 *
3566 * @execution Synchronous
3567 * @sideeffect None
3568 *
3569 * @note This function must not suspend and must not invoke any blocking system
3570 * calls. It should probably just send a message to a driver event handler task.
3571 *
3572 */
3573 INT wifi_setApVlanID(INT apIndex, INT vlanId); // sets the vlan ID for this ap to an internal enviornment variable
3574 
3575 /* wifi_getApBridgeInfo() function */
3576 /**
3577 * @description Gets bridgeName, IP address and Subnet.BridgeName is a maximum of 32 characters.
3578 *
3579 * @param index - Access Point index
3580 * @param bridgeName - Bridge name, to be returned
3581 * @param IP - IP Address, to be returned
3582 * @param subnet - Subnet, to be returned
3583 *
3584 * @return The status of the operation
3585 * @retval RETURN_OK if successful
3586 * @retval RETURN_ERR if any error is detected
3587 *
3588 * @execution Synchronous
3589 * @sideeffect None
3590 *
3591 * @note This function must not suspend and must not invoke any blocking system
3592 * calls. It should probably just send a message to a driver event handler task.
3593 *
3594 */
3595 INT wifi_getApBridgeInfo(INT index, CHAR *bridgeName, CHAR *IP, CHAR *subnet); // gets bridgeName, IP address and Subnet.
3596 
3597 /* wifi_setApBridgeInfo() function */
3598 /**
3599 * @description Sets bridgeName, IP address and Subnet to internal enviornment variables. BridgeName is a maximum of 32 characters.
3600 *
3601 * @param apIndex - Access Point index
3602 * @param bridgeName - Bridge name
3603 * @param IP - IP Address
3604 * @param subnet - Subnet
3605 *
3606 * @return The status of the operation
3607 * @retval RETURN_OK if successful
3608 * @retval RETURN_ERR if any error is detected
3609 *
3610 * @execution Synchronous
3611 * @sideeffect None
3612 *
3613 * @note This function must not suspend and must not invoke any blocking system
3614 * calls. It should probably just send a message to a driver event handler task.
3615 *
3616 */
3617 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,
3618 //INT wifi_pushApBridgeInfo(INT apIndex); // push the BridgeInfo enviornment variables to the hardware //Applying changes with wifi_applyRadioSettings()
3619 
3620 /* wifi_resetApVlanCfg() function */
3621 /**
3622 * @description Reset the vlan configuration for this ap.
3623 *
3624 * @param apIndex - Access Point index
3625 *
3626 * @return The status of the operation
3627 * @retval RETURN_OK if successful
3628 * @retval RETURN_ERR if any error is detected
3629 *
3630 * @execution Synchronous
3631 * @sideeffect None
3632 *
3633 * @note This function must not suspend and must not invoke any blocking system
3634 * calls. It should probably just send a message to a driver event handler task.
3635 *
3636 */
3637 INT wifi_resetApVlanCfg(INT apIndex); // reset the vlan configuration for this ap
3638 //INT wifi_setApBridging(INT apIndex, BOOL bridgeEnable); // set the enviornment variables to control briding. If isolation is requried then disable bridging. //use wifi_setApIsolationEnable instead
3639 //INT wifi_getApRouterEnable(INT apIndex, BOOL *output_bool); //P4 // Outputs a bool that indicates if router is enabled for this ap
3640 //INT wifi_setApRouterEnable(INT apIndex, BOOL routerEnabled); //P4 // sets the routerEnabled variable for this ap
3641 
3642 /* wifi_createHostApdConfig() function */
3643 /**
3644 * @description 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.
3645 *
3646 * @param apIndex - Access Point index
3647 * @param createWpsCfg - Enable/Disable WPS Configuration creation
3648 *
3649 * @return The status of the operation
3650 * @retval RETURN_OK if successful
3651 * @retval RETURN_ERR if any error is detected
3652 *
3653 * @execution Synchronous
3654 * @sideeffect None
3655 *
3656 * @note This function must not suspend and must not invoke any blocking system
3657 * calls. It should probably just send a message to a driver event handler task.
3658 *
3659 */
3660 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.
3661 
3662 /* wifi_startHostApd() function */
3663 /**
3664 * @description Starts hostapd, uses the variables in the hostapd config with format compatible with the specific hostapd implementation.
3665 *
3666 * @param None
3667 *
3668 * @return The status of the operation
3669 * @retval RETURN_OK if successful
3670 * @retval RETURN_ERR if any error is detected
3671 *
3672 * @execution Synchronous
3673 * @sideeffect None
3674 *
3675 * @note This function must not suspend and must not invoke any blocking system
3676 * calls. It should probably just send a message to a driver event handler task.
3677 *
3678 */
3679 INT wifi_startHostApd(); // starts hostapd, uses the variables in the hostapd config with format compatible with the specific hostapd implementation
3680 
3681 /* wifi_stopHostApd() function */
3682 /**
3683 * @description Stops hostapd
3684 *
3685 * @param None
3686 *
3687 * @return The status of the operation
3688 * @retval RETURN_OK if successful
3689 * @retval RETURN_ERR if any error is detected
3690 *
3691 * @execution Synchronous
3692 * @sideeffect None
3693 *
3694 * @note This function must not suspend and must not invoke any blocking system
3695 * calls. It should probably just send a message to a driver event handler task.
3696 *
3697 */
3698 INT wifi_stopHostApd(); // stops hostapd
3699 
3700 //-----------------------------------------------------------------------------------------------
3701 
3702 /* wifi_setApEnable() function */
3703 /**
3704 * @description Sets the AP enable status variable for the specified ap.
3705 *
3706 * @param apIndex - Access Point index
3707 * @param enable - Enable/Disable AP enable status variable
3708 *
3709 * @return The status of the operation
3710 * @retval RETURN_OK if successful
3711 * @retval RETURN_ERR if any error is detected
3712 *
3713 * @execution Synchronous
3714 * @sideeffect None
3715 *
3716 * @note This function must not suspend and must not invoke any blocking system
3717 * calls. It should probably just send a message to a driver event handler task.
3718 *
3719 */
3720 //Device.WiFi.AccessPoint.{i}.
3721 //Device.WiFi.AccessPoint.{i}.Enable
3722 INT wifi_setApEnable(INT apIndex, BOOL enable); // sets the AP enable status variable for the specified ap.
3723 
3724 /* wifi_getApEnable() function */
3725 /**
3726 * @description Outputs the setting of the internal variable that is set by wifi_setEnable().
3727 *
3728 * @param apIndex - Access Point index
3729 * @param output_bool - AP enable status, to be returned
3730 *
3731 * @return The status of the operation
3732 * @retval RETURN_OK if successful
3733 * @retval RETURN_ERR if any error is detected
3734 *
3735 * @execution Synchronous
3736 * @sideeffect None
3737 *
3738 * @note This function must not suspend and must not invoke any blocking system
3739 * calls. It should probably just send a message to a driver event handler task.
3740 *
3741 */
3742 INT wifi_getApEnable(INT apIndex, BOOL *output_bool); // Outputs the setting of the internal variable that is set by wifi_setEnable().
3743 
3744 
3745 /* wifi_getApStatus() function */
3746 /**
3747 * @description Outputs the AP "Enabled" "Disabled" status from driver.
3748 * \n Device.WiFi.AccessPoint.{i}.Status
3749 *
3750 * @param apIndex - Access Point index
3751 * @param output_string - AP status, to be returned
3752 *
3753 * @return The status of the operation
3754 * @retval RETURN_OK if successful
3755 * @retval RETURN_ERR if any error is detected
3756 *
3757 * @execution Synchronous
3758 * @sideeffect None
3759 *
3760 * @note This function must not suspend and must not invoke any blocking system
3761 * calls. It should probably just send a message to a driver event handler task.
3762 *
3763 */
3764 //Device.WiFi.AccessPoint.{i}.Status
3765 INT wifi_getApStatus(INT apIndex, CHAR *output_string); // Outputs the AP "Enabled" "Disabled" status from driver
3766 
3767 /* wifi_getApSsidAdvertisementEnable() function */
3768 /**
3769 * @description Indicates whether or not beacons include the SSID name. Outputs 1 if SSID on the AP is enabled, else ouputs 0.
3770 * \n Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled
3771 *
3772 * @param apIndex - Access Point index
3773 * @param output_bool - SSID Advertisement enabled, to be returned
3774 *
3775 * @return The status of the operation
3776 * @retval RETURN_OK if successful
3777 * @retval RETURN_ERR if any error is detected
3778 *
3779 * @execution Synchronous
3780 * @sideeffect None
3781 *
3782 * @note This function must not suspend and must not invoke any blocking system
3783 * calls. It should probably just send a message to a driver event handler task.
3784 *
3785 */
3786 //Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled
3787 //Indicates whether or not beacons include the SSID name.
3788 INT wifi_getApSsidAdvertisementEnable(INT apIndex, BOOL *output_bool);// outputs a 1 if SSID on the AP is enabled, else ouputs 0
3789 
3790 /* wifi_setApSsidAdvertisementEnable() function */
3791 /**
3792 * @description Sets an internal variable for ssid advertisement. Set to 1 to enable, set to 0 to disable.
3793 * \n Device.WiFi.AccessPoint.{i}.SSIDAdvertisementEnabled
3794 *
3795 * @param apIndex - Access Point index
3796 * @param enable - SSID Advertisement enable value
3797 *
3798 * @return The status of the operation
3799 * @retval RETURN_OK if successful
3800 * @retval RETURN_ERR if any error is detected
3801 *
3802 * @execution Synchronous
3803 * @sideeffect None
3804 *
3805 * @note This function must not suspend and must not invoke any blocking system
3806 * calls. It should probably just send a message to a driver event handler task.
3807 *
3808 */
3809 INT wifi_setApSsidAdvertisementEnable(INT apIndex, BOOL enable); // sets an internal variable for ssid advertisement. Set to 1 to enable, set to 0 to disable
3810 
3811 /* wifi_pushApSsidAdvertisementEnable() function */
3812 /**
3813 * @description Push the ssid advertisement enable variable to the hardware //Applying changs with wifi_applyRadioSettings().
3814 *
3815 * @param apIndex - Access Point index
3816 * @param enable - SSID Advertisement enable value
3817 *
3818 * @return The status of the operation
3819 * @retval RETURN_OK if successful
3820 * @retval RETURN_ERR if any error is detected
3821 *
3822 * @execution Synchronous
3823 * @sideeffect None
3824 *
3825 * @note This function must not suspend and must not invoke any blocking system
3826 * calls. It should probably just send a message to a driver event handler task.
3827 *
3828 */
3829 INT wifi_pushApSsidAdvertisementEnable(INT apIndex, BOOL enable); // push the ssid advertisement enable variable to the hardware //Applying changs with wifi_applyRadioSettings()
3830 
3831 /* wifi_getApRetryLimit() function */
3832 /**
3833 * @description Get the maximum number of retransmission for a packet. This corresponds to IEEE 802.11 parameter dot11ShortRetryLimit.
3834 * \n Device.WiFi.AccessPoint.{i}.RetryLimit
3835 *
3836 * @param apIndex - Access Point index
3837 * @param output - Maximum number of retransmission for a packet, to be returned
3838 *
3839 * @return The status of the operation
3840 * @retval RETURN_OK if successful
3841 * @retval RETURN_ERR if any error is detected
3842 *
3843 * @execution Synchronous
3844 * @sideeffect None
3845 *
3846 * @note This function must not suspend and must not invoke any blocking system
3847 * calls. It should probably just send a message to a driver event handler task.
3848 *
3849 */
3850 //Device.WiFi.AccessPoint.{i}.RetryLimit
3851 //The maximum number of retransmission for a packet. This corresponds to IEEE 802.11 parameter dot11ShortRetryLimit.
3852 INT wifi_getApRetryLimit(INT apIndex, UINT *output);
3853 
3854 /* wifi_setApRetryLimit() function */
3855 /**
3856 * @description Set the maximum number of retransmission for a packet. This corresponds to IEEE 802.11 parameter dot11ShortRetryLimit.
3857 * \n Device.WiFi.AccessPoint.{i}.RetryLimit
3858 *
3859 * @param apIndex - Access Point index
3860 * @param number - Maximum number of retransmission for a packet
3861 *
3862 * @return The status of the operation
3863 * @retval RETURN_OK if successful
3864 * @retval RETURN_ERR if any error is detected
3865 *
3866 * @execution Synchronous
3867 * @sideeffect None
3868 *
3869 * @note This function must not suspend and must not invoke any blocking system
3870 * calls. It should probably just send a message to a driver event handler task.
3871 *
3872 */
3873 INT wifi_setApRetryLimit(INT apIndex, UINT number);
3874 
3875 /* wifi_getApWMMCapability() function */
3876 /**
3877 * @description Indicates whether this access point supports WiFi Multimedia (WMM) Access Categories (AC).
3878 * \n Device.WiFi.AccessPoint.{i}.WMMCapability
3879 *
3880 * @param apIndex - Access Point index
3881 * @param output - WMM capability, to be returned
3882 *
3883 * @return The status of the operation
3884 * @retval RETURN_OK if successful
3885 * @retval RETURN_ERR if any error is detected
3886 *
3887 * @execution Synchronous
3888 * @sideeffect None
3889 *
3890 * @note This function must not suspend and must not invoke any blocking system
3891 * calls. It should probably just send a message to a driver event handler task.
3892 *
3893 */
3894 //Device.WiFi.AccessPoint.{i}.WMMCapability
3895 //Indicates whether this access point supports WiFi Multimedia (WMM) Access Categories (AC).
3896 INT wifi_getApWMMCapability(INT apIndex, BOOL *output);
3897 
3898 /* wifi_getApUAPSDCapability() function */
3899 /**
3900 * @description Indicates whether this access point supports WMM Unscheduled Automatic Power Save Delivery (U-APSD). Note: U-APSD support implies WMM support.
3901 * \n Device.WiFi.AccessPoint.{i}.UAPSDCapability
3902 *
3903 * @param apIndex - Access Point index
3904 * @param output - U-APSD capability, to be returned
3905 *
3906 * @return The status of the operation
3907 * @retval RETURN_OK if successful
3908 * @retval RETURN_ERR if any error is detected
3909 *
3910 * @execution Synchronous
3911 * @sideeffect None
3912 *
3913 * @note This function must not suspend and must not invoke any blocking system
3914 * calls. It should probably just send a message to a driver event handler task.
3915 *
3916 */
3917 //Device.WiFi.AccessPoint.{i}.UAPSDCapability
3918 //Indicates whether this access point supports WMM Unscheduled Automatic Power Save Delivery (U-APSD). Note: U-APSD support implies WMM support.
3919 INT wifi_getApUAPSDCapability(INT apIndex, BOOL *output);
3920 
3921 /* wifi_getApWmmEnable() function */
3922 /**
3923 * @description Indicates whether WMM support is currently enabled. When enabled, this is indicated in beacon frames.
3924 * \n Device.WiFi.AccessPoint.{i}.WMMEnable
3925 *
3926 * @param apIndex - Access Point index
3927 * @param output - WMM support enabled status, to be returned
3928 *
3929 * @return The status of the operation
3930 * @retval RETURN_OK if successful
3931 * @retval RETURN_ERR if any error is detected
3932 *
3933 * @execution Synchronous
3934 * @sideeffect None
3935 *
3936 * @note This function must not suspend and must not invoke any blocking system
3937 * calls. It should probably just send a message to a driver event handler task.
3938 *
3939 */
3940 //Device.WiFi.AccessPoint.{i}.WMMEnable
3941 //Whether WMM support is currently enabled. When enabled, this is indicated in beacon frames.
3942 INT wifi_getApWmmEnable(INT apIndex, BOOL *output);
3943 
3944 /* wifi_setApWmmEnable() function */
3945 /**
3946 * @description Enables/disables WMM on the hardwawre for this AP. enable==1, disable == 0.
3947 *
3948 * @param apIndex - Access Point index
3949 * @param enable - WMM support enabled status
3950 *
3951 * @return The status of the operation
3952 * @retval RETURN_OK if successful
3953 * @retval RETURN_ERR if any error is detected
3954 *
3955 * @execution Synchronous
3956 * @sideeffect None
3957 *
3958 * @note This function must not suspend and must not invoke any blocking system
3959 * calls. It should probably just send a message to a driver event handler task.
3960 *
3961 */
3962 INT wifi_setApWmmEnable(INT apIndex, BOOL enable); // enables/disables WMM on the hardwawre for this AP. enable==1, disable == 0
3963 
3964 /* wifi_getApWmmUapsdEnable() function */
3965 /**
3966 * @description Indicates 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.
3967 * \n Device.WiFi.AccessPoint.{i}.UAPSDEnable
3968 *
3969 * @param apIndex - Access Point index
3970 * @param output - U-APSD support enabled status, to be returned
3971 *
3972 * @return The status of the operation
3973 * @retval RETURN_OK if successful
3974 * @retval RETURN_ERR if any error is detected
3975 *
3976 * @execution Synchronous
3977 * @sideeffect None
3978 *
3979 * @note This function must not suspend and must not invoke any blocking system
3980 * calls. It should probably just send a message to a driver event handler task.
3981 *
3982 */
3983 //Device.WiFi.AccessPoint.{i}.UAPSDEnable
3984 //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.
3985 INT wifi_getApWmmUapsdEnable(INT apIndex, BOOL *output);
3986 
3987 /* wifi_setApWmmUapsdEnable() function */
3988 /**
3989 * @description Enables/disables Automatic Power Save Delivery on the hardwarwe for this AP.
3990 *
3991 * @param apIndex - Access Point index
3992 * @param enable - U-APSD enable/disable value
3993 *
3994 * @return The status of the operation
3995 * @retval RETURN_OK if successful
3996 * @retval RETURN_ERR if any error is detected
3997 *
3998 * @execution Synchronous
3999 * @sideeffect None
4000 *
4001 * @note This function must not suspend and must not invoke any blocking system
4002 * calls. It should probably just send a message to a driver event handler task.
4003 *
4004 */
4005 INT wifi_setApWmmUapsdEnable(INT apIndex, BOOL enable); // enables/disables Automatic Power Save Delivery on the hardwarwe for this AP
4006 
4007 /* wifi_setApWmmOgAckPolicy() function */
4008 /**
4009 * @description Sets the WMM ACK policy on the hardware. AckPolicy false means do not acknowledge, true means acknowledge.
4010 *
4011 * @param apIndex - Access Point index
4012 * @param class
4013 * @param ackPolicy - Acknowledge policy
4014 *
4015 * @return The status of the operation
4016 * @retval RETURN_OK if successful
4017 * @retval RETURN_ERR if any error is detected
4018 *
4019 * @execution Synchronous
4020 * @sideeffect None
4021 *
4022 * @note This function must not suspend and must not invoke any blocking system
4023 * calls. It should probably just send a message to a driver event handler task.
4024 *
4025 */
4026 // Sets the WMM ACK polity on the hardware. AckPolicy false means do not acknowledge, true means acknowledge
4027 INT wifi_setApWmmOgAckPolicy(INT apIndex, INT class, BOOL ackPolicy); //RDKB
4028 
4029 /* wifi_getApIsolationEnable() function */
4030 /**
4031 * @description Get AP isolation value.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).
4032 * \n Device.WiFi.AccessPoint.{i}.IsolationEnable
4033 *
4034 * @param apIndex - Access Point index
4035 * @param output - AP Isolation enable, to be returned
4036 *
4037 * @return The status of the operation
4038 * @retval RETURN_OK if successful
4039 * @retval RETURN_ERR if any error is detected
4040 *
4041 * @execution Synchronous
4042 * @sideeffect None
4043 *
4044 * @note This function must not suspend and must not invoke any blocking system
4045 * calls. It should probably just send a message to a driver event handler task.
4046 *
4047 */
4048 //Device.WiFi.AccessPoint.{i}.IsolationEnable
4049 //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).
4050 INT wifi_getApIsolationEnable(INT apIndex, BOOL *output); //Tr181
4051 
4052 /* wifi_setApIsolationEnable() function */
4053 /**
4054 * @description 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).
4055 * \n Device.WiFi.AccessPoint.{i}.IsolationEnable
4056 *
4057 * @param apIndex - Access Point index
4058 * @param enable - AP Isolation enable value
4059 *
4060 * @return The status of the operation
4061 * @retval RETURN_OK if successful
4062 * @retval RETURN_ERR if any error is detected
4063 *
4064 * @execution Synchronous
4065 * @sideeffect None
4066 *
4067 * @note This function must not suspend and must not invoke any blocking system
4068 * calls. It should probably just send a message to a driver event handler task.
4069 *
4070 */
4071 INT wifi_setApIsolationEnable(INT apIndex, BOOL enable); //Tr181
4072 
4073 /* wifi_getApMaxAssociatedDevices() function */
4074 /**
4075 * @description Get maximum associated devices with the Access Point index.
4076 * 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.
4077 * \n Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices
4078 *
4079 * @param apIndex - Access Point index
4080 * @param output - Maximum associated devices, to be returned
4081 *
4082 * @return The status of the operation
4083 * @retval RETURN_OK if successful
4084 * @retval RETURN_ERR if any error is detected
4085 *
4086 * @execution Synchronous
4087 * @sideeffect None
4088 *
4089 * @note This function must not suspend and must not invoke any blocking system
4090 * calls. It should probably just send a message to a driver event handler task.
4091 *
4092 */
4093 //Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices
4094 //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.
4095 INT wifi_getApMaxAssociatedDevices(INT apIndex, UINT *output); //Tr181
4096 
4097 /* wifi_setApMaxAssociatedDevices() function */
4098 /**
4099 * @description Set maximum associated devices with the Access Point index.
4100 * 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.
4101 * \n Device.WiFi.AccessPoint.{i}.MaxAssociatedDevices
4102 *
4103 * @param apIndex - Access Point index
4104 * @param number - Maximum associated devices
4105 *
4106 * @return The status of the operation
4107 * @retval RETURN_OK if successful
4108 * @retval RETURN_ERR if any error is detected
4109 *
4110 * @execution Synchronous
4111 * @sideeffect None
4112 *
4113 * @note This function must not suspend and must not invoke any blocking system
4114 * calls. It should probably just send a message to a driver event handler task.
4115 *
4116 */
4117 INT wifi_setApMaxAssociatedDevices(INT apIndex, UINT number); //Tr181
4118 
4119 /* wifi_getApAssociatedDevicesHighWatermarkThreshold() function */
4120 /**
4121 * @description Get 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.
4122 * \n Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThreshold
4123 *
4124 * @param apIndex - Access Point index
4125 * @param output - HighWatermarkThreshold value, to be returned
4126 *
4127 * @return The status of the operation
4128 * @retval RETURN_OK if successful
4129 * @retval RETURN_ERR if any error is detected
4130 *
4131 * @execution Synchronous
4132 * @sideeffect None
4133 *
4134 * @note This function must not suspend and must not invoke any blocking system
4135 * calls. It should probably just send a message to a driver event handler task.
4136 *
4137 */
4138 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThreshold
4139 //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.
4140 INT wifi_getApAssociatedDevicesHighWatermarkThreshold(INT apIndex, UINT *output); //Tr181 //P3
4141 
4142 /* wifi_setApAssociatedDevicesHighWatermarkThreshold() function */
4143 /**
4144 * @description Set 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.
4145 * \n Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThreshold
4146 *
4147 * @param apIndex - Access Point index
4148 * @param Threshold - HighWatermarkThreshold value
4149 *
4150 * @return The status of the operation
4151 * @retval RETURN_OK if successful
4152 * @retval RETURN_ERR if any error is detected
4153 *
4154 * @execution Synchronous
4155 * @sideeffect None
4156 *
4157 * @note This function must not suspend and must not invoke any blocking system
4158 * calls. It should probably just send a message to a driver event handler task.
4159 *
4160 */
4161 INT wifi_setApAssociatedDevicesHighWatermarkThreshold(INT apIndex, UINT Threshold); //Tr181 //P3
4162 
4163 /* wifi_getApAssociatedDevicesHighWatermarkThresholdReached() function */
4164 /**
4165 * @description Get the 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.
4166 * \n Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThresholdReached
4167 *
4168 * @param apIndex - Access Point index
4169 * @param output - Number of times the current total number of associated device has reached the HighWatermarkThreshold value, to be returned
4170 *
4171 * @return The status of the operation
4172 * @retval RETURN_OK if successful
4173 * @retval RETURN_ERR if any error is detected
4174 *
4175 * @execution Synchronous
4176 * @sideeffect None
4177 *
4178 * @note This function must not suspend and must not invoke any blocking system
4179 * calls. It should probably just send a message to a driver event handler task.
4180 *
4181 */
4182 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkThresholdReached
4183 //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.
4185 
4186 /* wifi_getApAssociatedDevicesHighWatermark() function */
4187 /**
4188 * @description Maximum number of associated devices that have ever associated with the access point concurrently since the last reset of the device or WiFi module.
4189 * \n Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermark
4190 *
4191 * @param apIndex - Access Point index
4192 * @param output - Maximum number of associated devices that have ever associated with the access point concurrently, to be returned
4193 *
4194 * @return The status of the operation
4195 * @retval RETURN_OK if successful
4196 * @retval RETURN_ERR if any error is detected
4197 *
4198 * @execution Synchronous
4199 * @sideeffect None
4200 *
4201 * @note This function must not suspend and must not invoke any blocking system
4202 * calls. It should probably just send a message to a driver event handler task.
4203 *
4204 */
4205 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermark
4206 //Maximum number of associated devices that have ever associated with the access point concurrently since the last reset of the device or WiFi module.
4207 INT wifi_getApAssociatedDevicesHighWatermark(INT apIndex, UINT *output); //Tr181 //P3
4208 
4209 /* wifi_getApAssociatedDevicesHighWatermarkDate() function */
4210 /**
4211 * @description Get 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.
4212 * \n Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkDate
4213 *
4214 * @param apIndex - Access Point index
4215 * @param output_in_seconds - Date and Time at which the maximum number of associated devices ever associated with the access point concurrenlty, to be returned
4216 *
4217 * @return The status of the operation
4218 * @retval RETURN_OK if successful
4219 * @retval RETURN_ERR if any error is detected
4220 *
4221 * @execution Synchronous
4222 * @sideeffect None
4223 *
4224 * @note This function must not suspend and must not invoke any blocking system
4225 * calls. It should probably just send a message to a driver event handler task.
4226 *
4227 */
4228 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_AssociatedDevicesHighWatermarkDate
4229 //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.
4230 INT wifi_getApAssociatedDevicesHighWatermarkDate(INT apIndex, ULONG *output_in_seconds); //Tr181 //P3
4231 
4232 
4233 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingServiceCapability boolean R
4234 //When true, indicates whether the access point supports interworking with external networks.
4235 
4236 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingServiceEnable boolean W
4237 //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.
4238 
4239 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_PasspointCapability boolean R
4240 //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.
4241 
4242 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_PasspointEnable boolean W
4243 //Whether Passpoint (aka Hotspot 2.0) support is currently enabled. When enabled, Passpoint specific information elemenets are indicated in beacon frames.
4244 
4245 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_MAC_FilteringMode string R
4246 //"The current operational state of the MAC Filtering Mode, Enumeration of: Allow-ALL, Allow, Deny
4247 
4248 //-----------------------------------------------------------------------------------------------
4249 //Device.WiFi.AccessPoint.{i}.Security.
4250 
4251 /* wifi_getApSecurityModesSupported() function */
4252 /**
4253 * @description 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.
4254 * \n Device.WiFi.AccessPoint.{i}.Security.ModesSupported
4255 *
4256 * @param apIndex - Access Point index
4257 * @param output - Comma-separated list of security modes, to be returned
4258 *
4259 * @return The status of the operation
4260 * @retval RETURN_OK if successful
4261 * @retval RETURN_ERR if any error is detected
4262 *
4263 * @execution Synchronous
4264 * @sideeffect None
4265 *
4266 * @note This function must not suspend and must not invoke any blocking system
4267 * calls. It should probably just send a message to a driver event handler task.
4268 *
4269 */
4270 //Device.WiFi.AccessPoint.{i}.Security.ModesSupported
4271 //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
4272 INT wifi_getApSecurityModesSupported(INT apIndex, CHAR *output);
4273 
4274 /* wifi_getApSecurityModeEnabled() function */
4275 /**
4276 * @description Get the Security modes supported. The value MUST be a member of the list reported by the ModesSupported parameter. Indicates which security mode is enabled.
4277 * \n Device.WiFi.AccessPoint.{i}.Security.ModeEnabled string W
4278 *
4279 * @param apIndex - Access Point index
4280 * @param output - Enabled security mode, to be returned
4281 *
4282 * @return The status of the operation
4283 * @retval RETURN_OK if successful
4284 * @retval RETURN_ERR if any error is detected
4285 *
4286 * @execution Synchronous
4287 * @sideeffect None
4288 *
4289 * @note This function must not suspend and must not invoke any blocking system
4290 * calls. It should probably just send a message to a driver event handler task.
4291 *
4292 */
4293 //Device.WiFi.AccessPoint.{i}.Security.ModeEnabled string W
4294 //The value MUST be a member of the list reported by the ModesSupported parameter. Indicates which security mode is enabled.
4295 INT wifi_getApSecurityModeEnabled(INT apIndex, CHAR *output);
4296 
4297 /* wifi_setApSecurityModeEnabled() function */
4298 /**
4299 * @description Enable supported security mode. The value MUST be a member of the list reported by the ModesSupported parameter. Indicates which security mode is enabled.
4300 * \n Device.WiFi.AccessPoint.{i}.Security.ModeEnabled string W
4301 *
4302 * @param apIndex - Access Point index
4303 * @param encMode - Supported security mode
4304 *
4305 * @return The status of the operation
4306 * @retval RETURN_OK if successful
4307 * @retval RETURN_ERR if any error is detected
4308 *
4309 * @execution Synchronous
4310 * @sideeffect None
4311 *
4312 * @note This function must not suspend and must not invoke any blocking system
4313 * calls. It should probably just send a message to a driver event handler task.
4314 *
4315 */
4316 INT wifi_setApSecurityModeEnabled(INT apIndex, CHAR *encMode);
4317 
4318 //Device.WiFi.AccessPoint.{i}.Security.WEPKey
4319 //A WEP key expressed as a hexadecimal string.
4320 
4321 /* wifi_getApSecurityPreSharedKey() function */
4322 /**
4323 * @description Get PreSharedKey associated with a AP. A literal PreSharedKey (PSK) expressed as a hexadecimal string.
4324 * \n Device.WiFi.AccessPoint.{i}.Security.PreSharedKey
4325 *
4326 * @param apIndex - Access Point index
4327 * @param output_string - PreSharedKey, to be returned
4328 *
4329 * @return The status of the operation
4330 * @retval RETURN_OK if successful
4331 * @retval RETURN_ERR if any error is detected
4332 *
4333 * @execution Synchronous
4334 * @sideeffect None
4335 *
4336 * @note This function must not suspend and must not invoke any blocking system
4337 * calls. It should probably just send a message to a driver event handler task.
4338 *
4339 */
4340 //Device.WiFi.AccessPoint.{i}.Security.PreSharedKey
4341 //A literal PreSharedKey (PSK) expressed as a hexadecimal string.
4342 INT wifi_getApSecurityPreSharedKey(INT apIndex, CHAR *output_string); // output_string must be pre-allocated as 64 character string by caller
4343 
4344 /* wifi_setApSecurityPreSharedKey() function */
4345 /**
4346 * @description Set PreSharedKey associated with a AP. A literal PreSharedKey (PSK) expressed as a hexadecimal string.
4347 * \n Device.WiFi.AccessPoint.{i}.Security.PreSharedKey
4348 *
4349 * @param apIndex - Access Point index
4350 * @param preSharedKey - PreSharedKey
4351 *
4352 * @return The status of the operation
4353 * @retval RETURN_OK if successful
4354 * @retval RETURN_ERR if any error is detected
4355 *
4356 * @execution Synchronous
4357 * @sideeffect None
4358 *
4359 * @note This function must not suspend and must not invoke any blocking system
4360 * calls. It should probably just send a message to a driver event handler task.
4361 *
4362 */
4363 INT wifi_setApSecurityPreSharedKey(INT apIndex, CHAR *preSharedKey); // sets an enviornment variable for the psk. Input string preSharedKey must be a maximum of 64 characters
4364 
4365 /* wifi_getApSecurityKeyPassphrase() function */
4366 /**
4367 * @description Get a passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes.
4368 * \n Device.WiFi.AccessPoint.{i}.Security.KeyPassphrase string-(63) W
4369 *
4370 * @param apIndex - Access Point index
4371 * @param output_string - Security key passphrase, to be returned
4372 *
4373 * @return The status of the operation
4374 * @retval RETURN_OK if successful
4375 * @retval RETURN_ERR if any error is detected
4376 *
4377 * @execution Synchronous
4378 * @sideeffect None
4379 *
4380 * @note This function must not suspend and must not invoke any blocking system
4381 * calls. It should probably just send a message to a driver event handler task.
4382 *
4383 */
4384 //Device.WiFi.AccessPoint.{i}.Security.KeyPassphrase string(63) W
4385 //A passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes.
4386 INT wifi_getApSecurityKeyPassphrase(INT apIndex, CHAR *output_string); // outputs the passphrase, maximum 63 characters
4387 
4388 /* wifi_setApSecurityKeyPassphrase() function */
4389 /**
4390 * @description Set a passphrase from which the PreSharedKey is to be generated, for WPA-Personal or WPA2-Personal or WPA-WPA2-Personal security modes.
4391 * \n Device.WiFi.AccessPoint.{i}.Security.KeyPassphrase string-(63) W
4392 *
4393 * @param apIndex - Access Point index
4394 * @param passPhrase - Security key passphrase
4395 *
4396 * @return The status of the operation
4397 * @retval RETURN_OK if successful
4398 * @retval RETURN_ERR if any error is detected
4399 *
4400 * @execution Synchronous
4401 * @sideeffect None
4402 *
4403 * @note This function must not suspend and must not invoke any blocking system
4404 * calls. It should probably just send a message to a driver event handler task.
4405 *
4406 */
4407 INT wifi_setApSecurityKeyPassphrase(INT apIndex, CHAR *passPhrase); // sets the passphrase enviornment variable, max 63 characters
4408 
4409 //Device.WiFi.AccessPoint.{i}.Security.RekeyingInterval unsignedInt W
4410 //The interval (expressed in seconds) in which the keys are re-generated.
4411 //INT wifi_getApSecurityWpaRekeyInterval(INT apIndex, INT *output_int); // outputs the rekey interval
4412 //INT wifi_setApSecurityWpaRekeyInterval(INT apIndex, INT rekeyInterval); // sets the internal variable for the rekey interval
4413 
4414 /* wifi_setApSecurityReset() function */
4415 /**
4416 * @description 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.
4417 * \n Device.WiFi.AccessPoint.{i}.Security.Reset
4418 *
4419 * @param apIndex - Access Point index
4420 *
4421 * @return The status of the operation
4422 * @retval RETURN_OK if successful
4423 * @retval RETURN_ERR if any error is detected
4424 *
4425 * @execution Synchronous
4426 * @sideeffect None
4427 *
4428 * @note This function must not suspend and must not invoke any blocking system
4429 * calls. It should probably just send a message to a driver event handler task.
4430 *
4431 */
4432 //Device.WiFi.AccessPoint.{i}.Security.Reset
4433 //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.
4435 
4436 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_KeyPassphrase string(63) RW
4437 //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
4438 //INT wifi_getApKeyPassphrase(INT apIndex, CHAR *output); //Tr181
4439 //INT wifi_setApKeyPassphrase(INT apIndex, CHAR *passphase); //Tr181
4440 
4441 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_WEPKey string RW
4442 //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.
4443 
4444 //-----------------------------------------------------------------------------------------------
4445 
4446 /* wifi_getApSecurityRadiusServer() function */
4447 /**
4448 * @description Get the IP Address and port number of the RADIUS server, which
4449 are used for WLAN security. RadiusServerIPAddr is only applicable when ModeEnabled is an Enterprise type (i.e. WPA-Enterprise, WPA2-Enterprise or WPA-WPA2-Enterprise). String is 64 bytes max.
4450 * \n Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr
4451 * \n Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort
4452 * \n Device.WiFi.AccessPoint.{i}.Security.RadiusSecret
4453 *
4454 * @param apIndex - Access Point index
4455 * @param IP_output - IP Address, to be returned
4456 * @param Port_output - Port output, to be returned
4457 * @param RadiusSecret_output - Radius Secret output, to be returned
4458 *
4459 * @return The status of the operation
4460 * @retval RETURN_OK if successful
4461 * @retval RETURN_ERR if any error is detected
4462 *
4463 * @execution Synchronous
4464 * @sideeffect None
4465 *
4466 * @note This function must not suspend and must not invoke any blocking system
4467 * calls. It should probably just send a message to a driver event handler task.
4468 *
4469 */
4470 //Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr
4471 //Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort
4472 //Device.WiFi.AccessPoint.{i}.Security.RadiusSecret
4473 //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). String is 64 bytes max
4474 INT wifi_getApSecurityRadiusServer(INT apIndex, CHAR *IP_output, UINT *Port_output, CHAR *RadiusSecret_output); //Tr181
4475 
4476 /* wifi_setApSecurityRadiusServer() function */
4477 /**
4478 * @description Set the IP Address and port number of the RADIUS server, which
4479 are used for WLAN security. RadiusServerIPAddr is only applicable when ModeEnabled is an Enterprise type (i.e. WPA-Enterprise, WPA2-Enterprise or WPA-WPA2-Enterprise). String is 64 bytes max.
4480 * \n Device.WiFi.AccessPoint.{i}.Security.RadiusServerIPAddr
4481 * \n Device.WiFi.AccessPoint.{i}.Security.RadiusServerPort
4482 * \n Device.WiFi.AccessPoint.{i}.Security.RadiusSecret
4483 *
4484 * @param apIndex - Access Point index
4485 * @param IPAddress - IP Address
4486 * @param port - Port
4487 * @param RadiusSecret - Radius Secret
4488 *
4489 * @return The status of the operation
4490 * @retval RETURN_OK if successful
4491 * @retval RETURN_ERR if any error is detected
4492 *
4493 * @execution Synchronous
4494 * @sideeffect None
4495 *
4496 * @note This function must not suspend and must not invoke any blocking system
4497 * calls. It should probably just send a message to a driver event handler task.
4498 *
4499 */
4500 INT wifi_setApSecurityRadiusServer(INT apIndex, CHAR *IPAddress, UINT port, CHAR *RadiusSecret); //Tr181
4501 
4502 /* wifi_getApSecuritySecondaryRadiusServer() function */
4503 /**
4504 * @description Get secondary IP Address, port number and RADIUS server, which
4505 are used for WLAN security. RadiusServerIPAddr is only applicable when ModeEnabled is an Enterprise type (i.e. WPA-Enterprise, WPA2-Enterprise or WPA-WPA2-Enterprise). String is 64 bytes max.
4506 *
4507 * @param apIndex - Access Point index
4508 * @param IP_output - IP Address, to be returned
4509 * @param Port_output - Port,to be returned
4510 * @param RadiusSecret_output - Radius Secret, to be returned
4511 *
4512 * @return The status of the operation
4513 * @retval RETURN_OK if successful
4514 * @retval RETURN_ERR if any error is detected
4515 *
4516 * @execution Synchronous
4517 * @sideeffect None
4518 *
4519 * @note This function must not suspend and must not invoke any blocking system
4520 * calls. It should probably just send a message to a driver event handler task.
4521 *
4522 */
4523 INT wifi_getApSecuritySecondaryRadiusServer(INT apIndex, CHAR *IP_output, UINT *Port_output, CHAR *RadiusSecret_output); //Tr181
4524 
4525 /* wifi_setApSecuritySecondaryRadiusServer() function */
4526 /**
4527 * @description Set secondary IP Address, port number and RADIUS server, which
4528 are used for WLAN security. RadiusServerIPAddr is only applicable when ModeEnabled is an Enterprise type (i.e. WPA-Enterprise, WPA2-Enterprise or WPA-WPA2-Enterprise). String is 64 bytes max.
4529 *
4530 * @param apIndex - Access Point index
4531 * @param IPAddress - IP Address
4532 * @param port - Port
4533 * @param RadiusSecret - Radius Secret
4534 *
4535 * @return The status of the operation
4536 * @retval RETURN_OK if successful
4537 * @retval RETURN_ERR if any error is detected
4538 *
4539 * @execution Synchronous
4540 * @sideeffect None
4541 *
4542 * @note This function must not suspend and must not invoke any blocking system
4543 * calls. It should probably just send a message to a driver event handler task.
4544 *
4545 */
4546 INT wifi_setApSecuritySecondaryRadiusServer(INT apIndex, CHAR *IPAddress, UINT port, CHAR *RadiusSecret); //Tr181
4547 
4548 /* wifi_getApSecurityRadiusSettings() function */
4549 /**
4550 * @description Get Access Point security radius settings.
4551 * \n Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.
4552 *
4553 * @param apIndex - Access Point index
4554 * @param output - wifi_radius_setting_t info (*output), to be returned
4555 *
4556 * @return The status of the operation
4557 * @retval RETURN_OK if successful
4558 * @retval RETURN_ERR if any error is detected
4559 *
4560 * @execution Synchronous
4561 * @sideeffect None
4562 *
4563 * @note This function must not suspend and must not invoke any blocking system
4564 * calls. It should probably just send a message to a driver event handler task.
4565 *
4566 */
4567 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.
4568 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.RadiusServerRetries int W
4569 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.RadiusServerRequestTimeout int W
4570 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.PMKLifetime int W
4571 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.PMKCaching boolean W
4572 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.PMKCacheInterval int W
4573 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.MaxAuthenticationAttempts int W
4574 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.BlacklistTableTimeout int W
4575 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.IdentityRequestRetryInterval int W
4576 //Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.QuietPeriodAfterFailedAuthentication int W
4578 
4579 /* wifi_setApSecurityRadiusSettings() function */
4580 /**
4581 * @description Set Access Point security radius settings.
4582 * \n Device.WiFi.AccessPoint.{i}.Security.X_COMCAST-COM_RadiusSettings.
4583 *
4584 * @param apIndex - Access Point index
4585 * @param input - wifi_radius_setting_t info
4586 *
4587 * @return The status of the operation
4588 * @retval RETURN_OK if successful
4589 * @retval RETURN_ERR if any error is detected
4590 *
4591 * @execution Synchronous
4592 * @sideeffect None
4593 *
4594 * @note This function must not suspend and must not invoke any blocking system
4595 * calls. It should probably just send a message to a driver event handler task.
4596 *
4597 */
4599 
4600 
4601 //-----------------------------------------------------------------------------------------------
4602 
4603 /* wifi_getApWpsEnable() function */
4604 /**
4605 * @description Outputs the WPS enable state of this ap in output_bool.
4606 * \n Device.WiFi.AccessPoint.{i}.WPS.
4607 * \n Device.WiFi.AccessPoint.{i}.WPS.Enable
4608 *
4609 * @param apIndex - Access Point index
4610 * @param output_bool - WPS enable state, to be returned
4611 *
4612 * @return The status of the operation
4613 * @retval RETURN_OK if successful
4614 * @retval RETURN_ERR if any error is detected
4615 *
4616 * @execution Synchronous
4617 * @sideeffect None
4618 *
4619 * @note This function must not suspend and must not invoke any blocking system
4620 * calls. It should probably just send a message to a driver event handler task.
4621 *
4622 */
4623 //Device.WiFi.AccessPoint.{i}.WPS.
4624 //Device.WiFi.AccessPoint.{i}.WPS.Enable
4625 //Enables or disables WPS functionality for this access point.
4626 INT wifi_getApWpsEnable(INT apIndex, BOOL *output_bool); // outputs the WPS enable state of this ap in output_bool
4627 
4628 /* wifi_setApWpsEnable() function */
4629 /**
4630 * @description Enables or disables WPS functionality for this access point.
4631 * Sets the WPS enable enviornment variable for this ap to the value of enableValue, 1==enabled, 0==disabled.
4632 * \n Device.WiFi.AccessPoint.{i}.WPS.
4633 * \n Device.WiFi.AccessPoint.{i}.WPS.Enable
4634 *
4635 * @param apIndex - Access Point index
4636 * @param enableValue - WPS enable state
4637 *
4638 * @return The status of the operation
4639 * @retval RETURN_OK if successful
4640 * @retval RETURN_ERR if any error is detected
4641 *
4642 * @execution Synchronous
4643 * @sideeffect None
4644 *
4645 * @note This function must not suspend and must not invoke any blocking system
4646 * calls. It should probably just send a message to a driver event handler task.
4647 *
4648 */
4649 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
4650 
4651 /* wifi_getApWpsConfigMethodsSupported() function */
4652 /**
4653 * @description Indicates WPS configuration methods supported by the device. Each list item is an enumeration of: USBFlashDrive,Ethernet,ExternalNFCToken,IntegratedNFCToken,NFCInterface,PushButton,PIN.
4654 * Sets the WPS enable enviornment variable for this ap to the value of enableValue, 1==enabled, 0==disabled.
4655 * \n Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported
4656 *
4657 * @param apIndex - Access Point index
4658 * @param output - WPS configuration methods supported (Comma-separated list of strings), to be returned.
4659 *
4660 * @return The status of the operation
4661 * @retval RETURN_OK if successful
4662 * @retval RETURN_ERR if any error is detected
4663 *
4664 * @execution Synchronous
4665 * @sideeffect None
4666 *
4667 * @note This function must not suspend and must not invoke any blocking system
4668 * calls. It should probably just send a message to a driver event handler task.
4669 *
4670 */
4671 //Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsSupported
4672 //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
4673 INT wifi_getApWpsConfigMethodsSupported(INT apIndex, CHAR *output); //Tr181
4674 
4675 /* wifi_getApWpsConfigMethodsEnabled() function */
4676 /**
4677 * @description Indicates WPS configuration methods enabled on the device. Each list item MUST be a member of the list reported by the ConfigMethodsSupported parameter.
4678 * \n Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled string W
4679 *
4680 * @param apIndex - Access Point index
4681 * @param output_string - WPS configuration methods enabled, to be returned.
4682 *
4683 * @return The status of the operation
4684 * @retval RETURN_OK if successful
4685 * @retval RETURN_ERR if any error is detected
4686 *
4687 * @execution Synchronous
4688 * @sideeffect None
4689 *
4690 * @note This function must not suspend and must not invoke any blocking system
4691 * calls. It should probably just send a message to a driver event handler task.
4692 *
4693 */
4694 //Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled string W
4695 //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.
4696 INT wifi_getApWpsConfigMethodsEnabled(INT apIndex, CHAR *output_string); // Outputs a common separated list of the enabled WPS config methods, 64 bytes max
4697 
4698 /* wifi_setApWpsConfigMethodsEnabled() function */
4699 /**
4700 * @description Enable WPS configuration methods on the device. Each list item MUST be a member of the list reported by the ConfigMethodsSupported parameter.
4701 * \n Device.WiFi.AccessPoint.{i}.WPS.ConfigMethodsEnabled string W
4702 *
4703 * @param apIndex - Access Point index
4704 * @param methodString - WPS configuration methods enabled.
4705 *
4706 * @return The status of the operation
4707 * @retval RETURN_OK if successful
4708 * @retval RETURN_ERR if any error is detected
4709 *
4710 * @execution Synchronous
4711 * @sideeffect None
4712 *
4713 * @note This function must not suspend and must not invoke any blocking system
4714 * calls. It should probably just send a message to a driver event handler task.
4715 *
4716 */
4717 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,ExternalNFCToken,IntegratedNFCToken,NFCInterface,PushButton,PIN
4718 
4719 /* wifi_getApWpsDevicePIN() function */
4720 /**
4721 * @description Outputs the WPS device pin value, ulong_pin must be allocated by the caller.
4722 *
4723 * @param apIndex - Access Point index
4724 * @param output_ulong - WPS Device PIN value, to be returned.
4725 *
4726 * @return The status of the operation
4727 * @retval RETURN_OK if successful
4728 * @retval RETURN_ERR if any error is detected
4729 *
4730 * @execution Synchronous
4731 * @sideeffect None
4732 *
4733 * @note This function must not suspend and must not invoke any blocking system
4734 * calls. It should probably just send a message to a driver event handler task.
4735 *
4736 */
4737 INT wifi_getApWpsDevicePIN(INT apIndex, ULONG *output_ulong); // outputs the pin value, ulong_pin must be allocated by the caller
4738 
4739 /* wifi_setApWpsDevicePIN() function */
4740 /**
4741 * @description Set an enviornment variable for the WPS pin for the selected AP.
4742 *
4743 * @param apIndex - Access Point index
4744 * @param pin - WPS Device PIN value
4745 *
4746 * @return The status of the operation
4747 * @retval RETURN_OK if successful
4748 * @retval RETURN_ERR if any error is detected
4749 *
4750 * @execution Synchronous
4751 * @sideeffect None
4752 *
4753 * @note This function must not suspend and must not invoke any blocking system
4754 * calls. It should probably just send a message to a driver event handler task.
4755 *
4756 */
4757 INT wifi_setApWpsDevicePIN(INT apIndex, ULONG pin); // set an enviornment variable for the WPS pin for the selected AP
4758 
4759 /* wifi_getApWpsConfigurationState() function */
4760 /**
4761 * @description Get WPS configuration state. Output string is either Not configured or Configured, max 32
4762 characters.
4763 *
4764 * @param apIndex - Access Point index
4765 * @param output_string - WPS configuration state, to be returned
4766 *
4767 * @return The status of the operation
4768 * @retval RETURN_OK if successful
4769 * @retval RETURN_ERR if any error is detected
4770 *
4771 * @execution Synchronous
4772 * @sideeffect None
4773 *
4774 * @note This function must not suspend and must not invoke any blocking system
4775 * calls. It should probably just send a message to a driver event handler task.
4776 *
4777 */
4778 INT wifi_getApWpsConfigurationState(INT apIndex, CHAR *output_string); // Output string is either Not configured or Configured, max 32 characters
4779 
4780 /* wifi_setApWpsEnrolleePin() function */
4781 /**
4782 * @description Sets the WPS pin for this AP.
4783 *
4784 * @param apIndex - Access Point index
4785 * @param pin - WPS enroll Pin
4786 *
4787 * @return The status of the operation
4788 * @retval RETURN_OK if successful
4789 * @retval RETURN_ERR if any error is detected
4790 *
4791 * @execution Synchronous
4792 * @sideeffect None
4793 *
4794 * @note This function must not suspend and must not invoke any blocking system
4795 * calls. It should probably just send a message to a driver event handler task.
4796 *
4797 */
4798 INT wifi_setApWpsEnrolleePin(INT apIndex, CHAR *pin); // sets the WPS pin for this AP
4799 
4800 /* wifi_setApWpsButtonPush() function */
4801 /**
4802 * @description This function is called when the WPS push button has been pressed for this AP.
4803 *
4804 * @param apIndex - Access Point index
4805 *
4806 * @return The status of the operation
4807 * @retval RETURN_OK if successful
4808 * @retval RETURN_ERR if any error is detected
4809 *
4810 * @execution Synchronous
4811 * @sideeffect None
4812 *
4813 * @note This function must not suspend and must not invoke any blocking system
4814 * calls. It should probably just send a message to a driver event handler task.
4815 *
4816 */
4817 INT wifi_setApWpsButtonPush(INT apIndex); // This function is called when the WPS push button has been pressed for this AP
4818 
4819 /* wifi_cancelApWPS() function */
4820 /**
4821 * @description Cancels WPS mode for this AP.
4822 *
4823 * @param apIndex - Access Point index
4824 *
4825 * @return The status of the operation
4826 * @retval RETURN_OK if successful
4827 * @retval RETURN_ERR if any error is detected
4828 *
4829 * @execution Synchronous
4830 * @sideeffect None
4831 *
4832 * @note This function must not suspend and must not invoke any blocking system
4833 * calls. It should probably just send a message to a driver event handler task.
4834 *
4835 */
4836 INT wifi_cancelApWPS(INT apIndex); // cancels WPS mode for this AP
4837 
4838 //-----------------------------------------------------------------------------------------------
4839 
4840 /* wifi_getApAssociatedDeviceDiagnosticResult() function */
4841 /**
4842 * @description HAL funciton should allocate an data structure array, and return to caller with "associated_dev_array".
4843 * \n Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.
4844 *
4845 * @param apIndex - Access Point index
4846 * @param associated_dev_array - Associated device array, to be returned
4847 * @param output_array_size - Array size, to be returned
4848 *
4849 * @return The status of the operation
4850 * @retval RETURN_OK if successful
4851 * @retval RETURN_ERR if any error is detected
4852 *
4853 * @execution Synchronous
4854 * @sideeffect None
4855 *
4856 * @note This function must not suspend and must not invoke any blocking system
4857 * calls. It should probably just send a message to a driver event handler task.
4858 *
4859 */
4860 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.
4861 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_OperatingStandard
4862 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_OperatingChannelBandwidth
4863 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_SNR
4864 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_InterferenceSources //P3
4865 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_DataFramesSentAck //P3
4866 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_DataFramesSentNoAck //P3
4867 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_BytesSent
4868 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_BytesReceived
4869 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_RSSI
4870 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_MinRSSI //P3
4871 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_MaxRSSI //P3
4872 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_Disassociations //P3
4873 //Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.X_COMCAST-COM_AuthenticationFailures //P3
4874 //HAL funciton should allocate an data structure array, and return to caller with "associated_dev_array"
4875 INT wifi_getApAssociatedDeviceDiagnosticResult(INT apIndex, wifi_associated_dev_t **associated_dev_array, UINT *output_array_size); //Tr181
4876 
4877 //------------------------------------------------------------------------------------------------------
4878 ////SSID stearing APIs using blacklisting
4879 //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.
4880 ////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.
4881 //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.
4882 
4883 
4884 /* wifi_newApAssociatedDevice_callback() function */
4885 /**
4886 * @description This call back will be invoked when new wifi client come to associate to AP.
4887 *
4888 * @param apIndex - Access Point Index
4889 * @param associated_dev - wifi_associated_dev_t *associated_dev, associated
4890 device info
4891 *
4892 * @return The status of the operation
4893 * @retval RETURN_OK if successful
4894 * @retval RETURN_ERR if any error is detected
4895 *
4896 * @execution Synchronous
4897 * @sideeffect None
4898 *
4899 * @note This function must not suspend and must not invoke any blocking system
4900 * calls. It should probably just send a message to a driver event handler task.
4901 *
4902 */
4903 //This call back will be invoked when new wifi client come to associate to AP.
4904 typedef INT ( * wifi_newApAssociatedDevice_callback)(INT apIndex, wifi_associated_dev_t *associated_dev);
4905 
4906 /* wifi_newApAssociatedDevice_callback_register() function */
4907 /**
4908 * @description Callback registration function.
4909 *
4910 * @param callback_proc - wifi_newApAssociatedDevice_callback callback function
4911 *
4912 * @return The status of the operation
4913 * @retval RETURN_OK if successful
4914 * @retval RETURN_ERR if any error is detected
4915 *
4916 * @execution Synchronous
4917 * @sideeffect None
4918 *
4919 * @note This function must not suspend and must not invoke any blocking system
4920 * calls. It should probably just send a message to a driver event handler task.
4921 *
4922 */
4923 //Callback registration function.
4925 
4926 /* KillHostapd() function */
4927 /**
4928 * @description Killing the running hostapd and restart the hostapd with current configuration.
4929 *
4930 * @param None
4931 *
4932 * @return None
4933 *
4934 * @execution Synchronous
4935 * @sideeffect None
4936 *
4937 * @note This function must not suspend and must not invoke any blocking system
4938 * calls. It should probably just send a message to a driver event handler task.
4939 *
4940 */
4941 //Killing the running hostapd and restart the hostapd with current configuration
4942 void KillHostapd();
4943 
4944 /* checkWifi() function */
4945 /**
4946 * @description Check whether hostapd is up or not.
4947 *
4948 * @param None
4949 *
4950 * @return True/False
4951 *
4952 * @execution Synchronous
4953 * @sideeffect None
4954 *
4955 * @note This function must not suspend and must not invoke any blocking system
4956 * calls. It should probably just send a message to a driver event handler task.
4957 *
4958 */
4959 //check whether hostapd is up or not
4960 BOOL checkWifi();
4961 
4962 /* checkLanInterface() function */
4963 /**
4964 * @description Check whether wlan0 interface is up or not.
4965 *
4966 * @param None
4967 *
4968 * @return True/False
4969 *
4970 * @execution Synchronous
4971 * @sideeffect None
4972 *
4973 * @note This function must not suspend and must not invoke any blocking system
4974 * calls. It should probably just send a message to a driver event handler task.
4975 *
4976 */
4977 //Check whether wlan0 interface is up or not
4979 
4980 /* CcspHal_change_config_value() function */
4981 /**
4982 * @description Passing inputs to hostapd configuration file.
4983 *
4984 * @param field_name - Field Name
4985 * @param field_value - Field Value
4986 * @param buf - Buffer
4987 * @param nbytes - Size of buffer
4988 *
4989 * @return True/False
4990 *
4991 * @execution Synchronous
4992 * @sideeffect None
4993 *
4994 * @note This function must not suspend and must not invoke any blocking system
4995 * calls. It should probably just send a message to a driver event handler task.
4996 *
4997 */
4998 //Passing inputs to hostapd configuration file
4999 INT CcspHal_change_config_value(char *field_name, char *field_value, char *buf, unsigned int *nbytes);
5000 
5001 
5002 
5003 
5004 
5005 /***********************************************************************************************
5006  MAC FILTERING FUNCTION DEFINITION
5007 ***********************************************************************************************/
5008 /* do_MacFilter_Addrule() function */
5009 /**
5010 * @description To Add Wifi MacFiltering Rule Chain.
5011 *
5012 * @param None
5013 *
5014 * @return The status of the operation
5015 * @retval RETURN_OK if successful
5016 * @retval RETURN_ERR if any error is detected
5017 *
5018 * @execution Synchronous
5019 * @sideeffect None
5020 *
5021 * @note This function must not suspend and must not invoke any blocking system
5022 * calls. It should probably just send a message to a driver event handler task.
5023 *
5024 */
5025 // To Add Wifi MacFiltering Rule Chain
5026 int do_MacFilter_Addrule();
5027 
5028 /* do_MacFilter_Delrule() function */
5029 /**
5030 * @description To Delete Wifi MacFiltering Rule Chain.
5031 *
5032 * @param None
5033 *
5034 * @return The status of the operation
5035 * @retval RETURN_OK if successful
5036 * @retval RETURN_ERR if any error is detected
5037 *
5038 * @execution Synchronous
5039 * @sideeffect None
5040 *
5041 * @note This function must not suspend and must not invoke any blocking system
5042 * calls. It should probably just send a message to a driver event handler task.
5043 *
5044 */
5045 // To Delete Wifi MacFiltering Rule Chain
5046 int do_MacFilter_Delrule();
5047 
5048 /* do_MacFilter_Update() function */
5049 /**
5050 * @description To Update Wifi MacFiltering Rule Chain.
5051 *
5052 * @param Operation - Operation, to update mac filtering rule chain
5053 * @param i_macFiltCnt - MAC filter count
5054 * @param i_macFiltTabPtr - COSA_DML_WIFI_AP_MAC_FILTER *i_macFiltTabPtr, Mac Filter table pointer
5055 * @param count - count
5056 * @param hostPtr - hostDetails *hostPtr, Host Details
5057 *
5058 * @return The status of the operation
5059 * @retval RETURN_OK if successful
5060 * @retval RETURN_ERR if any error is detected
5061 *
5062 * @execution Synchronous
5063 * @sideeffect None
5064 *
5065 * @note This function must not suspend and must not invoke any blocking system
5066 * calls. It should probably just send a message to a driver event handler task.
5067 *
5068 */
5069 // To Update Wifi MacFiltering Rule Chain
5070 int do_MacFilter_Update(char *Operation, int i_macFiltCnt,COSA_DML_WIFI_AP_MAC_FILTER *i_macFiltTabPtr,int count,struct hostDetails *hostPtr);
5071 
5072 /** @} */ //END OF GROUP WIFI_HAL_APIS
5073 
5074 /**
5075  * @addtogroup WIFI_HAL_TYPES
5076  * @{
5077  */
5078 
5079 /* Enum to define WiFi Bands */
5080 typedef enum
5081 {
5084  band_5 = 1,
5085 } wifi_band;
5086 /** @} */ //END OF GROUP WIFI_HAL_TYPES
5087 
5088 /**
5089  * @addtogroup WIFI_HAL_APIS
5090  * @{
5091  */
5092 
5093 /* INT wifi_getApIndexForWiFiBand(wifi_band band) */
5094 /**
5095 * @description Get the AP index for requested WiFi Band.
5096 *
5097 * @param wifi_band - WiFi band for which AP Index is required
5098 *
5099 * @return AP Index for requested WiFi Band
5100 *
5101 */
5103 
5104 /** @} */ //END OF GROUP WIFI_HAL_APIS
5105 
5106 /**
5107  * @addtogroup WIFI_HAL_TYPES
5108  * @{
5109  */
5110 
5111 /*hostapd will read file from nvram /etc/usr/ccsp/wifi/ will contains default
5112 configuration required for Factory Reset*/
5113 #define HOSTAPD_FNAME "/nvram/hostapd"
5114 #define SEC_FNAME "/etc/sec_file.txt"
5116 {
5117  ssid=0,
5119 };
5120 struct params
5121 {
5122  char name[64];
5123  char value[64];
5124 };
5125 typedef struct __param_list {
5126  unsigned int count;
5128 }param_list_t;
5130 {
5131  char ssid[32];
5132  char *passphrase;
5134  char *wpa;
5136 };
5137 /** @} */ //END OF GROUP WIFI_HAL_TYPES
5138 
5139 /**
5140  * @addtogroup WIFI_HAL_APIS
5141  * @{
5142  */
5143 
5144 /* The type of encryption the neighboring WiFi SSID advertises. */
5145 /* Each list item is an enumeration of: TKIP, AES */
5146 void wlan_encryption_mode_to_string(char* encryption_mode, char* string);
5147 
5148 //open a file and read that line
5149 INT File_Reading(CHAR *file,char *Value);
5150 
5151 // convert wireless mode into supported standards
5152 void wlan_wireless_mode_to_supported_standards_string(char* wireless_mode,char* string,char* freq);
5153 
5154 //convert wireless bitrates into operated standards
5155 void wlan_bitrate_to_operated_standards_string(char* bitrate,char* string,char* freq);
5156 
5157 //convert operated standards into operating channel bandwith
5158 void wlan_operated_standards_to_channel_bandwidth_string(char* wireless_mode,char* string);
5159 
5160 /***************************************************************
5161  Checking Hostapd status(whether it's running or not)
5162 ****************************************************************/
5163 
5164 /*
5165 * Procedure : Checking Hostapd status(whether it's running or not)
5166 * Purpose : Restart the Hostapd with updated configuration parameter
5167 * Parameter :
5168 * status : Having Hostapd status
5169 * Return_values : None
5170 */
5171 
5172 //Get to know the current status of public wifi
5173 INT Hostapd_PublicWifi_status(char status[50]);
5174 //Get to know the current status of private wifi
5175 INT Hostapd_PrivateWifi_status(char status[50]);
5176 
5177 //passing the hostapd configuration file and get the interface name
5178 INT GetInterfaceName(char interface_name[50],char conf_file[100]);
5179 
5180 //passing the hostapd configuration file and get the virtual interface of xfinity(2g)
5181 INT GetInterfaceName_virtualInterfaceName_2G(char interface_name[50]);
5182 
5183 //Restarting the hostapd process
5184 void RestartHostapd();
5185 
5186 //kill the existing hostapd process
5187 void KillHostapd();
5188 
5189 //Restart the xfinity wifi of 2g
5190 void xfinitywifi_2g(int ssidIndex);
5191 
5192 //Restart the private wifi of 2g
5193 void privatewifi_2g(int ssidIndex);
5194 
5195 //Restart the xfinity and private wifi of 2g
5196 void KillHostapd_2g(int ssidIndex);
5197 
5198 //Restart the xfinity and private wifi of 2g
5199 void KillHostapd_xfinity_2g(int ssidIndex);
5200 
5201 //Restart the xfinity wifi of 5g
5202 void xfinitywifi_5g(int ssidIndex);
5203 
5204 //Restart the private wifi of 5g
5205 void privatewifi_5g(int ssidIndex);
5206 
5207 //Restart the xfinity and private wifi of 5g
5208 void KillHostapd_5g(int ssidIndex);
5209 
5210 //Restart the xfinity and private wifi of 5g
5211 void KillHostapd_xfinity_5g(int ssidIndex);
5212 
5213 //Kill the existing xfinity wifi set up
5215 
5216 //Restarting the hostapd process with Factory_Reset set up
5218 
5219 // Restarting the hostapd process with dongle identification(Tenda/Tp-link)
5220 int hostapd_restarting_process(int apIndex);
5221 
5222 //get the mac address of wan interface
5223 void get_mac(unsigned char *mac);
5224 
5225 //Check the hostapd status
5226 BOOL checkWifi();
5227 
5228 //check the wireless interface status
5230 
5231 //Get the ssid name from hostapd configuration file
5232 INT GettingHostapdSsid(INT ssidIndex,char *hostapd_conf,char *val);
5233 
5234 //Disable wifi interface
5235 void DisableWifi(int InstanceNumber);
5236 
5237 // Read the hostapd configuration file with corresponding parameters
5238 int wifi_hostapdRead(int ap,struct params *params,char *output);
5239 
5240 //Write the hosatpd configuration with corresponding parameters
5241 int wifi_hostapdWrite(int ap,param_list_t *list);
5242 
5243 //Get the wifi maxbitrate
5244 INT get_wifiMaxbitrate(int radioIndex,char *output_string);
5245 
5246 //update the radio channel number
5247 void wifi_updateRadiochannel(INT radioIndex,ULONG channel);
5248 
5249 //set the autochannelenable config parameter
5250 INT wifi_setAutoChannelEnableVal(INT radioIndex,ULONG channel);
5251 
5252 //Store the previous channel number
5253 void wifi_storeprevchanval(INT radioIndex); //for AutoChannelEnable
5254 
5255 // Get the Radio Channel BandWidth
5256 INT wifi_halgetRadioChannelBW(CHAR *file,CHAR *Value);
5257 
5258 //set the radio channel bandwidth for 40MHz
5259 INT wifi_halsetRadioChannelBW_40(char *file);
5260 
5261 // set the radio channel bandwidth for 20MHz
5262 INT wifi_halsetRadioChannelBW_20(char *file);
5263 
5264 //Get the radio extension channel
5265 INT wifi_halgetRadioExtChannel(CHAR *file,CHAR *Value);
5266 
5267 //Get to know the wireless interface of statistics
5268 INT wifi_halGetIfStats(char * ifname, wifi_radioTrafficStats2_t *pStats);
5269 
5270 //Get to know the interface status
5271 INT GetIfacestatus(CHAR *interface_name,CHAR *status);
5272 
5274 
5275 // Get the BSSID of SSID's
5276 INT wifihal_getBaseBSSID(CHAR *interface_name,CHAR *mac,INT index);
5277 
5278 //Sacn to get the nearby wifi devices
5279 int GetScanningValues(char *file,char *value);
5280 
5281 void converting_lowercase_to_uppercase(char *Value);
5282 
5283 // scan to get the nearby wifi device lists
5284 void wifihal_GettingNeighbouringAPScanningDetails(char *interface_name,wifi_neighbor_ap2_t **neighbor_ap_array, UINT *output_array_size);
5285 
5286 //press the virtual push button
5287 INT SetWPSButton(char *interface_name);
5288 
5289 INT wifihal_AssociatedDevicesstats(INT apIndex,CHAR *interface_name,wifi_associated_dev_t **associated_dev_array, UINT *output_array_size);
5290 
5291 int wifihal_interfacestatus(CHAR *wifi_status,CHAR *interface_name);
5292 
5293 
5294 
5295 
5296 //-----------------------------------------------------------------------------------------------
5297 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.
5298 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.AccessNetworkType
5299 //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
5300 //INT wifi_setAccessNetworkType(INT apIndex, INT accessNetworkType); // P3
5301 
5302 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.Internet
5303 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.VenueGroupCode
5304 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.VenueTypeCode
5305 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.HESSID
5306 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.DGAFEnable
5307 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.ANQPDomainID
5308 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.VenueNamesNumberOfEntries
5309 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.OperatorNamesNumberOfEntries
5310 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.ConsortiumOIsNumberOfEntries
5311 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.DomainNamesNumberOfEntries
5312 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.3GPPNetworksNumberOfEntries
5313 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_InterworkingService.NAIRealmsNumberOfEntries
5314 
5315 //-----------------------------------------------------------------------------------------------
5316 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.VenueNames.{i}.
5317 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.VenueNames.{i}.LanguageCode
5318 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.VenueNames.{i}.VanueName
5319 
5320 //-----------------------------------------------------------------------------------------------
5321 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OperatorNames.{i}.
5322 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OperatorNames.{i}.LanguageCode
5323 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OperatorNames.{i}.OperatorName
5324 
5325 //-----------------------------------------------------------------------------------------------
5326 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.ConsortiumOIs.{i}.
5327 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.ConsortiumOIs.{i}.OI
5328 
5329 //-----------------------------------------------------------------------------------------------
5330 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.DomainNames.{i}.
5331 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.DomainNames.{i}.DomainName
5332 
5333 //-----------------------------------------------------------------------------------------------
5334 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.3GPPNetworks.{i}.
5335 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.3GPPNetworks.{i}.MCC
5336 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.3GPPNetworks.{i}.MNC
5337 
5338 //-----------------------------------------------------------------------------------------------
5339 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.
5340 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.NAIRealmEncodingType
5341 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.NAIRealm
5342 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethodsNumberOfEntries
5343 
5344 //-----------------------------------------------------------------------------------------------
5345 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.
5346 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.EAPMethod
5347 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParametersNumberOfEntries
5348 
5349 //-----------------------------------------------------------------------------------------------
5350 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParameters.{i}.
5351 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParameters.{i}.ID
5352 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.NAIRealms.{i}.EAPMethods.{i}.AuthenticationParameters.{i}.Value
5353 
5354 //-----------------------------------------------------------------------------------------------
5355 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.
5356 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.LinkStatus
5357 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.AtCapacity
5358 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.DownlinkSpeed
5359 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.UplinkSpeed
5360 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.DownlinkLoad
5361 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.WANMetrics.UplinkLoad
5362 
5363 //-----------------------------------------------------------------------------------------------
5364 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.
5365 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProvidersNumberOfEntries
5366 
5367 //-----------------------------------------------------------------------------------------------
5368 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.
5369 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.OSUServerURI
5370 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.OSUMethodsList
5371 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.OSUNAI
5372 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.NamesNumberOfEntries
5373 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.IconsNumberOfEntries
5374 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}ServiceDescriptionsNumberOfEntries
5375 
5376 //-----------------------------------------------------------------------------------------------
5377 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Names.{i}.
5378 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Names.{i}.LanguageCode
5379 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Names.{i}.OSUProviderFriendlyName
5380 
5381 //-----------------------------------------------------------------------------------------------
5382 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.
5383 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.IconWidth
5384 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.IconHeight
5385 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.Icons.{i}.LanguageCode
5386 
5387 //-----------------------------------------------------------------------------------------------
5388 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.ServiceDescriptions.{i}.
5389 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.ServiceDescriptions.{i}.LanguageCode
5390 //Device.WiFi.AccessPoint.{i}.X_COMCAST-COM_Passpoint.OSU.OSUProviders.{i}.ServiceDescriptions.{i}.ServiceDescription
5391 
5392 //-----------------------------------------------------------------------------------------------
5393 //Device.IP.Diagnostics.
5394 //Device.IP.Diagnostics.IPPing.
5395 //Device.IP.Diagnostics.IPPing.DiagnosticsState
5396 //Device.IP.Diagnostics.IPPing.Interface
5397 //Device.IP.Diagnostics.IPPing.Host
5398 //Device.IP.Diagnostics.IPPing.NumberOfRepetitions
5399 //Device.IP.Diagnostics.IPPing.Timeout
5400 //Device.IP.Diagnostics.IPPing.DataBlockSize
5401 //Device.IP.Diagnostics.IPPing.DSCP
5402 
5403 //Device.IP.Diagnostics.IPPing.SuccessCount
5404 //Device.IP.Diagnostics.IPPing.FailureCount
5405 //Device.IP.Diagnostics.IPPing.AverageResponseTime
5406 //Device.IP.Diagnostics.IPPing.MinimumResponseTime
5407 //Device.IP.Diagnostics.IPPing.MaximumResponseTime
5408 
5409 //Start the ping test and get the result
5410 //INT wifi_getIPDiagnosticsIPPingResult(wifi_diag_ipping_setting_t *input, wifi_diag_ipping_result_t *result); //Tr181
5411 //--------------------------------------------------------------------------------------------------
5412 // Wifi Airtime Management and QOS APIs to control contention based access to airtime
5413 //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.
5414 //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.
5415 //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.
5416 //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.
5417 
5418 //--------------------------------------------------------------------------------------------------
5419 // Wifi Airtime Management and QOS APIs to control downlink queue prioritization
5420 //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.
5421 //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.
5422 
5423 //<< ------------------------------ wifi_ap_hal -----------------------
5424 
5425 //This call back will be invoked when driver detect the client authentication fail.
5426 //event_type: 0=unknow reason; 1=wrong password; 2=timeout;
5427 typedef INT ( * wifi_apAuthEvent_callback)(INT apIndex, char *MAC, INT event_type);
5428 //Callback registration function.
5430 
5431 /** @} */ //END OF GROUP WIFI_HAL_APIS
5432 
5433 
5434 #else
5435 #error "! __WIFI_HAL_H__"
5436 #endif
_wifi_basicTrafficStats::wifi_PacketsReceived
unsigned long wifi_PacketsReceived
Definition: wifi_hal_emu.h:193
wifi_setRadioBeaconPeriod
int wifi_setRadioBeaconPeriod(int radioIndex, unsigned int BeaconPeriod)
wifi_getApSecurityRadiusSettings
int wifi_getApSecurityRadiusSettings(int apIndex, wifi_radius_setting_t *output)
_wifi_neighbor_ap::ap_BeaconPeriod
unsigned int ap_BeaconPeriod
Definition: wifi_hal_emu.h:251
wifi_getRadioEnable
int wifi_getRadioEnable(int radioIndex, unsigned char *output_bool)
_wifi_ssidTrafficStats2::ssid_MultipleRetryCount
unsigned long ssid_MultipleRetryCount
Definition: wifi_hal_emu.h:305
_wifi_radioTrafficStats2::radio_PLCPErrorCount
unsigned long radio_PLCPErrorCount
Definition: wifi_hal_emu.h:272
wifi_createHostApdConfig
int wifi_createHostApdConfig(int apIndex, unsigned char createWpsCfg)
Creates configuration variables needed for WPA/WPS.
_wifi_radioTrafficStats2::radio_InvalidMACCount
unsigned long radio_InvalidMACCount
Definition: wifi_hal_emu.h:274
wifi_getApSecurityModeEnabled
int wifi_getApSecurityModeEnabled(int apIndex, char *output)
_wifi_associated_dev::cli_LastDataDownlinkRate
unsigned int cli_LastDataDownlinkRate
Definition: wifi_hal_emu.h:396
_wifi_associated_dev::cli_DataFramesSentAck
unsigned long cli_DataFramesSentAck
Definition: wifi_hal_emu.h:406
_wifi_ssidTrafficStats2::ssid_ErrorsSent
unsigned long ssid_ErrorsSent
Definition: wifi_hal_emu.h:309
wifi_getAllAssociatedDeviceDetail
int wifi_getAllAssociatedDeviceDetail(int apIndex, unsigned long *output_ulong, wifi_device_t **output_struct)
wifi_setRadioDCSScanTime
int wifi_setRadioDCSScanTime(int radioIndex, int interval_seconds, int dwell_milliseconds)
wifi_getRadioUpTime
int wifi_getRadioUpTime(int radioIndex, unsigned long *uptime)
wifi_getApEnable
int wifi_getApEnable(int apIndex, unsigned char *output_bool)
wifi_getRadioSupportedStandards
int wifi_getRadioSupportedStandards(int radioIndex, char *output_string)
_wifi_device::wifi_devTxRate
int wifi_devTxRate
Definition: wifi_hal_emu.h:378
_wifi_associated_dev::cli_AuthenticationState
unsigned char cli_AuthenticationState
Definition: wifi_hal_emu.h:395
wifi_getRadioPossibleChannels
int wifi_getRadioPossibleChannels(int radioIndex, char *output_string)
_wifi_radioTrafficStats2::radio_DiscardPacketsReceived
unsigned long radio_DiscardPacketsReceived
Definition: wifi_hal_emu.h:271
hostap_conf::wpa
char * wpa
Definition: wifi_hal_emu.h:5134
_wifi_neighbor_ap2::ap_OperatingFrequencyBand
char ap_OperatingFrequencyBand[16]
Definition: wifi_hal_emu.h:335
privatewifi_2g
void privatewifi_2g(int ssidIndex)
wifi_apAuthEvent_callback_register
void wifi_apAuthEvent_callback_register(wifi_apAuthEvent_callback callback_proc)
_COSA_DML_WIFI_AP_MAC_FILTER
Definition: wifi_hal_emu.h:175
_wifi_neighbor_ap2::ap_Noise
int ap_Noise
Definition: wifi_hal_emu.h:340
_wifi_neighbor_ap::ap_Mode
CHAR ap_Mode[64]
Definition: wifi_hal_deprecated.h:65
wifi_getApNumDevicesAssociated
int wifi_getApNumDevicesAssociated(int apIndex, unsigned long *output_ulong)
COSA_DML_ALIAS_NAME_LENGTH
#define COSA_DML_ALIAS_NAME_LENGTH
Definition: wifi_hal_emu.h:148
wifi_getNeighboringWiFiDiagnosticResult
int wifi_getNeighboringWiFiDiagnosticResult(wifi_neighbor_ap_t **neighbor_ap_array, unsigned int *output_array_size)
converting_lowercase_to_uppercase
void converting_lowercase_to_uppercase(char *Value)
SetWPSButton
int SetWPSButton(char *interface_name)
_wifi_basicTrafficStats::wifi_Associations
unsigned long wifi_Associations
Definition: wifi_hal_emu.h:194
_wifi_trafficStats::wifi_UnknownPacketsReceived
unsigned long wifi_UnknownPacketsReceived
Definition: wifi_hal_emu.h:209
_wifi_associated_dev::cli_Retransmissions
unsigned int cli_Retransmissions
Definition: wifi_hal_emu.h:399
wifi_storeprevchanval
void wifi_storeprevchanval(int radioIndex)
wifi_addApAclDevice
int wifi_addApAclDevice(int apIndex, char *DeviceMacAddress)
wifi_ssidTrafficStats2_t
struct _wifi_ssidTrafficStats2 wifi_ssidTrafficStats2_t
_wifi_radioTrafficStatsMeasure::radio_RadioStatisticsMeasuringInterval
int radio_RadioStatisticsMeasuringInterval
Definition: wifi_hal_emu.h:291
wifi_getRadioReverseDirectionGrantEnable
int wifi_getRadioReverseDirectionGrantEnable(int radioIndex, unsigned char *output_bool)
_wifi_radioTrafficStats::wifi_ErrorsReceived
unsigned long wifi_ErrorsReceived
Definition: wifi_hal_emu.h:215
File_Reading
int File_Reading(char *file, char *Value)
wifi_getApBridgeInfo
int wifi_getApBridgeInfo(int index, char *bridgeName, char *IP, char *subnet)
wifi_getBasicTrafficStats
int wifi_getBasicTrafficStats(int apIndex, wifi_basicTrafficStats_t *output_struct)
wifi_getApWpsEnable
int wifi_getApWpsEnable(int apIndex, unsigned char *output_bool)
_wifi_ssidTrafficStats2::ssid_RetryCount
unsigned long ssid_RetryCount
Definition: wifi_hal_emu.h:304
wifi_associated_dev_t
struct _wifi_associated_dev wifi_associated_dev_t
wifi_getApWpsConfigMethodsSupported
int wifi_getApWpsConfigMethodsSupported(int apIndex, char *output)
_wifi_radius_setting_t::BlacklistTableTimeout
int BlacklistTableTimeout
Definition: wifi_hal_emu.h:426
band_2_4
@ band_2_4
Definition: wifi_hal_emu.h:5083
wifi_getRadioChannelsInUse
int wifi_getRadioChannelsInUse(int radioIndex, char *output_string)
wifi_setRadioTransmitPower
int wifi_setRadioTransmitPower(int radioIndex, unsigned long TransmitPower)
wifi_setRadioTxChainMask
int wifi_setRadioTxChainMask(int radioIndex, int numStreams)
wifi_resetApVlanCfg
int wifi_resetApVlanCfg(int apIndex)
wifi_neighbor_ap_t
struct _wifi_neighbor_ap wifi_neighbor_ap_t
wifi_setRadioCtsProtectionEnable
int wifi_setRadioCtsProtectionEnable(int apIndex, unsigned char enable)
wifi_deleteAp
int wifi_deleteAp(int apIndex)
_wifi_ssidTrafficStats2::ssid_PacketsReceived
unsigned long ssid_PacketsReceived
Definition: wifi_hal_emu.h:300
wifi_getApWpsDevicePIN
int wifi_getApWpsDevicePIN(int apIndex, unsigned long *output_ulong)
_wifi_radioTrafficStats2::radio_CarrierSenseThreshold_Exceeded
int radio_CarrierSenseThreshold_Exceeded
Definition: wifi_hal_emu.h:279
_wifi_neighbor_ap::ap_SupportedDataTransferRates
CHAR ap_SupportedDataTransferRates[256]
Definition: wifi_hal_deprecated.h:77
wifi_setAutoChannelEnableVal
int wifi_setAutoChannelEnableVal(int radioIndex, unsigned long channel)
wifi_getRadioSupportedFrequencyBands
int wifi_getRadioSupportedFrequencyBands(int radioIndex, char *output_string)
_wifi_radius_setting_t::IdentityRequestRetryInterval
int IdentityRequestRetryInterval
Definition: wifi_hal_emu.h:427
_wifi_trafficStats::wifi_MulticastPacketsSent
unsigned long wifi_MulticastPacketsSent
Definition: wifi_hal_emu.h:205
wifi_getApWmmEnable
int wifi_getApWmmEnable(int apIndex, unsigned char *output)
wifi_getRadioChannel
int wifi_getRadioChannel(int radioIndex, unsigned long *output_ulong)
wifi_device_t
struct _wifi_device wifi_device_t
wifi_getApAclDevices
int wifi_getApAclDevices(int apIndex, char *macArray, unsigned int buf_size)
wifi_getRadioDCSChannelPool
int wifi_getRadioDCSChannelPool(int radioIndex, char *output_pool)
defaultwifi_restarting_process
void defaultwifi_restarting_process()
wifi_setRadioIGMPSnoopingEnable
int wifi_setRadioIGMPSnoopingEnable(int radioIndex, unsigned char enable)
_wifi_radioTrafficStats2::radio_MinimumNoiseFloorOnChannel
int radio_MinimumNoiseFloorOnChannel
Definition: wifi_hal_emu.h:282
GetScanningValues
int GetScanningValues(char *file, char *value)
wifi_setRadioBasicDataTransmitRates
int wifi_setRadioBasicDataTransmitRates(int radioIndex, char *TransmitRates)
_wifi_neighbor_ap2::ap_SecurityModeEnabled
char ap_SecurityModeEnabled[64]
Definition: wifi_hal_emu.h:333
_wifi_trafficStats::wifi_MulticastPacketsReceived
unsigned long wifi_MulticastPacketsReceived
Definition: wifi_hal_emu.h:206
wifi_setApAssociatedDevicesHighWatermarkThreshold
int wifi_setApAssociatedDevicesHighWatermarkThreshold(int apIndex, unsigned int Threshold)
_wifi_neighbor_ap2::ap_ChannelUtilization
unsigned int ap_ChannelUtilization
Definition: wifi_hal_emu.h:344
_wifi_radioTrafficStats2::radio_FCSErrorCount
unsigned long radio_FCSErrorCount
Definition: wifi_hal_emu.h:273
_wifi_ssidTrafficStats::wifi_FailedRetransCount
unsigned long wifi_FailedRetransCount
Definition: wifi_hal_emu.h:229
wifi_getRadioAMSDUEnable
int wifi_getRadioAMSDUEnable(int radioIndex, unsigned char *output_bool)
_wifi_trafficStats::wifi_DiscardedPacketsSent
unsigned long wifi_DiscardedPacketsSent
Definition: wifi_hal_emu.h:203
_wifi_neighbor_ap2::ap_EncryptionMode
char ap_EncryptionMode[64]
Definition: wifi_hal_emu.h:334
wlan_encryption_mode_to_string
void wlan_encryption_mode_to_string(char *encryption_mode, char *string)
wifi_getRadioDCSScanTime
int wifi_getRadioDCSScanTime(int radioIndex, int *output_interval_seconds, int *output_dwell_milliseconds)
wifihal_interfacestatus
int wifihal_interfacestatus(char *wifi_status, char *interface_name)
_wifi_associated_dev::cli_Disassociations
unsigned int cli_Disassociations
Definition: wifi_hal_emu.h:413
_wifi_associated_dev::cli_BytesSent
unsigned long cli_BytesSent
Definition: wifi_hal_emu.h:408
wifi_setApBridgeInfo
int wifi_setApBridgeInfo(int apIndex, char *bridgeName, char *IP, char *subnet)
wifi_setApWpsEnrolleePin
int wifi_setApWpsEnrolleePin(int apIndex, char *pin)
wifi_getNeighboringWiFiDiagnosticResult2
int wifi_getNeighboringWiFiDiagnosticResult2(int radioIndex, wifi_neighbor_ap2_t **neighbor_ap_array, unsigned int *output_array_size)
wifi_setRadioRxChainMask
int wifi_setRadioRxChainMask(int radioIndex, int numStreams)
wifi_getRadioTxChainMask
int wifi_getRadioTxChainMask(int radioIndex, int *output_int)
wifi_delApAclDevice
int wifi_delApAclDevice(int apIndex, char *DeviceMacAddress)
wifi_factoryResetRadios
int wifi_factoryResetRadios()
Restore all radio parameters without touching access point parameters.
hostap_conf
Definition: wifi_hal_emu.h:5129
_wifi_neighbor_ap::ap_Radio
CHAR ap_Radio[64]
Definition: wifi_hal_deprecated.h:62
xfinitywifi_5g
void xfinitywifi_5g(int ssidIndex)
wifi_getRadioIfName
int wifi_getRadioIfName(int radioIndex, char *output_string)
_wifi_ssidTrafficStats2::ssid_AggregatedPacketCount
unsigned long ssid_AggregatedPacketCount
Definition: wifi_hal_emu.h:307
wifi_getSSIDNumberOfEntries
int wifi_getSSIDNumberOfEntries(unsigned long *output)
_wifi_associated_dev
Definition: wifi_hal_ap.h:1633
wifi_getRadioAutoChannelEnable
int wifi_getRadioAutoChannelEnable(int radioIndex, unsigned char *output_bool)
wifi_getRadioAutoChannelRefreshPeriod
int wifi_getRadioAutoChannelRefreshPeriod(int radioIndex, unsigned long *output_ulong)
_wifi_radioTrafficStats2::radio_PacketsReceived
unsigned long radio_PacketsReceived
Definition: wifi_hal_emu.h:266
wifi_getApRadioIndex
int wifi_getApRadioIndex(int apIndex, int *output_int)
_wifi_diag_ipping_setting::ipping_DSCP
unsigned int ipping_DSCP
Definition: wifi_hal_emu.h:355
_wifi_radioTrafficStats2::radio_ErrorsSent
unsigned long radio_ErrorsSent
Definition: wifi_hal_emu.h:268
_wifi_ssidTrafficStats2::ssid_MulticastPacketsReceived
unsigned long ssid_MulticastPacketsReceived
Definition: wifi_hal_emu.h:316
hostap_conf::wpa_pairwise
char * wpa_pairwise
Definition: wifi_hal_emu.h:5133
_wifi_trafficStats::wifi_UnicastPacketsSent
unsigned long wifi_UnicastPacketsSent
Definition: wifi_hal_emu.h:201
wifi_setApVlanID
int wifi_setApVlanID(int apIndex, int vlanId)
_wifi_radioTrafficStats
Definition: wifi_hal_deprecated.h:35
wifi_setRadioDeclineBARequestEnable
int wifi_setRadioDeclineBARequestEnable(int radioIndex, unsigned char enable)
_wifi_trafficStats::wifi_BroadcastPacketsRecevied
unsigned long wifi_BroadcastPacketsRecevied
Definition: wifi_hal_emu.h:208
CcspHal_change_config_value
int CcspHal_change_config_value(char *field_name, char *field_value, char *buf, unsigned int *nbytes)
_wifi_radioTrafficStats2::radio_PacketsSent
unsigned long radio_PacketsSent
Definition: wifi_hal_emu.h:265
wifi_getApRetryLimit
int wifi_getApRetryLimit(int apIndex, unsigned int *output)
_wifi_ssidTrafficStats2::ssid_PacketsSent
unsigned long ssid_PacketsSent
Definition: wifi_hal_emu.h:299
checkWifi
unsigned char checkWifi()
_wifi_ssidTrafficStats::wifi_RetryCount
unsigned long wifi_RetryCount
Definition: wifi_hal_emu.h:230
_wifi_ssidTrafficStats2::ssid_FailedRetransCount
unsigned long ssid_FailedRetransCount
Definition: wifi_hal_emu.h:303
_wifi_trafficStats::wifi_UnicastPacketsReceived
unsigned long wifi_UnicastPacketsReceived
Definition: wifi_hal_emu.h:202
wifi_getRadioExtChannel
int wifi_getRadioExtChannel(int radioIndex, char *output_string)
wifi_setRadioTrafficStatsMeasure
int wifi_setRadioTrafficStatsMeasure(int radioIndex, wifi_radioTrafficStatsMeasure_t *input_struct)
hostap_conf::ssid
char ssid[32]
Definition: wifi_hal_emu.h:5131
wifi_setApSecurityPreSharedKey
int wifi_setApSecurityPreSharedKey(int apIndex, char *preSharedKey)
GetIfacestatus
int GetIfacestatus(char *interface_name, char *status)
wifi_getRadioDfsSupport
int wifi_getRadioDfsSupport(int radioIndex, unsigned char *output_bool)
_wifi_radioTrafficStats::wifi_PacketsOtherReceived
unsigned long wifi_PacketsOtherReceived
Definition: wifi_hal_emu.h:221
wifi_pushRadioRxChainMask
int wifi_pushRadioRxChainMask(int radioIndex)
do_MacFilter_Delrule
int do_MacFilter_Delrule()
wifi_getRadioAutoChannelSupported
int wifi_getRadioAutoChannelSupported(int radioIndex, unsigned char *output_bool)
wifi_getRadioGuardInterval
int wifi_getRadioGuardInterval(int radioIndex, char *output_string)
_wifi_radius_setting_t
RADIUS Server information.
Definition: wifi_hal_ap.h:328
RestartHostapd
void RestartHostapd()
wifi_setRadioReverseDirectionGrantEnable
int wifi_setRadioReverseDirectionGrantEnable(int radioIndex, unsigned char enable)
_wifi_trafficStats::wifi_ErrorsReceived
unsigned long wifi_ErrorsReceived
Definition: wifi_hal_emu.h:200
_wifi_radioTrafficStats2::radio_BytesSent
unsigned long radio_BytesSent
Definition: wifi_hal_emu.h:263
wifi_cancelApWPS
int wifi_cancelApWPS(int apIndex)
wifi_setApVlanEnable
int wifi_setApVlanEnable(int apIndex, unsigned char VlanEnabled)
wifi_setRadioGuardInterval
int wifi_setRadioGuardInterval(int radioIndex, char *string)
wifi_pushSsidAdvertisementEnable
int wifi_pushSsidAdvertisementEnable(int apIndex, unsigned char enable)
wifi_getRadioDCSEnable
int wifi_getRadioDCSEnable(int radioIndex, unsigned char *output_bool)
param_list_t
struct __param_list param_list_t
wifi_getApWmmUapsdEnable
int wifi_getApWmmUapsdEnable(int apIndex, unsigned char *output)
wifi_setSSIDEnable
int wifi_setSSIDEnable(int ssidIndex, unsigned char enable)
wifi_getSSIDEnable
int wifi_getSSIDEnable(int ssidIndex, unsigned char *output_bool)
wifi_getApName
int wifi_getApName(int apIndex, char *output_string)
passphrase
@ passphrase
Definition: wifi_hal_emu.h:5118
wifi_setRadioObssCoexistenceEnable
int wifi_setRadioObssCoexistenceEnable(int apIndex, unsigned char enable)
_wifi_neighbor_ap::ap_DTIMPeriod
unsigned int ap_DTIMPeriod
Definition: wifi_hal_emu.h:255
_wifi_neighbor_ap::ap_Channel
unsigned int ap_Channel
Definition: wifi_hal_emu.h:243
wifi_setApWmmUapsdEnable
int wifi_setApWmmUapsdEnable(int apIndex, unsigned char enable)
wifi_createInitialConfigFiles
int wifi_createInitialConfigFiles()
This function creates wifi configuration files.
wifi_band
wifi_band
Definition: wifi_hal_emu.h:5080
wifi_kickApAclAssociatedDevices
int wifi_kickApAclAssociatedDevices(int apIndex, unsigned char enable)
wifi_setRadioAMSDUEnable
int wifi_setRadioAMSDUEnable(int radioIndex, unsigned char amsduEnable)
wifi_getWifiTrafficStats
int wifi_getWifiTrafficStats(int apIndex, wifi_trafficStats_t *output_struct)
wifi_basicTrafficStats_t
struct _wifi_basicTrafficStats wifi_basicTrafficStats_t
wifi_setApBeaconInterval
int wifi_setApBeaconInterval(int apIndex, int beaconInterval)
wifi_getApWpsConfigMethodsEnabled
int wifi_getApWpsConfigMethodsEnabled(int apIndex, char *output_string)
_wifi_diag_ipping_result::ipping_FailureCount
unsigned int ipping_FailureCount
Definition: wifi_hal_emu.h:363
wifi_getRadioStatsReceivedSignalLevel
int wifi_getRadioStatsReceivedSignalLevel(int radioIndex, int signalIndex, int *SignalLevel)
wifi_getRadioRxChainMask
int wifi_getRadioRxChainMask(int radioIndex, int *output_int)
GetInterfaceName_virtualInterfaceName_2G
int GetInterfaceName_virtualInterfaceName_2G(char interface_name[50])
_wifi_radioTrafficStats2::radio_RetransmissionMetirc
int radio_RetransmissionMetirc
Definition: wifi_hal_emu.h:280
_wifi_diag_ipping_setting::ipping_Timeout
unsigned int ipping_Timeout
Definition: wifi_hal_emu.h:353
_wifi_radius_setting_t::RadiusServerRetries
int RadiusServerRetries
Definition: wifi_hal_emu.h:420
wifi_getHalVersion
int wifi_getHalVersion(char *output_string)
wifi_getApWpaEncryptoinMode
int wifi_getApWpaEncryptoinMode(int apIndex, char *output_string)
wifi_kickApAssociatedDevice
int wifi_kickApAssociatedDevice(int apIndex, char *client_mac)
wifi_setApBasicAuthenticationMode
int wifi_setApBasicAuthenticationMode(int apIndex, char *authMode)
_wifi_ssidTrafficStats2::ssid_BytesReceived
unsigned long ssid_BytesReceived
Definition: wifi_hal_emu.h:298
wifi_setRadioDCSChannelPool
int wifi_setRadioDCSChannelPool(int radioIndex, char *pool)
_wifi_diag_ipping_result::ipping_SuccessCount
unsigned int ipping_SuccessCount
Definition: wifi_hal_emu.h:362
_wifi_neighbor_ap::ap_Noise
int ap_Noise
Definition: wifi_hal_emu.h:252
wifi_setSSIDName
int wifi_setSSIDName(int apIndex, char *ssid_string)
hostap_conf::passphrase
char * passphrase
Definition: wifi_hal_emu.h:5132
hostapd_restarting_process
int hostapd_restarting_process(int apIndex)
_wifi_neighbor_ap2::ap_OperatingChannelBandwidth
char ap_OperatingChannelBandwidth[16]
Definition: wifi_hal_emu.h:338
_wifi_neighbor_ap2::ap_Mode
char ap_Mode[64]
Definition: wifi_hal_emu.h:330
_wifi_ssidTrafficStats2::ssid_DiscardedPacketsSent
unsigned long ssid_DiscardedPacketsSent
Definition: wifi_hal_emu.h:313
wifi_setApWmmOgAckPolicy
int wifi_setApWmmOgAckPolicy(int apIndex, int class, unsigned char ackPolicy)
wifi_getRadioCountryCode
int wifi_getRadioCountryCode(int radioIndex, char *output_string)
_wifi_radioTrafficStatsMeasure
Definition: wifi_hal_deprecated.h:177
wifi_halgetRadioExtChannel
int wifi_halgetRadioExtChannel(char *file, char *Value)
wifi_factoryResetAP
INT wifi_factoryResetAP(int apIndex)
Restore Access point paramters to default without change other AP nor Radio parameters (No need to re...
wifi_getRadioTransmitPowerSupported
int wifi_getRadioTransmitPowerSupported(int radioIndex, char *output_list)
wifi_pushApSsidAdvertisementEnable
int wifi_pushApSsidAdvertisementEnable(int apIndex, unsigned char enable)
wifi_setApRetryLimit
int wifi_setApRetryLimit(int apIndex, unsigned int number)
_wifi_neighbor_ap::ap_ChannelUtilization
unsigned int ap_ChannelUtilization
Definition: wifi_hal_emu.h:256
wifi_setRadioAutoChannelRefreshPeriod
int wifi_setRadioAutoChannelRefreshPeriod(int radioIndex, unsigned long seconds)
_wifi_basicTrafficStats::wifi_BytesSent
unsigned long wifi_BytesSent
Definition: wifi_hal_emu.h:190
wifi_setApSecurityReset
int wifi_setApSecurityReset(int apIndex)
_wifi_associated_dev::cli_MinRSSI
int cli_MinRSSI
Definition: wifi_hal_emu.h:411
wifi_getApAssociatedDevicesHighWatermarkThreshold
int wifi_getApAssociatedDevicesHighWatermarkThreshold(int apIndex, unsigned int *output)
wifi_getApRtsThresholdSupported
int wifi_getApRtsThresholdSupported(int apIndex, unsigned char *output_bool)
params::name
char name[64]
Definition: wifi_hal_emu.h:5122
wifi_setRadioSTBCEnable
int wifi_setRadioSTBCEnable(int radioIndex, unsigned char STBC_Enable)
_wifi_associated_dev::cli_AuthenticationFailures
unsigned int cli_AuthenticationFailures
Definition: wifi_hal_emu.h:414
_wifi_neighbor_ap::ap_SecurityModeEnabled
CHAR ap_SecurityModeEnabled[64]
Definition: wifi_hal_deprecated.h:68
_wifi_associated_dev::cli_SignalStrength
int cli_SignalStrength
Definition: wifi_hal_emu.h:398
get_wifiMaxbitrate
int get_wifiMaxbitrate(int radioIndex, char *output_string)
wifi_removeApSecVaribles
int wifi_removeApSecVaribles(int apIndex)
_wifi_neighbor_ap::ap_SSID
CHAR ap_SSID[64]
Definition: wifi_hal_deprecated.h:63
wifi_setApWpsButtonPush
int wifi_setApWpsButtonPush(int apIndex)
_wifi_ssidTrafficStats2
Definition: wifi_hal_emu.h:295
UINT
#define UINT
Definition: wifi_hal_emu.h:100
checkLanInterface
unsigned char checkLanInterface()
wifi_pushRadioChannelMode
int wifi_pushRadioChannelMode(int radioIndex)
wifi_setApAuthMode
int wifi_setApAuthMode(int apIndex, int mode)
wifi_setRadioCountryCode
int wifi_setRadioCountryCode(int radioIndex, char *CountryCode)
_wifi_radioTrafficStats2::radio_DiscardPacketsSent
unsigned long radio_DiscardPacketsSent
Definition: wifi_hal_emu.h:270
_wifi_neighbor_ap2::ap_BasicDataTransferRates
char ap_BasicDataTransferRates[256]
Definition: wifi_hal_emu.h:341
_wifi_basicTrafficStats::wifi_PacketsSent
unsigned long wifi_PacketsSent
Definition: wifi_hal_emu.h:192
_wifi_radioTrafficStats::wifi_Noise
int wifi_Noise
Definition: wifi_hal_emu.h:222
_wifi_trafficStats::wifi_BroadcastPacketsSent
unsigned long wifi_BroadcastPacketsSent
Definition: wifi_hal_emu.h:207
wifihal_GettingNeighbouringAPScanningDetails
void wifihal_GettingNeighbouringAPScanningDetails(char *interface_name, wifi_neighbor_ap2_t **neighbor_ap_array, unsigned int *output_array_size)
wifi_disableApEncryption
int wifi_disableApEncryption(int apIndex)
wifi_getRadioIEEE80211hEnabled
int wifi_getRadioIEEE80211hEnabled(int radioIndex, unsigned char *enable)
_wifi_radioTrafficStats2::radio_ChannelUtilization
unsigned long radio_ChannelUtilization
Definition: wifi_hal_emu.h:277
_wifi_trafficStats::wifi_ErrorsSent
unsigned long wifi_ErrorsSent
Definition: wifi_hal_emu.h:199
hostDetails::hostName
char hostName[20]
Definition: ccsp_hal_dhcpv4_emu_api.h:86
_wifi_radius_setting_t::QuietPeriodAfterFailedAuthentication
int QuietPeriodAfterFailedAuthentication
Definition: wifi_hal_emu.h:428
band_5
@ band_5
Definition: wifi_hal_emu.h:5084
_wifi_ssidTrafficStats2::ssid_UnicastPacketsReceived
unsigned long ssid_UnicastPacketsReceived
Definition: wifi_hal_emu.h:312
wifi_setRadioCarrierSenseThresholdInUse
int wifi_setRadioCarrierSenseThresholdInUse(int radioIndex, int threshold)
_wifi_associated_dev::cli_OperatingChannelBandwidth
CHAR cli_OperatingChannelBandwidth[64]
Definition: wifi_hal_ap.h:1645
killXfinityWiFi
int killXfinityWiFi()
_wifi_ssidTrafficStats2::ssid_ErrorsReceived
unsigned long ssid_ErrorsReceived
Definition: wifi_hal_emu.h:310
hostDetails
Definition: ccsp_hal_dhcpv4_emu_api.h:84
wifi_getRadioTrafficStats2
int wifi_getRadioTrafficStats2(int radioIndex, wifi_radioTrafficStats2_t *output_struct)
_wifi_neighbor_ap::ap_OperatingChannelBandwidth
CHAR ap_OperatingChannelBandwidth[16]
Definition: wifi_hal_deprecated.h:73
wifi_setRadioExtChannel
int wifi_setRadioExtChannel(int radioIndex, char *string)
wifi_getRadioTransmitPower
int wifi_getRadioTransmitPower(int radioIndex, unsigned long *output_ulong)
wifi_getApSecuritySecondaryRadiusServer
int wifi_getApSecuritySecondaryRadiusServer(int apIndex, char *IP_output, unsigned int *Port_output, char *RadiusSecret_output)
_wifi_neighbor_ap2::ap_Channel
unsigned int ap_Channel
Definition: wifi_hal_emu.h:331
ssid
@ ssid
Definition: wifi_hal_emu.h:5117
hostDetails::InterfaceType
char InterfaceType[50]
Definition: wifi_hal_emu.h:173
wifihal_getBaseBSSID
int wifihal_getBaseBSSID(char *interface_name, char *mac, int index)
wifi_getApBeaconType
int wifi_getApBeaconType(int apIndex, char *output_string)
wifi_getApUAPSDCapability
int wifi_getApUAPSDCapability(int apIndex, unsigned char *output)
wifi_getRadioBasicDataTransmitRates
int wifi_getRadioBasicDataTransmitRates(int radioIndex, char *output)
_wifi_radius_setting_t::PMKLifetime
int PMKLifetime
Definition: wifi_hal_emu.h:422
wlan_operated_standards_to_channel_bandwidth_string
void wlan_operated_standards_to_channel_bandwidth_string(char *wireless_mode, char *string)
_wifi_ssidTrafficStats::wifi_RetransCount
unsigned long wifi_RetransCount
Definition: wifi_hal_emu.h:228
_wifi_neighbor_ap2::ap_SupportedDataTransferRates
char ap_SupportedDataTransferRates[256]
Definition: wifi_hal_emu.h:342
ULONG
#define ULONG
Definition: wifi_hal_emu.h:80
wifi_diag_ipping_setting_t
struct _wifi_diag_ipping_setting wifi_diag_ipping_setting_t
wifi_getRadioResetCount
int wifi_getRadioResetCount(int radioIndex, unsigned long *output_int)
_wifi_device
Definition: wifi_hal_deprecated.h:109
_wifi_radioTrafficStats::wifi_FCSErrorCount
unsigned long wifi_FCSErrorCount
Definition: wifi_hal_emu.h:219
_wifi_radioTrafficStats2::radio_StatisticsStartTime
unsigned long radio_StatisticsStartTime
Definition: wifi_hal_emu.h:284
_wifi_radioTrafficStats::wifi_InvalidMACCount
unsigned long wifi_InvalidMACCount
Definition: wifi_hal_emu.h:220
_wifi_neighbor_ap::ap_OperatingFrequencyBand
CHAR ap_OperatingFrequencyBand[16]
Definition: wifi_hal_deprecated.h:70
wifi_getRadioIEEE80211hSupported
int wifi_getRadioIEEE80211hSupported(int radioIndex, unsigned char *Supported)
Hostapd_PrivateWifi_status
int Hostapd_PrivateWifi_status(char status[50])
_wifi_ssidTrafficStats2::ssid_UnicastPacketsSent
unsigned long ssid_UnicastPacketsSent
Definition: wifi_hal_emu.h:311
_wifi_neighbor_ap2::ap_SSID
char ap_SSID[64]
Definition: wifi_hal_emu.h:328
wifi_setRadio11nGreenfieldEnable
int wifi_setRadio11nGreenfieldEnable(int radioIndex, unsigned char enable)
GettingHostapdSsid
int GettingHostapdSsid(int ssidIndex, char *hostapd_conf, char *val)
wifi_init
int wifi_init()
This function call initializes all Wi-Fi radios.
_wifi_radioTrafficStats2::radio_NoiseFloor
int radio_NoiseFloor
Definition: wifi_hal_emu.h:276
DisableWifi
void DisableWifi(int InstanceNumber)
wifi_applyRadioSettings
int wifi_applyRadioSettings(int radioIndex)
_wifi_device::wifi_devIPAddress
CHAR wifi_devIPAddress[64]
Definition: wifi_hal_deprecated.h:112
wifi_neighbor_ap2_t
struct _wifi_neighbor_ap2 wifi_neighbor_ap2_t
wifi_getApIndexForWiFiBand
int wifi_getApIndexForWiFiBand(wifi_band band)
KillHostapd_2g
void KillHostapd_2g(int ssidIndex)
Hostapd_PublicWifi_status
int Hostapd_PublicWifi_status(char status[50])
_wifi_associated_dev::cli_DataFramesSentNoAck
unsigned long cli_DataFramesSentNoAck
Definition: wifi_hal_emu.h:407
wifi_getSSIDTrafficStats
int wifi_getSSIDTrafficStats(int ssidIndex, wifi_ssidTrafficStats_t *output_struct)
wifi_getRadioCarrierSenseThresholdInUse
int wifi_getRadioCarrierSenseThresholdInUse(int radioIndex, int *output)
_wifi_radius_setting_t::RadiusServerRequestTimeout
int RadiusServerRequestTimeout
Definition: wifi_hal_emu.h:421
wifi_setApDTIMInterval
int wifi_setApDTIMInterval(int apIndex, int dtimInterval)
_wifi_diag_ipping_result::ipping_MaximumResponseTime
unsigned int ipping_MaximumResponseTime
Definition: wifi_hal_emu.h:366
wifi_setApBeaconType
int wifi_setApBeaconType(int apIndex, char *beaconTypeString)
_wifi_ssidTrafficStats2::ssid_ACKFailureCount
unsigned long ssid_ACKFailureCount
Definition: wifi_hal_emu.h:306
wifi_getApAclDeviceNum
int wifi_getApAclDeviceNum(int apIndex, unsigned int *output_uint)
__param_list::parameter_list
struct params * parameter_list
Definition: wifi_hal_emu.h:5127
_wifi_neighbor_ap2::ap_OperatingStandards
char ap_OperatingStandards[16]
Definition: wifi_hal_emu.h:337
wifi_getRadioMCS
int wifi_getRadioMCS(int radioIndex, int *output_INT)
_wifi_neighbor_ap2::ap_BSSID
char ap_BSSID[64]
Definition: wifi_hal_emu.h:329
wifi_halsetRadioChannelBW_20
int wifi_halsetRadioChannelBW_20(char *file)
wifihal_AssociatedDevicesstats
int wifihal_AssociatedDevicesstats(int apIndex, char *interface_name, wifi_associated_dev_t **associated_dev_array, unsigned int *output_array_size)
_wifi_radioTrafficStats2::radio_MaximumNoiseFloorOnChannel
int radio_MaximumNoiseFloorOnChannel
Definition: wifi_hal_emu.h:281
wifi_getApMaxAssociatedDevices
int wifi_getApMaxAssociatedDevices(int apIndex, unsigned int *output)
_wifi_associated_dev::cli_BytesReceived
unsigned long cli_BytesReceived
Definition: wifi_hal_emu.h:409
KillHostapd_xfinity_5g
void KillHostapd_xfinity_5g(int ssidIndex)
_wifi_radius_setting_t::PMKCacheInterval
int PMKCacheInterval
Definition: wifi_hal_emu.h:424
wifi_setRadioFragmentationThreshold
int wifi_setRadioFragmentationThreshold(int apIndex, unsigned int threshold)
_wifi_radioTrafficStats::wifi_DiscardPacketsReceived
unsigned long wifi_DiscardPacketsReceived
Definition: wifi_hal_emu.h:217
wifi_pushRadioChannel
int wifi_pushRadioChannel(int radioIndex, unsigned int channel)
_wifi_radioTrafficStats2::radio_MedianNoiseFloorOnChannel
int radio_MedianNoiseFloorOnChannel
Definition: wifi_hal_emu.h:283
wifi_getApSecurityKeyPassphrase
int wifi_getApSecurityKeyPassphrase(int apIndex, char *output_string)
wifi_setRadioIEEE80211hEnabled
int wifi_setRadioIEEE80211hEnabled(int radioIndex, unsigned char enable)
wifi_diag_ipping_result_t
struct _wifi_diag_ipping_result wifi_diag_ipping_result_t
wifi_setApSecurityRadiusServer
int wifi_setApSecurityRadiusServer(int apIndex, char *IPAddress, unsigned int port, char *RadiusSecret)
wifi_setApSecuritySecondaryRadiusServer
int wifi_setApSecuritySecondaryRadiusServer(int apIndex, char *IPAddress, unsigned int port, char *RadiusSecret)
wifi_setRadioAutoBlockAckEnable
int wifi_setRadioAutoBlockAckEnable(int radioIndex, unsigned char enable)
wifi_applySSIDSettings
int wifi_applySSIDSettings(int ssidIndex)
wifi_radioTrafficStats_t
struct _wifi_radioTrafficStats wifi_radioTrafficStats_t
wifi_newApAssociatedDevice_callback
int(* wifi_newApAssociatedDevice_callback)(int apIndex, wifi_associated_dev_t *associated_dev)
Definition: wifi_hal_emu.h:4904
_wifi_ssidTrafficStats2::ssid_UnknownPacketsReceived
unsigned long ssid_UnknownPacketsReceived
Definition: wifi_hal_emu.h:319
wifi_getRadioBeaconPeriod
int wifi_getRadioBeaconPeriod(int radioIndex, unsigned int *output)
wifi_getSSIDTrafficStats2
int wifi_getSSIDTrafficStats2(int ssidIndex, wifi_ssidTrafficStats2_t *output_struct)
_wifi_neighbor_ap
Definition: wifi_hal_deprecated.h:60
CHAR
#define CHAR
Definition: wifi_hal_emu.h:88
_wifi_neighbor_ap2::ap_SignalStrength
int ap_SignalStrength
Definition: wifi_hal_emu.h:332
__param_list::count
unsigned int count
Definition: wifi_hal_emu.h:5126
xfinitywifi_2g
void xfinitywifi_2g(int ssidIndex)
wifi_getApAssociatedDeviceDiagnosticResult
int wifi_getApAssociatedDeviceDiagnosticResult(int apIndex, wifi_associated_dev_t **associated_dev_array, unsigned int *output_array_size)
wifi_getRadioCarrierSenseThresholdRange
int wifi_getRadioCarrierSenseThresholdRange(int radioIndex, int *output)
wifi_getApIsolationEnable
int wifi_getApIsolationEnable(int apIndex, unsigned char *output)
wifi_getApAssociatedDevicesHighWatermarkThresholdReached
int wifi_getApAssociatedDevicesHighWatermarkThresholdReached(int apIndex, unsigned int *output)
wifi_radius_setting_t
struct _wifi_radius_setting_t wifi_radius_setting_t
wifi_getRadioAutoBlockAckEnable
int wifi_getRadioAutoBlockAckEnable(int radioIndex, unsigned char *output_bool)
_wifi_device::wifi_devMacAddress
UCHAR wifi_devMacAddress[6]
Definition: wifi_hal_deprecated.h:111
wifi_setRadioChannel
int wifi_setRadioChannel(int radioIndex, unsigned long channel)
wifi_setApSecurityKeyPassphrase
int wifi_setApSecurityKeyPassphrase(int apIndex, char *passPhrase)
_wifi_ssidTrafficStats::wifi_MultipleRetryCount
unsigned long wifi_MultipleRetryCount
Definition: wifi_hal_emu.h:231
wifi_getRadioDCSSupported
int wifi_getRadioDCSSupported(int radioIndex, unsigned char *output_bool)
wifi_getApAssociatedDevicesHighWatermarkDate
int wifi_getApAssociatedDevicesHighWatermarkDate(int apIndex, unsigned long *output_in_seconds)
_wifi_associated_dev::cli_SNR
int cli_SNR
Definition: wifi_hal_emu.h:404
wifi_getSSIDMACAddress
int wifi_getSSIDMACAddress(int ssidIndex, char *output_string)
wifi_pushBridgeInfo
int wifi_pushBridgeInfo(int apIndex)
wifi_halsetRadioChannelBW_40
int wifi_halsetRadioChannelBW_40(char *file)
_wifi_radioTrafficStats::wifi_ErrorsSent
unsigned long wifi_ErrorsSent
Definition: wifi_hal_emu.h:214
wifi_getRadioOperatingFrequencyBand
int wifi_getRadioOperatingFrequencyBand(int radioIndex, char *output_string)
_wifi_diag_ipping_result::ipping_AverageResponseTime
unsigned int ipping_AverageResponseTime
Definition: wifi_hal_emu.h:364
_wifi_basicTrafficStats::wifi_BytesReceived
unsigned long wifi_BytesReceived
Definition: wifi_hal_emu.h:191
GetInterfaceName
int GetInterfaceName(char interface_name[50], char conf_file[100])
wifi_setApSsidAdvertisementEnable
int wifi_setApSsidAdvertisementEnable(int apIndex, unsigned char enable)
_wifi_diag_ipping_setting::ipping_DataBlockSize
unsigned int ipping_DataBlockSize
Definition: wifi_hal_emu.h:354
wifi_getRadioNumberOfEntries
int wifi_getRadioNumberOfEntries(unsigned long *output)
wifi_getSSIDName
int wifi_getSSIDName(int apIndex, char *output_string)
_wifi_radius_setting_t::MaxAuthenticationAttempts
int MaxAuthenticationAttempts
Definition: wifi_hal_emu.h:425
wifi_getRadioIGMPSnoopingEnable
int wifi_getRadioIGMPSnoopingEnable(int radioIndex, unsigned char *output_bool)
_wifi_radioTrafficStats2
Definition: wifi_hal_emu.h:261
wifi_factoryReset
int wifi_factoryReset()
Clears internal variables to implement a factory reset of the Wi-Fi subsystem.
wifi_getRadio11nGreenfieldSupported
int wifi_getRadio11nGreenfieldSupported(int radioIndex, unsigned char *output_bool)
_wifi_diag_ipping_result::ipping_DiagnosticsState
CHAR ipping_DiagnosticsState[64]
Definition: wifi_hal_deprecated.h:97
wifi_setRadioTrafficStatsRadioStatisticsEnable
int wifi_setRadioTrafficStatsRadioStatisticsEnable(int radioIndex, unsigned char enable)
wifi_getRadioMaxBitRate
int wifi_getRadioMaxBitRate(int radioIndex, char *output_string)
wifi_radioTrafficStats2_t
struct _wifi_radioTrafficStats2 wifi_radioTrafficStats2_t
_wifi_radioTrafficStats2::radio_ActivityFactor
int radio_ActivityFactor
Definition: wifi_hal_emu.h:278
wifi_getRadioDfsEnable
int wifi_getRadioDfsEnable(int radioIndex, unsigned char *output_bool)
KillHostapd_5g
void KillHostapd_5g(int ssidIndex)
_wifi_associated_dev::cli_MACAddress
UCHAR cli_MACAddress[6]
Definition: wifi_hal_ap.h:1635
wifi_setApSecurityModeEnabled
int wifi_setApSecurityModeEnabled(int apIndex, char *encMode)
_wifi_ssidTrafficStats2::ssid_DiscardedPacketsReceived
unsigned long ssid_DiscardedPacketsReceived
Definition: wifi_hal_emu.h:314
BOOL
#define BOOL
Definition: wifi_hal_emu.h:84
_wifi_diag_ipping_setting::ipping_NumberOfRepetitions
unsigned int ipping_NumberOfRepetitions
Definition: wifi_hal_emu.h:352
wifi_setApEnable
int wifi_setApEnable(int apIndex, unsigned char enable)
_wifi_device::wifi_devRxRate
int wifi_devRxRate
Definition: wifi_hal_emu.h:379
wifi_getApWpsConfigurationState
int wifi_getApWpsConfigurationState(int apIndex, char *output_string)
wifi_setRadioMCS
int wifi_setRadioMCS(int radioIndex, int MCS)
wifi_getApSecurityRadiusServer
int wifi_getApSecurityRadiusServer(int apIndex, char *IP_output, unsigned int *Port_output, char *RadiusSecret_output)
wifi_setApWpsEnable
int wifi_setApWpsEnable(int apIndex, unsigned char enableValue)
_wifi_associated_dev::cli_IPAddress
CHAR cli_IPAddress[64]
Definition: wifi_hal_ap.h:1636
wifi_getRadioReverseDirectionGrantSupported
int wifi_getRadioReverseDirectionGrantSupported(int radioIndex, unsigned char *output_bool)
_wifi_neighbor_ap2::ap_SupportedStandards
char ap_SupportedStandards[64]
Definition: wifi_hal_emu.h:336
_COSA_DML_WIFI_AP_MAC_FILTER::InstanceNumber
unsigned long InstanceNumber
Definition: wifi_hal_emu.h:178
wifi_setRadioDfsEnable
int wifi_setRadioDfsEnable(int radioIndex, unsigned char enabled)
wifi_hostapdWrite
int wifi_hostapdWrite(int ap, param_list_t *list)
wifi_setApMaxAssociatedDevices
int wifi_setApMaxAssociatedDevices(int apIndex, unsigned int number)
wifi_getRadioAutoChannelRefreshPeriodSupported
int wifi_getRadioAutoChannelRefreshPeriodSupported(int radioIndex, unsigned char *output_bool)
wifi_setRadioOperatingChannelBandwidth
int wifi_setRadioOperatingChannelBandwidth(int radioIndex, char *bandwidth)
wifi_newApAssociatedDevice_callback_register
void wifi_newApAssociatedDevice_callback_register(wifi_newApAssociatedDevice_callback callback_proc)
Callback registration function.
_wifi_neighbor_ap::ap_SupportedStandards
CHAR ap_SupportedStandards[64]
Definition: wifi_hal_deprecated.h:71
wifi_setApRtsThreshold
int wifi_setApRtsThreshold(int apIndex, unsigned int threshold)
_wifi_radioTrafficStats::wifi_PLCPErrorCount
unsigned long wifi_PLCPErrorCount
Definition: wifi_hal_emu.h:218
wlan_bitrate_to_operated_standards_string
void wlan_bitrate_to_operated_standards_string(char *bitrate, char *string, char *freq)
_wifi_diag_ipping_setting::ipping_Host
CHAR ipping_Host[256]
Definition: wifi_hal_deprecated.h:87
wifi_getApSecurityPreSharedKey
int wifi_getApSecurityPreSharedKey(int apIndex, char *output_string)
wifi_getRadioStandard
int wifi_getRadioStandard(int radioIndex, char *output_string, unsigned char *gOnly, unsigned char *nOnly, unsigned char *acOnly)
KillHostapd
void KillHostapd()
wifi_getSSIDRadioIndex
int wifi_getSSIDRadioIndex(int ssidIndex, int *radioIndex)
wifi_down
int wifi_down()
Turns off transmit power for the entire Wifi subsystem, for all radios.
wifi_getApWMMCapability
int wifi_getApWMMCapability(int apIndex, unsigned char *output)
hostap_conf::wpa_keymgmt
char * wpa_keymgmt
Definition: wifi_hal_emu.h:5135
wifi_setApWpaEncryptionMode
int wifi_setApWpaEncryptionMode(int apIndex, char *encMode)
band_invalid
@ band_invalid
Definition: wifi_hal_emu.h:5082
params
Definition: wifi_hal_emu.h:5120
wifi_getApSecurityModesSupported
int wifi_getApSecurityModesSupported(int apIndex, char *output)
wifi_getApSsidAdvertisementEnable
int wifi_getApSsidAdvertisementEnable(int apIndex, unsigned char *output_bool)
_wifi_diag_ipping_setting
Definition: wifi_hal_deprecated.h:84
KillHostapd_xfinity_2g
void KillHostapd_xfinity_2g(int ssidIndex)
wifi_setRadioChannelMode
int wifi_setRadioChannelMode(int radioIndex, char *channelMode, unsigned char gOnlyFlag, unsigned char nOnlyFlag, unsigned char acOnlyFlag)
wifi_getSSIDStatus
int wifi_getSSIDStatus(int ssidIndex, char *output_string)
_wifi_ssidTrafficStats2::ssid_RetransCount
unsigned long ssid_RetransCount
Definition: wifi_hal_emu.h:302
wifi_stopHostApd
int wifi_stopHostApd()
Stops hostapd.
_wifi_diag_ipping_result
Definition: wifi_hal_deprecated.h:95
wifi_startHostApd
int wifi_startHostApd()
Starts hostapd.
_wifi_ssidTrafficStats::wifi_ACKFailureCount
unsigned long wifi_ACKFailureCount
Definition: wifi_hal_emu.h:232
wifi_setRadioDCSEnable
int wifi_setRadioDCSEnable(int radioIndex, unsigned char enable)
_wifi_associated_dev::cli_InterferenceSources
CHAR cli_InterferenceSources[64]
Definition: wifi_hal_ap.h:1647
wifi_setApWmmEnable
int wifi_setApWmmEnable(int apIndex, unsigned char enable)
do_MacFilter_Update
int do_MacFilter_Update(char *Operation, int i_macFiltCnt, COSA_DML_WIFI_AP_MAC_FILTER *i_macFiltTabPtr, int count, struct hostDetails *hostPtr)
_wifi_ssidTrafficStats2::ssid_MulticastPacketsSent
unsigned long ssid_MulticastPacketsSent
Definition: wifi_hal_emu.h:315
_wifi_neighbor_ap::ap_OperatingStandards
CHAR ap_OperatingStandards[16]
Definition: wifi_hal_deprecated.h:72
_wifi_radioTrafficStats2::radio_BytesReceived
unsigned long radio_BytesReceived
Definition: wifi_hal_emu.h:264
_wifi_radioTrafficStats2::radio_PacketsOtherReceived
unsigned long radio_PacketsOtherReceived
Definition: wifi_hal_emu.h:275
wifi_setLED
int wifi_setLED(int radioIndex, unsigned char enable)
Set the system LED status.
_wifi_radioTrafficStats2::radio_ErrorsReceived
unsigned long radio_ErrorsReceived
Definition: wifi_hal_emu.h:269
wifi_getApAssociatedDevicesHighWatermark
int wifi_getApAssociatedDevicesHighWatermark(int apIndex, unsigned int *output)
wifi_getApIndexFromName
int wifi_getApIndexFromName(char *inputSsidString, int *ouput_int)
_wifi_radioTrafficStatsMeasure::radio_RadioStatisticsMeasuringRate
int radio_RadioStatisticsMeasuringRate
Definition: wifi_hal_emu.h:290
_wifi_diag_ipping_result::ipping_MinimumResponseTime
unsigned int ipping_MinimumResponseTime
Definition: wifi_hal_emu.h:365
do_MacFilter_Addrule
int do_MacFilter_Addrule()
wifi_getBaseBSSID
int wifi_getBaseBSSID(int ssidIndex, char *output_string)
wifi_setApWpsDevicePIN
int wifi_setApWpsDevicePIN(int apIndex, unsigned long pin)
_wifi_ssidTrafficStats2::ssid_BroadcastPacketsRecevied
unsigned long ssid_BroadcastPacketsRecevied
Definition: wifi_hal_emu.h:318
wifi_setRadioEnable
int wifi_setRadioEnable(int radioIndex, unsigned char enable)
wifi_setApIsolationEnable
int wifi_setApIsolationEnable(int apIndex, unsigned char enable)
wifi_radioTrafficStatsMeasure_t
struct _wifi_radioTrafficStatsMeasure wifi_radioTrafficStatsMeasure_t
_wifi_basicTrafficStats
Definition: wifi_hal_deprecated.h:26
UCHAR
#define UCHAR
Definition: wifi_hal_emu.h:92
_wifi_trafficStats::wifi_DiscardedPacketsReceived
unsigned long wifi_DiscardedPacketsReceived
Definition: wifi_hal_emu.h:204
wifi_halGetIfStatsNull
int wifi_halGetIfStatsNull(wifi_radioTrafficStats2_t *output_struct)
_wifi_neighbor_ap::ap_BasicDataTransferRates
CHAR ap_BasicDataTransferRates[256]
Definition: wifi_hal_deprecated.h:76
privatewifi_5g
void privatewifi_5g(int ssidIndex)
_wifi_neighbor_ap::ap_SignalStrength
int ap_SignalStrength
Definition: wifi_hal_emu.h:244
_wifi_neighbor_ap2
Definition: wifi_hal_emu.h:325
_wifi_neighbor_ap2::ap_BeaconPeriod
unsigned int ap_BeaconPeriod
Definition: wifi_hal_emu.h:339
wifi_pushRadioTxChainMask
int wifi_pushRadioTxChainMask(int radioIndex)
wifi_halGetIfStats
int wifi_halGetIfStats(char *ifname, wifi_radioTrafficStats2_t *pStats)
wifi_getRadioDeclineBARequestEnable
int wifi_getRadioDeclineBARequestEnable(int radioIndex, unsigned char *output_bool)
hostap_names
hostap_names
Definition: wifi_hal_emu.h:5115
__param_list
Definition: wifi_hal_emu.h:5125
wifi_setApMacAddressControlMode
int wifi_setApMacAddressControlMode(int apIndex, int filterMode)
_wifi_radioTrafficStats::wifi_DiscardPacketsSent
unsigned long wifi_DiscardPacketsSent
Definition: wifi_hal_emu.h:216
wifi_getRadioOperatingChannelBandwidth
int wifi_getRadioOperatingChannelBandwidth(int radioIndex, char *output_string)
params::value
char value[64]
Definition: wifi_hal_emu.h:5123
wifi_createAp
int wifi_createAp(int apIndex, int radioIndex, char *essid, unsigned char hideSsid)
INT
#define INT
Definition: wifi_hal_emu.h:96
wifi_setRadioAutoChannelEnable
int wifi_setRadioAutoChannelEnable(int radioIndex, unsigned char enable)
wifi_ssidTrafficStats_t
struct _wifi_ssidTrafficStats wifi_ssidTrafficStats_t
_wifi_neighbor_ap::ap_BSSID
CHAR ap_BSSID[64]
Definition: wifi_hal_deprecated.h:64
_wifi_associated_dev::cli_MaxRSSI
int cli_MaxRSSI
Definition: wifi_hal_emu.h:412
_wifi_trafficStats
Definition: wifi_hal_ap.h:31
wifi_setApWpsConfigMethodsEnabled
int wifi_setApWpsConfigMethodsEnabled(int apIndex, char *methodString)
wifi_getRadio11nGreenfieldEnable
int wifi_getRadio11nGreenfieldEnable(int radioIndex, unsigned char *output_bool)
_wifi_device::wifi_devAssociatedDeviceAuthentiationState
unsigned char wifi_devAssociatedDeviceAuthentiationState
Definition: wifi_hal_emu.h:376
_wifi_associated_dev::cli_OperatingStandard
CHAR cli_OperatingStandard[64]
Definition: wifi_hal_ap.h:1644
get_mac
void get_mac(unsigned char *mac)
wifi_trafficStats_t
struct _wifi_trafficStats wifi_trafficStats_t
_wifi_neighbor_ap2::ap_DTIMPeriod
unsigned int ap_DTIMPeriod
Definition: wifi_hal_emu.h:343
wifi_halgetRadioChannelBW
int wifi_halgetRadioChannelBW(char *file, char *Value)
wifi_pushSSID
int wifi_pushSSID(int apIndex, char *ssid)
wifi_hostapdRead
int wifi_hostapdRead(int ap, struct params *params, char *output)
_wifi_associated_dev::cli_RSSI
int cli_RSSI
Definition: wifi_hal_emu.h:410
wifi_factoryResetRadio
int wifi_factoryResetRadio(int radioIndex)
Restore selected radio parameters without touching access point parameters.
wifi_setApSecurityRadiusSettings
int wifi_setApSecurityRadiusSettings(int apIndex, wifi_radius_setting_t *input)
_wifi_device::wifi_devSignalStrength
int wifi_devSignalStrength
Definition: wifi_hal_emu.h:377
_wifi_ssidTrafficStats2::ssid_BroadcastPacketsSent
unsigned long ssid_BroadcastPacketsSent
Definition: wifi_hal_emu.h:317
wifi_reset
int wifi_reset()
Resets the Wifi subsystem. This includes reset of all Access Point variables.
_wifi_associated_dev::cli_Active
unsigned char cli_Active
Definition: wifi_hal_emu.h:400
COSA_DML_WIFI_AP_MAC_FILTER
struct _COSA_DML_WIFI_AP_MAC_FILTER COSA_DML_WIFI_AP_MAC_FILTER
_wifi_neighbor_ap::ap_EncryptionMode
CHAR ap_EncryptionMode[64]
Definition: wifi_hal_deprecated.h:69
wifi_getRadioStatus
int wifi_getRadioStatus(int radioIndex, unsigned char *output_bool)
wifi_apAuthEvent_callback
int(* wifi_apAuthEvent_callback)(int apIndex, char *MAC, int event_type)
Definition: wifi_hal_emu.h:5427
_wifi_associated_dev::cli_LastDataUplinkRate
unsigned int cli_LastDataUplinkRate
Definition: wifi_hal_emu.h:397
_wifi_ssidTrafficStats::wifi_AggregatedPacketCount
unsigned long wifi_AggregatedPacketCount
Definition: wifi_hal_emu.h:233
_wifi_ssidTrafficStats2::ssid_BytesSent
unsigned long ssid_BytesSent
Definition: wifi_hal_emu.h:297
_wifi_radius_setting_t::PMKCaching
unsigned char PMKCaching
Definition: wifi_hal_emu.h:423
_wifi_diag_ipping_setting::ipping_Interface
CHAR ipping_Interface[256]
Definition: wifi_hal_deprecated.h:86
wifi_getApStatus
int wifi_getApStatus(int apIndex, char *output_string)
_wifi_ssidTrafficStats
Definition: wifi_hal_deprecated.h:49
wifi_setApRadioIndex
int wifi_setApRadioIndex(int apIndex, int radioIndex)
wifi_updateRadiochannel
void wifi_updateRadiochannel(int radioIndex, unsigned long channel)
wlan_wireless_mode_to_supported_standards_string
void wlan_wireless_mode_to_supported_standards_string(char *wireless_mode, char *string, char *freq)