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"
28 #ifndef CSR_WIFI_NME_ENABLE
29 #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_prim.h
32 #define CSR_WIFI_NME_PRIM (0x0424)
34 typedef CsrPrim CsrWifiNmePrim;
36 typedef void (*CsrWifiNmeFrameFreeFunction)(void *frame);
38 /*******************************************************************************
44 WiFi Authentication Mode
47 CSR_WIFI_NME_AUTH_MODE_80211_OPEN
48 - Connects to an open system network (i.e. no authentication,
49 no encryption) or to a WEP enabled network.
50 CSR_WIFI_NME_AUTH_MODE_80211_SHARED
51 - Connect to a WEP enabled network.
52 CSR_WIFI_NME_AUTH_MODE_8021X_WPA
53 - Connects to a WPA Enterprise enabled network.
54 CSR_WIFI_NME_AUTH_MODE_8021X_WPAPSK
55 - Connects to a WPA with Pre-Shared Key enabled network.
56 CSR_WIFI_NME_AUTH_MODE_8021X_WPA2
57 - Connects to a WPA2 Enterprise enabled network.
58 CSR_WIFI_NME_AUTH_MODE_8021X_WPA2PSK
59 - Connects to a WPA2 with Pre-Shared Key enabled network.
60 CSR_WIFI_NME_AUTH_MODE_8021X_CCKM
61 - Connects to a CCKM enabled network.
62 CSR_WIFI_NME_AUTH_MODE_WAPI_WAI
63 - Connects to a WAPI Enterprise enabled network.
64 CSR_WIFI_NME_AUTH_MODE_WAPI_WAIPSK
65 - Connects to a WAPI with Pre-Shared Key enabled network.
66 CSR_WIFI_NME_AUTH_MODE_8021X_OTHER1X
69 *******************************************************************************/
70 typedef u16 CsrWifiNmeAuthMode;
71 #define CSR_WIFI_NME_AUTH_MODE_80211_OPEN ((CsrWifiNmeAuthMode) 0x0001)
72 #define CSR_WIFI_NME_AUTH_MODE_80211_SHARED ((CsrWifiNmeAuthMode) 0x0002)
73 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA ((CsrWifiNmeAuthMode) 0x0004)
74 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPAPSK ((CsrWifiNmeAuthMode) 0x0008)
75 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA2 ((CsrWifiNmeAuthMode) 0x0010)
76 #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA2PSK ((CsrWifiNmeAuthMode) 0x0020)
77 #define CSR_WIFI_NME_AUTH_MODE_8021X_CCKM ((CsrWifiNmeAuthMode) 0x0040)
78 #define CSR_WIFI_NME_AUTH_MODE_WAPI_WAI ((CsrWifiNmeAuthMode) 0x0080)
79 #define CSR_WIFI_NME_AUTH_MODE_WAPI_WAIPSK ((CsrWifiNmeAuthMode) 0x0100)
80 #define CSR_WIFI_NME_AUTH_MODE_8021X_OTHER1X ((CsrWifiNmeAuthMode) 0x0200)
82 /*******************************************************************************
91 CSR_WIFI_NME_BSS_TYPE_INFRASTRUCTURE
92 - Infrastructure BSS type where access to the network is via
93 one or several Access Points.
94 CSR_WIFI_NME_BSS_TYPE_ADHOC
95 - Adhoc or Independent BSS Type where one Station acts as a
96 host and future stations can join the adhoc network without
97 needing an access point.
98 CSR_WIFI_NME_BSS_TYPE_RESERVED
99 - To be in sync with SME.This is not used.
100 CSR_WIFI_NME_BSS_TYPE_P2P
101 - P2P mode of operation.
103 *******************************************************************************/
104 typedef u8 CsrWifiNmeBssType;
105 #define CSR_WIFI_NME_BSS_TYPE_INFRASTRUCTURE ((CsrWifiNmeBssType) 0x00)
106 #define CSR_WIFI_NME_BSS_TYPE_ADHOC ((CsrWifiNmeBssType) 0x01)
107 #define CSR_WIFI_NME_BSS_TYPE_RESERVED ((CsrWifiNmeBssType) 0x02)
108 #define CSR_WIFI_NME_BSS_TYPE_P2P ((CsrWifiNmeBssType) 0x03)
110 /*******************************************************************************
113 CsrWifiNmeCcxOptionsMask
116 Enumeration type defining possible mask values for setting CCX options.
119 CSR_WIFI_NME_CCX_OPTION_NONE - No CCX option is set.
120 CSR_WIFI_NME_CCX_OPTION_CCKM - CCX option cckm is set.
122 *******************************************************************************/
123 typedef u8 CsrWifiNmeCcxOptionsMask;
124 #define CSR_WIFI_NME_CCX_OPTION_NONE ((CsrWifiNmeCcxOptionsMask) 0x00)
125 #define CSR_WIFI_NME_CCX_OPTION_CCKM ((CsrWifiNmeCcxOptionsMask) 0x01)
127 /*******************************************************************************
130 CsrWifiNmeConfigAction
135 CSR_WIFI_PIN_ENTRY_PUSH_BUTTON -
136 CSR_WIFI_PIN_ENTRY_DISPLAY_PIN -
137 CSR_WIFI_PIN_ENTRY_ENTER_PIN -
139 *******************************************************************************/
140 typedef u8 CsrWifiNmeConfigAction;
141 #define CSR_WIFI_PIN_ENTRY_PUSH_BUTTON ((CsrWifiNmeConfigAction) 0x00)
142 #define CSR_WIFI_PIN_ENTRY_DISPLAY_PIN ((CsrWifiNmeConfigAction) 0x01)
143 #define CSR_WIFI_PIN_ENTRY_ENTER_PIN ((CsrWifiNmeConfigAction) 0x02)
145 /*******************************************************************************
148 CsrWifiNmeConnectionStatus
151 Indicate the NME Connection Status when connecting or when disconnecting
154 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTED
155 - NME is disconnected.
156 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTING
157 - NME is in the process of connecting.
158 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_AUTHENTICATING
159 - NME is in the authentication stage of a connection attempt.
160 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTED
162 CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTING
163 - NME is in the process of disconnecting.
165 *******************************************************************************/
166 typedef u8 CsrWifiNmeConnectionStatus;
167 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTED ((CsrWifiNmeConnectionStatus) 0x00)
168 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTING ((CsrWifiNmeConnectionStatus) 0x01)
169 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_AUTHENTICATING ((CsrWifiNmeConnectionStatus) 0x02)
170 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTED ((CsrWifiNmeConnectionStatus) 0x03)
171 #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTING ((CsrWifiNmeConnectionStatus) 0x04)
173 /*******************************************************************************
176 CsrWifiNmeCredentialType
182 CSR_WIFI_NME_CREDENTIAL_TYPE_OPEN_SYSTEM
183 - Credential Type Open System.
184 CSR_WIFI_NME_CREDENTIAL_TYPE_WEP64
185 - Credential Type WEP-64
186 CSR_WIFI_NME_CREDENTIAL_TYPE_WEP128
187 - Credential Type WEP-128
188 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PSK
189 - Credential Type WPA Pre-Shared Key
190 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PASSPHRASE
191 - Credential Type WPA pass phrase
192 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PSK
193 - Credential Type WPA2 Pre-Shared Key.
194 CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PASSPHRASE
195 - Credential Type WPA2 pass phrase
196 CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PSK
197 - Credential Type WAPI Pre-Shared Key.
198 CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PASSPHRASE
199 - Credential Type WAPI pass phrase
200 CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI
201 - Credential Type WAPI certificates
202 CSR_WIFI_NME_CREDENTIAL_TYPE_8021X
203 - Credential Type 802.1X: the associated type supports
204 FAST/LEAP/TLS/TTLS/PEAP/etc.
206 *******************************************************************************/
207 typedef u16 CsrWifiNmeCredentialType;
208 #define CSR_WIFI_NME_CREDENTIAL_TYPE_OPEN_SYSTEM ((CsrWifiNmeCredentialType) 0x0000)
209 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WEP64 ((CsrWifiNmeCredentialType) 0x0001)
210 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WEP128 ((CsrWifiNmeCredentialType) 0x0002)
211 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PSK ((CsrWifiNmeCredentialType) 0x0003)
212 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0004)
213 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PSK ((CsrWifiNmeCredentialType) 0x0005)
214 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0006)
215 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PSK ((CsrWifiNmeCredentialType) 0x0007)
216 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0008)
217 #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI ((CsrWifiNmeCredentialType) 0x0009)
218 #define CSR_WIFI_NME_CREDENTIAL_TYPE_8021X ((CsrWifiNmeCredentialType) 0x000A)
220 /*******************************************************************************
226 Outer EAP method with possibly inner method.
229 CSR_WIFI_NME_EAP_METHOD_TLS
231 CSR_WIFI_NME_EAP_METHOD_TTLS_MSCHAPV2
232 - EAP-TTLS Method with MSCHAPV2.
233 CSR_WIFI_NME_EAP_METHOD_PEAP_GTC
234 - EAP-PEAP Method with GTC.
235 CSR_WIFI_NME_EAP_METHOD_PEAP_MSCHAPV2
236 - EAP-PEAP Method with MSCHAPV2.
237 CSR_WIFI_NME_EAP_METHOD_SIM
239 CSR_WIFI_NME_EAP_METHOD_AKA
241 CSR_WIFI_NME_EAP_METHOD_FAST_GTC
242 - EAP-FAST Method with GTC.
243 CSR_WIFI_NME_EAP_METHOD_FAST_MSCHAPV2
244 - EAP-FAST Method with MSCHAPV2.
245 CSR_WIFI_NME_EAP_METHOD_LEAP
248 *******************************************************************************/
249 typedef u16 CsrWifiNmeEapMethod;
250 #define CSR_WIFI_NME_EAP_METHOD_TLS ((CsrWifiNmeEapMethod) 0x0001)
251 #define CSR_WIFI_NME_EAP_METHOD_TTLS_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0002)
252 #define CSR_WIFI_NME_EAP_METHOD_PEAP_GTC ((CsrWifiNmeEapMethod) 0x0004)
253 #define CSR_WIFI_NME_EAP_METHOD_PEAP_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0008)
254 #define CSR_WIFI_NME_EAP_METHOD_SIM ((CsrWifiNmeEapMethod) 0x0010)
255 #define CSR_WIFI_NME_EAP_METHOD_AKA ((CsrWifiNmeEapMethod) 0x0020)
256 #define CSR_WIFI_NME_EAP_METHOD_FAST_GTC ((CsrWifiNmeEapMethod) 0x0040)
257 #define CSR_WIFI_NME_EAP_METHOD_FAST_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0080)
258 #define CSR_WIFI_NME_EAP_METHOD_LEAP ((CsrWifiNmeEapMethod) 0x0100)
260 /*******************************************************************************
266 WiFi Encryption method
269 CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE
271 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP40
272 - 40 bytes WEP key for peer to peer communication.
273 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP104
274 - 104 bytes WEP key for peer to peer communication.
275 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_TKIP
276 - TKIP key for peer to peer communication.
277 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_CCMP
278 - CCMP key for peer to peer communication.
279 CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_SMS4
280 - SMS4 key for peer to peer communication.
281 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP40
282 - 40 bytes WEP key for broadcast messages.
283 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP104
284 - 104 bytes WEP key for broadcast messages.
285 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_TKIP
286 - TKIP key for broadcast messages.
287 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_CCMP
288 - CCMP key for broadcast messages
289 CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_SMS4
290 - SMS4 key for broadcast messages.
292 *******************************************************************************/
293 typedef u16 CsrWifiNmeEncryption;
294 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE ((CsrWifiNmeEncryption) 0x0000)
295 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP40 ((CsrWifiNmeEncryption) 0x0001)
296 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP104 ((CsrWifiNmeEncryption) 0x0002)
297 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_TKIP ((CsrWifiNmeEncryption) 0x0004)
298 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_CCMP ((CsrWifiNmeEncryption) 0x0008)
299 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_SMS4 ((CsrWifiNmeEncryption) 0x0010)
300 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP40 ((CsrWifiNmeEncryption) 0x0020)
301 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP104 ((CsrWifiNmeEncryption) 0x0040)
302 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_TKIP ((CsrWifiNmeEncryption) 0x0080)
303 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_CCMP ((CsrWifiNmeEncryption) 0x0100)
304 #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_SMS4 ((CsrWifiNmeEncryption) 0x0200)
306 /*******************************************************************************
309 CsrWifiNmeIndications
315 CSR_WIFI_NME_INDICATIONS_IND_AP_STATION
316 - NME AP Station Indication.
317 CSR_WIFI_NME_INDICATIONS_IND_AP_STOP
318 - NME AP Stop Indication.
319 CSR_WIFI_NME_INDICATIONS_IND_SIM_UMTS_AUTH
320 - NME UMTS Authentication Indication.
321 CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_START
322 - NME P2P Group Start Indication.
323 CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_STATUS
324 - NME P2P Group Status Indication.
325 CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_ROLE
326 - NME P2P Group Role Indication.
327 CSR_WIFI_NME_INDICATIONS_IND_PROFILE_DISCONNECT
328 - NME Profile Disconnect Indication.
329 CSR_WIFI_NME_INDICATIONS_IND_PROFILE_UPDATE
330 - NME Profile Update Indication.
331 CSR_WIFI_NME_INDICATIONS_IND_SIM_IMSI_GET
332 - NME GET IMSI Indication.
333 CSR_WIFI_NME_INDICATIONS_IND_SIM_GSM_AUTH
334 - NME GSM Authentication Indication.
335 CSR_WIFI_NME_INDICATIONS_ALL
336 - Used to register for all available indications
338 *******************************************************************************/
339 typedef u32 CsrWifiNmeIndications;
340 #define CSR_WIFI_NME_INDICATIONS_IND_AP_STATION ((CsrWifiNmeIndications) 0x00100000)
341 #define CSR_WIFI_NME_INDICATIONS_IND_AP_STOP ((CsrWifiNmeIndications) 0x00200000)
342 #define CSR_WIFI_NME_INDICATIONS_IND_SIM_UMTS_AUTH ((CsrWifiNmeIndications) 0x01000000)
343 #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_START ((CsrWifiNmeIndications) 0x02000000)
344 #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_STATUS ((CsrWifiNmeIndications) 0x04000000)
345 #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_ROLE ((CsrWifiNmeIndications) 0x08000000)
346 #define CSR_WIFI_NME_INDICATIONS_IND_PROFILE_DISCONNECT ((CsrWifiNmeIndications) 0x10000000)
347 #define CSR_WIFI_NME_INDICATIONS_IND_PROFILE_UPDATE ((CsrWifiNmeIndications) 0x20000000)
348 #define CSR_WIFI_NME_INDICATIONS_IND_SIM_IMSI_GET ((CsrWifiNmeIndications) 0x40000000)
349 #define CSR_WIFI_NME_INDICATIONS_IND_SIM_GSM_AUTH ((CsrWifiNmeIndications) 0x80000000)
350 #define CSR_WIFI_NME_INDICATIONS_ALL ((CsrWifiNmeIndications) 0xFFFFFFFF)
352 /*******************************************************************************
359 place holder for the security library abort reason
362 CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN
363 - Unknown Security Error.
365 *******************************************************************************/
366 typedef u8 CsrWifiNmeSecError;
367 #define CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN ((CsrWifiNmeSecError) 0x00)
369 /*******************************************************************************
372 CsrWifiNmeSimCardType
375 (U)SIM Card (or UICC) types
378 CSR_WIFI_NME_SIM_CARD_TYPE_2G - 2G SIM card, capable of performing GSM
380 CSR_WIFI_NME_SIM_CARD_TYPE_3G - UICC supporting USIM application, capable
381 of performing UMTS authentication only.
382 CSR_WIFI_NME_SIM_CARD_TYPE_2G3G - UICC supporting both USIM and SIM
383 applications, capable of performing both
384 UMTS and GSM authentications.
386 *******************************************************************************/
387 typedef u8 CsrWifiNmeSimCardType;
388 #define CSR_WIFI_NME_SIM_CARD_TYPE_2G ((CsrWifiNmeSimCardType) 0x01)
389 #define CSR_WIFI_NME_SIM_CARD_TYPE_3G ((CsrWifiNmeSimCardType) 0x02)
390 #define CSR_WIFI_NME_SIM_CARD_TYPE_2G3G ((CsrWifiNmeSimCardType) 0x03)
392 /*******************************************************************************
395 CsrWifiNmeUmtsAuthResult
398 Only relevant for UMTS Authentication. It indicates if the UICC has
399 successfully authenticated the network or otherwise.
402 CSR_WIFI_NME_UMTS_AUTH_RESULT_SUCCESS
403 - Successful outcome from USIM indicating that the card has
404 successfully authenticated the network.
405 CSR_WIFI_NME_UMTS_AUTH_RESULT_SYNC_FAIL
406 - Unsuccessful outcome from USIM indicating that the card is
407 requesting the network to synchronise and re-try again. If
408 no further request is received an NME timer will expire and
409 the authentication is aborted.
410 CSR_WIFI_NME_UMTS_AUTH_RESULT_REJECT
411 - Unsuccessful outcome from USIM indicating that the card has
412 rejected the network and that the authentication is
415 *******************************************************************************/
416 typedef u8 CsrWifiNmeUmtsAuthResult;
417 #define CSR_WIFI_NME_UMTS_AUTH_RESULT_SUCCESS ((CsrWifiNmeUmtsAuthResult) 0x00)
418 #define CSR_WIFI_NME_UMTS_AUTH_RESULT_SYNC_FAIL ((CsrWifiNmeUmtsAuthResult) 0x01)
419 #define CSR_WIFI_NME_UMTS_AUTH_RESULT_REJECT ((CsrWifiNmeUmtsAuthResult) 0x02)
421 /*******************************************************************************
427 Defines bits for the QoS Info octect as defined in the WMM specification.
428 The values of this type are used across the NME/SME/Router API's and they
429 must be kept consistent with the corresponding types in the .xml of the
433 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_ALL
434 - WMM AP may deliver all buffered frames.
435 CSR_WIFI_NME_WMM_QOS_INFO_AC_VO
436 - To enable the triggering and delivery of QoS Voice.
437 CSR_WIFI_NME_WMM_QOS_INFO_AC_VI
438 - To enable the triggering and delivery of QoS Video.
439 CSR_WIFI_NME_WMM_QOS_INFO_AC_BK
440 - To enable the triggering and delivery of QoS Background.
441 CSR_WIFI_NME_WMM_QOS_INFO_AC_BE
442 - To enable the triggering and delivery of QoS Best Effort.
443 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_TWO
444 - WMM AP may deliver a maximum of 2 buffered frames per
445 Unscheduled Service Period (USP).
446 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_FOUR
447 - WMM AP may deliver a maximum of 4 buffered frames per USP.
448 CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_SIX
449 - WMM AP may deliver a maximum of 6 buffered frames per USP.
451 *******************************************************************************/
452 typedef u8 CsrWifiNmeWmmQosInfo;
453 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_ALL ((CsrWifiNmeWmmQosInfo) 0x00)
454 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_VO ((CsrWifiNmeWmmQosInfo) 0x01)
455 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_VI ((CsrWifiNmeWmmQosInfo) 0x02)
456 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_BK ((CsrWifiNmeWmmQosInfo) 0x04)
457 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_BE ((CsrWifiNmeWmmQosInfo) 0x08)
458 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_TWO ((CsrWifiNmeWmmQosInfo) 0x20)
459 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_FOUR ((CsrWifiNmeWmmQosInfo) 0x40)
460 #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_SIX ((CsrWifiNmeWmmQosInfo) 0x60)
463 /*******************************************************************************
466 CsrWifiNmeEapMethodMask
469 Mask type for use with the values defined by CsrWifiNmeEapMethod.
471 *******************************************************************************/
472 typedef u16 CsrWifiNmeEapMethodMask;
473 /*******************************************************************************
476 CsrWifiNmeEncryptionMask
479 Mask type for use with the values defined by CsrWifiNmeEncryption
481 *******************************************************************************/
482 typedef u16 CsrWifiNmeEncryptionMask;
483 /*******************************************************************************
486 CsrWifiNmeIndicationsMask
489 Mask type for use with the values defined by CsrWifiNmeIndications
491 *******************************************************************************/
492 typedef u32 CsrWifiNmeIndicationsMask;
493 /*******************************************************************************
496 CsrWifiNmeNmeIndicationsMask
499 Mask type for use with the values defined by CsrWifiNmeNmeIndications.
500 Used to overlap the unused portion of the unifi_IndicationsMask For NME
503 *******************************************************************************/
504 typedef u32 CsrWifiNmeNmeIndicationsMask;
505 /*******************************************************************************
508 CsrWifiNmeWmmQosInfoMask
511 Mask type for use with the values defined by CsrWifiNmeWmmQosInfo
513 *******************************************************************************/
514 typedef u8 CsrWifiNmeWmmQosInfoMask;
517 /*******************************************************************************
523 Empty Structure to indicate that no credentials are available.
526 empty - Only element of the empty structure (always set to 0).
528 *******************************************************************************/
534 /*******************************************************************************
540 Structure holding the ASCII Pass Phrase data.
543 encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
544 passphrase - Pass phrase ASCII value.
546 *******************************************************************************/
551 } CsrWifiNmePassphrase;
553 /*******************************************************************************
559 Structure holding the Pre-Shared Key data.
562 encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
563 psk - Pre-Shared Key value.
565 *******************************************************************************/
572 /*******************************************************************************
575 CsrWifiNmeWapiCredentials
578 Structure holding WAPI credentials data.
581 certificateLength - Length in bytes of the following client certificate.
582 certificate - The actual client certificate data (if present).
583 DER/PEM format supported.
584 privateKeyLength - Length in bytes of the following private key.
585 privateKey - The actual private key. DER/PEM format.
586 caCertificateLength - Length in bytes of the following certificate authority
588 caCertificate - The actual certificate authority certificate data. If
589 not supplied the received certificate authority
590 certificate is assumed to be validate, if present the
591 received certificate is validated against it. DER/PEM
594 *******************************************************************************/
597 u32 certificateLength;
599 u16 privateKeyLength;
601 u32 caCertificateLength;
603 } CsrWifiNmeWapiCredentials;
605 /*******************************************************************************
608 CsrWifiNmeConnectAttempt
611 Structure holding Connection attempt data.
614 bssid - Id of Basic Service Set connections attempt have been made
616 status - Status returned to indicate the success or otherwise of the
618 securityError - Security error status indicating the nature of the failure
621 *******************************************************************************/
624 CsrWifiMacAddress bssid;
626 CsrWifiNmeSecError securityError;
627 } CsrWifiNmeConnectAttempt;
629 /*******************************************************************************
632 CsrWifiNmeEapCredentials
635 Supports the use of multiple EAP methods via a single structure. The
636 methods required are indicated by the value set in the eapMethodMask
640 - Bit mask of supported EAP methods
641 Currently only supports the setting of one bit.
642 Required for all the EAP methods.
644 - Bit mask representing the authentication types that may be
645 supported by a suitable AP. An AP must support at least one
646 of the authentication types specified to be considered for
647 connection. Required for all EAP methods.
649 - Bit mask representing the encryption types that may be
650 supported by a suitable AP. An AP must support a suitable
651 mix of the pairwise and group encryption types requested to
652 be considered for connection. Required for all EAP methods.
654 - User name. Required for all EAP methods except: SIM or AKA.
656 - User Password. Required for all EAP methods except: TLS,
658 authServerUserIdentity
659 - Authentication server user Identity. Required for all EAP
660 methods except: TLS, SIM, AKA or FAST.
661 clientCertificateLength
662 - Length in bytes of the following client certificate (if
663 present). Only required for TLS.
665 - The actual client certificate data (if present). Only
666 required for TLS. DER/PEM format supported.
667 certificateAuthorityCertificateLength
668 - Length in bytes of the following certificate authority
669 certificate (if present). Optional for TLS, TTLS, PEAP.
670 certificateAuthorityCertificate
671 - The actual certificate authority certificate data (if
672 present). If not supplied the received certificate
673 authority certificate is assumed to be valid, if present
674 the received certificate is validated against it. Optional
675 for TLS, TTLS, PEAP. DER/PEM format supported.
677 - Length in bytes of the following private key (if present).
678 Only required for TLS.
680 - The actual private key (if present). Only required for TLS.
681 DER/PEM format, maybe password protected.
683 - Optional password to protect the private key.
685 - Length in bytes of the following session field Supported
686 for all EAP methods except: SIM or AKA.
688 - Session information to support faster re-authentication.
689 Supported for all EAP methods except: SIM or AKA.
691 - If TRUE: PAC provisioning is allowed 'over-the_air';
692 If FALSE: a PAC must be supplied.
693 Only required for FAST.
695 - Length the following PAC field. If allowPacProvisioning is
696 FALSE then the PAC MUST be supplied (i.e. non-zero). Only
699 - The actual PAC data. If allowPacProvisioning is FALSE then
700 the PAC MUST be supplied. Only required for FAST.
702 - Optional password to protect the PAC. Only required for
705 *******************************************************************************/
708 CsrWifiNmeEapMethodMask eapMethodMask;
709 CsrWifiSmeAuthModeMask authMode;
710 CsrWifiNmeEncryptionMask encryptionMode;
713 char *authServerUserIdentity;
714 u32 clientCertificateLength;
715 u8 *clientCertificate;
716 u32 certificateAuthorityCertificateLength;
717 u8 *certificateAuthorityCertificate;
718 u16 privateKeyLength;
720 char *privateKeyPassword;
723 u8 allowPacProvisioning;
727 } CsrWifiNmeEapCredentials;
729 /*******************************************************************************
735 Structure holding Peer Config data.
739 groupCapabilityMask -
742 *******************************************************************************/
745 CsrWifiMacAddress p2pDeviceId;
746 CsrWifiSmeP2pGroupCapabilityMask groupCapabilityMask;
748 } CsrWifiNmePeerConfig;
750 /*******************************************************************************
753 CsrWifiNmeProfileIdentity
756 The identity of a profile is defined as the unique combination the BSSID
760 bssid - ID of Basic Service Set for or the P2pDevice address of the GO for
761 which a connection attempt was made.
762 ssid - Service Set Id.
764 *******************************************************************************/
767 CsrWifiMacAddress bssid;
769 } CsrWifiNmeProfileIdentity;
771 /*******************************************************************************
777 Structure holding WEP Authentication Type and WEP keys that can be used
781 wepAuthType - Mask to select the WEP authentication type (Open or Shared)
782 selectedWepKey - Index to one of the four keys below indicating the
783 currently used WEP key.
784 key1 - Value for key number 1.
785 key2 - Value for key number 2.
786 key3 - Value for key number 3.
787 key4 - Value for key number 4.
789 *******************************************************************************/
792 CsrWifiSmeAuthModeMask wepAuthType;
798 } CsrWifiNmeWep128Keys;
800 /*******************************************************************************
806 Structure for holding WEP Authentication Type and WEP keys that can be
807 used when using WEP64.
810 wepAuthType - Mask to select the WEP authentication type (Open or Shared)
811 selectedWepKey - Index to one of the four keys below indicating the
812 currently used WEP key.
813 key1 - Value for key number 1.
814 key2 - Value for key number 2.
815 key3 - Value for key number 3.
816 key4 - Value for key number 4.
818 *******************************************************************************/
821 CsrWifiSmeAuthModeMask wepAuthType;
827 } CsrWifiNmeWep64Keys;
829 /*******************************************************************************
832 CsrWifiNmeCredentials
835 Structure containing the Credentials data.
838 credentialType - Credential type value (as defined in the
840 credential - Union containing credentials which depends on
841 credentialType parameter.
843 credentialwapiPassphrase -
844 credentialwpa2Passphrase -
847 credentialwpaPassphrase -
849 credentialwep128Key -
851 credentialopenSystem -
854 *******************************************************************************/
857 CsrWifiNmeCredentialType credentialType;
859 CsrWifiNmeEapCredentials eap;
860 CsrWifiNmePassphrase wapiPassphrase;
861 CsrWifiNmePassphrase wpa2Passphrase;
862 CsrWifiNmePsk wpa2Psk;
863 CsrWifiNmePsk wapiPsk;
864 CsrWifiNmePassphrase wpaPassphrase;
865 CsrWifiNmeWapiCredentials wapi;
866 CsrWifiNmeWep128Keys wep128Key;
867 CsrWifiNmePsk wpaPsk;
868 CsrWifiNmeEmpty openSystem;
869 CsrWifiNmeWep64Keys wep64Key;
871 } CsrWifiNmeCredentials;
873 /*******************************************************************************
879 Structure containing the Profile data.
882 profileIdentity - Profile Identity.
883 wmmQosInfoMask - Mask for WMM QoS information.
884 bssType - Type of BSS (Infrastructure or Adhoc).
885 channelNo - Channel Number.
886 ccxOptionsMask - Options mask for Cisco Compatible Extentions.
887 cloakedSsid - Flag to decide whether the SSID is cloaked (not
889 credentials - Credentials data.
891 *******************************************************************************/
894 CsrWifiNmeProfileIdentity profileIdentity;
895 CsrWifiNmeWmmQosInfoMask wmmQosInfoMask;
896 CsrWifiNmeBssType bssType;
900 CsrWifiNmeCredentials credentials;
905 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST (0x0000)
907 #define CSR_WIFI_NME_PROFILE_SET_REQ ((CsrWifiNmePrim) (0x0000 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
908 #define CSR_WIFI_NME_PROFILE_DELETE_REQ ((CsrWifiNmePrim) (0x0001 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
909 #define CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ ((CsrWifiNmePrim) (0x0002 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
910 #define CSR_WIFI_NME_PROFILE_ORDER_SET_REQ ((CsrWifiNmePrim) (0x0003 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
911 #define CSR_WIFI_NME_PROFILE_CONNECT_REQ ((CsrWifiNmePrim) (0x0004 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
912 #define CSR_WIFI_NME_WPS_REQ ((CsrWifiNmePrim) (0x0005 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
913 #define CSR_WIFI_NME_WPS_CANCEL_REQ ((CsrWifiNmePrim) (0x0006 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
914 #define CSR_WIFI_NME_CONNECTION_STATUS_GET_REQ ((CsrWifiNmePrim) (0x0007 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
915 #define CSR_WIFI_NME_SIM_IMSI_GET_RES ((CsrWifiNmePrim) (0x0008 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
916 #define CSR_WIFI_NME_SIM_GSM_AUTH_RES ((CsrWifiNmePrim) (0x0009 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
917 #define CSR_WIFI_NME_SIM_UMTS_AUTH_RES ((CsrWifiNmePrim) (0x000A + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
918 #define CSR_WIFI_NME_WPS_CONFIG_SET_REQ ((CsrWifiNmePrim) (0x000B + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
919 #define CSR_WIFI_NME_EVENT_MASK_SET_REQ ((CsrWifiNmePrim) (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST))
922 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)
925 #define CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM)
927 #define CSR_WIFI_NME_PROFILE_SET_CFM ((CsrWifiNmePrim)(0x0000 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
928 #define CSR_WIFI_NME_PROFILE_DELETE_CFM ((CsrWifiNmePrim)(0x0001 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
929 #define CSR_WIFI_NME_PROFILE_DELETE_ALL_CFM ((CsrWifiNmePrim)(0x0002 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
930 #define CSR_WIFI_NME_PROFILE_ORDER_SET_CFM ((CsrWifiNmePrim)(0x0003 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
931 #define CSR_WIFI_NME_PROFILE_CONNECT_CFM ((CsrWifiNmePrim)(0x0004 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
932 #define CSR_WIFI_NME_WPS_CFM ((CsrWifiNmePrim)(0x0005 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
933 #define CSR_WIFI_NME_WPS_CANCEL_CFM ((CsrWifiNmePrim)(0x0006 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
934 #define CSR_WIFI_NME_CONNECTION_STATUS_GET_CFM ((CsrWifiNmePrim)(0x0007 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
935 #define CSR_WIFI_NME_PROFILE_UPDATE_IND ((CsrWifiNmePrim)(0x0008 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
936 #define CSR_WIFI_NME_PROFILE_DISCONNECT_IND ((CsrWifiNmePrim)(0x0009 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
937 #define CSR_WIFI_NME_SIM_IMSI_GET_IND ((CsrWifiNmePrim)(0x000A + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
938 #define CSR_WIFI_NME_SIM_GSM_AUTH_IND ((CsrWifiNmePrim)(0x000B + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
939 #define CSR_WIFI_NME_SIM_UMTS_AUTH_IND ((CsrWifiNmePrim)(0x000C + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
940 #define CSR_WIFI_NME_WPS_CONFIG_SET_CFM ((CsrWifiNmePrim)(0x000D + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
941 #define CSR_WIFI_NME_EVENT_MASK_SET_CFM ((CsrWifiNmePrim)(0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST))
943 #define CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST (0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)
945 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)
946 #define CSR_WIFI_NME_PRIM_UPSTREAM_COUNT (CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)
948 /*******************************************************************************
951 CsrWifiNmeProfileSetReq
954 Creates or updates an existing profile in the NME that matches the unique
955 identity of the profile. Each profile is identified by the combination of
956 BSSID and SSID. The profile contains all the required credentials for
957 attempting to connect to the network. Creating or updating a profile via
958 the NME PROFILE SET REQ does NOT add the profile to the preferred profile
959 list within the NME used for the NME auto-connect behaviour.
962 common - Common header for use with the CsrWifiFsm Module
963 profile - Specifies the identity and credentials of the network.
965 *******************************************************************************/
968 CsrWifiFsmEvent common;
969 CsrWifiNmeProfile profile;
970 } CsrWifiNmeProfileSetReq;
972 /*******************************************************************************
975 CsrWifiNmeProfileDeleteReq
978 Will delete the profile with a matching identity, but does NOT modify the
979 preferred profile list.
982 common - Common header for use with the CsrWifiFsm Module
983 profileIdentity - Identity (BSSID, SSID) of profile to be deleted.
985 *******************************************************************************/
988 CsrWifiFsmEvent common;
989 CsrWifiNmeProfileIdentity profileIdentity;
990 } CsrWifiNmeProfileDeleteReq;
992 /*******************************************************************************
995 CsrWifiNmeProfileDeleteAllReq
998 Deletes all profiles present in the NME, but does NOT modify the
999 preferred profile list.
1002 common - Common header for use with the CsrWifiFsm Module
1004 *******************************************************************************/
1007 CsrWifiFsmEvent common;
1008 } CsrWifiNmeProfileDeleteAllReq;
1010 /*******************************************************************************
1013 CsrWifiNmeProfileOrderSetReq
1016 Defines the preferred order that profiles present in the NME should be
1017 used during the NME auto-connect behaviour.
1018 If profileIdentitysCount == 0, it removes any existing preferred profile
1019 list already present in the NME, effectively disabling the auto-connect
1021 NOTE: Profile identities that do not match any profile stored in the NME
1022 are ignored during the auto-connect procedure.
1023 NOTE: during auto-connect the NME will only attempt to join an existing
1024 adhoc network and it will never attempt to host an adhoc network; for
1025 hosting and adhoc network, use CSR_WIFI_NME_PROFILE_CONNECT_REQ
1028 common - Common header for use with the CsrWifiFsm Module
1029 interfaceTag - Interface Identifier; unique identifier of an
1031 profileIdentitysCount - The number of profiles identities in the list.
1032 profileIdentitys - Points to the list of profile identities.
1034 *******************************************************************************/
1037 CsrWifiFsmEvent common;
1039 u8 profileIdentitysCount;
1040 CsrWifiNmeProfileIdentity *profileIdentitys;
1041 } CsrWifiNmeProfileOrderSetReq;
1043 /*******************************************************************************
1046 CsrWifiNmeProfileConnectReq
1049 Requests the NME to attempt to connect to the specified profile.
1050 Overrides any current connection attempt.
1053 common - Common header for use with the CsrWifiFsm Module
1054 interfaceTag - Interface Identifier; unique identifier of an interface
1055 profileIdentity - Identity (BSSID, SSID) of profile to be connected to.
1056 It must match an existing profile in the NME.
1058 *******************************************************************************/
1061 CsrWifiFsmEvent common;
1063 CsrWifiNmeProfileIdentity profileIdentity;
1064 } CsrWifiNmeProfileConnectReq;
1066 /*******************************************************************************
1072 Requests the NME to look for WPS enabled APs and attempt to perform WPS
1073 to determine the appropriate security credentials to connect to the AP.
1074 If the PIN == '00000000' then 'push button mode' is indicated, otherwise
1075 the PIN has to match that of the AP. 4 digit pin is passed by sending the
1076 pin digits in pin[0]..pin[3] and rest of the contents filled with '-'.
1079 common - Common header for use with the CsrWifiFsm Module
1080 interfaceTag - Interface Identifier; unique identifier of an interface
1082 ssid - Service Set identifier
1083 bssid - ID of Basic Service Set for which a WPS connection attempt is
1086 *******************************************************************************/
1089 CsrWifiFsmEvent common;
1093 CsrWifiMacAddress bssid;
1096 /*******************************************************************************
1099 CsrWifiNmeWpsCancelReq
1102 Requests the NME to cancel any WPS procedure that it is currently
1103 performing. This includes WPS registrar activities started because of
1104 CSR_WIFI_NME_AP_REGISTER.request
1107 common - Common header for use with the CsrWifiFsm Module
1108 interfaceTag - Interface Identifier; unique identifier of an interface
1110 *******************************************************************************/
1113 CsrWifiFsmEvent common;
1115 } CsrWifiNmeWpsCancelReq;
1117 /*******************************************************************************
1120 CsrWifiNmeConnectionStatusGetReq
1123 Requests the current connection status of the NME.
1126 common - Common header for use with the CsrWifiFsm Module
1127 interfaceTag - Interface Identifier; unique identifier of an interface
1129 *******************************************************************************/
1132 CsrWifiFsmEvent common;
1134 } CsrWifiNmeConnectionStatusGetReq;
1136 /*******************************************************************************
1139 CsrWifiNmeSimImsiGetRes
1142 Response from the application that received the NME SIM IMSI GET IND.
1145 common - Common header for use with the CsrWifiFsm Module
1146 status - Indicates the outcome of the requested operation: STATUS_SUCCESS
1148 imsi - The value of the IMSI obtained from the UICC.
1149 cardType - The UICC type (GSM only (SIM), UMTS only (USIM), Both).
1151 *******************************************************************************/
1154 CsrWifiFsmEvent common;
1157 CsrWifiNmeSimCardType cardType;
1158 } CsrWifiNmeSimImsiGetRes;
1160 /*******************************************************************************
1163 CsrWifiNmeSimGsmAuthRes
1166 Response from the application that received the NME SIM GSM AUTH IND. For
1167 each GSM authentication round a GSM Ciphering key (Kc) and a signed
1168 response (SRES) are produced. Since 2 or 3 GSM authentication rounds are
1169 used the 2 or 3 Kc's obtained respectively are combined into one buffer
1170 and similarly the 2 or 3 SRES's obtained are combined into another
1171 buffer. The order of Kc values (SRES values respectively) in their buffer
1172 is the same as that of their corresponding RAND values in the incoming
1176 common - Common header for use with the CsrWifiFsm Module
1177 status - Indicates the outcome of the requested operation:
1178 STATUS_SUCCESS or STATUS_ERROR
1179 kcsLength - Length in Bytes of Kc buffer. Legal values are: 16 or 24.
1180 kcs - Kc buffer holding 2 or 3 Kc values.
1181 sresLength - Length in Bytes of SRES buffer. Legal values are: 8 or 12.
1182 sres - SRES buffer holding 2 or 3 SRES values.
1184 *******************************************************************************/
1187 CsrWifiFsmEvent common;
1193 } CsrWifiNmeSimGsmAuthRes;
1195 /*******************************************************************************
1198 CsrWifiNmeSimUmtsAuthRes
1201 Response from the application that received the NME SIM UMTS AUTH IND.
1202 The values of umtsCipherKey, umtsIntegrityKey, resParameterLength and
1203 resParameter are only meanigful when result = UMTS_AUTH_RESULT_SUCCESS.
1204 The value of auts is only meaningful when
1205 result=UMTS_AUTH_RESULT_SYNC_FAIL.
1208 common - Common header for use with the CsrWifiFsm Module
1209 status - Indicates the outcome of the requested operation:
1210 STATUS_SUCCESS or STATUS_ERROR.
1211 result - The result of UMTS authentication as performed by the
1212 UICC which could be: Success, Authentication Reject or
1213 Synchronisation Failure. For all these 3 outcomes the
1214 value of status is success.
1215 umtsCipherKey - The UMTS Cipher Key as calculated and returned by the
1217 umtsIntegrityKey - The UMTS Integrity Key as calculated and returned by
1219 resParameterLength - The length (in bytes) of the RES parameter (min=4; max
1221 resParameter - The RES parameter as calculated and returned by the
1223 auts - The AUTS parameter as calculated and returned by the
1226 *******************************************************************************/
1229 CsrWifiFsmEvent common;
1231 CsrWifiNmeUmtsAuthResult result;
1232 u8 umtsCipherKey[16];
1233 u8 umtsIntegrityKey[16];
1234 u8 resParameterLength;
1237 } CsrWifiNmeSimUmtsAuthRes;
1239 /*******************************************************************************
1242 CsrWifiNmeWpsConfigSetReq
1245 This primitive passes the WPS information for the device to NME. This may
1246 be accepted only if no interface is active.
1249 common - Common header for use with the CsrWifiFsm Module
1250 wpsConfig - WPS config.
1252 *******************************************************************************/
1255 CsrWifiFsmEvent common;
1256 CsrWifiSmeWpsConfig wpsConfig;
1257 } CsrWifiNmeWpsConfigSetReq;
1259 /*******************************************************************************
1262 CsrWifiNmeEventMaskSetReq
1265 The wireless manager application may register with the NME to receive
1266 notification of interesting events. Indications will be sent only if the
1267 wireless manager explicitly registers to be notified of that event.
1268 indMask is a bit mask of values defined in CsrWifiNmeIndicationsMask.
1271 common - Common header for use with the CsrWifiFsm Module
1272 indMask - Set mask with values from CsrWifiNmeIndications
1274 *******************************************************************************/
1277 CsrWifiFsmEvent common;
1278 CsrWifiNmeIndicationsMask indMask;
1279 } CsrWifiNmeEventMaskSetReq;
1281 /*******************************************************************************
1284 CsrWifiNmeProfileSetCfm
1287 Reports the status of the NME PROFILE SET REQ; the request will only fail
1288 if the details specified in the profile contains an invalid combination
1289 of parameters for example specifying the profile as cloaked but not
1290 specifying the SSID. The NME doesn't limit the number of profiles that
1291 may be created. The NME assumes that the entity configuring it is aware
1292 of the appropriate limits.
1295 common - Common header for use with the CsrWifiFsm Module
1296 status - Indicates the success or otherwise of the requested operation.
1298 *******************************************************************************/
1301 CsrWifiFsmEvent common;
1303 } CsrWifiNmeProfileSetCfm;
1305 /*******************************************************************************
1308 CsrWifiNmeProfileDeleteCfm
1311 Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_REQ.
1312 Returns CSR_WIFI_NME_STATUS_NOT_FOUND if there is no matching profile.
1315 common - Common header for use with the CsrWifiFsm Module
1316 status - Indicates the success or otherwise of the requested operation.
1318 *******************************************************************************/
1321 CsrWifiFsmEvent common;
1323 } CsrWifiNmeProfileDeleteCfm;
1325 /*******************************************************************************
1328 CsrWifiNmeProfileDeleteAllCfm
1331 Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ.
1332 Returns always CSR_WIFI_NME_STATUS_SUCCESS.
1335 common - Common header for use with the CsrWifiFsm Module
1336 status - Indicates the success or otherwise of the requested operation, but
1337 in this case it always set to success.
1339 *******************************************************************************/
1342 CsrWifiFsmEvent common;
1344 } CsrWifiNmeProfileDeleteAllCfm;
1346 /*******************************************************************************
1349 CsrWifiNmeProfileOrderSetCfm
1352 Confirmation to UNIFI_NME_PROFILE_ORDER_SET.request.
1355 common - Common header for use with the CsrWifiFsm Module
1356 interfaceTag - Interface Identifier; unique identifier of an interface
1357 status - Indicates the success or otherwise of the requested
1360 *******************************************************************************/
1363 CsrWifiFsmEvent common;
1366 } CsrWifiNmeProfileOrderSetCfm;
1368 /*******************************************************************************
1371 CsrWifiNmeProfileConnectCfm
1374 Reports the status of the NME PROFILE CONNECT REQ. If unsuccessful the
1375 connectAttempt parameters contain details of the APs that the NME
1376 attempted to connect to before reporting the failure of the request.
1379 common - Common header for use with the CsrWifiFsm Module
1380 interfaceTag - Interface Identifier; unique identifier of an
1382 status - Indicates the success or otherwise of the requested
1384 connectAttemptsCount - This parameter is relevant only if
1385 status!=CSR_WIFI_NME_STATUS_SUCCESS.
1386 Number of connection attempt elements provided with
1388 connectAttempts - This parameter is relevant only if
1389 status!=CSR_WIFI_NME_STATUS_SUCCESS.
1390 Points to the list of connection attempt elements
1391 provided with this primitive
1392 Each element of the list provides information about
1393 an AP on which the connection attempt was made and
1394 the error that occurred during the attempt.
1396 *******************************************************************************/
1399 CsrWifiFsmEvent common;
1402 u8 connectAttemptsCount;
1403 CsrWifiNmeConnectAttempt *connectAttempts;
1404 } CsrWifiNmeProfileConnectCfm;
1406 /*******************************************************************************
1412 Reports the status of the NME WPS REQ.
1413 If CSR_WIFI_NME_STATUS_SUCCESS, the profile parameter contains the
1414 identity and credentials of the AP.
1417 common - Common header for use with the CsrWifiFsm Module
1418 interfaceTag - Interface Identifier; unique identifier of an interface
1419 status - Indicates the success or otherwise of the requested
1421 profile - This parameter is relevant only if
1422 status==CSR_WIFI_NME_STATUS_SUCCESS.
1423 The identity and credentials of the network.
1425 *******************************************************************************/
1428 CsrWifiFsmEvent common;
1431 CsrWifiNmeProfile profile;
1434 /*******************************************************************************
1437 CsrWifiNmeWpsCancelCfm
1440 Reports the status of the NME WPS REQ, the request is always SUCCESSFUL.
1443 common - Common header for use with the CsrWifiFsm Module
1444 interfaceTag - Interface Identifier; unique identifier of an interface
1445 status - Only returns CSR_WIFI_NME_STATUS_SUCCESS
1447 *******************************************************************************/
1450 CsrWifiFsmEvent common;
1453 } CsrWifiNmeWpsCancelCfm;
1455 /*******************************************************************************
1458 CsrWifiNmeConnectionStatusGetCfm
1461 Reports the connection status of the NME.
1464 common - Common header for use with the CsrWifiFsm Module
1465 interfaceTag - Interface Identifier; unique identifier of an interface
1466 status - Indicates the success or otherwise of the requested
1468 connectionStatus - NME current connection status
1470 *******************************************************************************/
1473 CsrWifiFsmEvent common;
1476 CsrWifiNmeConnectionStatus connectionStatus;
1477 } CsrWifiNmeConnectionStatusGetCfm;
1479 /*******************************************************************************
1482 CsrWifiNmeProfileUpdateInd
1485 Indication generated from the NME (if an application subscribes to
1486 receive it) that informs that application that the contained profile has
1488 For example, either the credentials EAP-FAST PAC file or the session data
1489 within the profile has changed.
1490 It is up to the application whether it stores this updated profile or
1494 common - Common header for use with the CsrWifiFsm Module
1495 interfaceTag - Interface Identifier; unique identifier of an interface
1496 profile - The identity and credentials of the network.
1498 *******************************************************************************/
1501 CsrWifiFsmEvent common;
1503 CsrWifiNmeProfile profile;
1504 } CsrWifiNmeProfileUpdateInd;
1506 /*******************************************************************************
1509 CsrWifiNmeProfileDisconnectInd
1512 Indication generated from the NME (if an application subscribes to
1513 receive it) that informs that application that the current profile
1514 connection has disconnected. The indication will contain information
1515 about APs that it attempted to maintain the connection via i.e. in the
1516 case of failed roaming.
1519 common - Common header for use with the CsrWifiFsm Module
1520 interfaceTag - Interface Identifier; unique identifier of an
1522 connectAttemptsCount - Number of connection attempt elements provided with
1524 connectAttempts - Points to the list of connection attempt elements
1525 provided with this primitive
1526 Each element of the list provides information about
1527 an AP on which the connection attempt was made and
1528 the error occurred during the attempt.
1530 *******************************************************************************/
1533 CsrWifiFsmEvent common;
1535 u8 connectAttemptsCount;
1536 CsrWifiNmeConnectAttempt *connectAttempts;
1537 } CsrWifiNmeProfileDisconnectInd;
1539 /*******************************************************************************
1542 CsrWifiNmeSimImsiGetInd
1545 Indication generated from the NME (if an application subscribes to
1546 receive it) that requests the IMSI and UICC type from the UICC Manager.
1547 This indication is generated when the NME is attempting to connect to a
1548 profile configured for EAP-SIM/AKA. An application MUST register to
1549 receive this indication for the NME to support the EAP-SIM/AKA credential
1550 types. Otherwise the NME has no route to obtain the information from the
1554 common - Common header for use with the CsrWifiFsm Module
1556 *******************************************************************************/
1559 CsrWifiFsmEvent common;
1560 } CsrWifiNmeSimImsiGetInd;
1562 /*******************************************************************************
1565 CsrWifiNmeSimGsmAuthInd
1568 Indication generated from the NME (if an application subscribes to
1569 receive it) that requests the UICC Manager to perform a GSM
1570 authentication on behalf of the NME. This indication is generated when
1571 the NME is attempting to connect to a profile configured for EAP-SIM. An
1572 application MUST register to receive this indication for the NME to
1573 support the EAP-SIM credential types. Otherwise the NME has no route to
1574 obtain the information from the UICC. EAP-SIM authentication requires 2
1575 or 3 GSM authentication rounds and therefore 2 or 3 RANDS (GSM Random
1576 Challenges) are included.
1579 common - Common header for use with the CsrWifiFsm Module
1580 randsLength - GSM RAND is 16 bytes long hence valid values are 32 (2 RANDS)
1582 rands - 2 or 3 RANDs values.
1584 *******************************************************************************/
1587 CsrWifiFsmEvent common;
1590 } CsrWifiNmeSimGsmAuthInd;
1592 /*******************************************************************************
1595 CsrWifiNmeSimUmtsAuthInd
1598 Indication generated from the NME (if an application subscribes to
1599 receive it) that requests the UICC Manager to perform a UMTS
1600 authentication on behalf of the NME. This indication is generated when
1601 the NME is attempting to connect to a profile configured for EAP-AKA. An
1602 application MUST register to receive this indication for the NME to
1603 support the EAP-AKA credential types. Otherwise the NME has no route to
1604 obtain the information from the USIM. EAP-AKA requires one UMTS
1605 authentication round and therefore only one RAND and one AUTN values are
1609 common - Common header for use with the CsrWifiFsm Module
1610 rand - UMTS RAND value.
1611 autn - UMTS AUTN value.
1613 *******************************************************************************/
1616 CsrWifiFsmEvent common;
1619 } CsrWifiNmeSimUmtsAuthInd;
1621 /*******************************************************************************
1624 CsrWifiNmeWpsConfigSetCfm
1630 common - Common header for use with the CsrWifiFsm Module
1631 status - Status of the request.
1633 *******************************************************************************/
1636 CsrWifiFsmEvent common;
1638 } CsrWifiNmeWpsConfigSetCfm;
1640 /*******************************************************************************
1643 CsrWifiNmeEventMaskSetCfm
1646 The NME calls the primitive to report the result of the request
1650 common - Common header for use with the CsrWifiFsm Module
1651 status - Reports the result of the request
1653 *******************************************************************************/
1656 CsrWifiFsmEvent common;
1658 } CsrWifiNmeEventMaskSetCfm;
1665 #endif /* CSR_WIFI_NME_PRIM_H__ */