hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
/*
 * Forward declarations for commonly used wl driver structs
 *
 * Copyright (C) 2020, Broadcom.
 *
 *      Unless you and Broadcom execute a separate written software license
 * agreement governing use of this software, this software is licensed to you
 * under the terms of the GNU General Public License version 2 (the "GPL"),
 * available at http://www.broadcom.com/licenses/GPLv2.php, with the
 * following added to such license:
 *
 *      As a special exception, the copyright holders of this software give you
 * permission to link this software with independent modules, and to copy and
 * distribute the resulting executable under terms of your choice, provided that
 * you also meet, for each linked independent module, the terms and conditions of
 * the license of that module.  An independent module is a module which is not
 * derived from this software.  The special exception does not apply to any
 * modifications of the software.
 *
 *
 * <<Broadcom-WL-IPTag/Open:>>
 *
 * $Id$
 */
 
#ifndef _wlc_types_h_
#define _wlc_types_h_
#include <wlioctl.h>
 
/* Version of WLC interface to be returned as a part of wl_wlc_version structure.
 */
 
#define WLC_API_VERSION_MAJOR      14
#define WLC_API_VERSION_MINOR      0
 
/* forward declarations */
 
typedef struct wlc_info wlc_info_t;
typedef struct join_pref join_pref_t;
typedef struct wlcband wlcband_t;
typedef struct wlc_cmn_info wlc_cmn_info_t;
typedef struct wlc_assoc_info wlc_assoc_info_t;
typedef struct wlc_pm_info wlc_pm_info_t;
 
typedef struct wlc_bsscfg wlc_bsscfg_t;
typedef struct wlc_mbss_info wlc_mbss_info_t;
typedef struct wlc_spt wlc_spt_t;
typedef struct scb scb_t;
typedef struct scb_iter scb_iter_t;
typedef struct vndr_ie_listel vndr_ie_listel_t;
typedef struct wlc_if wlc_if_t;
typedef struct wl_if wl_if_t;
typedef struct led_info led_info_t;
typedef struct bmac_led bmac_led_t;
typedef struct bmac_led_info bmac_led_info_t;
typedef struct seq_cmds_info wlc_seq_cmds_info_t;
typedef struct ota_test_info ota_test_info_t;
typedef struct apps_wlc_psinfo apps_wlc_psinfo_t;
typedef struct scb_module scb_module_t;
typedef struct hscb_module hscb_module_t;
typedef struct wlc_scb_handle wlc_scbh_t;
typedef struct ba_info ba_info_t;
typedef struct wlc_frminfo wlc_frminfo_t;
typedef struct amsdu_info amsdu_info_t;
typedef struct txq_info txq_info_t;
typedef struct wlc_mux_info wlc_mux_info_t;
typedef struct wlc_scbq_info wlc_scbq_info_t;
typedef struct txq txq_t;
typedef struct flow_ctx_info wlc_flow_ctx_info_t;
typedef struct cram_info cram_info_t;
typedef struct wlc_txq_info wlc_txq_info_t;
typedef struct wlc_hrt_info wlc_hrt_info_t;
typedef struct wlc_hrt_to wlc_hrt_to_t;
typedef struct wlc_cac wlc_cac_t;
typedef struct ampdu_tx_info ampdu_tx_info_t;
typedef struct ampdu_rx_info ampdu_rx_info_t;
typedef struct scb_ampdu_tx scb_ampdu_tx_t;
typedef struct scb_ampdu_tid_ini scb_ampdu_tid_ini_t;
typedef struct wlc_ratesel_info wlc_ratesel_info_t;
typedef struct ratesel_info ratesel_info_t;
#ifdef WLFIPS
typedef struct wl_fips_info wl_fips_info_t;
#endif
typedef struct wlc_ap_info wlc_ap_info_t;
typedef struct cs_info cs_info_t;
typedef struct wlc_scan_info wlc_scan_info_t;
typedef struct wlc_scan_cmn_info wlc_scan_cmn_t;
typedef struct wlc_slotted_bss_info wlc_slotted_bss_info_t;
typedef struct wl_bcn_report_cfg wl_bcn_report_cfg_t;
#ifdef WLAWDL
typedef struct wlc_awdl_info wlc_awdl_info_t;
#endif
#ifdef BCMPCIE_HP2P
typedef struct wlc_hp2p_info wlc_hp2p_info_t;
typedef struct wlc_hp2p_cmn wlc_hp2p_cmn_t;
#endif
#ifdef WLDFSP
typedef struct wlc_dfsp_info wlc_dfsp_info_t;
#endif /* WLDFSP */
typedef struct tdls_info tdls_info_t;
typedef struct dls_info dls_info_t;
typedef struct l2_filter_info l2_filter_info_t;
typedef struct wlc_auth_info wlc_auth_info_t;
typedef struct wlc_sup_info wlc_sup_info_t;
typedef struct wlc_fbt_info wlc_fbt_info_t;
typedef struct wlc_assoc_mgr_info wlc_assoc_mgr_info_t;
typedef struct wlc_psta_info wlc_psta_info_t;
typedef struct wlc_mcnx_info wlc_mcnx_info_t;
typedef struct wlc_p2p_info wlc_p2p_info_t;
typedef struct wlc_cxnoa_info wlc_cxnoa_info_t;
typedef struct mchan_info mchan_info_t;
typedef struct wlc_mchan_context wlc_mchan_context_t;
typedef struct bta_info bta_info_t;
typedef struct wowlpf_info wowlpf_info_t;
typedef struct wlc_plt_info wlc_plt_pub_t;
typedef struct antsel_info antsel_info_t;
typedef struct bmac_pmq bmac_pmq_t;
typedef struct wmf_info wmf_info_t;
typedef struct wlc_rrm_info wlc_rrm_info_t;
typedef struct rm_info rm_info_t;
 
typedef struct wlc_dpc_info wlc_dpc_info_t;
 
typedef struct wlc_11h_info wlc_11h_info_t;
typedef struct wlc_tpc_info wlc_tpc_info_t;
typedef struct wlc_csa_info wlc_csa_info_t;
typedef struct wlc_quiet_info wlc_quiet_info_t;
typedef struct cca_info cca_info_t;
typedef struct itfr_info itfr_info_t;
typedef struct wlc_wbtext_info wlc_wbtext_info_t;
typedef struct wlc_wnm_info wlc_wnm_info_t;
typedef struct wlc_wnm_pdt_info wlc_wnm_pdt_info_t;
typedef struct wlc_wnm_roamscan_complete_data wlc_wnm_roamscan_complete_data_t;
typedef struct wlc_wnm_roamscan_complete_res wlc_wnm_roamscan_complete_res_t;
typedef struct wlc_11d_info wlc_11d_info_t;
typedef struct wlc_cntry_info wlc_cntry_info_t;
 
typedef struct wlc_dfs_info wlc_dfs_info_t;
 
typedef struct bsscfg_module bsscfg_module_t;
 
typedef struct wlc_prot_info wlc_prot_info_t;
typedef struct wlc_prot_g_info wlc_prot_g_info_t;
typedef struct wlc_prot_n_info wlc_prot_n_info_t;
typedef struct wlc_prot_obss_info wlc_prot_obss_info_t;
typedef struct wlc_obss_dynbw wlc_obss_dynbw_t;
typedef struct wlc_11u_info wlc_11u_info_t;
typedef struct wlc_probresp_info wlc_probresp_info_t;
typedef struct wlc_wapi_info wlc_wapi_info_t;
 
typedef struct wlc_tbtt_info wlc_tbtt_info_t;
typedef struct wlc_nic_info wlc_nic_info_t;
 
typedef struct wlc_bssload_info wlc_bssload_info_t;
 
typedef struct wlc_pcb_info wlc_pcb_info_t;
typedef struct wlc_txc_info wlc_txc_info_t;
 
typedef struct wlc_trf_mgmt_ctxt    wlc_trf_mgmt_ctxt_t;
typedef struct wlc_trf_mgmt_info    wlc_trf_mgmt_info_t;
 
typedef struct wlc_net_detect_ctxt  wlc_net_detect_ctxt_t;
 
typedef struct wlc_powersel_info wlc_powersel_info_t;
typedef struct powersel_info powersel_info_t;
 
typedef struct wlc_lpc_info wlc_lpc_info_t;
typedef struct lpc_info lpc_info_t;
typedef struct rate_lcb_info rate_lcb_info_t;
typedef struct wlc_txbf_info wlc_txbf_info_t;
typedef struct wlc_mutx_info wlc_mutx_info_t;
typedef struct wlc_murx_info wlc_murx_info_t;
 
typedef struct wlc_olpc_eng_info_t wlc_olpc_eng_info_t;
/* used by olpc to register for callbacks from stf */
typedef void (*wlc_stf_txchain_evt_notify)(wlc_info_t *wlc);
 
typedef struct wlc_rfc wlc_rfc_t;
typedef struct wlc_pktc_info wlc_pktc_info_t;
 
typedef struct wlc_mfp_info wlc_mfp_info_t;
 
typedef struct wlc_mdns_info wlc_mdns_info_t;
 
typedef struct wlc_macfltr_info wlc_macfltr_info_t;
 
typedef struct wlc_bs_data_info wlc_bs_data_info_t;
 
typedef struct wlc_keymgmt wlc_keymgmt_t;
typedef struct wlc_key    wlc_key_t;
typedef struct wlc_key_info wlc_key_info_t;
 
typedef struct wlc_hw wlc_hw_t;
typedef struct wlc_hw_info wlc_hw_info_t;
typedef struct wlc_hwband wlc_hwband_t;
 
typedef struct wlc_rx_stall_info wlc_rx_stall_info_t;
typedef struct wlc_txs_hist wlc_txs_hist_t;
 
typedef struct wlc_tx_stall_info wlc_tx_stall_info_t;
typedef struct wlc_tx_stall_counters wlc_tx_stall_counters_t;
 
typedef struct wlc_rmc_info wlc_rmc_info_t;
 
typedef struct wlc_iem_info wlc_iem_info_t;
 
typedef struct wlc_ier_info wlc_ier_info_t;
typedef struct wlc_ier_reg wlc_ier_reg_t;
typedef struct wlc_ier_reg_data wlc_ier_reg_data_t;
typedef struct wlc_ier_reg_cmn wlc_ier_reg_cmn_t;
 
typedef struct wlc_filter_ie_info wlc_filter_ie_info_t;
 
typedef struct wlc_ht_info wlc_ht_info_t;
typedef struct wlc_obss_info wlc_obss_info_t;
typedef struct wlc_vht_info wlc_vht_info_t;
typedef struct wlc_akm_info wlc_akm_info_t;
 
typedef struct wlc_bss_info wlc_bss_info_t;
 
typedef struct wlc_hs20_info wlc_hs20_info_t;
typedef struct wlc_hs20_cmn wlc_hs20_cmn_t;
typedef struct wlc_pmkid_info    wlc_pmkid_info_t;
typedef struct wlc_btc_info wlc_btc_info_t;
typedef struct wlc_btc_hw_info wlc_btc_hw_info_t;
 
typedef struct wlc_txh_info wlc_txh_info_t;
 
typedef struct wlc_staprio_info wlc_staprio_info_t;
typedef struct wlc_stamon_info wlc_stamon_info_t;
typedef struct wlc_monitor_info wlc_monitor_info_t;
typedef struct monitor_info monitor_info_t;
 
typedef struct wlc_debug_crash_info wlc_debug_crash_info_t;
 
typedef struct wlc_nan_info wlc_nan_info_t;
typedef struct wlc_edv_info wlc_edv_info_t;
typedef struct wlc_tsmap_info wlc_tsmap_info_t;
 
typedef struct wlc_wds_info wlc_wds_info_t;
typedef struct okc_info okc_info_t;
typedef struct wlc_aibss_info wlc_aibss_info_t;
typedef struct wlc_ipfo_info wlc_ipfo_info_t;
typedef struct wlc_stats_info wlc_stats_info_t;
 
typedef struct wlc_pps_info wlc_pps_info_t;
 
typedef struct duration_info duration_info_t;
 
typedef struct wlc_pdsvc_info wlc_pdsvc_info_t;
 
typedef struct wlc_swdiv_info wlc_swdiv_info_t;
typedef struct lqcm_stats lqcm_stats_t;
 
/* For LTE Coex */
typedef struct wlc_ltecx_info wlc_ltecx_info_t;
 
typedef struct mws_scanreq_bms mws_scanreq_bms_t;
 
typedef struct wlc_probresp_mac_filter_info wlc_probresp_mac_filter_info_t;
 
typedef struct wlc_ltr_info wlc_ltr_info_t;
 
typedef struct bwte_info bwte_info_t;
 
typedef struct tbow_info tbow_info_t;
 
typedef struct wlc_modesw_info wlc_modesw_info_t;
 
typedef struct wlc_pm_mute_tx_info wlc_pm_mute_tx_t;
 
typedef struct wlc_nr5gcx_info wlc_nr5gcx_info_t;
 
typedef struct wlc_bcntrim_info wlc_bcntrim_info_t;
typedef wl_bcntrim_cfg_v1_t    wl_bcntrim_cfg_t;
typedef wl_bcntrim_status_query_v1_t    wl_bcntrim_status_query_t;
typedef wl_bcntrim_status_v1_t    wl_bcntrim_status_t;
#define WL_BCNTRIM_STATUS_VERSION WL_BCNTRIM_STATUS_VERSION_1
#define WL_BCNTRIM_CFG_VERSION    WL_BCNTRIM_CFG_VERSION_1
 
typedef struct wlc_ops_info wlc_ops_info_t;
typedef wl_ops_cfg_v1_t  wl_ops_cfg_t;
typedef wl_ops_status_v1_t  wl_ops_status_t;
#define WL_OPS_STATUS_VERSION WL_OPS_STATUS_VERSION_1
#define WL_OPS_CFG_VERSION WL_OPS_CFG_VERSION_1
 
typedef struct wlc_psbw_info wlc_psbw_info_t;
typedef wl_psbw_cfg_v1_t  wl_psbw_cfg_t;
typedef wl_psbw_status_v1_t  wl_psbw_status_t;
#define WL_PSBW_STATUS_VERSION WL_PSBW_STATUS_VERSION_1
#define WL_PSBW_CFG_VERSION WL_PSBW_CFG_VERSION_1
 
typedef struct wlc_smfs_info wlc_smfs_info_t;
typedef struct wlc_misc_info wlc_misc_info_t;
 
typedef struct wlc_eventq wlc_eventq_t;
typedef struct wlc_event wlc_event_t;
 
typedef struct wlc_bsscfg_psq_info wlc_bsscfg_psq_info_t;
typedef struct wlc_bsscfg_viel_info wlc_bsscfg_viel_info_t;
 
typedef struct wlc_txmod_info wlc_txmod_info_t;
typedef struct tx_path_node tx_path_node_t;
 
typedef struct wlc_linkstats_info wlc_linkstats_info_t;
 
typedef struct wl_shub_info wl_shub_info_t;
 
typedef struct wlc_lq_info wlc_lq_info_t;
typedef struct chanim_info chanim_info_t;
 
typedef struct wlc_mesh_info wlc_mesh_info_t;
typedef struct wlc_wlfc_info wlc_wlfc_info_t;
 
typedef struct wlc_frag_info wlc_frag_info_t;
typedef struct wlc_bss_list wlc_bss_list_t;
 
typedef struct wlc_msch_info wlc_msch_info_t;
typedef struct wlc_msch_req_handle wlc_msch_req_handle_t;
 
typedef struct wlc_randmac_info wlc_randmac_info_t;
 
typedef struct wlc_chanctxt wlc_chanctxt_t;
typedef struct wlc_chanctxt_info wlc_chanctxt_info_t;
typedef struct wlc_sta_info wlc_sta_info_t;
 
typedef struct health_check_info health_check_info_t;
typedef struct wlc_act_frame_info wlc_act_frame_info_t;
typedef struct nan_sched_req_handle nan_sched_req_handle_t;
 
typedef struct wlc_qos_info wlc_qos_info_t;
 
typedef struct wlc_assoc wlc_assoc_t;
typedef struct wlc_roam wlc_roam_t;
typedef struct wlc_pm_st wlc_pm_st_t;
typedef struct wlc_pm_timers wlc_pm_timers_t;
typedef struct wlc_wme wlc_wme_t;
 
typedef struct wlc_link_qual wlc_link_qual_t;
 
typedef struct wlc_rsdb_info wlc_rsdb_info_t;
 
typedef struct wlc_asdb wlc_asdb_t;
 
typedef struct rsdb_common_info rsdb_cmn_info_t;
typedef struct rsdb_chan_sw_info rsdb_chan_sw_info_t;
 
typedef struct wlc_macdbg_info wlc_macdbg_info_t;
typedef struct wlc_rspec_info wlc_rspec_info_t;
typedef struct wlc_ndis_info wlc_ndis_info_t;
 
typedef struct wlc_join_pref wlc_join_pref_t;
 
typedef struct wlc_scan_utils wlc_scan_utils_t;
#ifdef ACKSUPR_MAC_FILTER
typedef struct wlc_addrmatch_info wlc_addrmatch_info_t;
#endif /* ACKSUPR_MAC_FILTER */
 
typedef struct cca_ucode_counts cca_ucode_counts_t;
typedef struct cca_chan_qual cca_chan_qual_t;
 
typedef struct wlc_perf_utils wlc_perf_utils_t;
typedef struct wlc_test_info wlc_test_info_t;
 
typedef struct chanswitch_times chanswitch_times_t;
typedef struct wlc_dump_info wlc_dump_info_t;
 
typedef struct wlc_stf wlc_stf_t;
typedef struct wlc_rsdb_policymgr_info wlc_rsdb_policymgr_info_t;
 
typedef struct wlc_he_info wlc_he_info_t;
typedef struct wlc_twt_info wlc_twt_info_t;
 
/* TWT_STATS */
typedef wl_twt_peer_stats_v1_t wl_twt_peer_stats_t;
typedef wl_twt_stats_v1_t wl_twt_stats_t;
typedef wl_twt_stats_cmd_v1_t wl_twt_stats_cmd_t;
 
typedef struct wlc_heb_info wlc_heb_info_t;
 
typedef struct resv_info resv_info_t;
 
typedef struct wl_scan_summary wl_scan_summary_t;
 
typedef struct wlc_stf_arb wlc_stf_arb_t;
 
typedef struct wlc_stf_nss_request_st wlc_stf_nss_request_t;
 
typedef struct wlc_stf_nss_request_q_st wlc_stf_nss_request_q_t;
 
typedef struct wl_mimo_siso_stats wl_mimo_siso_stats_t;
 
typedef struct wlc_mimo_ps_cfg wlc_mimo_ps_cfg_t;
 
typedef struct wlc_hw_config wlc_hw_config_t;
 
typedef struct wlc_stf_arb_mps_info wlc_stf_arb_mps_info_t;
 
typedef struct wlc_tsync wlc_tsync_t;
 
typedef struct wlc_fragdur_info wlc_fragdur_info_t;
 
typedef struct wlc_mbo_info wlc_mbo_info_t;
 
typedef struct wlc_rx_hc wlc_rx_hc_t;
 
typedef struct wlc_oce_info wlc_oce_info_t;
 
typedef struct wlc_fils_info wlc_fils_info_t;
 
typedef struct wlc_sfd_cache wlc_sfd_cache_t;
 
typedef struct wlc_ifstats_info wlc_ifstats_info_t;
 
typedef struct wlc_mbo_oce_info wlc_mbo_oce_info_t;
 
typedef struct wlc_esp_info wlc_esp_info_t;
 
/* sta_info_v6 uses rateset_v2 which supported only when RATESET_VERSION_ENABLED */
#ifdef    RATESET_VERSION_ENABLED
typedef sta_info_v6_t sta_info_t;
#else
typedef sta_info_v5_t sta_info_t;
#endif /* RATESET_VERSION_ENABLED */
 
typedef struct wl_roam_prof_band_v3 wl_roam_prof_band_t;
typedef struct wl_roam_prof_v3 wl_roam_prof_t;
 
typedef struct wlc_swdiv_stats_v2 wlc_swdiv_stats_t;
typedef struct wl_dfs_ap_move_status_v2 wl_dfs_ap_move_status_t;
 
typedef struct wl_utrace_capture_args_v2 wl_utrace_capture_args_t;
typedef struct wl_pmalert_ucode_dbg_v2 wl_pmalert_ucode_dbg_t;
 
typedef struct wl_proxd_collect_data_v3 wl_proxd_collect_data_t;
typedef struct wl_proxd_collect_event_data_v3 wl_proxd_collect_event_data_t;
 
typedef struct wlc_leakyapstats_info_v1 wlc_leakyapstats_info_t;
 
typedef struct wlc_chctx_info wlc_chctx_info_t;
 
typedef struct wlc_rpsnoa_info wlc_rpsnoa_info_t;
 
/* Inteface version mapping for versioned pfn structures */
#undef PFN_SCANRESULT_VERSION
#define PFN_SCANRESULT_VERSION PFN_SCANRESULT_VERSION_V2
#define PFN_SCANRESULTS_VERSION PFN_SCANRESULTS_VERSION_V2
#define PFN_LBEST_SCAN_RESULT_VERSION PFN_LBEST_SCAN_RESULT_VERSION_V2
typedef wl_pfn_subnet_info_v2_t wl_pfn_subnet_info_t;
typedef wl_pfn_net_info_v2_t wl_pfn_net_info_t;
typedef wl_pfn_lnet_info_v2_t wl_pfn_lnet_info_t;
typedef wl_pfn_lscanresults_v2_t wl_pfn_lscanresults_t;
typedef wl_pfn_scanresults_v2_t wl_pfn_scanresults_t;
typedef wl_pfn_scanresult_v2_1_t wl_pfn_scanresult_t;
 
/* XXX: 13_10 uses interface_create_v3 */
#define WL_INTERFACE_CREATE_VER        WL_INTERFACE_CREATE_VER_3
typedef wl_interface_create_v3_t wl_interface_create_t;
 
#define WL_INTERFACE_INFO_VER        WL_INTERFACE_INFO_VER_2
typedef wl_interface_info_v2_t wl_interface_info_t;
 
#define WL_PKTENG_RU_FILL_CURRENT_VER    WL_PKTENG_RU_FILL_VER_2
 
#ifdef WLAWDL
typedef awdl_stats_core_v3_t awdl_stats_core_t;
typedef awdl_stats_cmn_v3_t awdl_stats_cmn_t;
typedef awdl_stats_v3_t awdl_stats_t;
#endif
typedef struct wlc_hwa_info wlc_hwa_info_t;
#define UCM_PROFILE_VERSION UCM_PROFILE_VERSION_1
typedef wlc_btcx_profile_v1_t wlc_btcx_profile_t;
 
#ifndef WL_BTCXSTATS
#define BTCX_STATS_VER BTCX_STATS_VER_3
typedef wlc_btc_stats_v3_t wlc_btc_stats_t;
#else
#define BTCX_STATS_VER BTCX_STATS_VER_4
typedef wlc_btc_stats_v4_t wlc_btc_stats_t;
#endif
 
#define WL_BTC_WIFI_PROT_VER WL_BTC_WIFI_PROT_VER_1
typedef wl_btc_wifi_prot_v1_t wl_btc_wifi_prot_t;
 
/* TXQ MUX Broadcast/Multicast module and cubby structure definition */
typedef struct wlc_bcmcq_info wlc_bcmcq_info_t;
typedef struct bcmc_cubby bcmc_cubby_t;
 
typedef struct wlc_ratelinkmem_info wlc_ratelinkmem_info_t;
 
typedef wl_proxd_params_tof_tune_v3_t wl_proxd_params_tof_tune_t;
 
/* ranging context */
typedef struct wlc_ftm_ranging_ctx wlc_ftm_ranging_ctx_t;
 
#define ETD_DATA_VERSION ETD_DATA_VERSION_V1
typedef etd_data_v1_t etd_data_t;
typedef etd_tag_data_v1_t etd_tag_data_t;
typedef join_classification_info_v1_t join_classification_info_t;
typedef join_target_classification_info_v1_t join_target_classification_info_t;
typedef join_assoc_state_v1_t join_assoc_state_t;
typedef join_channel_v1_t join_channel_t;
typedef join_total_attempts_num_v1_t join_total_attempts_num_t;
 
typedef rmc_bss_info_v1_t rmc_bss_info_t;
typedef rmc_candidate_info_v1_t rmc_candidate_info_t;
 
typedef struct wlc_adps_info wlc_adps_info_t;
typedef event_ecounters_config_request_v2_t ecounters_event_based_config_t;
 
#define WL_BAM_CMD_ENABLE    WL_BAM_CMD_ENABLE_V1
#define WL_BAM_CMD_DISABLE    WL_BAM_CMD_DISABLE_V1
#define WL_BAM_CMD_CONFIG    WL_BAM_CMD_CONFIG_V1
#define WL_BAM_CMD_DUMP        WL_BAM_CMD_DUMP_V1
typedef struct wlc_bam_info wlc_bam_info_t;
typedef struct wl_bam_iov_enable_v1 wl_bam_iov_enable_type;
typedef struct wl_bam_iov_enable_v1 wl_bam_iov_disable_type;
typedef struct wl_bam_iov_config_v1 wl_bam_iov_config_type;
typedef struct wl_bam_iov_dump_v1 wl_bam_iov_dump_type;
typedef struct wl_bam_iov_bcn_config_v1 wl_bam_iov_bcn_config_type;
typedef struct wl_bam_iov_dump_bcn_elem_v1 wl_bam_iov_dump_bcn_elem_type;
 
typedef struct chanswitch_hist_info wl_chsw_hist_info_t;
typedef struct wlc_tdm_tx_info wlc_tdm_tx_info_t;
#ifdef WL_TDMTX_TYPEDEF_HAS_ALIAS
typedef tdmtx_cnt_v2_t tdmtx_cnt_t;
typedef tdmtx_cnt_shm_v2_t tdmtx_cnt_shm_t;
typedef wl_tdmtx_ecounters_v2_t wl_tdmtx_ecounters_t;
#define WL_CNT_TDMTX_STRUCT_SZ (sizeof(tdmtx_cnt_t))
#define WL_CNT_TDMTX_SHM_SZ (sizeof(tdmtx_cnt_shm_t))
#endif
typedef struct wlc_tvpm_info wlc_tvpm_info_t;
 
#define WL_HEB_CURRENT_VER WL_HEB_VER_1
 
typedef wl_heb_cnt_v1_t wl_heb_cnt_t;
typedef wl_config_heb_fill_v1_t wl_config_heb_fill_t;
typedef wl_heb_blk_params_v1_t wl_heb_blk_params_t;
typedef wl_heb_reg_status_v1_t wl_heb_reg_status_t;
typedef wl_heb_status_v1_t wl_heb_status_t;
typedef wl_heb_int_cnt_v1_t wl_heb_int_cnt_t;
 
typedef struct wl_proxd_rtt_sample_v2 wl_proxd_rtt_sample_t;
typedef struct wl_proxd_rtt_result_v2 wl_proxd_rtt_result_t;
 
#ifdef RATESET_VERSION_ENABLED
/* all rateset_args structures and version updates will come here */
#define RATESET_ARGS_VERSION    (RATESET_ARGS_V2)
typedef wl_rateset_args_v2_t wl_rateset_args_t;
#endif /* RATESET_VERSION_ENABLED */
 
#ifdef WL_PKTENG_STATS_TYPEDEF_HAS_ALIAS
typedef wl_pkteng_stats_v2_t wl_pkteng_stats_t;
#endif /* WL_PKTENG_STATS_TYPEDEF_HAS_ALIAS */
 
#ifdef WL_BSS_INFO_TYPEDEF_HAS_ALIAS
typedef wl_bss_info_v109_2_t wl_bss_info_t;
 
typedef wl_gscan_bss_info_v3_t wl_gscan_bss_info_t;
#define WL_GSCAN_INFO_FIXED_FIELD_SIZE   (OFFSETOF(wl_gscan_bss_info_t, info))
 
typedef wl_scan_results_v2_t wl_scan_results_t;
/** size of wl_scan_results not including variable length array */
#define WL_SCAN_RESULTS_FIXED_SIZE (OFFSETOF(wl_scan_results_t, bss_info))
 
typedef wl_escan_result_v2_t wl_escan_result_t;
#define WL_ESCAN_RESULTS_FIXED_SIZE (OFFSETOF(wl_escan_result_t, bss_info))
 
typedef wl_iscan_results_v2_t wl_iscan_results_t;
/** size of wl_iscan_results not including variable length array */
#define WL_ISCAN_RESULTS_FIXED_SIZE \
   (WL_SCAN_RESULTS_FIXED_SIZE + OFFSETOF(wl_iscan_results_t, results))
 
typedef wl_gscan_result_v2_1_t wl_gscan_result_t;
#define WL_GSCAN_RESULTS_FIXED_SIZE (OFFSETOF(wl_gscan_result_t, bss_info))
#endif /* WL_BSS_INFO_TYPEDEF_HAS_ALIAS */
 
#define WLC_ALLOCMEM_POSTREV80
 
typedef uint8 wlc_mbsp_sel_t;
typedef uint8 dot11_mbsp_sel_t;
 
#ifdef WL_PKTENG_RU_VER
typedef wl_pkteng_ru_v2_t wl_pkteng_ru_fill_t;
#endif
 
typedef wl_msglevel_v1_t wl_msglevel_t;
#define WL_MSGLEVEL_STRUCT_VERSION WL_MSGLEVEL_STRUCT_VERSION_1
 
typedef struct wlc_tpa_info wlc_tpa_info_t;
 
typedef struct wl_event_mbo wl_event_mbo_t;
typedef struct wl_event_mbo_cell_nw_switch wl_event_mbo_cell_nw_switch_t;
typedef struct wbrq_process_data wbrq_process_data_t;
typedef struct wbrq_process_res wbrq_process_res_t;
typedef struct wlc_lphs_info wlc_lphs_info_t;
 
typedef struct wlc_obj_registry wlc_obj_registry_t;
 
#ifdef WL_EVENT_RX_FRAME_DATA_ALIAS
#define BCM_RX_FRAME_DATA_VERSION BCM_RX_FRAME_DATA_VERSION_2
typedef wl_event_rx_frame_data_v2_t wl_event_rx_frame_data_t;
#endif
 
#ifdef ECOUNTERS_COMPACT
typedef wl_periodic_compact_cntrs_v3_t wl_periodic_compact_cntrs_t;
typedef wl_periodic_txbf_cntrs_v1_t wl_periodic_txbf_cntrs_t;
typedef wl_event_based_statistics_v3_t wl_event_based_statistics_t;
#endif /* ECOUNTERS_COMPACT */
 
typedef struct wlc_sae_cubby wlc_sae_cubby_t;
typedef struct wlc_sae_info wlc_sae_info_t;
 
typedef struct wlc_owe_info wlc_owe_info_t;
 
#ifdef PMKID_VERSION_ENABLED
#define PMKID_VERSION    (PMKID_LIST_VER_3)
typedef pmkid_v3_t pmkid_t;
typedef pmkid_list_v3_t pmkid_list_t;
#endif /* PMKID_VERSION_ENABLED */
 
typedef struct wlc_txdc_info wlc_txdc_info_t;
/* PHY health check */
typedef wl_hc_desense_stats_v1_t wl_hc_desense_stats_t;
typedef wl_hc_temp_stats_v2_t wl_hc_temp_stats_t;
typedef wl_hc_vcocal_stats_v1_t wl_hc_vcocal_stats_t;
typedef wl_hc_txpwr_stats_v2_t wl_hc_txpwr_stats_t;
 
typedef wl_scb_ecounters_v2_t wl_scb_ecounters_t;
typedef wl_nan_slot_ecounters_v1_t wl_nan_slot_ecounters_t;
typedef wlc_scb_stats_v1_t wlc_scb_stats_t;
 
typedef struct wlc_hw_cmn_info wlc_hw_cmn_info_t;
typedef struct wlc_hw_tunables wlc_hw_tunables_t;
 
typedef struct wlc_rxsig_info wlc_rxsig_info_t;
typedef struct wlc_rxsig_hw_info wlc_rxsig_hw_info_t;
 
typedef struct wlc_hw_macint_regs wlc_hw_macint_regs_t;
 
#ifdef WL_SAE
typedef struct wlc_sae_info wlc_sae_info_t;
#endif
#if defined(BCM_EWP) || defined (BCM_SDC)
typedef wl_hist_compact_toss_stats_v2_t wl_hist_compact_toss_stats_t;
#endif /* BCM_EWP */
typedef struct wlc_ewp_info wlc_ewp_info_t;
typedef struct wlc_ewp_htr_db wlc_ewp_htr_db_t;
 
typedef struct wl_sc_info wl_sc_info_t;
 
typedef struct wlc_swdiv_hw_info wlc_swdiv_hw_info_t;
typedef struct wlc_ltecx_hw_info wlc_ltecx_hw_info_t;
typedef struct wlc_stf_hw_info wlc_stf_hw_info_t;
 
typedef struct wlc_macdbg_hw_info wlc_macdbg_hw_info_t;
typedef struct wlc_perf_stats wlc_perf_stats_t;
 
typedef wl_cnt_ge80mcst_v1_t wl_cnt_ge80mcst_t;
typedef wl_cnt_ge40mcst_v1_t wl_cnt_ge40mcst_t;
 
#ifdef HE_COUNTERS_VERSION_ENABLED
#define HE_COUNTERS_VERSION    (HE_COUNTERS_V2)
typedef wl_he_cnt_wlc_v2_t wl_he_cnt_wlc_t;
#endif /* HE_COUNTERS_VERSION_ENABLED */
typedef wl_compact_he_cnt_wlc_v2_t wl_compact_he_cnt_wlc_t;
 
typedef struct wlc_cm_info wlc_cm_info_t;
typedef struct wlc_cm_data wlc_cm_data_t;
 
typedef struct wlc_calload_info wlc_calload_info_t;
typedef struct wlc_reinit_st wlc_reinit_st_t;
typedef wl_prio_roam_prof_v1_t wl_prio_roam_prof_t;
 
#ifdef WL_ANQPO_PEER_LIST_TYPEDEF_HAS_ALIAS
#define WL_ANQPO_PEER_LIST_VERSION WL_ANQPO_PEER_LIST_VERSION_2
typedef wl_anqpo_peer_list_v2_t wl_anqpo_peer_list_t;
typedef wl_anqpo_peer_v2_t wl_anqpo_peer_t;
#endif /* WL_ANQPO_PEER_LIST_VERSION */
 
typedef roamstats_counter_info_v1_t roamstats_counter_info_t;
typedef roamstats_prev_roam_events_v1_t roamstats_prev_roam_events_t;
typedef roamstats_reason_info_v1_t roamstats_reason_info_t;
#undef SSSR_REG_INFO_VER
#define SSSR_REG_INFO_VER SSSR_REG_INFO_VER_2
 
typedef struct tdls_bss_info tdls_bss_info_t;
typedef wl_bsstrans_rssi_rate_map_v2_t wl_bsstrans_rssi_rate_map_ext_t;
 
#ifdef ETD
#define MAX_DMAFIFO_DESC_ENTRIES    MAX_DMAFIFO_DESC_ENTRIES_V1
#define MAX_DMAFIFO_ENTRIES        MAX_DMAFIFO_ENTRIES_V1
typedef struct hnd_ext_trap_desc_entry_v1 dma_dentry_t;
typedef struct hnd_ext_trap_dma_fifo_v1 dma_fifo_t;
typedef struct hnd_ext_trap_axi_error_v1 hnd_ext_trap_axi_error_t;
#else
typedef void hnd_ext_trap_axi_error_t;
#endif /* ETD */
 
typedef struct wl_btm_event_type_data wl_btm_event_type_data_t;
typedef struct wl_bssid_prune_evt_info wl_bssid_pruned_evt_info_t;
 
#ifdef ETD
typedef struct hnd_ext_trap_phydbg_v3 hnd_etd_phydbg_t;
typedef struct hnd_ext_trap_wlc_mem_err_v3 hnd_ext_trap_wlc_mem_err_info_t;
#define HND_EXT_TRAP_WLC_MEM_ERR_VER HND_EXT_TRAP_WLC_MEM_ERR_VER_V3
#endif
typedef key_update_info_v1_t key_update_info_t;
typedef wl_omi_req_v1_t wl_omi_req_t;
typedef wl_omi_status_v1_t wl_omi_status_t;
#define WL_OMI_STATUS_VERSION WL_OMI_STATUS_VERSION_1
#define WL_OMI_CONFIG_VERSION WL_OMI_CONFIG_VERSION_1
 
#endif    /* _wlc_types_h_ */