RDK-B
wifi_hal_radio.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 #ifndef __WIFI_HAL_RADIO_H__
20 #define __WIFI_HAL_RADIO_H__
21 
22 #ifdef __cplusplus
23 extern "C"{
24 #endif
25 
26 /**
27  * @addtogroup WIFI_HAL_TYPES
28  * @{
29  */
30 
31 /**
32  * @brief Guard intervals types
33  */
34 typedef enum {
41 
42 #define MAXNUMSECONDARYCHANNELS 7
43 
44 typedef enum {
52 
53 typedef enum {
60 
61 typedef struct _wifi_channelMap_t {
65 
66 /**
67  * @brief Wifi Radio Operation Parameters
68  */
69 typedef struct {
70  BOOL enable; /**< The radio enable. */
71  wifi_freq_bands_t band; /**< the radio frequency band. */
72  BOOL autoChannelEnabled; /**< set bAutoChannelEnabled to TRUE to enable Auto Channel. */
73  UINT op_class; /**< The Operating class. */
74  UINT channel; /**< The radio primary channel. */
75  UINT numSecondaryChannels; /**< The number odf secondary channels in the list */
76  UINT channelSecondary[MAXNUMSECONDARYCHANNELS]; /**< The List of secondary radio channel. */
77  wifi_channelBandwidth_t channelWidth; /**< The channel bandwidth. */
78  wifi_ieee80211Variant_t variant; /**< The radio operating mode */
79  UINT csa_beacon_count; /**< Specifies how long CSA need to be announced. */
80  wifi_countrycode_type_t countryCode; /**< The country code. */
81  wifi_operating_env_t operatingEnvironment; /**< The wifi Operating environment */
82  wifi_channelMap_t channel_map[64];
83  BOOL DCSEnabled; /**< set DCSEnabled to TRUE to enable DCS. */
84  UINT dtimPeriod; /**< The DTIM period. */
85  UINT beaconInterval; /**< The beacon interval. */
86  UINT operatingClass; /**< The Operating class. */
87  UINT basicDataTransmitRates; /**< The basic data transmit rates in Mbps. It uses bitmask to return multiples bitrates and wifi_bitrate_t has the definition of valid values*/
88  UINT operationalDataTransmitRates; /**< The operational data transmit rates in Mbps. It uses bitmask to return multiples bitrates and wifi_bitrate_t has the definition of valid values*/
89  UINT fragmentationThreshold; /**< The fragmentation threshold in bytes. */
90  wifi_guard_interval_t guardInterval; /**< The guard interval. */
91  UINT transmitPower; /**< The transmit power in percentage, eg "75", "100". */
92  UINT rtsThreshold; /**< The packet size threshold in bytes to apply RTS/CTS backoff rules. */
106 } __attribute__((packed)) wifi_radio_operationParam_t;
107 
108 
109 /**
110  * @brief Enhanced Distributed Channel Access parameters
111  */
112 typedef struct {
113  CHAR aifsn; /**< Arbitration Inter-Frame Space Number */
114  CHAR cw_min; /**< Lower bound Contention Window. */
115  CHAR cw_max; /**< Upper bound Contention Window. */
116  CHAR timer; /**< */
117 } wifi_edca_t;
118 
119 typedef enum {
124 
125 /** @} */ //END OF GROUP WIFI_HAL_TYPES
126 
127 /**
128  * @addtogroup WIFI_HAL_APIS
129  * @{
130  */
131 /* wifi_getRadioResetCount() function */
132 /**
133 * @brief Get the radio reset count.
134 *
135 * @param[in] radioIndex Index of Wi-Fi radio channel
136 * @param[out] output_int Reset count, to be returned
137 *
138 * @return The status of the operation
139 * @retval RETURN_OK if successful
140 * @retval RETURN_ERR if any error is detected
141 *
142 * @execution Synchronous
143 * @sideeffect None
144 *
145 * @note This function must not suspend and must not invoke any blocking system
146 * calls. It should probably just send a message to a driver event handler task.
147 *
148 */
149 INT wifi_getRadioResetCount(INT radioIndex, ULONG *output_int);
150 
151 /* wifi_factoryResetRadios() function */
152 /**
153 * @brief Restore all radio parameters without touching access point parameters.
154 *
155 * A Specific implementation may dictate some functionalities since different hardware implementations
156 * may have different requirements.
157 *
158 * @param None
159 *
160 * @return The status of the operation
161 * @retval RETURN_OK if successful
162 * @retval RETURN_ERR if any error is detected
163 *
164 * @execution Synchronous
165 *
166 * @sideeffect None
167 *
168 * @note This function must not suspend and must not invoke any blocking system
169 * calls. It should probably just send a message to a driver event handler task.
170 *
171 */
172 //Restore all radio parameters without touch access point parameters
174 
175 /* wifi_factoryResetRadio() function */
176 /**
177 * @brief Restore selected radio parameters without touching access point parameters.
178 *
179 * @param radioIndex Index of Wi-Fi Radio channel
180 *
181 * @return The status of the operation.
182 * @retval RETURN_OK if successful.
183 * @retval RETURN_ERR if any error is detected
184 *
185 * @execution Synchronous.
186 * @sideeffect None.
187 *
188 * @note This function must not suspend and must not invoke any blocking system
189 * calls. It should probably just send a message to a driver event handler task.
190 *
191 */
192 //Restore selected radio parameters without touch access point parameters
193 INT wifi_factoryResetRadio(int radioIndex);
194 
195 /* wifi_getRadioEnable() function */
196 /**
197 * @brief Get the Radio enable config parameter.
198 *
199 * @param[in] radioIndex Index of Wi-Fi radio channel
200 * @param[out] output_bool Radio Enable status, to be returned
201 *
202 * @return The status of the operation
203 * @retval RETURN_OK if successful
204 * @retval RETURN_ERR if any error is detected
205 *
206 * @execution Synchronous
207 * @sideeffect None
208 *
209 * @note This function must not suspend and must not invoke any blocking system
210 * calls. It should probably just send a message to a driver event handler task.
211 *
212 */
213 //Get the Radio enable config parameter
214 INT wifi_getRadioEnable(INT radioIndex, BOOL *output_bool);
215 
216 /* wifi_setRadioEnable() function */
217 /**
218 * @brief Set the Radio enable config parameter.
219 *
220 * @param[in] radioIndex Index of Wi-Fi radio channel
221 * @param[in] enable Set the selected radio's status as Enable/Disable
222 *
223 * @return The status of the operation
224 * @retval RETURN_OK if successful
225 * @retval RETURN_ERR if any error is detected
226 *
227 * @execution Synchronous
228 * @sideeffect None
229 *
230 * @note This function must not suspend and must not invoke any blocking system
231 * calls. It should probably just send a message to a driver event handler task.
232 *
233 */
234 //Set the Radio enable config parameter
235 INT wifi_setRadioEnable(INT radioIndex, BOOL enable);
236 
237 /* wifi_getRadioStatus() function */
238 /**
239 * @brief Get the Radio enable status.
240 *
241 * @param[in] radioIndex Index of Wi-Fi radio channel
242 * @param[out] output_bool Selected radio's enable status, to be returned
243 *
244 * @return The status of the operation
245 * @retval RETURN_OK if successful
246 * @retval RETURN_ERR if any error is detected
247 *
248 * @execution Synchronous
249 * @sideeffect None
250 *
251 * @note This function must not suspend and must not invoke any blocking system
252 * calls. It should probably just send a message to a driver event handler task.
253 *
254 */
255 //Get the Radio enable status
256 INT wifi_getRadioStatus(INT radioIndex, BOOL *output_bool);
257 
258 /* wifi_getRadioIfName() function */
259 /**
260 * @brief Get the Radio Interface name from platform, eg "wifi0".
261 *
262 * @param radioIndex Index of Wi-Fi radio channel
263 * @param output_string Interface name, to be returned
264 *
265 * @return The status of the operation
266 * @retval RETURN_OK if successful
267 * @retval RETURN_ERR if any error is detected
268 *
269 * @execution Synchronous
270 * @sideeffect None
271 *
272 * @note This function must not suspend and must not invoke any blocking system
273 * calls. It should probably just send a message to a driver event handler task.
274 *
275 */
276 //Get the Radio Interface name from platform, eg "wifi0"
277 INT wifi_getRadioIfName(INT radioIndex, CHAR *output_string);
278 
279 
280 #ifdef WIFI_HAL_VERSION_3_PHASE2
281 /* wifi_getRadioChannelsInUse() function */
282 /**
283 * @brief Get the list of supported channel. eg: "1-11".
284 *
285 * The output_string is a max length 64 octet string that is allocated by the RDKB code.
286 * Implementations must ensure that strings are not longer than this.
287 *
288 * @param[in] radioIndex Index of Wi-Fi radio channel
289 * @param[out] channel_list List of supported radio channels, to be returned
290 *
291 * @return The status of the operation
292 * @retval WIFI_HAL_SUCCESS if successful
293 * @retval Error code if any error is detected (WIFI_HAL_ERROR, WIFI_HAL_UNSUPPORTED, etc)
294 *
295 * @execution Synchronous
296 * @sideeffect None
297 *
298 * @note This function must not suspend and must not invoke any blocking system
299 * calls. It should probably just send a message to a driver event handler task.
300 *
301 */
302 //Get the list for used channel. eg: "1,6,9,11"
303 //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.
304 INT wifi_getRadioChannelsInUse(wifi_radio_index_t radioIndex, wifi_channels_list_t* channel_list);
305 #endif
306 
307 /* wifi_getRadioDfsEnable() function */
308 /**
309 * @brief Get the Dfs enable status.
310 *
311 * @param[in] radioIndex Index of Wi-Fi radio channel
312 * @param[out] output_bool Get DFS Enable status of the selected radio channel
313 *
314 * @return The status of the operation
315 * @retval RETURN_OK if successful
316 * @retval RETURN_ERR if any error is detected
317 *
318 * @execution Synchronous
319 * @sideeffect None
320 *
321 * @note This function must not suspend and must not invoke any blocking system
322 * calls. It should probably just send a message to a driver event handler task.
323 *
324 */
325 INT wifi_getRadioDfsEnable(INT radioIndex, BOOL *output_bool);
326 
327 /* wifi_setRadioDfsEnable() function */
328 /**
329 * @brief Set the Dfs enable status.
330 *
331 * @param[in] radioIndex Index of Wi-Fi radio channel
332 * @param[in] enable Set DFS Enable status of the selected radio channel
333 *
334 * @return The status of the operation
335 * @retval RETURN_OK if successful
336 * @retval RETURN_ERR if any error is detected
337 *
338 * @execution Synchronous
339 * @sideeffect None
340 *
341 * @note This function must not suspend and must not invoke any blocking system
342 * calls. It should probably just send a message to a driver event handler task.
343 *
344 */
345 INT wifi_setRadioDfsEnable(INT radioIndex, BOOL enabled);
346 
347 /* wifi_getRadioDfsAtBootUpEnable() function */
348 /**
349 * @brief Get the Dfs enable on Bootup status.
350 *
351 * @param[in] radioIndex Index of Wi-Fi radio channel
352 * @param[out] enable Get DFS Enable on bootup status of the selected radio channel
353 *
354 * @return The status of the operation
355 * @retval RETURN_OK if successful
356 * @retval RETURN_ERR if any error is detected
357 *
358 * @execution Synchronous
359 * @sideeffect None
360 *
361 * @note This function must not suspend and must not invoke any blocking system
362 * calls. It should probably just send a message to a driver event handler task.
363 *
364 */
365 INT wifi_getRadioDfsAtBootUpEnable(INT radioIndex, BOOL *enable);
366 
367 /* wifi_setRadioDfsAtBootUpEnable() function */
368 /**
369 * @brief Set the Dfs enable on Bootup status.
370 *
371 * @param[in] radioIndex Index of Wi-Fi radio channel
372 * @param[in] enable Set DFS Enable on Bootup status of the selected radio channel
373 *
374 * @return The status of the operation
375 * @retval RETURN_OK if successful
376 * @retval RETURN_ERR if any error is detected
377 *
378 * @execution Synchronous
379 * @sideeffect None
380 *
381 * @note This function must not suspend and must not invoke any blocking system
382 * calls. It should probably just send a message to a driver event handler task.
383 *
384 */
385 INT wifi_setRadioDfsAtBootUpEnable(INT radioIndex, BOOL enable);
386 
387 /* wifi_getRadioMCS() function */
388 /**
389 * @brief Get the Modulation Coding Scheme index, eg: "-1", "1", "15".
390 *
391 * @param[in] radioIndex Index of Wi-Fi radio channel
392 * @param[out] output_INT Modulation Coding Scheme index, to be returned
393 *
394 * @return The status of the operation
395 * @retval RETURN_OK if successful
396 * @retval RETURN_ERR if any error is detected
397 *
398 * @execution Synchronous
399 * @sideeffect None
400 *
401 * @note This function must not suspend and must not invoke any blocking system
402 * calls. It should probably just send a message to a driver event handler task.
403 *
404 */
405 INT wifi_getRadioMCS(INT radioIndex, INT *output_INT);
406 
407 /* wifi_setRadioMCS() function */
408 /**
409 * @brief Set the Modulation Coding Scheme index, eg: "-1", "1", "15".
410 *
411 * @param[in] radioIndex Index of Wi-Fi radio channel
412 * @param[in] MCS Modulation Coding Scheme index value
413 *
414 * @return The status of the operation
415 * @retval RETURN_OK if successful
416 * @retval RETURN_ERR if any error is detected
417 *
418 * @execution Synchronous
419 * @sideeffect None
420 *
421 * @note This function must not suspend and must not invoke any blocking system
422 * calls. It should probably just send a message to a driver event handler task.
423 *
424 */
425 INT wifi_setRadioMCS(INT radioIndex, INT MCS);
426 
427 
428 /* wifi_getRadioTransmitPower() function */
429 /**
430 * @brief Get current Transmit Power in dBm units.
431 *
432 * The transmit power value is in dBm units of full power for this radio.
433 *
434 * @param[in] radioIndex Index of Wi-Fi radio channel
435 * @param[out] output_ulong Current Transmit power value, to be returned
436 *
437 * @return The status of the operation
438 * @retval RETURN_OK if successful
439 * @retval RETURN_ERR if any error is detected
440 *
441 * @execution Synchronous
442 * @sideeffect None
443 *
444 * @note This function must not suspend and must not invoke any blocking system
445 * calls. It should probably just send a message to a driver event handler task.
446 *
447 */
448 INT wifi_getRadioTransmitPower(INT radioIndex, ULONG *output_ulong);
449 
450 
451 /* wifi_getRadioPercentageTransmitPower() function E.g : "75" "100"*/
452 /**
453 * @brief Get current Transmit Power level in units of full power.
454 *
455 * The transmit power is a percentage value of full power for this radio.
456 *
457 * @param[in] radioIndex Index of Wi-Fi radio channel
458 * @param[out] output_ulong Current Transmit power percentage value, to be returned
459 *
460 * @return The status of the operation
461 * @retval RETURN_OK if successful
462 * @retval RETURN_ERR if any error is detected
463 *
464 * @execution Synchronous
465 * @sideeffect None
466 *
467 * @note This function must not suspend and must not invoke any blocking system
468 * calls. It should probably just send a message to a driver event handler task.
469 *
470 */
471 INT wifi_getRadioPercentageTransmitPower(INT radioIndex, ULONG *output_ulong);
472 
473 /* wifi_setRadioTransmitPower() function */
474 /**
475 * @brief Set current Transmit Power, eg "75", "100".
476 *
477 * The transmit power level is in units of full power for this radio.
478 *
479 * @param[in] radioIndex Index of Wi-Fi radio channel
480 * @param[in] TransmitPower Transmit power value
481 *
482 * @return The status of the operation
483 * @retval RETURN_OK if successful
484 * @retval RETURN_ERR if any error is detected
485 *
486 * @execution Synchronous
487 * @sideeffect None
488 *
489 * @note This function must not suspend and must not invoke any blocking system
490 * calls. It should probably just send a message to a driver event handler task.
491 *
492 */
493 INT wifi_setRadioTransmitPower(INT radioIndex, ULONG TransmitPower);
494 
495 /* wifi_getRadioCarrierSenseThresholdRange() function */
496 /**
497 * @brief Indicates the Carrier Sense ranges supported by the radio.
498 *
499 * It is measured in dBm. Refer section A.2.3.2 of CableLabs Wi-Fi MGMT Specification.
500 *
501 * @param[in] radioIndex Index of Wi-Fi radio channel
502 * @param[out] output Carrier sense threshold range, to be returned
503 *
504 * @return The status of the operation
505 * @retval RETURN_OK if successful
506 * @retval RETURN_ERR if any error is detected
507 *
508 * @execution Synchronous
509 * @sideeffect None
510 *
511 * @note This function must not suspend and must not invoke any blocking system
512 * calls. It should probably just send a message to a driver event handler task.
513 *
514 */
515 INT wifi_getRadioCarrierSenseThresholdRange(INT radioIndex, INT *output); //P3
516 
517 /* wifi_getRadioCarrierSenseThresholdInUse() function */
518 /**
519 * @brief The RSSI signal level at which CS/CCA detects a busy condition.
520 *
521 * This attribute enables Access Points to increase minimum sensitivity to avoid detecting busy condition
522 * from multiple/weak Wi-Fi sources in dense Wi-Fi environments.
523 * It is measured in dBm. Refer section A.2.3.2 of CableLabs Wi-Fi MGMT Specification.
524 *
525 * @param[in] radioIndex Index of Wi-Fi radio channel
526 * @param[out] output Carrier sense threshold in use, to be returned
527 *
528 * @return The status of the operation
529 * @retval RETURN_OK if successful
530 * @retval RETURN_ERR if any error is detected
531 *
532 * @execution Synchronous
533 * @sideeffect None
534 *
535 * @note This function must not suspend and must not invoke any blocking system
536 * calls. It should probably just send a message to a driver event handler task.
537 *
538 */
539 INT wifi_getRadioCarrierSenseThresholdInUse(INT radioIndex, INT *output); //P3
540 
541 /* wifi_setRadioCarrierSenseThresholdInUse() function */
542 /**
543 * @brief Set Carrier sense threshold in use for the selected radio index.
544 *
545 * The RSSI signal level at which CS/CCA detects a busy condition.
546 * This attribute enables Access Point to increase minimum sensitivity to avoid detecting busy condition
547 * from multiple/weak Wi-Fi sources in dense Wi-Fi environments. It is measured in dBm.
548 *
549 * @param[in] radioIndex Index of Wi-Fi radio channel
550 * @param[in] threshold Carrier sense threshold, to be returned
551 *
552 * @return The status of the operation
553 * @retval RETURN_OK if successful
554 * @retval RETURN_ERR if any error is detected
555 *
556 * @execution Synchronous
557 * @sideeffect None
558 *
559 * @note This function must not suspend and must not invoke any blocking system
560 * calls. It should probably just send a message to a driver event handler task.
561 *
562 */
563 INT wifi_setRadioCarrierSenseThresholdInUse(INT radioIndex, INT threshold); //P3
564 
565 //-----------------------------------------------------------------------------------------------------
566 /* wifi_applyRadioSettings() function */
567 /**
568 * @brief This API is used to apply (push) all previously set radio level variables and make these settings active in the hardware.
569 *
570 * Not all implementations may need this function.
571 * If not needed for a particular implementation simply return no-error (0).
572 *
573 * @param[in] radioIndex Index of Wi-Fi radio channel
574 *
575 * @return The status of the operation
576 * @retval RETURN_OK if successful
577 * @retval RETURN_ERR if any error is detected
578 *
579 * @execution Synchronous
580 * @sideeffect None
581 *
582 * @note This function must not suspend and must not invoke any blocking system
583 * calls. It should probably just send a message to a driver event handler task.
584 *
585 */
586 INT wifi_applyRadioSettings(INT radioIndex);
587 
588 /* wifi_setRadioCtsProtectionEnable() function */
589 /**
590 * @brief Enables CTS protection for the radio used by this Access Point.
591 *
592 * @param[in] apIndex Access Point index
593 * @param[in] enable CTS protection enable value
594 *
595 * @return The status of the operation
596 * @retval RETURN_OK if successful
597 * @retval RETURN_ERR if any error is detected
598 *
599 * @execution Synchronous
600 * @sideeffect None
601 *
602 * @note This function must not suspend and must not invoke any blocking system
603 * calls. It should probably just send a message to a driver event handler task.
604 *
605 */
606 INT wifi_setRadioCtsProtectionEnable(INT apIndex, BOOL enable); //P3
607 
608 /* wifi_setRadioObssCoexistenceEnable() function */
609 /**
610 * @brief Enables OBSS Coexistence - fall back to 20MHz if necessary for the radio used by this AP.
611 *
612 * @param[in] apIndex Access Point index
613 * @param[in] enable OBSS Coexistence enable value
614 *
615 * @return The status of the operation
616 * @retval RETURN_OK if successful
617 * @retval RETURN_ERR if any error is detected
618 *
619 * @execution Synchronous
620 * @sideeffect None
621 *
622 * @note This function must not suspend and must not invoke any blocking system
623 * calls. It should probably just send a message to a driver event handler task.
624 *
625 */
627 
628 /* wifi_setRadioFragmentationThreshold() function */
629 /**
630 * @brief Sets the fragmentation threshold in bytes for the radio used by this Access Point.
631 *
632 * @param[in] apIndex Access Point index
633 * @param[in] threshold Fragmentation Threshold value
634 *
635 * @return The status of the operation
636 * @retval RETURN_OK if successful
637 * @retval RETURN_ERR if any error is detected
638 *
639 * @execution Synchronous
640 * @sideeffect None
641 *
642 * @note This function must not suspend and must not invoke any blocking system
643 * calls. It should probably just send a message to a driver event handler task.
644 *
645 */
646 INT wifi_setRadioFragmentationThreshold(INT apIndex, UINT threshold); //P3
647 
648 /* wifi_setRadioSTBCEnable() function */
649 /**
650 * @brief Enable STBC mode in the hardware.
651 * 0 == not enabled, 1 == enabled.
652 *
653 * @param[in] radioIndex Radio index
654 * @param[in] STBC_Enable STBC mode enable value
655 *
656 * @return The status of the operation
657 * @retval RETURN_OK if successful
658 * @retval RETURN_ERR if any error is detected
659 *
660 * @execution Synchronous
661 * @sideeffect None
662 *
663 * @note This function must not suspend and must not invoke any blocking system
664 * calls. It should probably just send a message to a driver event handler task.
665 *
666 */
667 INT wifi_setRadioSTBCEnable(INT radioIndex, BOOL STBC_Enable);
668 
669 /* wifi_getRadioAMSDUEnable() function */
670 /**
671 * @brief Outputs A-MSDU enable status, 0 == not enabled, 1 == enabled.
672 *
673 * @param[in] radioIndex Radio index
674 * @param[out] output_bool A-MSDU enable status, to be returned
675 *
676 * @return The status of the operation
677 * @retval RETURN_OK if successful
678 * @retval RETURN_ERR if any error is detected
679 *
680 * @execution Synchronous
681 * @sideeffect None
682 *
683 * @note This function must not suspend and must not invoke any blocking system
684 * calls. It should probably just send a message to a driver event handler task.
685 *
686 */
687 INT wifi_getRadioAMSDUEnable(INT radioIndex, BOOL *output_bool);
688 
689 /* wifi_setRadioAMSDUEnable() function */
690 /**
691 * @brief Enables A-MSDU in the hardware, 0 == not enabled, 1 == enabled.
692 *
693 * @param[in] radioIndex Radio index
694 * @param[out] amsduEnable A-MSDU enable status value
695 *
696 * @return The status of the operation
697 * @retval RETURN_OK if successful
698 * @retval RETURN_ERR if any error is detected
699 *
700 * @execution Synchronous
701 * @sideeffect None
702 *
703 * @note This function must not suspend and must not invoke any blocking system
704 * calls. It should probably just send a message to a driver event handler task.
705 *
706 */
707 INT wifi_setRadioAMSDUEnable(INT radioIndex, BOOL amsduEnable);
708 
709 /* wifi_getRadioUpTime() function */
710 /**
711 * @brief Get the number of seconds elapsed since radio is started.
712 *
713 * @param[in] radioIndex Radio index
714 * @param[in] uptime Wifi uptime, to be returned
715 *
716 * @return The status of the operation
717 * @retval RETURN_OK if successful
718 * @retval RETURN_ERR if any error is detected
719 *
720 * @execution Synchronous
721 * @sideeffect None
722 *
723 * @note This function must not suspend and must not invoke any blocking system
724 * calls. It should probably just send a message to a driver event handler task.
725 *
726 */
727 INT wifi_getRadioUpTime(INT radioIndex, ULONG *uptime); // get the number of seconds elapsed since radio is started
728 
729 /* wifi_getRadioReverseDirectionGrantSupported() function */
730 /**
731 * @brief Get radio RDG enable Support.
732 *
733 * @param[in] radioIndex Radio index
734 * @param[out] output_bool RDG enable support value, to be returned
735 *
736 * @return The status of the operation
737 * @retval RETURN_OK if successful
738 * @retval RETURN_ERR if any error is detected
739 *
740 * @execution Synchronous
741 * @sideeffect None
742 *
743 * @note This function must not suspend and must not invoke any blocking system
744 * calls. It should probably just send a message to a driver event handler task.
745 *
746 */
747 INT wifi_getRadioReverseDirectionGrantSupported(INT radioIndex, BOOL *output_bool); //Get radio RDG enable Support
748 
749 /* wifi_getRadioAutoBlockAckEnable() function */
750 /**
751 * @brief Get radio auto block ack enable setting.
752 *
753 * @param[in] radioIndex Radio index
754 * @param[out] output_bool Auto block ack enable setting value, to be returned
755 *
756 * @return The status of the operation
757 * @retval RETURN_OK if successful
758 * @retval RETURN_ERR if any error is detected
759 *
760 * @execution Synchronous
761 * @sideeffect None
762 *
763 * @note This function must not suspend and must not invoke any blocking system
764 * calls. It should probably just send a message to a driver event handler task.
765 *
766 */
767 INT wifi_getRadioAutoBlockAckEnable(INT radioIndex, BOOL *output_bool); //Get radio auto block ack enable setting
768 
769 /* wifi_setRadioAutoBlockAckEnable() function */
770 /**
771 * @brief Set radio auto block ack enable setting.
772 *
773 * @param[in] radioIndex Radio index
774 * @param[in] enable Auto block ack enable setting value
775 *
776 * @return The status of the operation
777 * @retval RETURN_OK if successful
778 * @retval RETURN_ERR if any error is detected
779 *
780 * @execution Synchronous
781 * @sideeffect None
782 *
783 * @note This function must not suspend and must not invoke any blocking system
784 * calls. It should probably just send a message to a driver event handler task.
785 *
786 */
787 INT wifi_setRadioAutoBlockAckEnable(INT radioIndex, BOOL enable); //Set radio auto block ack enable setting
788 
789 /* wifi_getRadioIGMPSnoopingEnable() function */
790 /**
791 * @brief Get radio IGMP snooping enable setting.
792 *
793 * @param[in] radioIndex Radio index
794 * @param[out] output_bool Radio IGMP snooping enable setting, to be returned
795 *
796 * @return The status of the operation
797 * @retval RETURN_OK if successful
798 * @retval RETURN_ERR if any error is detected
799 *
800 * @execution Synchronous
801 * @sideeffect None
802 *
803 * @note This function must not suspend and must not invoke any blocking system
804 * calls. It should probably just send a message to a driver event handler task.
805 *
806 */
807 INT wifi_getRadioIGMPSnoopingEnable(INT radioIndex, BOOL *output_bool); //Get radio IGMP snooping enable setting
808 
809 /* wifi_setRadioIGMPSnoopingEnable() function */
810 /**
811 * @brief Set radio IGMP snooping enable setting.
812 *
813 * @param[in] radioIndex Radio index
814 * @param[out] enable Radio IGMP snooping enable setting
815 *
816 * @return The status of the operation
817 * @retval RETURN_OK if successful
818 * @retval RETURN_ERR if any error is detected
819 *
820 * @execution Synchronous
821 * @sideeffect None
822 *
823 * @note This function must not suspend and must not invoke any blocking system
824 * calls. It should probably just send a message to a driver event handler task.
825 *
826 */
827 INT wifi_setRadioIGMPSnoopingEnable(INT radioIndex, BOOL enable); //Set radio IGMP snooping enable setting
828 
829 /**
830  * @brief Set Zero DFS State
831  *
832  * The Zero DFS feature can be enabled or disabled. For EU countries
833  * the "Pre-CAC" can be also set. If the "Pre-CAC" is set, then
834  * after passing background CAC driver can start background CAC
835  * on the next channel.
836  *
837  * @param[in] radioIndex Index of Wi-Fi radio
838  * @param[in] enabled True if ZeroDFS must be enabled, false otherwise.
839  * @param[in] precac Valid only for EU regulatory domain. If set,
840  * after passing requested backgronund CAN, driver
841  * can start background CAC on the next channel.
842  *
843  * @return The status of the operation
844  * @retval RETURN_OK if successful
845  * @retval RETURN_ERR if any error is detected
846  *
847  * @execution Synchronous
848  * @sideeffect None
849  *
850  */
851 INT wifi_setZeroDFSState(UINT radioIndex, BOOL enable, BOOL precac);
852 
853 /**
854  * @brief Get Zero DFS State
855  *
856  * The Zero DFS feature can be enabled or disabled. For EU countries
857  * the "Pre-CAC" can be also set. If the "Pre-CAC" is set, then
858  * after passing background CAC driver can start background CAC
859  * on next channel.
860  *
861  * @param[in] radioIndex Index of Wi-Fi radio
862  * @param[out] enabled True if ZeroDFS is enabled, false otherwise.
863  * @param[out] precac Valid only for EU regulatory domain. If true,
864  * then driver can start background CAC on
865  * the next channel.
866  *
867  * @return The status of the operation
868  * @retval RETURN_OK if successful
869  * @retval RETURN_ERR if any error is detected
870  *
871  * @execution Synchronous
872  * @sideeffect None
873  *
874  */
875 INT wifi_getZeroDFSState(UINT radioIndex, BOOL *enable, BOOL *precac);
876 
877 /* 802.11ax HAL API prototypes */
878 
879 INT wifi_setDownlinkMuType(INT radio_index, wifi_dl_mu_type_t mu_type);
880 
881 INT wifi_getDownlinkMuType(INT radio_index, wifi_dl_mu_type_t *mu_type);
882 
883 INT wifi_setUplinkMuType(INT radio_index, wifi_ul_mu_type_t mu_type);
884 
885 INT wifi_getUplinkMuType(INT radio_index, wifi_ul_mu_type_t *mu_type);
886 
887 INT wifi_setGuardInterval(INT radio_index, wifi_guard_interval_t guard_interval);
888 
889 INT wifi_getGuardInterval(INT radio_index, wifi_guard_interval_t *guard_interval);
890 
891 INT wifi_setBSSColor(INT radio_index, UCHAR color);
892 
893 INT wifi_getBSSColor(INT radio_index, UCHAR *color);
894 
895 /**
896  * @brief Get the list of avaiable BSS color
897  *
898  * This API return a list of availables BSS color that can be used to
899  * to configure the radio using wifi_setBSSColor API.
900  * This list should be created based on neighbours BSS color and
901  * the station reports.
902  *
903  * @param[in] radio_index Index of Wi-Fi radio
904  * @param[in] maxNumberColors Maximum number of color that can be
905  retuned
906  * @param[out] colorList The list of avaiable BSS color
907  * @param[out] numColorReturned Number of color returned in the list
908  *
909  * @return The status of the operation
910  * @retval WIFI_HAL_SUCCESS if successful
911  * @retval WIFI_HAL_ERROR if an generic error is detected
912  * @retval WIFI_HAL_INTERNAL_ERROR if an internal error is detected
913  * @retval WIFI_HAL_UNSUPPORTED if the API is not supported
914  * @retval WIFI_HAL_INVALID_ARGUMENTS if any of the arguments is invalid
915  * @retval WIFI_HAL_INVALID_VALUE if the value is invalid
916  *
917  * @execution Synchronous
918  * @sideeffect None
919  *
920  */
921 INT wifi_getAvailableBSSColor(INT radio_index, INT maxNumberColors, UCHAR* colorList, INT *numColorReturned);
922 
923 /**
924  * @brief Get MU (Multi-User) EDCA (Enhanced Distributed Channel Access) parameter
925  *
926  * @param[in] radio_index Index of Wi-Fi radio
927  * @param[in] ac The Access Category
928  * @param[out] edca The MU EDCA parameters
929  *
930  * @return The status of the operation
931  * @retval WIFI_HAL_SUCCESS if successful
932  * @retval WIFI_HAL_ERROR if an generic error is detected
933  * @retval WIFI_HAL_INTERNAL_ERROR if an internal error is detected
934  * @retval WIFI_HAL_UNSUPPORTED if the API is not supported
935  * @retval WIFI_HAL_INVALID_ARGUMENTS if any of the arguments is invalid
936  * @retval WIFI_HAL_INVALID_VALUE if the value is invalid
937  *
938  * @execution Synchronous
939  * @sideeffect None
940  *
941  */
943 
944 INT wifi_setDownlinkDataAckType (INT radio_index,
945  wifi_dl_data_ack_type_t ack_type);
946 
948 
949 
950 /////////////////////////// tri radio definitions /////////////////////////////////
951 
952 /**
953  * @brief Set Radio Operating Parameters
954  *
955  * This API is used to configured all radio operation parameter in a
956  * single set. it includes channel number, channelWidth, mode and
957  * auto channel configuration.
958  *
959  * @param[in] radio_index Index of Wi-Fi radio
960  * @param[in] operationParam Radio Operating Parameters
961  *
962  * @return The status of the operation
963  * @retval WIFI_HAL_SUCCESS if successful
964  * @retval WIFI_HAL_ERROR if an generic error is detected
965  * @retval WIFI_HAL_INTERNAL_ERROR if an internal error is detected
966  * @retval WIFI_HAL_UNSUPPORTED if the API is not supported
967  * @retval WIFI_HAL_INVALID_ARGUMENTS if any of the arguments is invalid
968  * @retval WIFI_HAL_INVALID_VALUE if the value is invalid
969  *
970  * @execution Synchronous
971  * @sideeffect None
972  *
973  */
974 INT wifi_setRadioOperatingParameters(wifi_radio_index_t index, wifi_radio_operationParam_t *operationParam);
975 
976 /**
977  * @brief Get Radio Operating Parameters
978  *
979  * @param[in] radio_index Index of Wi-Fi radio
980  * @param[out] operationParam Radio Operating Parameters
981  *
982  * @return The status of the operation
983  * @retval WIFI_HAL_SUCCESS if successful
984  * @retval WIFI_HAL_ERROR if an generic error is detected
985  * @retval WIFI_HAL_INTERNAL_ERROR if an internal error is detected
986  * @retval WIFI_HAL_UNSUPPORTED if the API is not supported
987  * @retval WIFI_HAL_INVALID_ARGUMENTS if any of the arguments is invalid
988  * @retval WIFI_HAL_INVALID_VALUE if the value is invalid
989  *
990  * @execution Synchronous
991  * @sideeffect None
992  *
993  */
994 INT wifi_getRadioOperatingParameters(wifi_radio_index_t index, wifi_radio_operationParam_t *operationParam);
995 
996 /* wifi_getScanResults() function */
997  /**
998  * Description: Return scan results
999  * Parameters :
1000  * ap_index - index of client VAP
1001  * channel - scan channel
1002  * bss - bss stats
1003  * num_bss - number of bss returned
1004  *
1005  * @return status of the operation
1006  * return RETURN_OK - on success
1007  * return RETURN_ERR - on failure
1008  *
1009  * @execution Synchronous.
1010  * @sideeffect None.
1011  *
1012  */
1013 INT wifi_getScanResults(wifi_radio_index_t index, wifi_channel_t *channel, wifi_bss_info_t **bss, UINT *num_bss);
1014 
1015 
1016 typedef INT ( * wifi_scanResults_callback)(wifi_radio_index_t index, wifi_bss_info_t **bss, UINT *num_bss);
1017 
1019 
1020 
1021 /** @} */ //END OF GROUP WIFI_HAL_APIS
1022 
1023 #ifdef __cplusplus
1024 }
1025 #endif
1026 
1027 #endif
wifi_edca_t::aifsn
CHAR aifsn
Definition: wifi_hal_radio.h:113
wifi_ieee80211Variant_t
wifi_ieee80211Variant_t
Wifi 802.11 variant Types.
Definition: wifi_hal_generic.h:306
__attribute__::autoChannelEnabled
BOOL autoChannelEnabled
Definition: wifi_hal_radio.h:72
__attribute__::ctsProtection
BOOL ctsProtection
Definition: wifi_hal_radio.h:96
wifi_getRadioCarrierSenseThresholdRange
INT wifi_getRadioCarrierSenseThresholdRange(INT radioIndex, INT *output)
Indicates the Carrier Sense ranges supported by the radio.
wifi_80211ax_params_t
Definition: wifi_hal_generic.h:755
wifi_getGuardInterval
INT wifi_getGuardInterval(INT radio_index, wifi_guard_interval_t *guard_interval)
wifi_setBSSColor
INT wifi_setBSSColor(INT radio_index, UCHAR color)
wifi_dl_data_block_ack_immediate
@ wifi_dl_data_block_ack_immediate
Definition: wifi_hal_radio.h:121
_wifi_channelMap_t::ch_state
wifi_channelState_t ch_state
Definition: wifi_hal_radio.h:63
wifi_edca_t
Enhanced Distributed Channel Access parameters.
Definition: wifi_hal_radio.h:112
wifi_guard_interval_400
@ wifi_guard_interval_400
Definition: wifi_hal_radio.h:35
CHAR
#define CHAR
Definition: bt_hal.h:45
wifi_guard_interval_800
@ wifi_guard_interval_800
Definition: wifi_hal_radio.h:36
wifi_setRadioDfsAtBootUpEnable
INT wifi_setRadioDfsAtBootUpEnable(INT radioIndex, BOOL enable)
Set the Dfs enable on Bootup status.
wifi_getRadioResetCount
INT wifi_getRadioResetCount(INT radioIndex, ULONG *output_int)
Get the radio reset count.
WIFI_EVENT_RADAR_PRE_CAC_EXPIRED
@ WIFI_EVENT_RADAR_PRE_CAC_EXPIRED
Definition: wifi_hal_radio.h:49
WIFI_EVENT_RADAR_NOP_FINISHED
@ WIFI_EVENT_RADAR_NOP_FINISHED
Definition: wifi_hal_radio.h:48
wifi_getRadioAutoBlockAckEnable
INT wifi_getRadioAutoBlockAckEnable(INT radioIndex, BOOL *output_bool)
Get radio auto block ack enable setting.
__attribute__::transmitPower
UINT transmitPower
Definition: wifi_hal_radio.h:91
__attribute__::guardInterval
wifi_guard_interval_t guardInterval
Definition: wifi_hal_radio.h:90
wifi_getRadioIGMPSnoopingEnable
INT wifi_getRadioIGMPSnoopingEnable(INT radioIndex, BOOL *output_bool)
Get radio IGMP snooping enable setting.
wifi_channelState_t
wifi_channelState_t
Definition: wifi_hal_radio.h:53
wifi_getRadioDfsAtBootUpEnable
INT wifi_getRadioDfsAtBootUpEnable(INT radioIndex, BOOL *enable)
Get the Dfs enable on Bootup status.
BOOL
#define BOOL
Definition: dhcpv4c_api.h:79
__attribute__::DfsEnabledBootup
BOOL DfsEnabledBootup
Definition: wifi_hal_radio.h:105
wifi_getBSSColor
INT wifi_getBSSColor(INT radio_index, UCHAR *color)
__attribute__::operationalDataTransmitRates
UINT operationalDataTransmitRates
Definition: wifi_hal_radio.h:88
CHAN_STATE_DFS_NOP_START
@ CHAN_STATE_DFS_NOP_START
Definition: wifi_hal_radio.h:56
wifi_setRadioMCS
INT wifi_setRadioMCS(INT radioIndex, INT MCS)
Set the Modulation Coding Scheme index, eg: "-1", "1", "15".
wifi_factoryResetRadios
int wifi_factoryResetRadios()
Restore all radio parameters without touching access point parameters.
wifi_setRadioTransmitPower
INT wifi_setRadioTransmitPower(INT radioIndex, ULONG TransmitPower)
Set current Transmit Power, eg "75", "100".
__attribute__::adminControl
UINT adminControl
Definition: wifi_hal_radio.h:101
wifi_setRadioAMSDUEnable
INT wifi_setRadioAMSDUEnable(INT radioIndex, BOOL amsduEnable)
Enables A-MSDU in the hardware, 0 == not enabled, 1 == enabled.
wifi_getRadioStatus
INT wifi_getRadioStatus(INT radioIndex, BOOL *output_bool)
Get the Radio enable status.
MAXNUMSECONDARYCHANNELS
#define MAXNUMSECONDARYCHANNELS
Definition: wifi_hal_radio.h:42
wifi_getRadioPercentageTransmitPower
INT wifi_getRadioPercentageTransmitPower(INT radioIndex, ULONG *output_ulong)
Get current Transmit Power level in units of full power.
wifi_getRadioUpTime
INT wifi_getRadioUpTime(INT radioIndex, ULONG *uptime)
Get the number of seconds elapsed since radio is started.
wifi_getRadioReverseDirectionGrantSupported
INT wifi_getRadioReverseDirectionGrantSupported(INT radioIndex, BOOL *output_bool)
Get radio RDG enable Support.
wifi_freq_bands_t
wifi_freq_bands_t
Wifi Frequency Band Types.
Definition: wifi_hal_generic.h:266
wifi_setUplinkMuType
INT wifi_setUplinkMuType(INT radio_index, wifi_ul_mu_type_t mu_type)
INT
#define INT
Definition: bt_hal.h:65
wifi_setRadioSTBCEnable
INT wifi_setRadioSTBCEnable(INT radioIndex, BOOL STBC_Enable)
Enable STBC mode in the hardware. 0 == not enabled, 1 == enabled.
wifi_channelBandwidth_t
wifi_channelBandwidth_t
Wifi Channel Bandwidth Types.
Definition: wifi_hal_generic.h:280
__attribute__::radioStatsMeasuringRate
UINT radioStatsMeasuringRate
Definition: wifi_hal_radio.h:94
__attribute__::operatingClass
UINT operatingClass
Definition: wifi_hal_radio.h:86
__attribute__::fragmentationThreshold
UINT fragmentationThreshold
Definition: wifi_hal_radio.h:89
wifi_getRadioAMSDUEnable
INT wifi_getRadioAMSDUEnable(INT radioIndex, BOOL *output_bool)
Outputs A-MSDU enable status, 0 == not enabled, 1 == enabled.
wifi_ul_mu_type_t
wifi_ul_mu_type_t
Definition: wifi_hal_generic.h:808
wifi_applyRadioSettings
INT wifi_applyRadioSettings(INT radioIndex)
This API is used to apply (push) all previously set radio level variables and make these settings act...
wifi_getRadioMCS
INT wifi_getRadioMCS(INT radioIndex, INT *output_INT)
Get the Modulation Coding Scheme index, eg: "-1", "1", "15".
wifi_getUplinkMuType
INT wifi_getUplinkMuType(INT radio_index, wifi_ul_mu_type_t *mu_type)
wifi_guard_interval_t
wifi_guard_interval_t
Guard intervals types.
Definition: wifi_hal_radio.h:34
wifi_getDownlinkMuType
INT wifi_getDownlinkMuType(INT radio_index, wifi_dl_mu_type_t *mu_type)
__attribute__::chanUtilThreshold
UINT chanUtilThreshold
Definition: wifi_hal_radio.h:102
__attribute__::rtsThreshold
UINT rtsThreshold
Definition: wifi_hal_radio.h:92
wifi_dl_data_ack_immediate
@ wifi_dl_data_ack_immediate
Definition: wifi_hal_radio.h:120
WIFI_EVENT_RADAR_CAC_STARTED
@ WIFI_EVENT_RADAR_CAC_STARTED
Definition: wifi_hal_radio.h:50
wifi_getRadioChannelsInUse
INT wifi_getRadioChannelsInUse(INT radioIndex, CHAR *output_string)
Get the list of supported channel. eg: "1-11".
_wifi_channelMap_t::ch_number
INT ch_number
Definition: wifi_hal_radio.h:62
wifi_setRadioFragmentationThreshold
INT wifi_setRadioFragmentationThreshold(INT apIndex, UINT threshold)
Sets the fragmentation threshold in bytes for the radio used by this Access Point.
wifi_radar_eventType_t
wifi_radar_eventType_t
Definition: wifi_hal_radio.h:44
wifi_edca_t::cw_max
CHAR cw_max
Definition: wifi_hal_radio.h:115
wifi_operating_env_t
wifi_operating_env_t
Definition: wifi_hal_generic.h:633
CHAN_STATE_AVAILABLE
@ CHAN_STATE_AVAILABLE
Definition: wifi_hal_radio.h:54
__attribute__::csa_beacon_count
UINT csa_beacon_count
Definition: wifi_hal_radio.h:79
wifi_scanResults_callback_register
void wifi_scanResults_callback_register(wifi_scanResults_callback callback_proc)
wifi_guard_interval_auto
@ wifi_guard_interval_auto
Definition: wifi_hal_radio.h:39
wifi_radio_index_t
unsigned int wifi_radio_index_t
Definition: wifi_hal_generic.h:216
wifi_setDownlinkDataAckType
INT wifi_setDownlinkDataAckType(INT radio_index, wifi_dl_data_ack_type_t ack_type)
ULONG
#define ULONG
Definition: bt_hal.h:77
__attribute__::DCSEnabled
BOOL DCSEnabled
Definition: wifi_hal_radio.h:83
wifi_setRadioObssCoexistenceEnable
INT wifi_setRadioObssCoexistenceEnable(INT apIndex, BOOL enable)
Enables OBSS Coexistence - fall back to 20MHz if necessary for the radio used by this AP.
wifi_getRadioIfName
INT wifi_getRadioIfName(INT radioIndex, CHAR *output_string)
Get the Radio Interface name from platform, eg "wifi0".
WIFI_EVENT_RADAR_DETECTED
@ WIFI_EVENT_RADAR_DETECTED
Definition: wifi_hal_radio.h:45
wifi_setRadioDfsEnable
INT wifi_setRadioDfsEnable(INT radioIndex, BOOL enabled)
Set the Dfs enable status.
wifi_getRadioCarrierSenseThresholdInUse
INT wifi_getRadioCarrierSenseThresholdInUse(INT radioIndex, INT *output)
The RSSI signal level at which CS/CCA detects a busy condition.
wifi_setDownlinkMuType
INT wifi_setDownlinkMuType(INT radio_index, wifi_dl_mu_type_t mu_type)
wifi_getRadioDfsEnable
INT wifi_getRadioDfsEnable(INT radioIndex, BOOL *output_bool)
Get the Dfs enable status.
WIFI_EVENT_RADAR_CAC_FINISHED
@ WIFI_EVENT_RADAR_CAC_FINISHED
Definition: wifi_hal_radio.h:46
__attribute__::chanUtilSelfHealEnable
BOOL chanUtilSelfHealEnable
Definition: wifi_hal_radio.h:103
wifi_getAvailableBSSColor
INT wifi_getAvailableBSSColor(INT radio_index, INT maxNumberColors, UCHAR *colorList, INT *numColorReturned)
Get the list of avaiable BSS color.
wifi_setRadioCtsProtectionEnable
INT wifi_setRadioCtsProtectionEnable(INT apIndex, BOOL enable)
Enables CTS protection for the radio used by this Access Point.
__attribute__::DfsEnabled
BOOL DfsEnabled
Definition: wifi_hal_radio.h:104
wifi_getRadioOperatingParameters
INT wifi_getRadioOperatingParameters(wifi_radio_index_t index, wifi_radio_operationParam_t *operationParam)
Get Radio Operating Parameters.
__attribute__::channel
UINT channel
Definition: wifi_hal_radio.h:74
wifi_channelMap_t
struct _wifi_channelMap_t wifi_channelMap_t
wifi_dl_data_block_ack_deferred
@ wifi_dl_data_block_ack_deferred
Definition: wifi_hal_radio.h:122
__attribute__::radioStatsMeasuringInterval
UINT radioStatsMeasuringInterval
Definition: wifi_hal_radio.h:95
wifi_scanResults_callback
INT(* wifi_scanResults_callback)(wifi_radio_index_t index, wifi_bss_info_t **bss, UINT *num_bss)
Definition: wifi_hal_radio.h:1016
UINT
#define UINT
Definition: bt_hal.h:69
__attribute__::dtimPeriod
UINT dtimPeriod
Definition: wifi_hal_radio.h:84
wifi_access_category_t
wifi_access_category_t
Wifi access category (AC) type.
Definition: wifi_hal_generic.h:784
wifi_getRadioTransmitPower
INT wifi_getRadioTransmitPower(INT radioIndex, ULONG *output_ulong)
Get current Transmit Power in dBm units.
wifi_setRadioEnable
INT wifi_setRadioEnable(INT radioIndex, BOOL enable)
Set the Radio enable config parameter.
_wifi_channelMap_t
Definition: wifi_hal_radio.h:61
wifi_setRadioOperatingParameters
INT wifi_setRadioOperatingParameters(wifi_radio_index_t index, wifi_radio_operationParam_t *operationParam)
Set Radio Operating Parameters.
UCHAR
#define UCHAR
Definition: bt_hal.h:49
wifi_getScanResults
INT wifi_getScanResults(wifi_radio_index_t index, wifi_channel_t *channel, wifi_bss_info_t **bss, UINT *num_bss)
__attribute__::operatingEnvironment
wifi_operating_env_t operatingEnvironment
Definition: wifi_hal_radio.h:81
wifi_setGuardInterval
INT wifi_setGuardInterval(INT radio_index, wifi_guard_interval_t guard_interval)
__attribute__::obssCoex
BOOL obssCoex
Definition: wifi_hal_radio.h:97
wifi_getMuEdca
INT wifi_getMuEdca(INT radio_index, wifi_access_category_t ac, wifi_edca_t *edca)
Get MU (Multi-User) EDCA (Enhanced Distributed Channel Access) parameter.
__attribute__::variant
wifi_ieee80211Variant_t variant
Definition: wifi_hal_radio.h:78
__attribute__::countryCode
wifi_countrycode_type_t countryCode
Definition: wifi_hal_radio.h:80
wifi_getZeroDFSState
INT wifi_getZeroDFSState(UINT radioIndex, BOOL *enable, BOOL *precac)
Get Zero DFS State.
wifi_setRadioAutoBlockAckEnable
INT wifi_setRadioAutoBlockAckEnable(INT radioIndex, BOOL enable)
Set radio auto block ack enable setting.
CHAN_STATE_DFS_CAC_COMPLETED
@ CHAN_STATE_DFS_CAC_COMPLETED
Definition: wifi_hal_radio.h:58
__attribute__::userControl
UINT userControl
Definition: wifi_hal_radio.h:100
wifi_setRadioIGMPSnoopingEnable
INT wifi_setRadioIGMPSnoopingEnable(INT radioIndex, BOOL enable)
Set radio IGMP snooping enable setting.
wifi_dl_mu_type_t
wifi_dl_mu_type_t
Definition: wifi_hal_generic.h:801
__attribute__::beaconInterval
UINT beaconInterval
Definition: wifi_hal_radio.h:85
__attribute__
typedef __attribute__
wifi_guard_interval_3200
@ wifi_guard_interval_3200
Definition: wifi_hal_radio.h:38
wifi_guard_interval_1600
@ wifi_guard_interval_1600
Definition: wifi_hal_radio.h:37
params
Definition: wifi_hal_emu.h:5120
wifi_setRadioCarrierSenseThresholdInUse
INT wifi_setRadioCarrierSenseThresholdInUse(INT radioIndex, INT threshold)
Set Carrier sense threshold in use for the selected radio index.
__attribute__::greenFieldEnable
BOOL greenFieldEnable
Definition: wifi_hal_radio.h:99
__attribute__::basicDataTransmitRates
UINT basicDataTransmitRates
Definition: wifi_hal_radio.h:87
__attribute__::op_class
UINT op_class
Definition: wifi_hal_radio.h:73
__attribute__::stbcEnable
BOOL stbcEnable
Definition: wifi_hal_radio.h:98
__attribute__::factoryResetSsid
BOOL factoryResetSsid
Definition: wifi_hal_radio.h:93
wifi_countrycode_type_t
wifi_countrycode_type_t
Definition: wifi_hal_generic.h:382
WIFI_EVENT_RADAR_CAC_ABORTED
@ WIFI_EVENT_RADAR_CAC_ABORTED
Definition: wifi_hal_radio.h:47
wifi_get80211axDefaultParameters
INT wifi_get80211axDefaultParameters(INT radio_index, wifi_80211ax_params_t *params)
wifi_edca_t::cw_min
CHAR cw_min
Definition: wifi_hal_radio.h:114
CHAN_STATE_DFS_CAC_START
@ CHAN_STATE_DFS_CAC_START
Definition: wifi_hal_radio.h:57
wifi_dl_data_ack_type_t
wifi_dl_data_ack_type_t
Definition: wifi_hal_radio.h:119
wifi_factoryResetRadio
int wifi_factoryResetRadio(int radioIndex)
Restore selected radio parameters without touching access point parameters.
__attribute__::numSecondaryChannels
UINT numSecondaryChannels
Definition: wifi_hal_radio.h:75
wifi_edca_t::timer
CHAR timer
Definition: wifi_hal_radio.h:116
wifi_setZeroDFSState
INT wifi_setZeroDFSState(UINT radioIndex, BOOL enable, BOOL precac)
Set Zero DFS State.
CHAN_STATE_DFS_NOP_FINISHED
@ CHAN_STATE_DFS_NOP_FINISHED
Definition: wifi_hal_radio.h:55
wifi_getRadioEnable
INT wifi_getRadioEnable(INT radioIndex, BOOL *output_bool)
Get the Radio enable config parameter.