blob: 65aa11d73d5e425c487a4c35ff04d621e1c8cab9 [file] [log] [blame]
Jeff Johnson295189b2012-06-20 16:38:30 -07001/*
Gopichand Nakkala92f07d82013-01-08 21:16:34 -08002 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21/*
Jeff Johnson32d95a32012-09-10 13:15:23 -070022 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Jeff Johnson295189b2012-06-20 16:38:30 -070023 *
24 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
25 *
26 *
27 * Permission to use, copy, modify, and/or distribute this software for
28 * any purpose with or without fee is hereby granted, provided that the
29 * above copyright notice and this permission notice appear in all
30 * copies.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
33 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
34 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
35 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
36 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
37 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
38 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39 * PERFORMANCE OF THIS SOFTWARE.
40 */
41
42/*
43 * Airgo Networks, Inc proprietary. All rights reserved.
44 * This file wniApi.h contains message definitions exported by
45 * Sirius software modules.
46 * NOTE: See projects/sirius/include/sirApi.h for structure
47 * definitions of the host/FW messages.
48 *
49 * Author: Chandra Modumudi
50 * Date: 04/11/2002
51 * History:-
52 * Date Modified by Modification Information
53 * --------------------------------------------------------------------
54 */
55
56#ifndef __WNI_API_H
57#define __WNI_API_H
58
59// DPH return error codes
60#define ANI_DPH_SUCCESS 0
61
62#define ANI_DPH_RX_STA_INVALID 1
63
64#define ANI_DPH_DO_TKIP 2
65
66#define ANI_DPH_PORT_BLOCKED 3
67#define ANI_DPH_TX_PUSH_ERROR 10
68#define ANI_DPH_TX_MAC_HDR_ERROR 11
69#define ANI_DPH_TX_INVALID_PAYLOAD 12
70#define ANI_DPH_TX_STA_INVALID 13
71#define ANI_DPH_TX_HASH_MISS 14
72#define ANI_DPH_TX_UNINITIALIZED 15
73#define ANI_DPH_TX_RADIO_IN_DIAG_MODE 16
74#define ANI_DPH_WMM_DROP 17
75#define ANI_DPH_APSD_DROP 18
76#define ANI_DPH_UNKNOWN_STA 19
77
78/// HDD type for special handling of BDs in the TX pkts
79/// Used in the structure ani_mod_info_t->bd_spl_proc_type
80#define ANI_HDD_NO_SPL_PROC 0
81#define ANI_HDD_DUMMY_PKT_SPL_PROC 1
82#define ANI_HDD_PRE_DUMMY_PKT_SPL_PROC 2
83#define ANI_HDD_WNS_L2_UPDATE_SPL_PROC 3
84#define ANI_HDD_DUMMY_DATA 4
85#ifdef WMM_APSD
86#define ANI_HDD_EOSP_PKT 5
87#endif
88
89/// Message offset for the cmd to enqueue a dummy pkt to HDD TD ring
90#define ANI_DUMMY_PKT_MSG_TYPE_OFFSET 0
91#define ANI_DUMMY_PKT_MSG_LEN_OFFSET 2
92#define ANI_DUMMY_PKT_MAC_ADDR_OFFSET 4
93#define ANI_DUMMY_PKT_STA_ID_OFFSET 10
94#define ANI_DUMMY_PKT_RT_FL_OFFSET 12
95#define ANI_DUMMY_PKT_MSG_LEN 16
96#define ANI_DUMMY_DATA_PAYLOAD_OFFSET 10
97
98/**
99 * Product IDs stored in the EEPROM for the different types of AP radio cards
100 * supported by Polaris
101 */
102#define AGN1323AR_00 4
103#define AGN1323AR_01 5
104#define AGN1223AR_00 6
105#define AGN1223AR_01 7
106#define AGN1223AR_02 8
107#define AGN_EEP_PRODUCT_ID_MAX 8
108
109
110
111
112/// Start of Sirius/Host message types
Saurabh Gupta775073c2013-02-14 13:31:36 +0530113#define WNI_HOST_MSG_START 0x1400
Jeff Johnson295189b2012-06-20 16:38:30 -0700114
115enum eWniMsgTypes
116{
117 /// CFG message types
118 eWNI_CFG_MSG_TYPES_BEGIN=WNI_HOST_MSG_START,
119 eWNI_CFG_MSG_TYPES_END=eWNI_CFG_MSG_TYPES_BEGIN+0xFF,
120
121 /// SME message types
122 eWNI_SME_MSG_TYPES_BEGIN=eWNI_CFG_MSG_TYPES_END,
123 eWNI_SME_START_REQ,
124 eWNI_SME_START_RSP,
125 eWNI_SME_SYS_READY_IND,
126 eWNI_SME_SCAN_REQ,
127 eWNI_SME_SCAN_ABORT_IND,
128 eWNI_SME_SCAN_RSP,
Jeff Johnsone7245742012-09-05 17:12:55 -0700129#ifdef FEATURE_OEM_DATA_SUPPORT
130 eWNI_SME_OEM_DATA_REQ,
131 eWNI_SME_OEM_DATA_RSP,
132#endif
Jeff Johnson295189b2012-06-20 16:38:30 -0700133 eWNI_SME_JOIN_REQ,
134 eWNI_SME_JOIN_RSP,
135 eWNI_SME_SETCONTEXT_REQ,
136 eWNI_SME_SETCONTEXT_RSP,
137 eWNI_SME_REASSOC_REQ,
138 eWNI_SME_REASSOC_RSP,
139 eWNI_SME_AUTH_REQ,
140 eWNI_SME_AUTH_RSP,
141 eWNI_SME_DISASSOC_REQ,
142 eWNI_SME_DISASSOC_RSP,
143 eWNI_SME_DISASSOC_IND,
144 eWNI_SME_DISASSOC_CNF,
145 eWNI_SME_DEAUTH_REQ,
146 eWNI_SME_DEAUTH_RSP,
147 eWNI_SME_DEAUTH_IND,
148 eWNI_SME_WM_STATUS_CHANGE_NTF,
149 eWNI_SME_IBSS_NEW_PEER_IND,
150 eWNI_SME_IBSS_PEER_DEPARTED_IND,
151 eWNI_SME_START_BSS_REQ,
152 eWNI_SME_START_BSS_RSP,
153 eWNI_SME_AUTH_IND,
154 eWNI_SME_ASSOC_IND,
155 eWNI_SME_ASSOC_CNF,
156 eWNI_SME_REASSOC_IND,
157 eWNI_SME_REASSOC_CNF,
158 eWNI_SME_SWITCH_CHL_REQ,
159 eWNI_SME_SWITCH_CHL_RSP,
160 eWNI_SME_STOP_BSS_REQ,
161 eWNI_SME_STOP_BSS_RSP,
162 eWNI_SME_DEL_BA_PEER_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700163 eWNI_SME_DEFINE_QOS_REQ,
164 eWNI_SME_DEFINE_QOS_RSP,
165 eWNI_SME_DELETE_QOS_REQ,
166 eWNI_SME_DELETE_QOS_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700167 eWNI_SME_PROMISCUOUS_MODE_REQ,
168 eWNI_SME_PROMISCUOUS_MODE_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700169 eWNI_SME_LINK_TEST_START_REQ,
170 eWNI_SME_LINK_TEST_START_RSP,
171 eWNI_SME_LINK_TEST_STOP_REQ,
172 eWNI_SME_LINK_TEST_STOP_RSP,
173 eWNI_SME_LINK_TEST_REPORT_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700174 eWNI_SME_NEIGHBOR_BSS_IND,
175 eWNI_SME_MEASUREMENT_REQ,
176 eWNI_SME_MEASUREMENT_RSP,
177 eWNI_SME_MEASUREMENT_IND,
178 eWNI_SME_SET_WDS_INFO_REQ,
179 eWNI_SME_SET_WDS_INFO_RSP,
180 eWNI_SME_WDS_INFO_IND,
Jeff Johnson295189b2012-06-20 16:38:30 -0700181 eWNI_SME_SET_POWER_REQ,
182 eWNI_SME_SET_POWER_RSP,
183 eWNI_SME_CLIENT_SIDE_LOAD_BALANCE_REQ,
184 eWNI_SME_CLIENT_SIDE_LOAD_BALANCE_RSP,
185 eWNI_SME_SELECT_CHANNEL_REQ,
186 eWNI_SME_SELECT_CHANNEL_RSP,
187 eWNI_SME_SET_PROPRIETARY_IE_REQ,
188 eWNI_SME_SET_PROPRIETARY_IE_RSP, // #endif
189 eWNI_SME_DISCARD_SKB_NTF, // Used to cleanup SKBs by HDD
Jeff Johnson295189b2012-06-20 16:38:30 -0700190 eWNI_SME_DEAUTH_CNF,
191 eWNI_SME_MIC_FAILURE_IND,
192 eWNI_SME_ADDTS_REQ,
193 eWNI_SME_ADDTS_RSP,
194 eWNI_SME_ADDTS_CNF,
195 eWNI_SME_ADDTS_IND,
196 eWNI_SME_DELTS_REQ,
197 eWNI_SME_DELTS_RSP,
198 eWNI_SME_DELTS_IND,
199 eWNI_SME_SET_BACKGROUND_SCAN_MODE_REQ,
200 eWNI_SME_SWITCH_CHL_CB_PRIMARY_REQ,
201 eWNI_SME_SWITCH_CHL_CB_PRIMARY_RSP,
202 eWNI_SME_SWITCH_CHL_CB_SECONDARY_REQ,
203 eWNI_SME_SWITCH_CHL_CB_SECONDARY_RSP,
204 eWNI_SME_PROBE_REQ,
205 eWNI_SME_STA_STAT_REQ,
206 eWNI_SME_STA_STAT_RSP,
207 eWNI_SME_AGGR_STAT_REQ,
208 eWNI_SME_AGGR_STAT_RSP,
209 eWNI_SME_GLOBAL_STAT_REQ,
210 eWNI_SME_GLOBAL_STAT_RSP,
211 eWNI_SME_STAT_SUMM_REQ,
212 eWNI_SME_STAT_SUMM_RSP,
213 eWNI_SME_REMOVEKEY_REQ,
214 eWNI_SME_REMOVEKEY_RSP,
215 eWNI_SME_GET_SCANNED_CHANNEL_REQ,
216 eWNI_SME_GET_SCANNED_CHANNEL_RSP,
217 eWNI_SME_SET_TX_POWER_REQ,
218 eWNI_SME_SET_TX_POWER_RSP,
219 eWNI_SME_GET_TX_POWER_REQ,
220 eWNI_SME_GET_TX_POWER_RSP,
221 eWNI_SME_GET_NOISE_REQ,
222 eWNI_SME_GET_NOISE_RSP,
223 eWNI_SME_LOW_RSSI_IND,
224 eWNI_SME_GET_STATISTICS_REQ,
225 eWNI_SME_GET_STATISTICS_RSP,
226 eWNI_SME_GET_RSSI_REQ,
Srinivas Girigowdad34cedb2013-01-25 13:33:11 -0800227 eWNI_SME_GET_ROAM_RSSI_REQ,
228 eWNI_SME_GET_ROAM_RSSI_RSP,
Jeff Johnson295189b2012-06-20 16:38:30 -0700229 eWNI_SME_GET_ASSOC_STAS_REQ,
230 eWNI_SME_TKIP_CNTR_MEAS_REQ,
231 eWNI_SME_UPDATE_APWPSIE_REQ,
232 eWNI_SME_GET_WPSPBC_SESSION_REQ,
233 eWNI_SME_WPS_PBC_PROBE_REQ_IND,
234 eWNI_SME_SET_APWPARSNIEs_REQ,
235 eWNI_SME_UPPER_LAYER_ASSOC_CNF,
236 eWNI_SME_HIDE_SSID_REQ,
Madan Mohan Koyyalamudi167b95e2012-11-27 15:53:38 -0800237 eWNI_SME_CHNG_MCC_BEACON_INTERVAL,
Jeff Johnson295189b2012-06-20 16:38:30 -0700238 eWNI_SME_REMAIN_ON_CHANNEL_REQ,
239 eWNI_SME_REMAIN_ON_CHN_IND,
240 eWNI_SME_REMAIN_ON_CHN_RSP,
241 eWNI_SME_MGMT_FRM_IND,
242 eWNI_SME_REMAIN_ON_CHN_RDY_IND,
243 eWNI_SME_SEND_ACTION_FRAME_IND,
244 eWNI_SME_ACTION_FRAME_SEND_CNF,
245 eWNI_SME_ABORT_REMAIN_ON_CHAN_IND,
246 eWNI_SME_UPDATE_NOA,
Gopichand Nakkalac178ac82013-05-30 19:53:39 +0530247 eWNI_SME_CLEAR_DFS_CHANNEL_LIST,
Jeff Johnson295189b2012-06-20 16:38:30 -0700248 eWNI_SME_PRE_CHANNEL_SWITCH_FULL_POWER,
249 //General Power Save Messages
250 eWNI_PMC_MSG_TYPES_BEGIN,
251 eWNI_PMC_PWR_SAVE_CFG,
252
253 //BMPS Messages
254 eWNI_PMC_ENTER_BMPS_REQ,
255 eWNI_PMC_ENTER_BMPS_RSP,
256 eWNI_PMC_EXIT_BMPS_REQ,
257 eWNI_PMC_EXIT_BMPS_RSP,
258 eWNI_PMC_EXIT_BMPS_IND,
259
260 //IMPS Messages.
261 eWNI_PMC_ENTER_IMPS_REQ,
262 eWNI_PMC_ENTER_IMPS_RSP,
263 eWNI_PMC_EXIT_IMPS_REQ,
264 eWNI_PMC_EXIT_IMPS_RSP,
265
266 //UAPSD Messages
267 eWNI_PMC_ENTER_UAPSD_REQ,
268 eWNI_PMC_ENTER_UAPSD_RSP,
269 eWNI_PMC_EXIT_UAPSD_REQ,
270 eWNI_PMC_EXIT_UAPSD_RSP,
271
272 //WOWL Messages
273 eWNI_PMC_SMPS_STATE_IND,
274
275 //WoWLAN Messages
276 eWNI_PMC_WOWL_ADD_BCAST_PTRN,
277 eWNI_PMC_WOWL_DEL_BCAST_PTRN,
278 eWNI_PMC_ENTER_WOWL_REQ,
279 eWNI_PMC_ENTER_WOWL_RSP,
280 eWNI_PMC_EXIT_WOWL_REQ,
281 eWNI_PMC_EXIT_WOWL_RSP,
282
283#ifdef WLAN_FEATURE_PACKET_FILTERING
284 eWNI_PMC_PACKET_COALESCING_FILTER_MATCH_COUNT_RSP,
285#endif // WLAN_FEATURE_PACKET_FILTERING
286
Jeff Johnson295189b2012-06-20 16:38:30 -0700287#if defined WLAN_FEATURE_VOWIFI
288 eWNI_SME_RRM_MSG_TYPE_BEGIN,
289
290 eWNI_SME_NEIGHBOR_REPORT_REQ_IND,
291 eWNI_SME_NEIGHBOR_REPORT_IND,
292 eWNI_SME_BEACON_REPORT_REQ_IND,
293 eWNI_SME_BEACON_REPORT_RESP_XMIT_IND,
294
Jeff Johnson295189b2012-06-20 16:38:30 -0700295#endif
296 eWNI_SME_ADD_STA_SELF_REQ,
297 eWNI_SME_ADD_STA_SELF_RSP,
298 eWNI_SME_DEL_STA_SELF_REQ,
299 eWNI_SME_DEL_STA_SELF_RSP,
300
301#if defined WLAN_FEATURE_VOWIFI_11R
302 eWNI_SME_FT_PRE_AUTH_REQ,
303 eWNI_SME_FT_PRE_AUTH_RSP,
304 eWNI_SME_FT_UPDATE_KEY,
305 eWNI_SME_FT_AGGR_QOS_REQ,
306 eWNI_SME_FT_AGGR_QOS_RSP,
307#endif
308
309#if defined FEATURE_WLAN_CCX
310 eWNI_SME_CCX_ADJACENT_AP_REPORT,
311#endif
312
Jeff Johnson295189b2012-06-20 16:38:30 -0700313 eWNI_SME_REGISTER_MGMT_FRAME_REQ,
Jeff Johnson295189b2012-06-20 16:38:30 -0700314
315 eWNI_SME_COEX_IND,
316
317#ifdef FEATURE_WLAN_SCAN_PNO
318 eWNI_SME_PREF_NETWORK_FOUND_IND,
319#endif // FEATURE_WLAN_SCAN_PNO
320
321 eWNI_SME_TX_PER_HIT_IND,
322
323 eWNI_SME_CHANGE_COUNTRY_CODE,
324 eWNI_SME_PRE_SWITCH_CHL_IND,
325 eWNI_SME_POST_SWITCH_CHL_IND,
326
327 eWNI_SME_MAX_ASSOC_EXCEEDED,
328
329 eWNI_SME_BTAMP_LOG_LINK_IND,//to serialize the create/accpet LL req from HCI
330
Jeff Johnson295189b2012-06-20 16:38:30 -0700331
332#ifdef WLAN_WAKEUP_EVENTS
333 eWNI_SME_WAKE_REASON_IND,
334#endif // WLAN_WAKEUP_EVENTS
Jeff Johnsone7245742012-09-05 17:12:55 -0700335 eWNI_SME_EXCLUDE_UNENCRYPTED,
336 eWNI_SME_RSSI_IND, //RSSI indication from TL to be serialized on MC thread
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800337#ifdef FEATURE_WLAN_TDLS
338 eWNI_SME_TDLS_SEND_MGMT_REQ,
339 eWNI_SME_TDLS_SEND_MGMT_RSP,
340 eWNI_SME_TDLS_ADD_STA_REQ,
341 eWNI_SME_TDLS_ADD_STA_RSP,
342 eWNI_SME_TDLS_DEL_STA_REQ,
Hoonki Leee6bfe942013-02-05 15:01:19 -0800343 eWNI_SME_TDLS_DEL_STA_RSP,
344 eWNI_SME_TDLS_DEL_STA_IND,
Gopichand Nakkala2a0a1572013-02-10 21:39:16 -0800345 eWNI_SME_TDLS_DEL_ALL_PEER_IND,
Gopichand Nakkalab977a972013-02-18 19:15:09 -0800346 eWNI_SME_MGMT_FRM_TX_COMPLETION_IND,
Gopichand Nakkala78a6c812013-05-13 16:39:49 +0530347#ifdef FEATURE_WLAN_TDLS_OXYGEN_DISAPPEAR_AP
348 eWNI_SME_TDLS_AP_DISAPPEAR_IND,
349#endif
Gopichand Nakkala79ff85d2013-05-27 17:05:29 +0530350 eWNI_SME_TDLS_LINK_ESTABLISH_REQ,
351 eWNI_SME_TDLS_LINK_ESTABLISH_RSP,
Mohit Khanna698ba2a2012-12-04 15:08:18 -0800352#endif
353 //NOTE: If you are planning to add more mesages, please make sure that
354 //SIR_LIM_ITC_MSG_TYPES_BEGIN is moved appropriately. It is set as
355 //SIR_LIM_MSG_TYPES_BEGIN+0xB0 = 12B0 (which means max of 176 messages and
356 //eWNI_SME_TDLS_DEL_STA_RSP = 175.
357 //Should fix above issue to enable TDLS_INTERNAL
358#ifdef FEATURE_WLAN_TDLS_INTERNAL
359#error ERROR_TDLS_INTERNAL
360 eWNI_SME_TDLS_DISCOVERY_START_REQ,
361 eWNI_SME_TDLS_DISCOVERY_START_RSP,
362 eWNI_SME_TDLS_DISCOVERY_START_IND,
363 eWNI_SME_TDLS_LINK_START_REQ,
364 eWNI_SME_TDLS_LINK_START_RSP,
365 eWNI_SME_TDLS_LINK_START_IND,
366 eWNI_SME_TDLS_TEARDOWN_REQ,
367 eWNI_SME_TDLS_TEARDOWN_RSP,
368 eWNI_SME_TDLS_TEARDOWN_IND,
369 eWNI_SME_ADD_TDLS_PEER_IND,
370 eWNI_SME_DELETE_TDLS_PEER_IND,
371#endif
Yathish9f22e662012-12-10 14:21:35 -0800372 eWNI_SME_SET_BCN_FILTER_REQ,
Gopichand Nakkalacca24d12013-03-07 17:05:07 +0530373 eWNI_SME_RESET_AP_CAPS_CHANGED,
Chet Lanctot186b5732013-03-18 10:26:30 -0700374#ifdef WLAN_FEATURE_11W
375 eWNI_SME_UNPROT_MGMT_FRM_IND,
376#endif
Gopichand Nakkala870cbae2013-03-15 21:16:09 +0530377#ifdef WLAN_FEATURE_GTK_OFFLOAD
378 eWNI_PMC_GTK_OFFLOAD_GETINFO_RSP,
379#endif // WLAN_FEATURE_GTK_OFFLOAD
Varun Reddy Yeturucc661d22013-05-20 11:47:10 -0700380 eWNI_SME_CANDIDATE_FOUND_IND, /*ROAM candidate indication from FW*/
381 eWNI_SME_HANDOFF_REQ,/*upper layer requested handoff to driver in STA mode*/
382 eWNI_SME_ROAM_SCAN_OFFLOAD_RSP,/*Fwd the LFR scan offload rsp from FW to SME*/
Leo Chang9056f462013-08-01 19:21:11 -0700383#ifdef FEATURE_WLAN_LPHB
384 eWNI_SME_LPHB_WAIT_TIMEOUT_IND,
385#endif /* FEATURE_WLAN_LPHB */
Jeff Johnson295189b2012-06-20 16:38:30 -0700386 eWNI_SME_MSG_TYPES_END
387};
388
389#define WNI_CFG_MSG_TYPES_BEGIN 0x1100
390
391/*---------------------------------------------------------------------*/
392/* CFG Module Definitions */
393/*---------------------------------------------------------------------*/
394
395
396/*---------------------------------------------------------------------*/
397/* CFG message definitions */
398/*---------------------------------------------------------------------*/
399#define WNI_CFG_MSG_HDR_MASK 0xffff0000
400#define WNI_CFG_MSG_LEN_MASK 0x0000ffff
401#define WNI_CFG_MB_HDR_LEN 4
402#define WNI_CFG_MAX_PARAM_NUM 32
403
404
405/*---------------------------------------------------------------------*/
406/* CFG to HDD message types */
407/*---------------------------------------------------------------------*/
408#define WNI_CFG_PARAM_UPDATE_IND (WNI_CFG_MSG_TYPES_BEGIN | 0x00)
409#define WNI_CFG_DNLD_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x01)
410#define WNI_CFG_DNLD_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x02)
411#define WNI_CFG_GET_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x03)
412#define WNI_CFG_SET_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x04)
413#define WNI_CFG_GET_ATTRIB_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x05)
414#define WNI_CFG_ADD_GRP_ADDR_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x06)
415#define WNI_CFG_DEL_GRP_ADDR_CNF (WNI_CFG_MSG_TYPES_BEGIN | 0x07)
416
417#define ANI_CFG_GET_RADIO_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x08)
418#define ANI_CFG_GET_PER_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x09)
419#define ANI_CFG_GET_AGG_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0a)
420#define ANI_CFG_CLEAR_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0b)
421
422
423/*---------------------------------------------------------------------*/
424/* CFG to HDD message paramter indices */
425/* */
426/* The followings are word indices starting from the message body */
427/* */
428/* WNI_CFG_xxxx_xxxx_xxxx: index of parameter */
429/* */
430/* WNI_CFG_xxxx_xxxx_NUM: number of parameters in message */
431/* */
432/* WNI_CFG_xxxx_xxxx_LEN: byte length of message including */
433/* MB header */
434/* */
435/* WNI_CFG_xxxx_xxxx_PARTIAL_LEN: byte length of message including */
436/* parameters and MB header but */
437/* excluding variable data length */
438/*---------------------------------------------------------------------*/
439
Jeff Johnson295189b2012-06-20 16:38:30 -0700440// Parameter update indication
441#define WNI_CFG_PARAM_UPDATE_IND_PID 0
442
443#define WNI_CFG_PARAM_UPDATE_IND_NUM 1
444#define WNI_CFG_PARAM_UPDATE_IND_LEN (WNI_CFG_MB_HDR_LEN + \
445 (WNI_CFG_PARAM_UPDATE_IND_NUM << 2))
Jeff Johnson295189b2012-06-20 16:38:30 -0700446
447// Configuration download request
448#define WNI_CFG_DNLD_REQ_NUM 0
449#define WNI_CFG_DNLD_REQ_LEN WNI_CFG_MB_HDR_LEN
450
451// Configuration download confirm
452#define WNI_CFG_DNLD_CNF_RES 0
453
454#define WNI_CFG_DNLD_CNF_NUM 1
455#define WNI_CFG_DNLD_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
456 (WNI_CFG_DNLD_CNF_NUM << 2))
457// Get response
458#define WNI_CFG_GET_RSP_RES 0
459#define WNI_CFG_GET_RSP_PID 1
460#define WNI_CFG_GET_RSP_PLEN 2
461
462#define WNI_CFG_GET_RSP_NUM 3
463#define WNI_CFG_GET_RSP_PARTIAL_LEN (WNI_CFG_MB_HDR_LEN + \
464 (WNI_CFG_GET_RSP_NUM << 2))
465// Set confirm
466#define WNI_CFG_SET_CNF_RES 0
467#define WNI_CFG_SET_CNF_PID 1
468
469#define WNI_CFG_SET_CNF_NUM 2
470#define WNI_CFG_SET_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
471 (WNI_CFG_SET_CNF_NUM << 2))
472// Get attribute response
473#define WNI_CFG_GET_ATTRIB_RSP_RES 0
474#define WNI_CFG_GET_ATTRIB_RSP_PID 1
475#define WNI_CFG_GET_ATTRIB_RSP_TYPE 2
476#define WNI_CFG_GET_ATTRIB_RSP_PLEN 3
477#define WNI_CFG_GET_ATTRIB_RSP_RW 4
478
479#define WNI_CFG_GET_ATTRIB_RSP_NUM 5
480#define WNI_CFG_GET_ATTRIB_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
481 (WNI_CFG_GET_ATTRIB_RSP_NUM << 2))
482
483// Add group address confirm
484#define WNI_CFG_ADD_GRP_ADDR_CNF_RES 0
485
486#define WNI_CFG_ADD_GRP_ADDR_CNF_NUM 1
487#define WNI_CFG_ADD_GRP_ADDR_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
488 (WNI_CFG_ADD_GRP_ADDR_CNF_NUM << 2))
489
490// Delete group address confirm
491#define WNI_CFG_DEL_GRP_ADDR_CNF_RES 0
492
493#define WNI_CFG_DEL_GRP_ADDR_CNF_NUM 1
494#define WNI_CFG_DEL_GRP_ADDR_CNF_LEN (WNI_CFG_MB_HDR_LEN + \
495 (WNI_CFG_DEL_GRP_ADDR_CNF_NUM <<2))
496
497
498#define IS_CFG_MSG(msg) ((msg & 0xff00) == WNI_CFG_MSG_TYPES_BEGIN)
499
500// Clear stats types.
501#define ANI_CLEAR_ALL_STATS 0
502#define ANI_CLEAR_RX_STATS 1
503#define ANI_CLEAR_TX_STATS 2
504#define ANI_CLEAR_PER_STA_STATS 3
505#define ANI_CLEAR_AGGR_PER_STA_STATS 4
506#define ANI_CLEAR_STAT_TYPES_END 5
507
508/*---------------------------------------------------------------------*/
509/* HDD to CFG message types */
510/*---------------------------------------------------------------------*/
511#define WNI_CFG_DNLD_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x80)
512#define WNI_CFG_GET_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x81)
513#define WNI_CFG_SET_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x82)
514#define WNI_CFG_SET_REQ_NO_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x83) //No RSP for this set
515
516// Shall be removed after stats integration
517
518
519/*---------------------------------------------------------------------*/
520/* HDD to CFG message paramter indices */
521/* */
522/* The followings are word indices starting from the message body */
523/* */
524/* WNI_CFG_xxxx_xxxx_xxxx: index of parameter */
525/* */
526/* WNI_CFG_xxxx_xxxx_NUM: number of parameters in message */
527/* */
528/* WNI_CFG_xxxx_xxxx_LEN: byte length of message including */
529/* MB header */
530/* */
531/* WNI_CFG_xxxx_xxxx_PARTIAL_LEN: byte length of message including */
532/* parameters and MB header but */
533/* excluding variable data length */
534/*---------------------------------------------------------------------*/
535
536// Download response
537#define WNI_CFG_DNLD_RSP_BIN_LEN 0
538
539#define WNI_CFG_DNLD_RSP_NUM 1
540#define WNI_CFG_DNLD_RSP_PARTIAL_LEN (WNI_CFG_MB_HDR_LEN + \
541 (WNI_CFG_DNLD_RSP_NUM << 2))
542
543// Set parameter request
544#define WNI_CFG_SET_REQ_PID 0
545#define WNI_CFG_SET_REQ_PLEN 1
546
547/*
548// Get attribute request
549//#define WNI_CFG_GET_ATTRIB_REQ_PID 0
550
551//#define WNI_CFG_GET_ATTRIB_REQ_NUM 1
552//#define WNI_CFG_GET_ATTRIB_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
553 (WNI_CFG_GET_ATTRIB_REQ_NUM << 2))
554// Add group address request
555#define WNI_CFG_ADD_GRP_ADDR_REQ_MAC_ADDR 0
556
557#define WNI_CFG_ADD_GRP_ADDR_REQ_NUM 1
558#define WNI_CFG_ADD_GRP_ADDR_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
559 (WNI_CFG_ADD_GRP_ADDR_REQ_NUM << 2))
560// Delete group address request
561#define WNI_CFG_DEL_GRP_ADDR_REQ_MAC_ADDR 0
562
563#define WNI_CFG_DEL_GRP_ADDR_REQ_NUM 1
564#define WNI_CFG_DEL_GRP_ADDR_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
565 (WNI_CFG_DEL_GRP_ADDR_REQ_NUM << 2))
566*/
567
568
569/*---------------------------------------------------------------------*/
570/* CFG return values */
571/*---------------------------------------------------------------------*/
572#define WNI_CFG_SUCCESS 1
573#define WNI_CFG_NOT_READY 2
574#define WNI_CFG_INVALID_PID 3
575#define WNI_CFG_INVALID_LEN 4
576#define WNI_CFG_RO_PARAM 5
577#define WNI_CFG_WO_PARAM 6
578#define WNI_CFG_INVALID_STAID 7
579#define WNI_CFG_OTHER_ERROR 8
580#define WNI_CFG_NEED_RESTART 9
581#define WNI_CFG_NEED_RELOAD 10
582
583
584/*---------------------------------------------------------------------*/
585/* CFG definitions */
586/*---------------------------------------------------------------------*/
587#define WNI_CFG_TYPE_STR 0x0000000
588#define WNI_CFG_TYPE_INT 0x0000001
589#define WNI_CFG_HOST_RE 0x0000002
590#define WNI_CFG_HOST_WE 0x0000004
591
592
593// Shall be removed after integration of stats.
594// Get statistic response
595#define WNI_CFG_GET_STAT_RSP_RES 0
596#define WNI_CFG_GET_STAT_RSP_PARAMID 1
597#define WNI_CFG_GET_STAT_RSP_VALUE 2
598
599#define WNI_CFG_GET_STAT_RSP_NUM 3
600#define WNI_CFG_GET_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
601 (WNI_CFG_GET_STAT_RSP_NUM <<2))
602// Get per station statistic response
603#define WNI_CFG_GET_PER_STA_STAT_RSP_RES 0
604#define WNI_CFG_GET_PER_STA_STAT_RSP_STAID 1
605#define WNI_CFG_GET_PER_STA_STAT_RSP_FIRST_PARAM 2
606
607// Per STA statistic structure
608typedef struct sAniCfgPerStaStatStruct
609{
610 unsigned long sentAesBlksUcastHi;
611 unsigned long sentAesBlksUcastLo;
612
613 unsigned long recvAesBlksUcastHi;
614 unsigned long recvAesBlksUcastLo;
615
616 unsigned long aesFormatErrorUcastCnts;
617
618 unsigned long aesReplaysUcast;
619
620 unsigned long aesDecryptErrUcast;
621
622 unsigned long singleRetryPkts;
623
624 unsigned long failedTxPkts;
625
626 unsigned long ackTimeouts;
627
628 unsigned long multiRetryPkts;
629
630 unsigned long fragTxCntsHi;
631 unsigned long fragTxCntsLo;
632
633 unsigned long transmittedPktsHi;
634 unsigned long transmittedPktsLo;
635
636 unsigned long phyStatHi;
637 unsigned long phyStatLo;
638} tCfgPerStaStatStruct, *tpAniCfgPerStaStatStruct;
639
640#define WNI_CFG_GET_PER_STA_STAT_RSP_NUM 23
641#define WNI_CFG_GET_PER_STA_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
642 (WNI_CFG_GET_PER_STA_STAT_RSP_NUM << 2))
643
644
645// Shall be removed after integrating stats.
646#define WNI_CFG_GET_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x08)
647#define WNI_CFG_GET_PER_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x09)
648#define WNI_CFG_GET_AGG_STA_STAT_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0a)
649#define WNI_CFG_GET_TX_RATE_CTR_RSP (WNI_CFG_MSG_TYPES_BEGIN | 0x0b)
650
651#define WNI_CFG_GET_AGG_STA_STAT_RSP_NUM 21
652#define WNI_CFG_GET_AGG_STA_STAT_RSP_LEN (WNI_CFG_MB_HDR_LEN + \
653 (WNI_CFG_GET_AGG_STA_STAT_RSP_NUM << 2))
654#define WNI_CFG_GET_AGG_STA_STAT_RSP_RES 0
655
656 // Get TX rate based stats
657#define WNI_CFG_GET_TX_RATE_CTR_RSP_RES 0
658
659typedef struct sAniCfgTxRateCtrs
660{
661// add the rate counters here
662 unsigned long TxFrames_1Mbps;
663 unsigned long TxFrames_2Mbps;
664 unsigned long TxFrames_5_5Mbps;
665 unsigned long TxFrames_6Mbps;
666 unsigned long TxFrames_9Mbps;
667 unsigned long TxFrames_11Mbps;
668 unsigned long TxFrames_12Mbps;
669 unsigned long TxFrames_18Mbps;
670 unsigned long TxFrames_24Mbps;
671 unsigned long TxFrames_36Mbps;
672 unsigned long TxFrames_48Mbps;
673 unsigned long TxFrames_54Mbps;
674 unsigned long TxFrames_72Mbps;
675 unsigned long TxFrames_96Mbps;
676 unsigned long TxFrames_108Mbps;
677
678} tAniCfgTxRateCtrs, *tpAniCfgTxRateCtrs;
679
680
681#define WNI_CFG_GET_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x86)
682#define WNI_CFG_GET_PER_STA_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x87)
683#define WNI_CFG_GET_AGG_STA_STAT_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x88)
684#define WNI_CFG_GET_TX_RATE_CTR_REQ (WNI_CFG_MSG_TYPES_BEGIN | 0x89)
685
686// Get statistic request
687#define WNI_CFG_GET_STAT_REQ_PARAMID 0
688
689#define WNI_CFG_GET_STAT_REQ_NUM 1
690#define WNI_CFG_GET_STAT_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
691 (WNI_CFG_GET_STAT_REQ_NUM << 2))
692
693 // Get per station statistic request
694#define WNI_CFG_GET_PER_STA_STAT_REQ_STAID 0
695
696#define WNI_CFG_GET_PER_STA_STAT_REQ_NUM 1
697#define WNI_CFG_GET_PER_STA_STAT_REQ_LEN (WNI_CFG_MB_HDR_LEN + \
698 (WNI_CFG_GET_PER_STA_STAT_REQ_NUM << 2))
699
700
701
702
703#define DYNAMIC_CFG_TYPE_SELECTED_REGISTRAR (0)
704#define DYNAMIC_CFG_TYPE_WPS_STATE (1)
705
706#endif /* __WNI_API_H */
707