1 //------------------------------------------------------------------------------
2 // <copyright file="wmi_api.h" company="Atheros">
3 // Copyright (c) 2004-2010 Atheros Corporation. All rights reserved.
6 // Permission to use, copy, modify, and/or distribute this software for any
7 // purpose with or without fee is hereby granted, provided that the above
8 // copyright notice and this permission notice appear in all copies.
10 // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19 //------------------------------------------------------------------------------
20 //==============================================================================
21 // This file contains the definitions for the Wireless Module Interface (WMI).
23 // Author(s): ="Atheros"
24 //==============================================================================
32 /* WMI converts a dix frame with an ethernet payload (up to 1500 bytes)
33 * to an 802.3 frame (adds SNAP header) and adds on a WMI data header */
34 #define WMI_MAX_TX_DATA_FRAME_LENGTH (1500 + sizeof(WMI_DATA_HDR) + sizeof(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR))
36 /* A normal WMI data frame */
37 #define WMI_MAX_NORMAL_RX_DATA_FRAME_LENGTH (1500 + sizeof(WMI_DATA_HDR) + sizeof(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR))
39 /* An AMSDU frame */ /* The MAX AMSDU length of AR6003 is 3839 */
40 #define WMI_MAX_AMSDU_RX_DATA_FRAME_LENGTH (3840 + sizeof(WMI_DATA_HDR) + sizeof(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR))
43 * IP QoS Field definitions according to 802.1p
45 #define BEST_EFFORT_PRI 0
46 #define BACKGROUND_PRI 1
47 #define EXCELLENT_EFFORT_PRI 3
48 #define CONTROLLED_LOAD_PRI 4
51 #define NETWORK_CONTROL_PRI 7
54 #define UNDEFINED_PRI (0xff)
56 #define WMI_IMPLICIT_PSTREAM_INACTIVITY_INT 5000 /* 5 seconds */
58 #define A_ROUND_UP(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
61 ATHEROS_COMPLIANCE = 0x1,
62 }TSPEC_PARAM_COMPLIANCE;
66 void *wmi_init(void *devt);
68 void wmi_qos_state_init(struct wmi_t *wmip);
69 void wmi_shutdown(struct wmi_t *wmip);
70 HTC_ENDPOINT_ID wmi_get_control_ep(struct wmi_t * wmip);
71 void wmi_set_control_ep(struct wmi_t * wmip, HTC_ENDPOINT_ID eid);
72 A_UINT16 wmi_get_mapped_qos_queue(struct wmi_t *, A_UINT8);
73 A_STATUS wmi_dix_2_dot3(struct wmi_t *wmip, void *osbuf);
74 A_STATUS wmi_data_hdr_add(struct wmi_t *wmip, void *osbuf, A_UINT8 msgType, A_BOOL bMoreData, WMI_DATA_HDR_DATA_TYPE data_type,A_UINT8 metaVersion, void *pTxMetaS);
75 A_STATUS wmi_dot3_2_dix(void *osbuf);
77 A_STATUS wmi_dot11_hdr_remove (struct wmi_t *wmip, void *osbuf);
78 A_STATUS wmi_dot11_hdr_add(struct wmi_t *wmip, void *osbuf, NETWORK_TYPE mode);
80 A_STATUS wmi_data_hdr_remove(struct wmi_t *wmip, void *osbuf);
81 A_STATUS wmi_syncpoint(struct wmi_t *wmip);
82 A_STATUS wmi_syncpoint_reset(struct wmi_t *wmip);
83 A_UINT8 wmi_implicit_create_pstream(struct wmi_t *wmip, void *osbuf, A_UINT32 layer2Priority, A_BOOL wmmEnabled);
85 A_UINT8 wmi_determine_userPriority (A_UINT8 *pkt, A_UINT32 layer2Pri);
87 A_STATUS wmi_control_rx(struct wmi_t *wmip, void *osbuf);
88 void wmi_iterate_nodes(struct wmi_t *wmip, wlan_node_iter_func *f, void *arg);
89 void wmi_free_allnodes(struct wmi_t *wmip);
90 bss_t *wmi_find_node(struct wmi_t *wmip, const A_UINT8 *macaddr);
91 void wmi_free_node(struct wmi_t *wmip, const A_UINT8 *macaddr);
96 SYNC_BEFORE_WMIFLAG, /* transmit all queued data before cmd */
97 SYNC_AFTER_WMIFLAG, /* any new data waits until cmd execs */
99 END_WMIFLAG /* end marker */
102 A_STATUS wmi_cmd_send(struct wmi_t *wmip, void *osbuf, WMI_COMMAND_ID cmdId,
105 A_STATUS wmi_connect_cmd(struct wmi_t *wmip,
106 NETWORK_TYPE netType,
107 DOT11_AUTH_MODE dot11AuthMode,
109 CRYPTO_TYPE pairwiseCrypto,
110 A_UINT8 pairwiseCryptoLen,
111 CRYPTO_TYPE groupCrypto,
112 A_UINT8 groupCryptoLen,
117 A_UINT32 ctrl_flags);
119 A_STATUS wmi_reconnect_cmd(struct wmi_t *wmip,
122 A_STATUS wmi_disconnect_cmd(struct wmi_t *wmip);
123 A_STATUS wmi_getrev_cmd(struct wmi_t *wmip);
124 A_STATUS wmi_startscan_cmd(struct wmi_t *wmip, WMI_SCAN_TYPE scanType,
125 A_BOOL forceFgScan, A_BOOL isLegacy,
126 A_UINT32 homeDwellTime, A_UINT32 forceScanInterval,
127 A_INT8 numChan, A_UINT16 *channelList);
128 A_STATUS wmi_scanparams_cmd(struct wmi_t *wmip, A_UINT16 fg_start_sec,
129 A_UINT16 fg_end_sec, A_UINT16 bg_sec,
130 A_UINT16 minact_chdw_msec,
131 A_UINT16 maxact_chdw_msec, A_UINT16 pas_chdw_msec,
132 A_UINT8 shScanRatio, A_UINT8 scanCtrlFlags,
133 A_UINT32 max_dfsch_act_time,
134 A_UINT16 maxact_scan_per_ssid);
135 A_STATUS wmi_bssfilter_cmd(struct wmi_t *wmip, A_UINT8 filter, A_UINT32 ieMask);
136 A_STATUS wmi_probedSsid_cmd(struct wmi_t *wmip, A_UINT8 index, A_UINT8 flag,
137 A_UINT8 ssidLength, A_UCHAR *ssid);
138 A_STATUS wmi_listeninterval_cmd(struct wmi_t *wmip, A_UINT16 listenInterval, A_UINT16 listenBeacons);
139 A_STATUS wmi_bmisstime_cmd(struct wmi_t *wmip, A_UINT16 bmisstime, A_UINT16 bmissbeacons);
140 A_STATUS wmi_associnfo_cmd(struct wmi_t *wmip, A_UINT8 ieType,
141 A_UINT8 ieLen, A_UINT8 *ieInfo);
142 A_STATUS wmi_powermode_cmd(struct wmi_t *wmip, A_UINT8 powerMode);
143 A_STATUS wmi_ibsspmcaps_cmd(struct wmi_t *wmip, A_UINT8 pmEnable, A_UINT8 ttl,
144 A_UINT16 atim_windows, A_UINT16 timeout_value);
145 A_STATUS wmi_apps_cmd(struct wmi_t *wmip, A_UINT8 psType, A_UINT32 idle_time,
146 A_UINT32 ps_period, A_UINT8 sleep_period);
147 A_STATUS wmi_pmparams_cmd(struct wmi_t *wmip, A_UINT16 idlePeriod,
148 A_UINT16 psPollNum, A_UINT16 dtimPolicy,
149 A_UINT16 wakup_tx_policy, A_UINT16 num_tx_to_wakeup,
150 A_UINT16 ps_fail_event_policy);
151 A_STATUS wmi_disctimeout_cmd(struct wmi_t *wmip, A_UINT8 timeout);
152 A_STATUS wmi_sync_cmd(struct wmi_t *wmip, A_UINT8 syncNumber);
153 A_STATUS wmi_create_pstream_cmd(struct wmi_t *wmip, WMI_CREATE_PSTREAM_CMD *pstream);
154 A_STATUS wmi_delete_pstream_cmd(struct wmi_t *wmip, A_UINT8 trafficClass, A_UINT8 streamID);
155 A_STATUS wmi_set_framerate_cmd(struct wmi_t *wmip, A_UINT8 bEnable, A_UINT8 type, A_UINT8 subType, A_UINT16 rateMask);
156 A_STATUS wmi_set_bitrate_cmd(struct wmi_t *wmip, A_INT32 dataRate, A_INT32 mgmtRate, A_INT32 ctlRate);
157 A_STATUS wmi_get_bitrate_cmd(struct wmi_t *wmip);
158 A_INT8 wmi_validate_bitrate(struct wmi_t *wmip, A_INT32 rate, A_INT8 *rate_idx);
159 A_STATUS wmi_get_regDomain_cmd(struct wmi_t *wmip);
160 A_STATUS wmi_get_channelList_cmd(struct wmi_t *wmip);
161 A_STATUS wmi_set_channelParams_cmd(struct wmi_t *wmip, A_UINT8 scanParam,
162 WMI_PHY_MODE mode, A_INT8 numChan,
163 A_UINT16 *channelList);
165 A_STATUS wmi_set_snr_threshold_params(struct wmi_t *wmip,
166 WMI_SNR_THRESHOLD_PARAMS_CMD *snrCmd);
167 A_STATUS wmi_set_rssi_threshold_params(struct wmi_t *wmip,
168 WMI_RSSI_THRESHOLD_PARAMS_CMD *rssiCmd);
169 A_STATUS wmi_clr_rssi_snr(struct wmi_t *wmip);
170 A_STATUS wmi_set_lq_threshold_params(struct wmi_t *wmip,
171 WMI_LQ_THRESHOLD_PARAMS_CMD *lqCmd);
172 A_STATUS wmi_set_rts_cmd(struct wmi_t *wmip, A_UINT16 threshold);
173 A_STATUS wmi_set_lpreamble_cmd(struct wmi_t *wmip, A_UINT8 status, A_UINT8 preamblePolicy);
175 A_STATUS wmi_set_error_report_bitmask(struct wmi_t *wmip, A_UINT32 bitmask);
177 A_STATUS wmi_get_challenge_resp_cmd(struct wmi_t *wmip, A_UINT32 cookie,
180 A_STATUS wmi_config_debug_module_cmd(struct wmi_t *wmip, A_UINT16 mmask,
181 A_UINT16 tsr, A_BOOL rep, A_UINT16 size,
184 A_STATUS wmi_get_stats_cmd(struct wmi_t *wmip);
186 A_STATUS wmi_addKey_cmd(struct wmi_t *wmip, A_UINT8 keyIndex,
187 CRYPTO_TYPE keyType, A_UINT8 keyUsage,
188 A_UINT8 keyLength,A_UINT8 *keyRSC,
189 A_UINT8 *keyMaterial, A_UINT8 key_op_ctrl, A_UINT8 *mac,
190 WMI_SYNC_FLAG sync_flag);
191 A_STATUS wmi_add_krk_cmd(struct wmi_t *wmip, A_UINT8 *krk);
192 A_STATUS wmi_delete_krk_cmd(struct wmi_t *wmip);
193 A_STATUS wmi_deleteKey_cmd(struct wmi_t *wmip, A_UINT8 keyIndex);
194 A_STATUS wmi_set_akmp_params_cmd(struct wmi_t *wmip,
195 WMI_SET_AKMP_PARAMS_CMD *akmpParams);
196 A_STATUS wmi_get_pmkid_list_cmd(struct wmi_t *wmip);
197 A_STATUS wmi_set_pmkid_list_cmd(struct wmi_t *wmip,
198 WMI_SET_PMKID_LIST_CMD *pmkInfo);
199 A_STATUS wmi_abort_scan_cmd(struct wmi_t *wmip);
200 A_STATUS wmi_set_txPwr_cmd(struct wmi_t *wmip, A_UINT8 dbM);
201 A_STATUS wmi_get_txPwr_cmd(struct wmi_t *wmip);
202 A_STATUS wmi_addBadAp_cmd(struct wmi_t *wmip, A_UINT8 apIndex, A_UINT8 *bssid);
203 A_STATUS wmi_deleteBadAp_cmd(struct wmi_t *wmip, A_UINT8 apIndex);
204 A_STATUS wmi_set_tkip_countermeasures_cmd(struct wmi_t *wmip, A_BOOL en);
205 A_STATUS wmi_setPmkid_cmd(struct wmi_t *wmip, A_UINT8 *bssid, A_UINT8 *pmkId,
207 A_STATUS wmi_set_access_params_cmd(struct wmi_t *wmip, A_UINT8 ac, A_UINT16 txop,
208 A_UINT8 eCWmin, A_UINT8 eCWmax,
210 A_STATUS wmi_set_retry_limits_cmd(struct wmi_t *wmip, A_UINT8 frameType,
211 A_UINT8 trafficClass, A_UINT8 maxRetries,
212 A_UINT8 enableNotify);
214 void wmi_get_current_bssid(struct wmi_t *wmip, A_UINT8 *bssid);
216 A_STATUS wmi_get_roam_tbl_cmd(struct wmi_t *wmip);
217 A_STATUS wmi_get_roam_data_cmd(struct wmi_t *wmip, A_UINT8 roamDataType);
218 A_STATUS wmi_set_roam_ctrl_cmd(struct wmi_t *wmip, WMI_SET_ROAM_CTRL_CMD *p,
220 A_STATUS wmi_set_powersave_timers_cmd(struct wmi_t *wmip,
221 WMI_POWERSAVE_TIMERS_POLICY_CMD *pCmd,
224 A_STATUS wmi_set_opt_mode_cmd(struct wmi_t *wmip, A_UINT8 optMode);
225 A_STATUS wmi_opt_tx_frame_cmd(struct wmi_t *wmip,
229 A_UINT16 optIEDataLen,
232 A_STATUS wmi_set_adhoc_bconIntvl_cmd(struct wmi_t *wmip, A_UINT16 intvl);
233 A_STATUS wmi_set_voice_pkt_size_cmd(struct wmi_t *wmip, A_UINT16 voicePktSize);
234 A_STATUS wmi_set_max_sp_len_cmd(struct wmi_t *wmip, A_UINT8 maxSpLen);
235 A_UINT8 convert_userPriority_to_trafficClass(A_UINT8 userPriority);
236 A_UINT8 wmi_get_power_mode_cmd(struct wmi_t *wmip);
237 A_STATUS wmi_verify_tspec_params(WMI_CREATE_PSTREAM_CMD *pCmd, A_BOOL tspecCompliance);
239 #ifdef CONFIG_HOST_TCMD_SUPPORT
240 A_STATUS wmi_test_cmd(struct wmi_t *wmip, A_UINT8 *buf, A_UINT32 len);
243 A_STATUS wmi_set_bt_status_cmd(struct wmi_t *wmip, A_UINT8 streamType, A_UINT8 status);
244 A_STATUS wmi_set_bt_params_cmd(struct wmi_t *wmip, WMI_SET_BT_PARAMS_CMD* cmd);
246 A_STATUS wmi_set_btcoex_fe_ant_cmd(struct wmi_t *wmip, WMI_SET_BTCOEX_FE_ANT_CMD * cmd);
248 A_STATUS wmi_set_btcoex_colocated_bt_dev_cmd(struct wmi_t *wmip,
249 WMI_SET_BTCOEX_COLOCATED_BT_DEV_CMD * cmd);
251 A_STATUS wmi_set_btcoex_btinquiry_page_config_cmd(struct wmi_t *wmip,
252 WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG_CMD *cmd);
254 A_STATUS wmi_set_btcoex_sco_config_cmd(struct wmi_t *wmip,
255 WMI_SET_BTCOEX_SCO_CONFIG_CMD * cmd);
257 A_STATUS wmi_set_btcoex_a2dp_config_cmd(struct wmi_t *wmip,
258 WMI_SET_BTCOEX_A2DP_CONFIG_CMD* cmd);
261 A_STATUS wmi_set_btcoex_aclcoex_config_cmd(struct wmi_t *wmip, WMI_SET_BTCOEX_ACLCOEX_CONFIG_CMD* cmd);
263 A_STATUS wmi_set_btcoex_debug_cmd(struct wmi_t *wmip, WMI_SET_BTCOEX_DEBUG_CMD * cmd);
265 A_STATUS wmi_set_btcoex_bt_operating_status_cmd(struct wmi_t * wmip,
266 WMI_SET_BTCOEX_BT_OPERATING_STATUS_CMD * cmd);
268 A_STATUS wmi_get_btcoex_config_cmd(struct wmi_t * wmip, WMI_GET_BTCOEX_CONFIG_CMD * cmd);
270 A_STATUS wmi_get_btcoex_stats_cmd(struct wmi_t * wmip);
272 A_STATUS wmi_SGI_cmd(struct wmi_t *wmip, A_UINT32 sgiMask, A_UINT8 sgiPERThreshold);
275 * This function is used to configure the fix rates mask to the target.
277 A_STATUS wmi_set_fixrates_cmd(struct wmi_t *wmip, A_UINT32 fixRatesMask);
278 A_STATUS wmi_get_ratemask_cmd(struct wmi_t *wmip);
280 A_STATUS wmi_set_authmode_cmd(struct wmi_t *wmip, A_UINT8 mode);
282 A_STATUS wmi_set_reassocmode_cmd(struct wmi_t *wmip, A_UINT8 mode);
284 A_STATUS wmi_set_qos_supp_cmd(struct wmi_t *wmip,A_UINT8 status);
285 A_STATUS wmi_set_wmm_cmd(struct wmi_t *wmip, WMI_WMM_STATUS status);
286 A_STATUS wmi_set_wmm_txop(struct wmi_t *wmip, WMI_TXOP_CFG txEnable);
287 A_STATUS wmi_set_country(struct wmi_t *wmip, A_UCHAR *countryCode);
289 A_STATUS wmi_get_keepalive_configured(struct wmi_t *wmip);
290 A_UINT8 wmi_get_keepalive_cmd(struct wmi_t *wmip);
291 A_STATUS wmi_set_keepalive_cmd(struct wmi_t *wmip, A_UINT8 keepaliveInterval);
293 A_STATUS wmi_set_appie_cmd(struct wmi_t *wmip, A_UINT8 mgmtFrmType,
294 A_UINT8 ieLen,A_UINT8 *ieInfo);
296 A_STATUS wmi_set_halparam_cmd(struct wmi_t *wmip, A_UINT8 *cmd, A_UINT16 dataLen);
298 A_INT32 wmi_get_rate(A_INT8 rateindex);
300 A_STATUS wmi_set_ip_cmd(struct wmi_t *wmip, WMI_SET_IP_CMD *cmd);
302 /*Wake on Wireless WMI commands*/
303 A_STATUS wmi_set_host_sleep_mode_cmd(struct wmi_t *wmip, WMI_SET_HOST_SLEEP_MODE_CMD *cmd);
304 A_STATUS wmi_set_wow_mode_cmd(struct wmi_t *wmip, WMI_SET_WOW_MODE_CMD *cmd);
305 A_STATUS wmi_get_wow_list_cmd(struct wmi_t *wmip, WMI_GET_WOW_LIST_CMD *cmd);
306 A_STATUS wmi_add_wow_pattern_cmd(struct wmi_t *wmip,
307 WMI_ADD_WOW_PATTERN_CMD *cmd, A_UINT8* pattern, A_UINT8* mask, A_UINT8 pattern_size);
308 A_STATUS wmi_del_wow_pattern_cmd(struct wmi_t *wmip,
309 WMI_DEL_WOW_PATTERN_CMD *cmd);
310 A_STATUS wmi_set_wsc_status_cmd(struct wmi_t *wmip, A_UINT32 status);
313 wmi_set_params_cmd(struct wmi_t *wmip, A_UINT32 opcode, A_UINT32 length, A_CHAR* buffer);
316 wmi_set_mcast_filter_cmd(struct wmi_t *wmip, A_UINT8 dot1, A_UINT8 dot2, A_UINT8 dot3, A_UINT8 dot4);
319 wmi_del_mcast_filter_cmd(struct wmi_t *wmip, A_UINT8 dot1, A_UINT8 dot2, A_UINT8 dot3, A_UINT8 dot4);
322 wmi_mcast_filter_cmd(struct wmi_t *wmip, A_UINT8 enable);
325 wmi_find_Ssidnode (struct wmi_t *wmip, A_UCHAR *pSsid,
326 A_UINT32 ssidLength, A_BOOL bIsWPA2, A_BOOL bMatchSSID);
330 wmi_node_return (struct wmi_t *wmip, bss_t *bss);
333 wmi_set_nodeage(struct wmi_t *wmip, A_UINT32 nodeAge);
335 #if defined(CONFIG_TARGET_PROFILE_SUPPORT)
336 A_STATUS wmi_prof_cfg_cmd(struct wmi_t *wmip, A_UINT32 period, A_UINT32 nbins);
337 A_STATUS wmi_prof_addr_set_cmd(struct wmi_t *wmip, A_UINT32 addr);
338 A_STATUS wmi_prof_start_cmd(struct wmi_t *wmip);
339 A_STATUS wmi_prof_stop_cmd(struct wmi_t *wmip);
340 A_STATUS wmi_prof_count_get_cmd(struct wmi_t *wmip);
341 #endif /* CONFIG_TARGET_PROFILE_SUPPORT */
342 #ifdef OS_ROAM_MANAGEMENT
343 void wmi_scan_indication (struct wmi_t *wmip);
347 wmi_set_target_event_report_cmd(struct wmi_t *wmip, WMI_SET_TARGET_EVENT_REPORT_CMD* cmd);
349 bss_t *wmi_rm_current_bss (struct wmi_t *wmip, A_UINT8 *id);
350 A_STATUS wmi_add_current_bss (struct wmi_t *wmip, A_UINT8 *id, bss_t *bss);
357 wmi_ap_profile_commit(struct wmi_t *wmip, WMI_CONNECT_CMD *p);
360 wmi_ap_set_hidden_ssid(struct wmi_t *wmip, A_UINT8 hidden_ssid);
363 wmi_ap_set_num_sta(struct wmi_t *wmip, A_UINT8 num_sta);
366 wmi_ap_set_acl_policy(struct wmi_t *wmip, A_UINT8 policy);
369 wmi_ap_acl_mac_list(struct wmi_t *wmip, WMI_AP_ACL_MAC_CMD *a);
372 acl_add_del_mac(WMI_AP_ACL *a, WMI_AP_ACL_MAC_CMD *acl);
375 wmi_ap_set_mlme(struct wmi_t *wmip, A_UINT8 cmd, A_UINT8 *mac, A_UINT16 reason);
378 wmi_set_pvb_cmd(struct wmi_t *wmip, A_UINT16 aid, A_BOOL flag);
381 wmi_ap_conn_inact_time(struct wmi_t *wmip, A_UINT32 period);
384 wmi_ap_bgscan_time(struct wmi_t *wmip, A_UINT32 period, A_UINT32 dwell);
387 wmi_ap_set_dtim(struct wmi_t *wmip, A_UINT8 dtim);
390 wmi_ap_set_rateset(struct wmi_t *wmip, A_UINT8 rateset);
393 wmi_set_ht_cap_cmd(struct wmi_t *wmip, WMI_SET_HT_CAP_CMD *cmd);
396 wmi_set_ht_op_cmd(struct wmi_t *wmip, A_UINT8 sta_chan_width);
399 wmi_send_hci_cmd(struct wmi_t *wmip, A_UINT8 *buf, A_UINT16 sz);
402 wmi_set_tx_select_rates_cmd(struct wmi_t *wmip, A_UINT32 *pMaskArray);
405 wmi_setup_aggr_cmd(struct wmi_t *wmip, A_UINT8 tid);
408 wmi_delete_aggr_cmd(struct wmi_t *wmip, A_UINT8 tid, A_BOOL uplink);
411 wmi_allow_aggr_cmd(struct wmi_t *wmip, A_UINT16 tx_tidmask, A_UINT16 rx_tidmask);
414 wmi_set_rx_frame_format_cmd(struct wmi_t *wmip, A_UINT8 rxMetaVersion, A_BOOL rxDot11Hdr, A_BOOL defragOnHost);
417 wmi_set_thin_mode_cmd(struct wmi_t *wmip, A_BOOL bThinMode);
420 wmi_set_wlan_conn_precedence_cmd(struct wmi_t *wmip, BT_WLAN_CONN_PRECEDENCE precedence);
423 wmi_set_pmk_cmd(struct wmi_t *wmip, A_UINT8 *pmk);
426 wmi_ieee2freq (int chan);
429 wmi_freq2ieee (A_UINT16 freq);
432 wmi_find_matching_Ssidnode (struct wmi_t *wmip, A_UCHAR *pSsid,
434 A_UINT32 dot11AuthMode, A_UINT32 authMode,
435 A_UINT32 pairwiseCryptoType, A_UINT32 grpwiseCryptoTyp);
441 #endif /* _WMI_API_H_ */