• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Forward declarations for commonly used wl driver structs
3  *
4  * Copyright (C) 1999-2017, Broadcom Corporation
5  *
6  *      Unless you and Broadcom execute a separate written software license
7  * agreement governing use of this software, this software is licensed to you
8  * under the terms of the GNU General Public License version 2 (the "GPL"),
9  * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10  * following added to such license:
11  *
12  *      As a special exception, the copyright holders of this software give you
13  * permission to link this software with independent modules, and to copy and
14  * distribute the resulting executable under terms of your choice, provided that
15  * you also meet, for each linked independent module, the terms and conditions of
16  * the license of that module.  An independent module is a module which is not
17  * derived from this software.  The special exception does not apply to any
18  * modifications of the software.
19  *
20  *      Notwithstanding the above, under no circumstances may you combine this
21  * software in any way with any other Broadcom software provided under a license
22  * other than the GPL, without Broadcom's express prior written consent.
23  *
24  *
25  * <<Broadcom-WL-IPTag/Open:>>
26  *
27  * $Id: wlc_types.h 665242 2016-10-17 05:59:26Z $
28  */
29 
30 #ifndef _wlc_types_h_
31 #define _wlc_types_h_
32 #include <wlioctl.h>
33 
34 /* Version of WLC interface to be returned as a part of wl_wlc_version structure.
35  * WLC_API_VERSION_MINOR is currently not in use.
36  */
37 #define WLC_API_VERSION_MAJOR      8
38 #define WLC_API_VERSION_MINOR      0
39 
40 /* forward declarations */
41 
42 typedef struct wlc_info wlc_info_t;
43 typedef struct wlcband wlcband_t;
44 typedef struct wlc_cmn_info wlc_cmn_info_t;
45 typedef struct wlc_assoc_info wlc_assoc_info_t;
46 typedef struct wlc_pm_info wlc_pm_info_t;
47 
48 typedef struct wlc_bsscfg wlc_bsscfg_t;
49 typedef struct wlc_mbss_info wlc_mbss_info_t;
50 typedef struct wlc_spt wlc_spt_t;
51 typedef struct scb scb_t;
52 typedef struct scb_iter scb_iter_t;
53 typedef struct vndr_ie_listel vndr_ie_listel_t;
54 typedef struct wlc_if wlc_if_t;
55 typedef struct wl_if wl_if_t;
56 typedef struct led_info led_info_t;
57 typedef struct bmac_led bmac_led_t;
58 typedef struct bmac_led_info bmac_led_info_t;
59 typedef struct seq_cmds_info wlc_seq_cmds_info_t;
60 typedef struct ota_test_info ota_test_info_t;
61 typedef struct wlc_ccx ccx_t;
62 typedef struct wlc_ccx_rm ccx_rm_t;
63 typedef struct apps_wlc_psinfo apps_wlc_psinfo_t;
64 typedef struct scb_module scb_module_t;
65 typedef struct ba_info ba_info_t;
66 typedef struct wlc_frminfo wlc_frminfo_t;
67 typedef struct amsdu_info amsdu_info_t;
68 typedef struct txq_info txq_info_t;
69 typedef struct txq txq_t;
70 typedef struct cram_info cram_info_t;
71 typedef struct wlc_extlog_info wlc_extlog_info_t;
72 typedef struct wlc_txq_info wlc_txq_info_t;
73 typedef struct wlc_hrt_info wlc_hrt_info_t;
74 typedef struct wlc_hrt_to wlc_hrt_to_t;
75 typedef struct wlc_cac wlc_cac_t;
76 typedef struct ampdu_tx_info ampdu_tx_info_t;
77 typedef struct ampdu_rx_info ampdu_rx_info_t;
78 typedef struct wlc_ratesel_info wlc_ratesel_info_t;
79 typedef struct ratesel_info ratesel_info_t;
80 typedef struct wlc_ap_info wlc_ap_info_t;
81 typedef struct cs_info cs_info_t;
82 typedef struct wlc_scan_info wlc_scan_info_t;
83 typedef struct wlc_scan_cmn_info wlc_scan_cmn_t;
84 typedef struct tdls_info tdls_info_t;
85 typedef struct dls_info dls_info_t;
86 typedef struct l2_filter_info l2_filter_info_t;
87 typedef struct wlc_auth_info wlc_auth_info_t;
88 typedef struct wlc_sup_info wlc_sup_info_t;
89 typedef struct wlc_fbt_info wlc_fbt_info_t;
90 typedef struct wlc_assoc_mgr_info wlc_assoc_mgr_info_t;
91 typedef struct wlc_ccxsup_info wlc_ccxsup_info_t;
92 typedef struct wlc_psta_info wlc_psta_info_t;
93 typedef struct wlc_mcnx_info wlc_mcnx_info_t;
94 typedef struct wlc_p2p_info wlc_p2p_info_t;
95 typedef struct wlc_cxnoa_info wlc_cxnoa_info_t;
96 typedef struct mchan_info mchan_info_t;
97 typedef struct wlc_mchan_context wlc_mchan_context_t;
98 typedef struct bta_info bta_info_t;
99 typedef struct wowl_info wowl_info_t;
100 typedef struct wowlpf_info wowlpf_info_t;
101 typedef struct wlc_plt_info wlc_plt_pub_t;
102 typedef struct antsel_info antsel_info_t;
103 typedef struct bmac_pmq bmac_pmq_t;
104 typedef struct wmf_info wmf_info_t;
105 typedef struct wlc_rrm_info wlc_rrm_info_t;
106 typedef struct rm_info rm_info_t;
107 
108 struct d11init;
109 
110 typedef struct wlc_dpc_info wlc_dpc_info_t;
111 
112 typedef struct wlc_11h_info wlc_11h_info_t;
113 typedef struct wlc_tpc_info wlc_tpc_info_t;
114 typedef struct wlc_csa_info wlc_csa_info_t;
115 typedef struct wlc_quiet_info wlc_quiet_info_t;
116 typedef struct cca_info cca_info_t;
117 typedef struct itfr_info itfr_info_t;
118 
119 typedef struct wlc_wnm_info wlc_wnm_info_t;
120 typedef struct wlc_11d_info wlc_11d_info_t;
121 typedef struct wlc_cntry_info wlc_cntry_info_t;
122 
123 typedef struct wlc_dfs_info wlc_dfs_info_t;
124 
125 typedef struct bsscfg_module bsscfg_module_t;
126 
127 typedef struct wlc_prot_info wlc_prot_info_t;
128 typedef struct wlc_prot_g_info wlc_prot_g_info_t;
129 typedef struct wlc_prot_n_info wlc_prot_n_info_t;
130 typedef struct wlc_prot_obss_info wlc_prot_obss_info_t;
131 typedef struct wlc_obss_dynbw wlc_obss_dynbw_t;
132 typedef struct wlc_11u_info wlc_11u_info_t;
133 typedef struct wlc_probresp_info wlc_probresp_info_t;
134 typedef struct wlc_wapi_info wlc_wapi_info_t;
135 
136 typedef struct wlc_tbtt_info wlc_tbtt_info_t;
137 typedef struct wlc_nic_info wlc_nic_info_t;
138 
139 typedef struct wlc_bssload_info wlc_bssload_info_t;
140 
141 typedef struct wlc_pcb_info wlc_pcb_info_t;
142 typedef struct wlc_txc_info wlc_txc_info_t;
143 
144 typedef struct wlc_trf_mgmt_ctxt    wlc_trf_mgmt_ctxt_t;
145 typedef struct wlc_trf_mgmt_info    wlc_trf_mgmt_info_t;
146 
147 typedef struct wlc_net_detect_ctxt  wlc_net_detect_ctxt_t;
148 
149 typedef struct wlc_powersel_info wlc_powersel_info_t;
150 typedef struct powersel_info powersel_info_t;
151 
152 typedef struct wlc_lpc_info wlc_lpc_info_t;
153 typedef struct lpc_info lpc_info_t;
154 typedef struct rate_lcb_info rate_lcb_info_t;
155 typedef struct wlc_txbf_info wlc_txbf_info_t;
156 typedef struct wlc_murx_info wlc_murx_info_t;
157 
158 typedef struct wlc_olpc_eng_info_t wlc_olpc_eng_info_t;
159 /* used by olpc to register for callbacks from stf */
160 typedef void (*wlc_stf_txchain_evt_notify)(wlc_info_t *wlc);
161 
162 typedef struct wlc_rfc wlc_rfc_t;
163 typedef struct wlc_pktc_info wlc_pktc_info_t;
164 
165 typedef struct wlc_mfp_info wlc_mfp_info_t;
166 
167 typedef struct wlc_mdns_info wlc_mdns_info_t;
168 
169 typedef struct wlc_macfltr_info wlc_macfltr_info_t;
170 typedef struct wlc_bmon_info wlc_bmon_info_t;
171 
172 typedef struct wlc_nar_info wlc_nar_info_t;
173 typedef struct wlc_bs_data_info wlc_bs_data_info_t;
174 
175 typedef struct wlc_keymgmt wlc_keymgmt_t;
176 typedef struct wlc_key	wlc_key_t;
177 typedef struct wlc_key_info wlc_key_info_t;
178 
179 typedef struct wlc_hw wlc_hw_t;
180 typedef struct wlc_hw_info wlc_hw_info_t;
181 typedef struct wlc_hwband wlc_hwband_t;
182 
183 typedef struct wlc_rx_stall_info wlc_rx_stall_info_t;
184 
185 typedef struct wlc_rmc_info wlc_rmc_info_t;
186 
187 typedef struct wlc_iem_info wlc_iem_info_t;
188 
189 typedef struct wlc_ier_info wlc_ier_info_t;
190 typedef struct wlc_ier_reg wlc_ier_reg_t;
191 
192 typedef struct wlc_ht_info wlc_ht_info_t;
193 typedef struct wlc_obss_info wlc_obss_info_t;
194 typedef struct wlc_vht_info wlc_vht_info_t;
195 typedef struct wlc_akm_info wlc_akm_info_t;
196 typedef struct wlc_srvsdb_info wlc_srvsdb_info_t;
197 
198 typedef struct wlc_bss_info wlc_bss_info_t;
199 
200 typedef struct wlc_hs20_info wlc_hs20_info_t;
201 typedef struct wlc_pmkid_info	wlc_pmkid_info_t;
202 typedef struct wlc_btc_info wlc_btc_info_t;
203 
204 typedef struct wlc_txh_info wlc_txh_info_t;
205 typedef union wlc_txd wlc_txd_t;
206 
207 typedef struct wlc_staprio_info wlc_staprio_info_t;
208 typedef struct wlc_stamon_info wlc_stamon_info_t;
209 typedef struct wlc_monitor_info wlc_monitor_info_t;
210 
211 typedef struct wlc_debug_crash_info wlc_debug_crash_info_t;
212 
213 typedef struct wlc_nan_info wlc_nan_info_t;
214 typedef struct wlc_tsmap_info wlc_tsmap_info_t;
215 
216 typedef struct wlc_wds_info wlc_wds_info_t;
217 typedef struct okc_info okc_info_t;
218 typedef struct wlc_aibss_info wlc_aibss_info_t;
219 typedef struct wlc_ipfo_info wlc_ipfo_info_t;
220 typedef struct wlc_stats_info wlc_stats_info_t;
221 
222 typedef struct wlc_pps_info wlc_pps_info_t;
223 
224 typedef struct duration_info duration_info_t;
225 
226 typedef struct wlc_pdsvc_info wlc_pdsvc_info_t;
227 
228 /* For LTE Coex */
229 typedef struct wlc_ltecx_info wlc_ltecx_info_t;
230 
231 typedef struct wlc_probresp_mac_filter_info wlc_probresp_mac_filter_info_t;
232 
233 typedef struct wlc_ltr_info wlc_ltr_info_t;
234 
235 typedef struct bwte_info bwte_info_t;
236 
237 typedef struct tbow_info tbow_info_t;
238 
239 typedef struct wlc_modesw_info wlc_modesw_info_t;
240 
241 typedef struct wlc_pm_mute_tx_info wlc_pm_mute_tx_t;
242 
243 typedef struct wlc_bcntrim_info wlc_bcntrim_info_t;
244 
245 typedef struct wlc_smfs_info wlc_smfs_info_t;
246 typedef struct wlc_misc_info wlc_misc_info_t;
247 typedef struct wlc_ulb_info wlc_ulb_info_t;
248 
249 typedef struct wlc_eventq wlc_eventq_t;
250 typedef struct wlc_event wlc_event_t;
251 typedef struct wlc_ulp_info wlc_ulp_info_t;
252 
253 typedef struct wlc_bsscfg_psq_info wlc_bsscfg_psq_info_t;
254 typedef struct wlc_bsscfg_viel_info wlc_bsscfg_viel_info_t;
255 
256 typedef struct wlc_txmod_info wlc_txmod_info_t;
257 typedef struct tx_path_node tx_path_node_t;
258 
259 typedef struct wlc_linkstats_info wlc_linkstats_info_t;
260 typedef struct wlc_lq_info wlc_lq_info_t;
261 typedef struct chanim_info chanim_info_t;
262 
263 typedef struct wlc_mesh_info wlc_mesh_info_t;
264 typedef struct wlc_wlfc_info wlc_wlfc_info_t;
265 
266 typedef struct wlc_frag_info wlc_frag_info_t;
267 typedef struct wlc_bss_list wlc_bss_list_t;
268 
269 typedef struct wlc_msch_info wlc_msch_info_t;
270 typedef struct wlc_msch_req_handle wlc_msch_req_handle_t;
271 
272 typedef struct wlc_randmac_info wlc_randmac_info_t;
273 
274 typedef struct wlc_chanctxt wlc_chanctxt_t;
275 typedef struct wlc_chanctxt_info wlc_chanctxt_info_t;
276 typedef struct wlc_sta_info wlc_sta_info_t;
277 
278 typedef struct health_check_info health_check_info_t;
279 typedef struct wlc_act_frame_info wlc_act_frame_info_t;
280 typedef struct nan_sched_req_handle nan_sched_req_handle_t;
281 
282 typedef struct wlc_qos_info wlc_qos_info_t;
283 
284 typedef struct wlc_assoc wlc_assoc_t;
285 typedef struct wlc_roam wlc_roam_t;
286 typedef struct wlc_pm_st wlc_pm_st_t;
287 typedef struct wlc_wme wlc_wme_t;
288 
289 typedef struct wlc_link_qual wlc_link_qual_t;
290 
291 typedef struct wlc_rsdb_info wlc_rsdb_info_t;
292 
293 typedef struct wlc_asdb wlc_asdb_t;
294 
295 typedef struct rsdb_common_info rsdb_cmn_info_t;
296 
297 typedef struct wlc_macdbg_info wlc_macdbg_info_t;
298 typedef struct wlc_rspec_info wlc_rspec_info_t;
299 typedef struct wlc_ndis_info wlc_ndis_info_t;
300 
301 typedef struct wlc_join_pref wlc_join_pref_t;
302 
303 typedef struct wlc_scan_utils wlc_scan_utils_t;
304 #ifdef ACKSUPR_MAC_FILTER
305 typedef struct wlc_addrmatch_info wlc_addrmatch_info_t;
306 #endif /* ACKSUPR_MAC_FILTER */
307 
308 typedef struct cca_ucode_counts cca_ucode_counts_t;
309 typedef struct cca_chan_qual cca_chan_qual_t;
310 
311 typedef struct wlc_perf_utils wlc_perf_utils_t;
312 typedef struct wlc_test_info wlc_test_info_t;
313 
314 typedef struct chanswitch_times chanswitch_times_t;
315 typedef struct wlc_dump_info wlc_dump_info_t;
316 
317 typedef struct wlc_stf wlc_stf_t;
318 
319 typedef sta_info_v4_t sta_info_t;
320 typedef struct wl_roam_prof_band_v2 wl_roam_prof_band_t;
321 typedef struct wl_roam_prof_v2 wl_roam_prof_t;
322 
323 /* Inteface version mapping for versioned pfn structures */
324 #undef PFN_SCANRESULT_VERSION
325 #define PFN_SCANRESULT_VERSION PFN_SCANRESULT_VERSION_V2
326 #define PFN_SCANRESULTS_VERSION PFN_SCANRESULTS_VERSION_V2
327 #define PFN_LBEST_SCAN_RESULT_VERSION PFN_LBEST_SCAN_RESULT_VERSION_V2
328 typedef wl_pfn_subnet_info_v2_t wl_pfn_subnet_info_t;
329 typedef wl_pfn_net_info_v2_t wl_pfn_net_info_t;
330 typedef wl_pfn_lnet_info_v2_t wl_pfn_lnet_info_t;
331 typedef wl_pfn_lscanresults_v2_t wl_pfn_lscanresults_t;
332 typedef wl_pfn_scanresults_v2_t wl_pfn_scanresults_t;
333 typedef wl_pfn_scanresult_v2_t wl_pfn_scanresult_t;
334 
335 typedef wl_dfs_ap_move_status_v2_t wl_dfs_ap_move_status_t;
336 
337 #endif	/* _wlc_types_h_ */
338