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