OLD | NEW |
1 //------------------------------------------------------------------------------ | 1 //------------------------------------------------------------------------------ |
2 // <copyright file="wmi_api.h" company="Atheros"> | 2 // <copyright file="wmi_api.h" company="Atheros"> |
3 // Copyright (c) 2004-2008 Atheros Corporation. All rights reserved. | 3 // Copyright (c) 2004-2010 Atheros Corporation. All rights reserved. |
4 // | 4 // |
5 // This program is free software; you can redistribute it and/or modify | |
6 // it under the terms of the GNU General Public License version 2 as | |
7 // published by the Free Software Foundation; | |
8 // | 5 // |
9 // Software distributed under the License is distributed on an "AS | 6 // Permission to use, copy, modify, and/or distribute this software for any |
10 // IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or | 7 // purpose with or without fee is hereby granted, provided that the above |
11 // implied. See the License for the specific language governing | 8 // copyright notice and this permission notice appear in all copies. |
12 // rights and limitations under the License. | 9 // |
| 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. |
13 // | 17 // |
14 // | 18 // |
15 //------------------------------------------------------------------------------ | 19 //------------------------------------------------------------------------------ |
16 //============================================================================== | 20 //============================================================================== |
17 // This file contains the definitions for the Wireless Module Interface (WMI). | 21 // This file contains the definitions for the Wireless Module Interface (WMI). |
18 // | 22 // |
19 // Author(s): ="Atheros" | 23 // Author(s): ="Atheros" |
20 //============================================================================== | 24 //============================================================================== |
21 #ifndef _WMI_API_H_ | 25 #ifndef _WMI_API_H_ |
22 #define _WMI_API_H_ | 26 #define _WMI_API_H_ |
23 | 27 |
24 #ifdef __cplusplus | 28 #ifdef __cplusplus |
25 extern "C" { | 29 extern "C" { |
26 #endif | 30 #endif |
27 | 31 |
28 /* WMI converts a dix frame with an ethernet payload (up to 1500 bytes) | 32 /* WMI converts a dix frame with an ethernet payload (up to 1500 bytes) |
29 * to an 802.3 frame (adds SNAP header) and adds on a WMI data header */ | 33 * to an 802.3 frame (adds SNAP header) and adds on a WMI data header */ |
30 #define WMI_MAX_TX_DATA_FRAME_LENGTH (1500 + sizeof(WMI_DATA_HDR) + sizeof(ATH_M
AC_HDR) + sizeof(ATH_LLC_SNAP_HDR)) | 34 #define WMI_MAX_TX_DATA_FRAME_LENGTH (1500 + sizeof(WMI_DATA_HDR) + sizeof(ATH_M
AC_HDR) + sizeof(ATH_LLC_SNAP_HDR)) |
31 | 35 |
32 /* A normal WMI data frame */ | 36 /* A normal WMI data frame */ |
33 #define WMI_MAX_NORMAL_RX_DATA_FRAME_LENGTH (1500 + sizeof(WMI_DATA_HDR) + sizeo
f(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR)) | 37 #define WMI_MAX_NORMAL_RX_DATA_FRAME_LENGTH (1500 + sizeof(WMI_DATA_HDR) + sizeo
f(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR)) |
34 | 38 |
35 /* An AMSDU frame */ | 39 /* An AMSDU frame */ /* The MAX AMSDU length of AR6003 is 3839 */ |
36 #define WMI_MAX_AMSDU_RX_DATA_FRAME_LENGTH (4096 + sizeof(WMI_DATA_HDR) + sizeo
f(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR)) | 40 #define WMI_MAX_AMSDU_RX_DATA_FRAME_LENGTH (3840 + sizeof(WMI_DATA_HDR) + sizeo
f(ATH_MAC_HDR) + sizeof(ATH_LLC_SNAP_HDR)) |
37 | 41 |
38 /* | 42 /* |
39 * IP QoS Field definitions according to 802.1p | 43 * IP QoS Field definitions according to 802.1p |
40 */ | 44 */ |
41 #define BEST_EFFORT_PRI 0 | 45 #define BEST_EFFORT_PRI 0 |
42 #define BACKGROUND_PRI 1 | 46 #define BACKGROUND_PRI 1 |
43 #define EXCELLENT_EFFORT_PRI 3 | 47 #define EXCELLENT_EFFORT_PRI 3 |
44 #define CONTROLLED_LOAD_PRI 4 | 48 #define CONTROLLED_LOAD_PRI 4 |
45 #define VIDEO_PRI 5 | 49 #define VIDEO_PRI 5 |
46 #define VOICE_PRI 6 | 50 #define VOICE_PRI 6 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 A_UINT16 psPollNum, A_UINT16 dtimPolicy, | 148 A_UINT16 psPollNum, A_UINT16 dtimPolicy, |
145 A_UINT16 wakup_tx_policy, A_UINT16 num_tx_to_wakeup, | 149 A_UINT16 wakup_tx_policy, A_UINT16 num_tx_to_wakeup, |
146 A_UINT16 ps_fail_event_policy); | 150 A_UINT16 ps_fail_event_policy); |
147 A_STATUS wmi_disctimeout_cmd(struct wmi_t *wmip, A_UINT8 timeout); | 151 A_STATUS wmi_disctimeout_cmd(struct wmi_t *wmip, A_UINT8 timeout); |
148 A_STATUS wmi_sync_cmd(struct wmi_t *wmip, A_UINT8 syncNumber); | 152 A_STATUS wmi_sync_cmd(struct wmi_t *wmip, A_UINT8 syncNumber); |
149 A_STATUS wmi_create_pstream_cmd(struct wmi_t *wmip, WMI_CREATE_PSTREAM_CMD *pstr
eam); | 153 A_STATUS wmi_create_pstream_cmd(struct wmi_t *wmip, WMI_CREATE_PSTREAM_CMD *pstr
eam); |
150 A_STATUS wmi_delete_pstream_cmd(struct wmi_t *wmip, A_UINT8 trafficClass, A_UINT
8 streamID); | 154 A_STATUS wmi_delete_pstream_cmd(struct wmi_t *wmip, A_UINT8 trafficClass, A_UINT
8 streamID); |
151 A_STATUS wmi_set_framerate_cmd(struct wmi_t *wmip, A_UINT8 bEnable, A_UINT8 type
, A_UINT8 subType, A_UINT16 rateMask); | 155 A_STATUS wmi_set_framerate_cmd(struct wmi_t *wmip, A_UINT8 bEnable, A_UINT8 type
, A_UINT8 subType, A_UINT16 rateMask); |
152 A_STATUS wmi_set_bitrate_cmd(struct wmi_t *wmip, A_INT32 dataRate, A_INT32 mgmtR
ate, A_INT32 ctlRate); | 156 A_STATUS wmi_set_bitrate_cmd(struct wmi_t *wmip, A_INT32 dataRate, A_INT32 mgmtR
ate, A_INT32 ctlRate); |
153 A_STATUS wmi_get_bitrate_cmd(struct wmi_t *wmip); | 157 A_STATUS wmi_get_bitrate_cmd(struct wmi_t *wmip); |
154 A_INT8 wmi_validate_bitrate(struct wmi_t *wmip, A_INT32 rate); | 158 A_INT8 wmi_validate_bitrate(struct wmi_t *wmip, A_INT32 rate, A_INT8 *rate_idx
); |
155 A_STATUS wmi_get_regDomain_cmd(struct wmi_t *wmip); | 159 A_STATUS wmi_get_regDomain_cmd(struct wmi_t *wmip); |
156 A_STATUS wmi_get_channelList_cmd(struct wmi_t *wmip); | 160 A_STATUS wmi_get_channelList_cmd(struct wmi_t *wmip); |
157 A_STATUS wmi_set_channelParams_cmd(struct wmi_t *wmip, A_UINT8 scanParam, | 161 A_STATUS wmi_set_channelParams_cmd(struct wmi_t *wmip, A_UINT8 scanParam, |
158 WMI_PHY_MODE mode, A_INT8 numChan, | 162 WMI_PHY_MODE mode, A_INT8 numChan, |
159 A_UINT16 *channelList); | 163 A_UINT16 *channelList); |
160 | 164 |
161 A_STATUS wmi_set_snr_threshold_params(struct wmi_t *wmip, | 165 A_STATUS wmi_set_snr_threshold_params(struct wmi_t *wmip, |
162 WMI_SNR_THRESHOLD_PARAMS_CMD *snrCmd); | 166 WMI_SNR_THRESHOLD_PARAMS_CMD *snrCmd); |
163 A_STATUS wmi_set_rssi_threshold_params(struct wmi_t *wmip, | 167 A_STATUS wmi_set_rssi_threshold_params(struct wmi_t *wmip, |
164 WMI_RSSI_THRESHOLD_PARAMS_CMD *rssiCmd); | 168 WMI_RSSI_THRESHOLD_PARAMS_CMD *rssiCmd); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 | 262 |
259 A_STATUS wmi_set_btcoex_debug_cmd(struct wmi_t *wmip, WMI_SET_BTCOEX_DEBUG_CMD *
cmd); | 263 A_STATUS wmi_set_btcoex_debug_cmd(struct wmi_t *wmip, WMI_SET_BTCOEX_DEBUG_CMD *
cmd); |
260 | 264 |
261 A_STATUS wmi_set_btcoex_bt_operating_status_cmd(struct wmi_t * wmip, | 265 A_STATUS wmi_set_btcoex_bt_operating_status_cmd(struct wmi_t * wmip, |
262 WMI_SET_BTCOEX_BT_OPERAT
ING_STATUS_CMD * cmd); | 266 WMI_SET_BTCOEX_BT_OPERAT
ING_STATUS_CMD * cmd); |
263 | 267 |
264 A_STATUS wmi_get_btcoex_config_cmd(struct wmi_t * wmip, WMI_GET_BTCOEX_CONFIG_CM
D * cmd); | 268 A_STATUS wmi_get_btcoex_config_cmd(struct wmi_t * wmip, WMI_GET_BTCOEX_CONFIG_CM
D * cmd); |
265 | 269 |
266 A_STATUS wmi_get_btcoex_stats_cmd(struct wmi_t * wmip); | 270 A_STATUS wmi_get_btcoex_stats_cmd(struct wmi_t * wmip); |
267 | 271 |
| 272 A_STATUS wmi_SGI_cmd(struct wmi_t *wmip, A_UINT32 sgiMask, A_UINT8 sgiPERThresho
ld); |
| 273 |
268 /* | 274 /* |
269 * This function is used to configure the fix rates mask to the target. | 275 * This function is used to configure the fix rates mask to the target. |
270 */ | 276 */ |
271 A_STATUS wmi_set_fixrates_cmd(struct wmi_t *wmip, A_UINT32 fixRatesMask); | 277 A_STATUS wmi_set_fixrates_cmd(struct wmi_t *wmip, A_UINT32 fixRatesMask); |
272 A_STATUS wmi_get_ratemask_cmd(struct wmi_t *wmip); | 278 A_STATUS wmi_get_ratemask_cmd(struct wmi_t *wmip); |
273 | 279 |
274 A_STATUS wmi_set_authmode_cmd(struct wmi_t *wmip, A_UINT8 mode); | 280 A_STATUS wmi_set_authmode_cmd(struct wmi_t *wmip, A_UINT8 mode); |
275 | 281 |
276 A_STATUS wmi_set_reassocmode_cmd(struct wmi_t *wmip, A_UINT8 mode); | 282 A_STATUS wmi_set_reassocmode_cmd(struct wmi_t *wmip, A_UINT8 mode); |
277 | 283 |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
426 wmi_find_matching_Ssidnode (struct wmi_t *wmip, A_UCHAR *pSsid, | 432 wmi_find_matching_Ssidnode (struct wmi_t *wmip, A_UCHAR *pSsid, |
427 A_UINT32 ssidLength, | 433 A_UINT32 ssidLength, |
428 A_UINT32 dot11AuthMode, A_UINT32 authMode, | 434 A_UINT32 dot11AuthMode, A_UINT32 authMode, |
429 A_UINT32 pairwiseCryptoType, A_UINT32 grpwiseCryptoTyp); | 435 A_UINT32 pairwiseCryptoType, A_UINT32 grpwiseCryptoTyp); |
430 | 436 |
431 #ifdef __cplusplus | 437 #ifdef __cplusplus |
432 } | 438 } |
433 #endif | 439 #endif |
434 | 440 |
435 #endif /* _WMI_API_H_ */ | 441 #endif /* _WMI_API_H_ */ |
OLD | NEW |