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