1 /*****************************************************************************
3 (c) Cambridge Silicon Radio Limited 2011
4 All rights reserved and confidential information of CSR
6 Refer to LICENSE.txt included with this source for details
9 *****************************************************************************/
11 /* Note: this is an auto-generated file. */
13 #ifndef CSR_WIFI_NME_PRIM_H__
14 #define CSR_WIFI_NME_PRIM_H__
16 #include <linux/types.h>
17 #include "csr_prim_defs.h"
18 #include "csr_sched.h"
19 #include "csr_wifi_common.h"
20 #include "csr_result.h"
21 #include "csr_wifi_fsm_event.h"
22 #include "csr_wifi_sme_prim.h"
24 #ifndef CSR_WIFI_NME_ENABLE
25 #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_prim.h
28 #define CSR_WIFI_NME_PRIM (0x0424)
30 typedef CsrPrim CsrWifiNmePrim;
32 typedef void (*CsrWifiNmeFrameFreeFunction)(void *frame);
34 /*******************************************************************************
40 WiFi Authentication Mode
43 CSR_WIFI_NME_AUTH_MODE_80211_OPEN
44 - Connects to an open system network (i.e. no authentication,
45 no encryption) or to a WEP enabled network.
46 CSR_WIFI_NME_AUTH_MODE_80211_SHARED
47 - Connect to a WEP enabled network.
48 CSR_WIFI_NME_AUTH_MODE_8021X_WPA
49 - Connects to a WPA Enterprise enabled network.
50 CSR_WIFI_NME_AUTH_MODE_8021X_WPAPSK
51 - Connects to a WPA with Pre-Shared Key enabled network.
52 CSR_WIFI_NME_AUTH_MODE_8021X_WPA2
53 - Connects to a WPA2 Enterprise enabled network.
54 CSR_WIFI_NME_AUTH_MODE_8021X_WPA2PSK
55 - Connects to a WPA2 with Pre-Shared Key enabled network.
56 CSR_WIFI_NME_AUTH_MODE_8021X_CCKM
57 - Connects to a CCKM enabled network.
58 CSR_WIFI_NME_AUTH_MODE_WAPI_WAI
59 - Connects to a WAPI Enterprise enabled network.
60 CSR_WIFI_NME_AUTH_MODE_WAPI_WAIPSK
61 - Connects to a WAPI with Pre-Shared Key enabled network.
62 CSR_WIFI_NME_AUTH_MODE_8021X_OTHER1X
65 *******************************************************************************/
66 typedef u16 CsrWifiNmeAuthMode;
67 #define CSR_WIFI_NME_AUTH_MODE_80211_OPEN ((CsrWifiNmeAuthMode) 0x0001)
68 #define CSR_WIFI_NME_AUTH_MODE_80211_SHARED ((CsrWifiNmeAuthMode) 0x0002)
69 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA ((CsrWifiNmeAuthMode) 0x0004)
70 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPAPSK ((CsrWifiNmeAuthMode) 0x0008)
71 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA2 ((CsrWifiNmeAuthMode) 0x0010)
72 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA2PSK ((CsrWifiNmeAuthMode) 0x0020)
73 #define CSR_WIFI_NME_AUTH_MODE_8021X_CCKM ((CsrWifiNmeAuthMode) 0x0040)
74 #define CSR_WIFI_NME_AUTH_MODE_WAPI_WAI ((CsrWifiNmeAuthMode) 0x0080)
75 #define CSR_WIFI_NME_AUTH_MODE_WAPI_WAIPSK ((CsrWifiNmeAuthMode) 0x0100)
76 #define CSR_WIFI_NME_AUTH_MODE_8021X_OTHER1X ((CsrWifiNmeAuthMode) 0x0200)
78 /*******************************************************************************
87 CSR_WIFI_NME_BSS_TYPE_INFRASTRUCTURE
88 - Infrastructure BSS type where access to the network is via
89 one or several Access Points.
90 CSR_WIFI_NME_BSS_TYPE_ADHOC
91 - Adhoc or Independent BSS Type where one Station acts as a
92 host and future stations can join the adhoc network without
93 needing an access point.
94 CSR_WIFI_NME_BSS_TYPE_RESERVED
95 - To be in sync with SME.This is not used.
96 CSR_WIFI_NME_BSS_TYPE_P2P
97 - P2P mode of operation.
99 *******************************************************************************/
100 typedef u8 CsrWifiNmeBssType;
101 #define CSR_WIFI_NME_BSS_TYPE_INFRASTRUCTURE ((CsrWifiNmeBssType) 0x00)
102 #define CSR_WIFI_NME_BSS_TYPE_ADHOC ((CsrWifiNmeBssType) 0x01)
103 #define CSR_WIFI_NME_BSS_TYPE_RESERVED ((CsrWifiNmeBssType) 0x02)
104 #define CSR_WIFI_NME_BSS_TYPE_P2P ((CsrWifiNmeBssType) 0x03)
106 /*******************************************************************************
109 CsrWifiNmeCcxOptionsMask
112 Enumeration type defining possible mask values for setting CCX options.
115 CSR_WIFI_NME_CCX_OPTION_NONE - No CCX option is set.
116 CSR_WIFI_NME_CCX_OPTION_CCKM - CCX option cckm is set.
118 *******************************************************************************/
119 typedef u8 CsrWifiNmeCcxOptionsMask;
120 #define CSR_WIFI_NME_CCX_OPTION_NONE ((CsrWifiNmeCcxOptionsMask) 0x00)
121 #define CSR_WIFI_NME_CCX_OPTION_CCKM ((CsrWifiNmeCcxOptionsMask) 0x01)
123 /*******************************************************************************
126 CsrWifiNmeConfigAction
131 CSR_WIFI_PIN_ENTRY_PUSH_BUTTON -
132 CSR_WIFI_PIN_ENTRY_DISPLAY_PIN -
133 CSR_WIFI_PIN_ENTRY_ENTER_PIN -
135 *******************************************************************************/
136 typedef u8 CsrWifiNmeConfigAction;
137 #define CSR_WIFI_PIN_ENTRY_PUSH_BUTTON ((CsrWifiNmeConfigAction) 0x00)
138 #define CSR_WIFI_PIN_ENTRY_DISPLAY_PIN ((CsrWifiNmeConfigAction) 0x01)
139 #define CSR_WIFI_PIN_ENTRY_ENTER_PIN ((CsrWifiNmeConfigAction) 0x02)
141 /*******************************************************************************
144 CsrWifiNmeConnectionStatus
147 Indicate the NME Connection Status when connecting or when disconnecting
150 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTED
151 - NME is disconnected.
152 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTING
153 - NME is in the process of connecting.
154 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_AUTHENTICATING
155 - NME is in the authentication stage of a connection attempt.
156 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTED
158 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTING
159 - NME is in the process of disconnecting.
161 *******************************************************************************/
162 typedef u8 CsrWifiNmeConnectionStatus;
163 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTED ((CsrWifiNmeConnectionStatus) 0x00)
164 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTING ((CsrWifiNmeConnectionStatus) 0x01)
165 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_AUTHENTICATING ((CsrWifiNmeConnectionStatus) 0x02)
166 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTED ((CsrWifiNmeConnectionStatus) 0x03)
167 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTING ((CsrWifiNmeConnectionStatus) 0x04)
169 /*******************************************************************************
172 CsrWifiNmeCredentialType
178 CSR_WIFI_NME_CREDENTIAL_TYPE_OPEN_SYSTEM
179 - Credential Type Open System.
180 CSR_WIFI_NME_CREDENTIAL_TYPE_WEP64
181 - Credential Type WEP-64
182 CSR_WIFI_NME_CREDENTIAL_TYPE_WEP128
183 - Credential Type WEP-128
184 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PSK
185 - Credential Type WPA Pre-Shared Key
186 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PASSPHRASE
187 - Credential Type WPA pass phrase
188 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PSK
189 - Credential Type WPA2 Pre-Shared Key.
190 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PASSPHRASE
191 - Credential Type WPA2 pass phrase
192 CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PSK
193 - Credential Type WAPI Pre-Shared Key.
194 CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PASSPHRASE
195 - Credential Type WAPI pass phrase
196 CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI
197 - Credential Type WAPI certificates
198 CSR_WIFI_NME_CREDENTIAL_TYPE_8021X
199 - Credential Type 802.1X: the associated type supports
200 FAST/LEAP/TLS/TTLS/PEAP/etc.
202 *******************************************************************************/
203 typedef u16 CsrWifiNmeCredentialType;
204 #define CSR_WIFI_NME_CREDENTIAL_TYPE_OPEN_SYSTEM ((CsrWifiNmeCredentialType) 0x0000)
205 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WEP64 ((CsrWifiNmeCredentialType) 0x0001)
206 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WEP128 ((CsrWifiNmeCredentialType) 0x0002)
207 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PSK ((CsrWifiNmeCredentialType) 0x0003)
208 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0004)
209 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PSK ((CsrWifiNmeCredentialType) 0x0005)
210 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0006)
211 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PSK ((CsrWifiNmeCredentialType) 0x0007)
212 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0008)
213 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI ((CsrWifiNmeCredentialType) 0x0009)
214 #define CSR_WIFI_NME_CREDENTIAL_TYPE_8021X ((CsrWifiNmeCredentialType) 0x000A)
216 /*******************************************************************************
222 Outer EAP method with possibly inner method.
225 CSR_WIFI_NME_EAP_METHOD_TLS
227 CSR_WIFI_NME_EAP_METHOD_TTLS_MSCHAPV2
228 - EAP-TTLS Method with MSCHAPV2.
229 CSR_WIFI_NME_EAP_METHOD_PEAP_GTC
230 - EAP-PEAP Method with GTC.
231 CSR_WIFI_NME_EAP_METHOD_PEAP_MSCHAPV2
232 - EAP-PEAP Method with MSCHAPV2.
233 CSR_WIFI_NME_EAP_METHOD_SIM
235 CSR_WIFI_NME_EAP_METHOD_AKA
237 CSR_WIFI_NME_EAP_METHOD_FAST_GTC
238 - EAP-FAST Method with GTC.
239 CSR_WIFI_NME_EAP_METHOD_FAST_MSCHAPV2
240 - EAP-FAST Method with MSCHAPV2.
241 CSR_WIFI_NME_EAP_METHOD_LEAP
244 *******************************************************************************/
245 typedef u16 CsrWifiNmeEapMethod;
246 #define CSR_WIFI_NME_EAP_METHOD_TLS ((CsrWifiNmeEapMethod) 0x0001)
247 #define CSR_WIFI_NME_EAP_METHOD_TTLS_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0002)
248 #define CSR_WIFI_NME_EAP_METHOD_PEAP_GTC ((CsrWifiNmeEapMethod) 0x0004)
249 #define CSR_WIFI_NME_EAP_METHOD_PEAP_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0008)
250 #define CSR_WIFI_NME_EAP_METHOD_SIM ((CsrWifiNmeEapMethod) 0x0010)
251 #define CSR_WIFI_NME_EAP_METHOD_AKA ((CsrWifiNmeEapMethod) 0x0020)
252 #define CSR_WIFI_NME_EAP_METHOD_FAST_GTC ((CsrWifiNmeEapMethod) 0x0040)
253 #define CSR_WIFI_NME_EAP_METHOD_FAST_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0080)
254 #define CSR_WIFI_NME_EAP_METHOD_LEAP ((CsrWifiNmeEapMethod) 0x0100)
256 /*******************************************************************************
262 WiFi Encryption method
265 CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE
267 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP40
268 - 40 bytes WEP key for peer to peer communication.
269 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP104
270 - 104 bytes WEP key for peer to peer communication.
271 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_TKIP
272 - TKIP key for peer to peer communication.
273 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_CCMP
274 - CCMP key for peer to peer communication.
275 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_SMS4
276 - SMS4 key for peer to peer communication.
277 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP40
278 - 40 bytes WEP key for broadcast messages.
279 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP104
280 - 104 bytes WEP key for broadcast messages.
281 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_TKIP
282 - TKIP key for broadcast messages.
283 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_CCMP
284 - CCMP key for broadcast messages
285 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_SMS4
286 - SMS4 key for broadcast messages.
288 *******************************************************************************/
289 typedef u16 CsrWifiNmeEncryption;
290 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE ((CsrWifiNmeEncryption) 0x0000)
291 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP40 ((CsrWifiNmeEncryption) 0x0001)
292 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP104 ((CsrWifiNmeEncryption) 0x0002)
293 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_TKIP ((CsrWifiNmeEncryption) 0x0004)
294 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_CCMP ((CsrWifiNmeEncryption) 0x0008)
295 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_SMS4 ((CsrWifiNmeEncryption) 0x0010)
296 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP40 ((CsrWifiNmeEncryption) 0x0020)
297 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP104 ((CsrWifiNmeEncryption) 0x0040)
298 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_TKIP ((CsrWifiNmeEncryption) 0x0080)
299 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_CCMP ((CsrWifiNmeEncryption) 0x0100)
300 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_SMS4 ((CsrWifiNmeEncryption) 0x0200)
302 /*******************************************************************************
305 CsrWifiNmeIndications
311 CSR_WIFI_NME_INDICATIONS_IND_AP_STATION
312 - NME AP Station Indication.
313 CSR_WIFI_NME_INDICATIONS_IND_AP_STOP
314 - NME AP Stop Indication.
315 CSR_WIFI_NME_INDICATIONS_IND_SIM_UMTS_AUTH
316 - NME UMTS Authentication Indication.
317 CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_START
318 - NME P2P Group Start Indication.
319 CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_STATUS
320 - NME P2P Group Status Indication.
321 CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_ROLE
322 - NME P2P Group Role Indication.
323 CSR_WIFI_NME_INDICATIONS_IND_PROFILE_DISCONNECT
324 - NME Profile Disconnect Indication.
325 CSR_WIFI_NME_INDICATIONS_IND_PROFILE_UPDATE
326 - NME Profile Update Indication.
327 CSR_WIFI_NME_INDICATIONS_IND_SIM_IMSI_GET
328 - NME GET IMSI Indication.
329 CSR_WIFI_NME_INDICATIONS_IND_SIM_GSM_AUTH
330 - NME GSM Authentication Indication.
331 CSR_WIFI_NME_INDICATIONS_ALL
332 - Used to register for all available indications
334 *******************************************************************************/
335 typedef u32 CsrWifiNmeIndications;
336 #define CSR_WIFI_NME_INDICATIONS_IND_AP_STATION ((CsrWifiNmeIndications) 0x00100000)
337 #define CSR_WIFI_NME_INDICATIONS_IND_AP_STOP ((CsrWifiNmeIndications) 0x00200000)
338 #define CSR_WIFI_NME_INDICATIONS_IND_SIM_UMTS_AUTH ((CsrWifiNmeIndications) 0x01000000)
339 #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_START ((CsrWifiNmeIndications) 0x02000000)
340 #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_STATUS ((CsrWifiNmeIndications) 0x04000000)
341 #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_ROLE ((CsrWifiNmeIndications) 0x08000000)
342 #define CSR_WIFI_NME_INDICATIONS_IND_PROFILE_DISCONNECT ((CsrWifiNmeIndications) 0x10000000)
343 #define CSR_WIFI_NME_INDICATIONS_IND_PROFILE_UPDATE ((CsrWifiNmeIndications) 0x20000000)
344 #define CSR_WIFI_NME_INDICATIONS_IND_SIM_IMSI_GET ((CsrWifiNmeIndications) 0x40000000)
345 #define CSR_WIFI_NME_INDICATIONS_IND_SIM_GSM_AUTH ((CsrWifiNmeIndications) 0x80000000)
346 #define CSR_WIFI_NME_INDICATIONS_ALL ((CsrWifiNmeIndications) 0xFFFFFFFF)
348 /*******************************************************************************
355 place holder for the security library abort reason
358 CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN
359 - Unknown Security Error.
361 *******************************************************************************/
362 typedef u8 CsrWifiNmeSecError;
363 #define CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN ((CsrWifiNmeSecError) 0x00)
365 /*******************************************************************************
368 CsrWifiNmeSimCardType
371 (U)SIM Card (or UICC) types
374 CSR_WIFI_NME_SIM_CARD_TYPE_2G - 2G SIM card, capable of performing GSM
376 CSR_WIFI_NME_SIM_CARD_TYPE_3G - UICC supporting USIM application, capable
377 of performing UMTS authentication only.
378 CSR_WIFI_NME_SIM_CARD_TYPE_2G3G - UICC supporting both USIM and SIM
379 applications, capable of performing both
380 UMTS and GSM authentications.
382 *******************************************************************************/
383 typedef u8 CsrWifiNmeSimCardType;
384 #define CSR_WIFI_NME_SIM_CARD_TYPE_2G ((CsrWifiNmeSimCardType) 0x01)
385 #define CSR_WIFI_NME_SIM_CARD_TYPE_3G ((CsrWifiNmeSimCardType) 0x02)
386 #define CSR_WIFI_NME_SIM_CARD_TYPE_2G3G ((CsrWifiNmeSimCardType) 0x03)
388 /*******************************************************************************
391 CsrWifiNmeUmtsAuthResult
394 Only relevant for UMTS Authentication. It indicates if the UICC has
395 successfully authenticated the network or otherwise.
398 CSR_WIFI_NME_UMTS_AUTH_RESULT_SUCCESS
399 - Successful outcome from USIM indicating that the card has
400 successfully authenticated the network.
401 CSR_WIFI_NME_UMTS_AUTH_RESULT_SYNC_FAIL
402 - Unsuccessful outcome from USIM indicating that the card is
403 requesting the network to synchronise and re-try again. If
404 no further request is received an NME timer will expire and
405 the authentication is aborted.
406 CSR_WIFI_NME_UMTS_AUTH_RESULT_REJECT
407 - Unsuccessful outcome from USIM indicating that the card has
408 rejected the network and that the authentication is
411 *******************************************************************************/
412 typedef u8 CsrWifiNmeUmtsAuthResult;
413 #define CSR_WIFI_NME_UMTS_AUTH_RESULT_SUCCESS ((CsrWifiNmeUmtsAuthResult) 0x00)
414 #define CSR_WIFI_NME_UMTS_AUTH_RESULT_SYNC_FAIL ((CsrWifiNmeUmtsAuthResult) 0x01)
415 #define CSR_WIFI_NME_UMTS_AUTH_RESULT_REJECT ((CsrWifiNmeUmtsAuthResult) 0x02)
417 /*******************************************************************************
423 Defines bits for the QoS Info octect as defined in the WMM specification.
424 The values of this type are used across the NME/SME/Router API's and they
425 must be kept consistent with the corresponding types in the .xml of the
429 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_ALL
430 - WMM AP may deliver all buffered frames.
431 CSR_WIFI_NME_WMM_QOS_INFO_AC_VO
432 - To enable the triggering and delivery of QoS Voice.
433 CSR_WIFI_NME_WMM_QOS_INFO_AC_VI
434 - To enable the triggering and delivery of QoS Video.
435 CSR_WIFI_NME_WMM_QOS_INFO_AC_BK
436 - To enable the triggering and delivery of QoS Background.
437 CSR_WIFI_NME_WMM_QOS_INFO_AC_BE
438 - To enable the triggering and delivery of QoS Best Effort.
439 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_TWO
440 - WMM AP may deliver a maximum of 2 buffered frames per
441 Unscheduled Service Period (USP).
442 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_FOUR
443 - WMM AP may deliver a maximum of 4 buffered frames per USP.
444 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_SIX
445 - WMM AP may deliver a maximum of 6 buffered frames per USP.
447 *******************************************************************************/
448 typedef u8 CsrWifiNmeWmmQosInfo;
449 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_ALL ((CsrWifiNmeWmmQosInfo) 0x00)
450 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_VO ((CsrWifiNmeWmmQosInfo) 0x01)
451 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_VI ((CsrWifiNmeWmmQosInfo) 0x02)
452 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_BK ((CsrWifiNmeWmmQosInfo) 0x04)
453 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_BE ((CsrWifiNmeWmmQosInfo) 0x08)
454 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_TWO ((CsrWifiNmeWmmQosInfo) 0x20)
455 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_FOUR ((CsrWifiNmeWmmQosInfo) 0x40)
456 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_SIX ((CsrWifiNmeWmmQosInfo) 0x60)
459 /*******************************************************************************
462 CsrWifiNmeEapMethodMask
465 Mask type for use with the values defined by CsrWifiNmeEapMethod.
467 *******************************************************************************/
468 typedef u16 CsrWifiNmeEapMethodMask;
469 /*******************************************************************************
472 CsrWifiNmeEncryptionMask
475 Mask type for use with the values defined by CsrWifiNmeEncryption
477 *******************************************************************************/
478 typedef u16 CsrWifiNmeEncryptionMask;
479 /*******************************************************************************
482 CsrWifiNmeIndicationsMask
485 Mask type for use with the values defined by CsrWifiNmeIndications
487 *******************************************************************************/
488 typedef u32 CsrWifiNmeIndicationsMask;
489 /*******************************************************************************
492 CsrWifiNmeNmeIndicationsMask
495 Mask type for use with the values defined by CsrWifiNmeNmeIndications.
496 Used to overlap the unused portion of the unifi_IndicationsMask For NME
499 *******************************************************************************/
500 typedef u32 CsrWifiNmeNmeIndicationsMask;
501 /*******************************************************************************
504 CsrWifiNmeWmmQosInfoMask
507 Mask type for use with the values defined by CsrWifiNmeWmmQosInfo
509 *******************************************************************************/
510 typedef u8 CsrWifiNmeWmmQosInfoMask;
513 /*******************************************************************************
519 Empty Structure to indicate that no credentials are available.
522 empty - Only element of the empty structure (always set to 0).
524 *******************************************************************************/
530 /*******************************************************************************
536 Structure holding the ASCII Pass Phrase data.
539 encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
540 passphrase - Pass phrase ASCII value.
542 *******************************************************************************/
547 } CsrWifiNmePassphrase;
549 /*******************************************************************************
555 Structure holding the Pre-Shared Key data.
558 encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
559 psk - Pre-Shared Key value.
561 *******************************************************************************/
568 /*******************************************************************************
571 CsrWifiNmeWapiCredentials
574 Structure holding WAPI credentials data.
577 certificateLength - Length in bytes of the following client certificate.
578 certificate - The actual client certificate data (if present).
579 DER/PEM format supported.
580 privateKeyLength - Length in bytes of the following private key.
581 privateKey - The actual private key. DER/PEM format.
582 caCertificateLength - Length in bytes of the following certificate authority
584 caCertificate - The actual certificate authority certificate data. If
585 not supplied the received certificate authority
586 certificate is assumed to be validate, if present the
587 received certificate is validated against it. DER/PEM
590 *******************************************************************************/
593 u32 certificateLength;
595 u16 privateKeyLength;
597 u32 caCertificateLength;
599 } CsrWifiNmeWapiCredentials;
601 /*******************************************************************************
604 CsrWifiNmeConnectAttempt
607 Structure holding Connection attempt data.
610 bssid - Id of Basic Service Set connections attempt have been made
612 status - Status returned to indicate the success or otherwise of the
614 securityError - Security error status indicating the nature of the failure
617 *******************************************************************************/
620 CsrWifiMacAddress bssid;
622 CsrWifiNmeSecError securityError;
623 } CsrWifiNmeConnectAttempt;
625 /*******************************************************************************
628 CsrWifiNmeEapCredentials
631 Supports the use of multiple EAP methods via a single structure. The
632 methods required are indicated by the value set in the eapMethodMask
636 - Bit mask of supported EAP methods
637 Currently only supports the setting of one bit.
638 Required for all the EAP methods.
640 - Bit mask representing the authentication types that may be
641 supported by a suitable AP. An AP must support at least one
642 of the authentication types specified to be considered for
643 connection. Required for all EAP methods.
645 - Bit mask representing the encryption types that may be
646 supported by a suitable AP. An AP must support a suitable
647 mix of the pairwise and group encryption types requested to
648 be considered for connection. Required for all EAP methods.
650 - User name. Required for all EAP methods except: SIM or AKA.
652 - User Password. Required for all EAP methods except: TLS,
654 authServerUserIdentity
655 - Authentication server user Identity. Required for all EAP
656 methods except: TLS, SIM, AKA or FAST.
657 clientCertificateLength
658 - Length in bytes of the following client certificate (if
659 present). Only required for TLS.
661 - The actual client certificate data (if present). Only
662 required for TLS. DER/PEM format supported.
663 certificateAuthorityCertificateLength
664 - Length in bytes of the following certificate authority
665 certificate (if present). Optional for TLS, TTLS, PEAP.
666 certificateAuthorityCertificate
667 - The actual certificate authority certificate data (if
668 present). If not supplied the received certificate
669 authority certificate is assumed to be valid, if present
670 the received certificate is validated against it. Optional
671 for TLS, TTLS, PEAP. DER/PEM format supported.
673 - Length in bytes of the following private key (if present).
674 Only required for TLS.
676 - The actual private key (if present). Only required for TLS.
677 DER/PEM format, maybe password protected.
679 - Optional password to protect the private key.
681 - Length in bytes of the following session field Supported
682 for all EAP methods except: SIM or AKA.
684 - Session information to support faster re-authentication.
685 Supported for all EAP methods except: SIM or AKA.
687 - If TRUE: PAC provisioning is allowed 'over-the_air';
688 If FALSE: a PAC must be supplied.
689 Only required for FAST.
691 - Length the following PAC field. If allowPacProvisioning is
692 FALSE then the PAC MUST be supplied (i.e. non-zero). Only
695 - The actual PAC data. If allowPacProvisioning is FALSE then
696 the PAC MUST be supplied. Only required for FAST.
698 - Optional password to protect the PAC. Only required for
701 *******************************************************************************/
704 CsrWifiNmeEapMethodMask eapMethodMask;
705 CsrWifiSmeAuthModeMask authMode;
706 CsrWifiNmeEncryptionMask encryptionMode;
709 char *authServerUserIdentity;
710 u32 clientCertificateLength;
711 u8 *clientCertificate;
712 u32 certificateAuthorityCertificateLength;
713 u8 *certificateAuthorityCertificate;
714 u16 privateKeyLength;
716 char *privateKeyPassword;
719 u8 allowPacProvisioning;
723 } CsrWifiNmeEapCredentials;
725 /*******************************************************************************
731 Structure holding Peer Config data.
735 groupCapabilityMask -
738 *******************************************************************************/
741 CsrWifiMacAddress p2pDeviceId;
742 CsrWifiSmeP2pGroupCapabilityMask groupCapabilityMask;
744 } CsrWifiNmePeerConfig;
746 /*******************************************************************************
749 CsrWifiNmeProfileIdentity
752 The identity of a profile is defined as the unique combination the BSSID
756 bssid - ID of Basic Service Set for or the P2pDevice address of the GO for
757 which a connection attempt was made.
758 ssid - Service Set Id.
760 *******************************************************************************/
763 CsrWifiMacAddress bssid;
765 } CsrWifiNmeProfileIdentity;
767 /*******************************************************************************
773 Structure holding WEP Authentication Type and WEP keys that can be used
777 wepAuthType - Mask to select the WEP authentication type (Open or Shared)
778 selectedWepKey - Index to one of the four keys below indicating the
779 currently used WEP key.
780 key1 - Value for key number 1.
781 key2 - Value for key number 2.
782 key3 - Value for key number 3.
783 key4 - Value for key number 4.
785 *******************************************************************************/
788 CsrWifiSmeAuthModeMask wepAuthType;
794 } CsrWifiNmeWep128Keys;
796 /*******************************************************************************
802 Structure for holding WEP Authentication Type and WEP keys that can be
803 used when using WEP64.
806 wepAuthType - Mask to select the WEP authentication type (Open or Shared)
807 selectedWepKey - Index to one of the four keys below indicating the
808 currently used WEP key.
809 key1 - Value for key number 1.
810 key2 - Value for key number 2.
811 key3 - Value for key number 3.
812 key4 - Value for key number 4.
814 *******************************************************************************/
817 CsrWifiSmeAuthModeMask wepAuthType;
823 } CsrWifiNmeWep64Keys;
825 /*******************************************************************************
828 CsrWifiNmeCredentials
831 Structure containing the Credentials data.
834 credentialType - Credential type value (as defined in the
836 credential - Union containing credentials which depends on
837 credentialType parameter.
839 credentialwapiPassphrase -
840 credentialwpa2Passphrase -
843 credentialwpaPassphrase -
845 credentialwep128Key -
847 credentialopenSystem -
850 *******************************************************************************/
853 CsrWifiNmeCredentialType credentialType;
855 CsrWifiNmeEapCredentials eap;
856 CsrWifiNmePassphrase wapiPassphrase;
857 CsrWifiNmePassphrase wpa2Passphrase;
858 CsrWifiNmePsk wpa2Psk;
859 CsrWifiNmePsk wapiPsk;
860 CsrWifiNmePassphrase wpaPassphrase;
861 CsrWifiNmeWapiCredentials wapi;
862 CsrWifiNmeWep128Keys wep128Key;
863 CsrWifiNmePsk wpaPsk;
864 CsrWifiNmeEmpty openSystem;
865 CsrWifiNmeWep64Keys wep64Key;
867 } CsrWifiNmeCredentials;
869 /*******************************************************************************
875 Structure containing the Profile data.
878 profileIdentity - Profile Identity.
879 wmmQosInfoMask - Mask for WMM QoS information.
880 bssType - Type of BSS (Infrastructure or Adhoc).
881 channelNo - Channel Number.
882 ccxOptionsMask - Options mask for Cisco Compatible Extentions.
883 cloakedSsid - Flag to decide whether the SSID is cloaked (not
885 credentials - Credentials data.
887 *******************************************************************************/
890 CsrWifiNmeProfileIdentity profileIdentity;
891 CsrWifiNmeWmmQosInfoMask wmmQosInfoMask;
892 CsrWifiNmeBssType bssType;
896 CsrWifiNmeCredentials credentials;
901 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST (0x0000)
903 #define CSR_WIFI_NME_PROFILE_SET_REQ ((CsrWifiNmePrim) (0x0000 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
904 #define CSR_WIFI_NME_PROFILE_DELETE_REQ ((CsrWifiNmePrim) (0x0001 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
905 #define CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ ((CsrWifiNmePrim) (0x0002 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
906 #define CSR_WIFI_NME_PROFILE_ORDER_SET_REQ ((CsrWifiNmePrim) (0x0003 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
907 #define CSR_WIFI_NME_PROFILE_CONNECT_REQ ((CsrWifiNmePrim) (0x0004 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
908 #define CSR_WIFI_NME_WPS_REQ ((CsrWifiNmePrim) (0x0005 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
909 #define CSR_WIFI_NME_WPS_CANCEL_REQ ((CsrWifiNmePrim) (0x0006 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
910 #define CSR_WIFI_NME_CONNECTION_STATUS_GET_REQ ((CsrWifiNmePrim) (0x0007 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
911 #define CSR_WIFI_NME_SIM_IMSI_GET_RES ((CsrWifiNmePrim) (0x0008 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
912 #define CSR_WIFI_NME_SIM_GSM_AUTH_RES ((CsrWifiNmePrim) (0x0009 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
913 #define CSR_WIFI_NME_SIM_UMTS_AUTH_RES ((CsrWifiNmePrim) (0x000A + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
914 #define CSR_WIFI_NME_WPS_CONFIG_SET_REQ ((CsrWifiNmePrim) (0x000B + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
915 #define CSR_WIFI_NME_EVENT_MASK_SET_REQ ((CsrWifiNmePrim) (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
918 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)
921 #define CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM)
923 #define CSR_WIFI_NME_PROFILE_SET_CFM ((CsrWifiNmePrim)(0x0000 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
924 #define CSR_WIFI_NME_PROFILE_DELETE_CFM ((CsrWifiNmePrim)(0x0001 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
925 #define CSR_WIFI_NME_PROFILE_DELETE_ALL_CFM ((CsrWifiNmePrim)(0x0002 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
926 #define CSR_WIFI_NME_PROFILE_ORDER_SET_CFM ((CsrWifiNmePrim)(0x0003 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
927 #define CSR_WIFI_NME_PROFILE_CONNECT_CFM ((CsrWifiNmePrim)(0x0004 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
928 #define CSR_WIFI_NME_WPS_CFM ((CsrWifiNmePrim)(0x0005 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
929 #define CSR_WIFI_NME_WPS_CANCEL_CFM ((CsrWifiNmePrim)(0x0006 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
930 #define CSR_WIFI_NME_CONNECTION_STATUS_GET_CFM ((CsrWifiNmePrim)(0x0007 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
931 #define CSR_WIFI_NME_PROFILE_UPDATE_IND ((CsrWifiNmePrim)(0x0008 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
932 #define CSR_WIFI_NME_PROFILE_DISCONNECT_IND ((CsrWifiNmePrim)(0x0009 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
933 #define CSR_WIFI_NME_SIM_IMSI_GET_IND ((CsrWifiNmePrim)(0x000A + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
934 #define CSR_WIFI_NME_SIM_GSM_AUTH_IND ((CsrWifiNmePrim)(0x000B + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
935 #define CSR_WIFI_NME_SIM_UMTS_AUTH_IND ((CsrWifiNmePrim)(0x000C + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
936 #define CSR_WIFI_NME_WPS_CONFIG_SET_CFM ((CsrWifiNmePrim)(0x000D + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
937 #define CSR_WIFI_NME_EVENT_MASK_SET_CFM ((CsrWifiNmePrim)(0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
939 #define CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST (0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)
941 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)
942 #define CSR_WIFI_NME_PRIM_UPSTREAM_COUNT (CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)
944 /*******************************************************************************
947 CsrWifiNmeProfileSetReq
950 Creates or updates an existing profile in the NME that matches the unique
951 identity of the profile. Each profile is identified by the combination of
952 BSSID and SSID. The profile contains all the required credentials for
953 attempting to connect to the network. Creating or updating a profile via
954 the NME PROFILE SET REQ does NOT add the profile to the preferred profile
955 list within the NME used for the NME auto-connect behaviour.
958 common - Common header for use with the CsrWifiFsm Module
959 profile - Specifies the identity and credentials of the network.
961 *******************************************************************************/
964 CsrWifiFsmEvent common;
965 CsrWifiNmeProfile profile;
966 } CsrWifiNmeProfileSetReq;
968 /*******************************************************************************
971 CsrWifiNmeProfileDeleteReq
974 Will delete the profile with a matching identity, but does NOT modify the
975 preferred profile list.
978 common - Common header for use with the CsrWifiFsm Module
979 profileIdentity - Identity (BSSID, SSID) of profile to be deleted.
981 *******************************************************************************/
984 CsrWifiFsmEvent common;
985 CsrWifiNmeProfileIdentity profileIdentity;
986 } CsrWifiNmeProfileDeleteReq;
988 /*******************************************************************************
991 CsrWifiNmeProfileDeleteAllReq
994 Deletes all profiles present in the NME, but does NOT modify the
995 preferred profile list.
998 common - Common header for use with the CsrWifiFsm Module
1000 *******************************************************************************/
1003 CsrWifiFsmEvent common;
1004 } CsrWifiNmeProfileDeleteAllReq;
1006 /*******************************************************************************
1009 CsrWifiNmeProfileOrderSetReq
1012 Defines the preferred order that profiles present in the NME should be
1013 used during the NME auto-connect behaviour.
1014 If profileIdentitysCount == 0, it removes any existing preferred profile
1015 list already present in the NME, effectively disabling the auto-connect
1017 NOTE: Profile identities that do not match any profile stored in the NME
1018 are ignored during the auto-connect procedure.
1019 NOTE: during auto-connect the NME will only attempt to join an existing
1020 adhoc network and it will never attempt to host an adhoc network; for
1021 hosting and adhoc network, use CSR_WIFI_NME_PROFILE_CONNECT_REQ
1024 common - Common header for use with the CsrWifiFsm Module
1025 interfaceTag - Interface Identifier; unique identifier of an
1027 profileIdentitysCount - The number of profiles identities in the list.
1028 profileIdentitys - Points to the list of profile identities.
1030 *******************************************************************************/
1033 CsrWifiFsmEvent common;
1035 u8 profileIdentitysCount;
1036 CsrWifiNmeProfileIdentity *profileIdentitys;
1037 } CsrWifiNmeProfileOrderSetReq;
1039 /*******************************************************************************
1042 CsrWifiNmeProfileConnectReq
1045 Requests the NME to attempt to connect to the specified profile.
1046 Overrides any current connection attempt.
1049 common - Common header for use with the CsrWifiFsm Module
1050 interfaceTag - Interface Identifier; unique identifier of an interface
1051 profileIdentity - Identity (BSSID, SSID) of profile to be connected to.
1052 It must match an existing profile in the NME.
1054 *******************************************************************************/
1057 CsrWifiFsmEvent common;
1059 CsrWifiNmeProfileIdentity profileIdentity;
1060 } CsrWifiNmeProfileConnectReq;
1062 /*******************************************************************************
1068 Requests the NME to look for WPS enabled APs and attempt to perform WPS
1069 to determine the appropriate security credentials to connect to the AP.
1070 If the PIN == '00000000' then 'push button mode' is indicated, otherwise
1071 the PIN has to match that of the AP. 4 digit pin is passed by sending the
1072 pin digits in pin[0]..pin[3] and rest of the contents filled with '-'.
1075 common - Common header for use with the CsrWifiFsm Module
1076 interfaceTag - Interface Identifier; unique identifier of an interface
1078 ssid - Service Set identifier
1079 bssid - ID of Basic Service Set for which a WPS connection attempt is
1082 *******************************************************************************/
1085 CsrWifiFsmEvent common;
1089 CsrWifiMacAddress bssid;
1092 /*******************************************************************************
1095 CsrWifiNmeWpsCancelReq
1098 Requests the NME to cancel any WPS procedure that it is currently
1099 performing. This includes WPS registrar activities started because of
1100 CSR_WIFI_NME_AP_REGISTER.request
1103 common - Common header for use with the CsrWifiFsm Module
1104 interfaceTag - Interface Identifier; unique identifier of an interface
1106 *******************************************************************************/
1109 CsrWifiFsmEvent common;
1111 } CsrWifiNmeWpsCancelReq;
1113 /*******************************************************************************
1116 CsrWifiNmeConnectionStatusGetReq
1119 Requests the current connection status of the NME.
1122 common - Common header for use with the CsrWifiFsm Module
1123 interfaceTag - Interface Identifier; unique identifier of an interface
1125 *******************************************************************************/
1128 CsrWifiFsmEvent common;
1130 } CsrWifiNmeConnectionStatusGetReq;
1132 /*******************************************************************************
1135 CsrWifiNmeSimImsiGetRes
1138 Response from the application that received the NME SIM IMSI GET IND.
1141 common - Common header for use with the CsrWifiFsm Module
1142 status - Indicates the outcome of the requested operation: STATUS_SUCCESS
1144 imsi - The value of the IMSI obtained from the UICC.
1145 cardType - The UICC type (GSM only (SIM), UMTS only (USIM), Both).
1147 *******************************************************************************/
1150 CsrWifiFsmEvent common;
1153 CsrWifiNmeSimCardType cardType;
1154 } CsrWifiNmeSimImsiGetRes;
1156 /*******************************************************************************
1159 CsrWifiNmeSimGsmAuthRes
1162 Response from the application that received the NME SIM GSM AUTH IND. For
1163 each GSM authentication round a GSM Ciphering key (Kc) and a signed
1164 response (SRES) are produced. Since 2 or 3 GSM authentication rounds are
1165 used the 2 or 3 Kc's obtained respectively are combined into one buffer
1166 and similarly the 2 or 3 SRES's obtained are combined into another
1167 buffer. The order of Kc values (SRES values respectively) in their buffer
1168 is the same as that of their corresponding RAND values in the incoming
1172 common - Common header for use with the CsrWifiFsm Module
1173 status - Indicates the outcome of the requested operation:
1174 STATUS_SUCCESS or STATUS_ERROR
1175 kcsLength - Length in Bytes of Kc buffer. Legal values are: 16 or 24.
1176 kcs - Kc buffer holding 2 or 3 Kc values.
1177 sresLength - Length in Bytes of SRES buffer. Legal values are: 8 or 12.
1178 sres - SRES buffer holding 2 or 3 SRES values.
1180 *******************************************************************************/
1183 CsrWifiFsmEvent common;
1189 } CsrWifiNmeSimGsmAuthRes;
1191 /*******************************************************************************
1194 CsrWifiNmeSimUmtsAuthRes
1197 Response from the application that received the NME SIM UMTS AUTH IND.
1198 The values of umtsCipherKey, umtsIntegrityKey, resParameterLength and
1199 resParameter are only meanigful when result = UMTS_AUTH_RESULT_SUCCESS.
1200 The value of auts is only meaningful when
1201 result=UMTS_AUTH_RESULT_SYNC_FAIL.
1204 common - Common header for use with the CsrWifiFsm Module
1205 status - Indicates the outcome of the requested operation:
1206 STATUS_SUCCESS or STATUS_ERROR.
1207 result - The result of UMTS authentication as performed by the
1208 UICC which could be: Success, Authentication Reject or
1209 Synchronisation Failure. For all these 3 outcomes the
1210 value of status is success.
1211 umtsCipherKey - The UMTS Cipher Key as calculated and returned by the
1213 umtsIntegrityKey - The UMTS Integrity Key as calculated and returned by
1215 resParameterLength - The length (in bytes) of the RES parameter (min=4; max
1217 resParameter - The RES parameter as calculated and returned by the
1219 auts - The AUTS parameter as calculated and returned by the
1222 *******************************************************************************/
1225 CsrWifiFsmEvent common;
1227 CsrWifiNmeUmtsAuthResult result;
1228 u8 umtsCipherKey[16];
1229 u8 umtsIntegrityKey[16];
1230 u8 resParameterLength;
1233 } CsrWifiNmeSimUmtsAuthRes;
1235 /*******************************************************************************
1238 CsrWifiNmeWpsConfigSetReq
1241 This primitive passes the WPS information for the device to NME. This may
1242 be accepted only if no interface is active.
1245 common - Common header for use with the CsrWifiFsm Module
1246 wpsConfig - WPS config.
1248 *******************************************************************************/
1251 CsrWifiFsmEvent common;
1252 CsrWifiSmeWpsConfig wpsConfig;
1253 } CsrWifiNmeWpsConfigSetReq;
1255 /*******************************************************************************
1258 CsrWifiNmeEventMaskSetReq
1261 The wireless manager application may register with the NME to receive
1262 notification of interesting events. Indications will be sent only if the
1263 wireless manager explicitly registers to be notified of that event.
1264 indMask is a bit mask of values defined in CsrWifiNmeIndicationsMask.
1267 common - Common header for use with the CsrWifiFsm Module
1268 indMask - Set mask with values from CsrWifiNmeIndications
1270 *******************************************************************************/
1273 CsrWifiFsmEvent common;
1274 CsrWifiNmeIndicationsMask indMask;
1275 } CsrWifiNmeEventMaskSetReq;
1277 /*******************************************************************************
1280 CsrWifiNmeProfileSetCfm
1283 Reports the status of the NME PROFILE SET REQ; the request will only fail
1284 if the details specified in the profile contains an invalid combination
1285 of parameters for example specifying the profile as cloaked but not
1286 specifying the SSID. The NME doesn't limit the number of profiles that
1287 may be created. The NME assumes that the entity configuring it is aware
1288 of the appropriate limits.
1291 common - Common header for use with the CsrWifiFsm Module
1292 status - Indicates the success or otherwise of the requested operation.
1294 *******************************************************************************/
1297 CsrWifiFsmEvent common;
1299 } CsrWifiNmeProfileSetCfm;
1301 /*******************************************************************************
1304 CsrWifiNmeProfileDeleteCfm
1307 Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_REQ.
1308 Returns CSR_WIFI_NME_STATUS_NOT_FOUND if there is no matching profile.
1311 common - Common header for use with the CsrWifiFsm Module
1312 status - Indicates the success or otherwise of the requested operation.
1314 *******************************************************************************/
1317 CsrWifiFsmEvent common;
1319 } CsrWifiNmeProfileDeleteCfm;
1321 /*******************************************************************************
1324 CsrWifiNmeProfileDeleteAllCfm
1327 Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ.
1328 Returns always CSR_WIFI_NME_STATUS_SUCCESS.
1331 common - Common header for use with the CsrWifiFsm Module
1332 status - Indicates the success or otherwise of the requested operation, but
1333 in this case it always set to success.
1335 *******************************************************************************/
1338 CsrWifiFsmEvent common;
1340 } CsrWifiNmeProfileDeleteAllCfm;
1342 /*******************************************************************************
1345 CsrWifiNmeProfileOrderSetCfm
1348 Confirmation to UNIFI_NME_PROFILE_ORDER_SET.request.
1351 common - Common header for use with the CsrWifiFsm Module
1352 interfaceTag - Interface Identifier; unique identifier of an interface
1353 status - Indicates the success or otherwise of the requested
1356 *******************************************************************************/
1359 CsrWifiFsmEvent common;
1362 } CsrWifiNmeProfileOrderSetCfm;
1364 /*******************************************************************************
1367 CsrWifiNmeProfileConnectCfm
1370 Reports the status of the NME PROFILE CONNECT REQ. If unsuccessful the
1371 connectAttempt parameters contain details of the APs that the NME
1372 attempted to connect to before reporting the failure of the request.
1375 common - Common header for use with the CsrWifiFsm Module
1376 interfaceTag - Interface Identifier; unique identifier of an
1378 status - Indicates the success or otherwise of the requested
1380 connectAttemptsCount - This parameter is relevant only if
1381 status!=CSR_WIFI_NME_STATUS_SUCCESS.
1382 Number of connection attempt elements provided with
1384 connectAttempts - This parameter is relevant only if
1385 status!=CSR_WIFI_NME_STATUS_SUCCESS.
1386 Points to the list of connection attempt elements
1387 provided with this primitive
1388 Each element of the list provides information about
1389 an AP on which the connection attempt was made and
1390 the error that occurred during the attempt.
1392 *******************************************************************************/
1395 CsrWifiFsmEvent common;
1398 u8 connectAttemptsCount;
1399 CsrWifiNmeConnectAttempt *connectAttempts;
1400 } CsrWifiNmeProfileConnectCfm;
1402 /*******************************************************************************
1408 Reports the status of the NME WPS REQ.
1409 If CSR_WIFI_NME_STATUS_SUCCESS, the profile parameter contains the
1410 identity and credentials of the AP.
1413 common - Common header for use with the CsrWifiFsm Module
1414 interfaceTag - Interface Identifier; unique identifier of an interface
1415 status - Indicates the success or otherwise of the requested
1417 profile - This parameter is relevant only if
1418 status==CSR_WIFI_NME_STATUS_SUCCESS.
1419 The identity and credentials of the network.
1421 *******************************************************************************/
1424 CsrWifiFsmEvent common;
1427 CsrWifiNmeProfile profile;
1430 /*******************************************************************************
1433 CsrWifiNmeWpsCancelCfm
1436 Reports the status of the NME WPS REQ, the request is always SUCCESSFUL.
1439 common - Common header for use with the CsrWifiFsm Module
1440 interfaceTag - Interface Identifier; unique identifier of an interface
1441 status - Only returns CSR_WIFI_NME_STATUS_SUCCESS
1443 *******************************************************************************/
1446 CsrWifiFsmEvent common;
1449 } CsrWifiNmeWpsCancelCfm;
1451 /*******************************************************************************
1454 CsrWifiNmeConnectionStatusGetCfm
1457 Reports the connection status of the NME.
1460 common - Common header for use with the CsrWifiFsm Module
1461 interfaceTag - Interface Identifier; unique identifier of an interface
1462 status - Indicates the success or otherwise of the requested
1464 connectionStatus - NME current connection status
1466 *******************************************************************************/
1469 CsrWifiFsmEvent common;
1472 CsrWifiNmeConnectionStatus connectionStatus;
1473 } CsrWifiNmeConnectionStatusGetCfm;
1475 /*******************************************************************************
1478 CsrWifiNmeProfileUpdateInd
1481 Indication generated from the NME (if an application subscribes to
1482 receive it) that informs that application that the contained profile has
1484 For example, either the credentials EAP-FAST PAC file or the session data
1485 within the profile has changed.
1486 It is up to the application whether it stores this updated profile or
1490 common - Common header for use with the CsrWifiFsm Module
1491 interfaceTag - Interface Identifier; unique identifier of an interface
1492 profile - The identity and credentials of the network.
1494 *******************************************************************************/
1497 CsrWifiFsmEvent common;
1499 CsrWifiNmeProfile profile;
1500 } CsrWifiNmeProfileUpdateInd;
1502 /*******************************************************************************
1505 CsrWifiNmeProfileDisconnectInd
1508 Indication generated from the NME (if an application subscribes to
1509 receive it) that informs that application that the current profile
1510 connection has disconnected. The indication will contain information
1511 about APs that it attempted to maintain the connection via i.e. in the
1512 case of failed roaming.
1515 common - Common header for use with the CsrWifiFsm Module
1516 interfaceTag - Interface Identifier; unique identifier of an
1518 connectAttemptsCount - Number of connection attempt elements provided with
1520 connectAttempts - Points to the list of connection attempt elements
1521 provided with this primitive
1522 Each element of the list provides information about
1523 an AP on which the connection attempt was made and
1524 the error occurred during the attempt.
1526 *******************************************************************************/
1529 CsrWifiFsmEvent common;
1531 u8 connectAttemptsCount;
1532 CsrWifiNmeConnectAttempt *connectAttempts;
1533 } CsrWifiNmeProfileDisconnectInd;
1535 /*******************************************************************************
1538 CsrWifiNmeSimImsiGetInd
1541 Indication generated from the NME (if an application subscribes to
1542 receive it) that requests the IMSI and UICC type from the UICC Manager.
1543 This indication is generated when the NME is attempting to connect to a
1544 profile configured for EAP-SIM/AKA. An application MUST register to
1545 receive this indication for the NME to support the EAP-SIM/AKA credential
1546 types. Otherwise the NME has no route to obtain the information from the
1550 common - Common header for use with the CsrWifiFsm Module
1552 *******************************************************************************/
1555 CsrWifiFsmEvent common;
1556 } CsrWifiNmeSimImsiGetInd;
1558 /*******************************************************************************
1561 CsrWifiNmeSimGsmAuthInd
1564 Indication generated from the NME (if an application subscribes to
1565 receive it) that requests the UICC Manager to perform a GSM
1566 authentication on behalf of the NME. This indication is generated when
1567 the NME is attempting to connect to a profile configured for EAP-SIM. An
1568 application MUST register to receive this indication for the NME to
1569 support the EAP-SIM credential types. Otherwise the NME has no route to
1570 obtain the information from the UICC. EAP-SIM authentication requires 2
1571 or 3 GSM authentication rounds and therefore 2 or 3 RANDS (GSM Random
1572 Challenges) are included.
1575 common - Common header for use with the CsrWifiFsm Module
1576 randsLength - GSM RAND is 16 bytes long hence valid values are 32 (2 RANDS)
1578 rands - 2 or 3 RANDs values.
1580 *******************************************************************************/
1583 CsrWifiFsmEvent common;
1586 } CsrWifiNmeSimGsmAuthInd;
1588 /*******************************************************************************
1591 CsrWifiNmeSimUmtsAuthInd
1594 Indication generated from the NME (if an application subscribes to
1595 receive it) that requests the UICC Manager to perform a UMTS
1596 authentication on behalf of the NME. This indication is generated when
1597 the NME is attempting to connect to a profile configured for EAP-AKA. An
1598 application MUST register to receive this indication for the NME to
1599 support the EAP-AKA credential types. Otherwise the NME has no route to
1600 obtain the information from the USIM. EAP-AKA requires one UMTS
1601 authentication round and therefore only one RAND and one AUTN values are
1605 common - Common header for use with the CsrWifiFsm Module
1606 rand - UMTS RAND value.
1607 autn - UMTS AUTN value.
1609 *******************************************************************************/
1612 CsrWifiFsmEvent common;
1615 } CsrWifiNmeSimUmtsAuthInd;
1617 /*******************************************************************************
1620 CsrWifiNmeWpsConfigSetCfm
1626 common - Common header for use with the CsrWifiFsm Module
1627 status - Status of the request.
1629 *******************************************************************************/
1632 CsrWifiFsmEvent common;
1634 } CsrWifiNmeWpsConfigSetCfm;
1636 /*******************************************************************************
1639 CsrWifiNmeEventMaskSetCfm
1642 The NME calls the primitive to report the result of the request
1646 common - Common header for use with the CsrWifiFsm Module
1647 status - Reports the result of the request
1649 *******************************************************************************/
1652 CsrWifiFsmEvent common;
1654 } CsrWifiNmeEventMaskSetCfm;
1656 #endif /* CSR_WIFI_NME_PRIM_H__ */