ASoC: wm2000: Correct register size
[linux-2.6/btrfs-unstable.git] / drivers / staging / csr / csr_wifi_nme_prim.h
blob20dc77971f943b9668a4a056c8e1458660aef880
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
7 on the license terms.
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 #ifdef __cplusplus
25 extern "C" {
26 #endif
28 #ifndef CSR_WIFI_NME_ENABLE
29 #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_prim.h
30 #endif
32 #define CSR_WIFI_NME_PRIM (0x0424)
34 typedef CsrPrim CsrWifiNmePrim;
36 typedef void (*CsrWifiNmeFrameFreeFunction)(void *frame);
38 /*******************************************************************************
40 NAME
41 CsrWifiNmeAuthMode
43 DESCRIPTION
44 WiFi Authentication Mode
46 VALUES
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
67 - For future use.
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 /*******************************************************************************
84 NAME
85 CsrWifiNmeBssType
87 DESCRIPTION
88 Type of BSS
90 VALUES
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 /*******************************************************************************
112 NAME
113 CsrWifiNmeCcxOptionsMask
115 DESCRIPTION
116 Enumeration type defining possible mask values for setting CCX options.
118 VALUES
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 /*******************************************************************************
129 NAME
130 CsrWifiNmeConfigAction
132 DESCRIPTION
134 VALUES
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 /*******************************************************************************
147 NAME
148 CsrWifiNmeConnectionStatus
150 DESCRIPTION
151 Indicate the NME Connection Status when connecting or when disconnecting
153 VALUES
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
161 - NME is 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 /*******************************************************************************
175 NAME
176 CsrWifiNmeCredentialType
178 DESCRIPTION
179 NME Credential Types
181 VALUES
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 /*******************************************************************************
222 NAME
223 CsrWifiNmeEapMethod
225 DESCRIPTION
226 Outer EAP method with possibly inner method.
228 VALUES
229 CSR_WIFI_NME_EAP_METHOD_TLS
230 - EAP-TLS Method.
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
238 - EAP-SIM Method.
239 CSR_WIFI_NME_EAP_METHOD_AKA
240 - EAP-AKA Method.
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
246 - EAP-LEAP Method.
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 /*******************************************************************************
262 NAME
263 CsrWifiNmeEncryption
265 DESCRIPTION
266 WiFi Encryption method
268 VALUES
269 CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE
270 - No encryprion set.
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 /*******************************************************************************
308 NAME
309 CsrWifiNmeIndications
311 DESCRIPTION
312 NME indications
314 VALUES
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 /*******************************************************************************
354 NAME
355 CsrWifiNmeSecError
357 DESCRIPTION
358 NME Security Errors
359 place holder for the security library abort reason
361 VALUES
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 /*******************************************************************************
371 NAME
372 CsrWifiNmeSimCardType
374 DESCRIPTION
375 (U)SIM Card (or UICC) types
377 VALUES
378 CSR_WIFI_NME_SIM_CARD_TYPE_2G - 2G SIM card, capable of performing GSM
379 authentication only.
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 /*******************************************************************************
394 NAME
395 CsrWifiNmeUmtsAuthResult
397 DESCRIPTION
398 Only relevant for UMTS Authentication. It indicates if the UICC has
399 successfully authenticated the network or otherwise.
401 VALUES
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
413 aborted.
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 /*******************************************************************************
423 NAME
424 CsrWifiNmeWmmQosInfo
426 DESCRIPTION
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
430 other interfaces
432 VALUES
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 /*******************************************************************************
465 NAME
466 CsrWifiNmeEapMethodMask
468 DESCRIPTION
469 Mask type for use with the values defined by CsrWifiNmeEapMethod.
471 *******************************************************************************/
472 typedef u16 CsrWifiNmeEapMethodMask;
473 /*******************************************************************************
475 NAME
476 CsrWifiNmeEncryptionMask
478 DESCRIPTION
479 Mask type for use with the values defined by CsrWifiNmeEncryption
481 *******************************************************************************/
482 typedef u16 CsrWifiNmeEncryptionMask;
483 /*******************************************************************************
485 NAME
486 CsrWifiNmeIndicationsMask
488 DESCRIPTION
489 Mask type for use with the values defined by CsrWifiNmeIndications
491 *******************************************************************************/
492 typedef u32 CsrWifiNmeIndicationsMask;
493 /*******************************************************************************
495 NAME
496 CsrWifiNmeNmeIndicationsMask
498 DESCRIPTION
499 Mask type for use with the values defined by CsrWifiNmeNmeIndications.
500 Used to overlap the unused portion of the unifi_IndicationsMask For NME
501 specific indications
503 *******************************************************************************/
504 typedef u32 CsrWifiNmeNmeIndicationsMask;
505 /*******************************************************************************
507 NAME
508 CsrWifiNmeWmmQosInfoMask
510 DESCRIPTION
511 Mask type for use with the values defined by CsrWifiNmeWmmQosInfo
513 *******************************************************************************/
514 typedef u8 CsrWifiNmeWmmQosInfoMask;
517 /*******************************************************************************
519 NAME
520 CsrWifiNmeEmpty
522 DESCRIPTION
523 Empty Structure to indicate that no credentials are available.
525 MEMBERS
526 empty - Only element of the empty structure (always set to 0).
528 *******************************************************************************/
529 typedef struct
531 u8 empty;
532 } CsrWifiNmeEmpty;
534 /*******************************************************************************
536 NAME
537 CsrWifiNmePassphrase
539 DESCRIPTION
540 Structure holding the ASCII Pass Phrase data.
542 MEMBERS
543 encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
544 passphrase - Pass phrase ASCII value.
546 *******************************************************************************/
547 typedef struct
549 u16 encryptionMode;
550 char *passphrase;
551 } CsrWifiNmePassphrase;
553 /*******************************************************************************
555 NAME
556 CsrWifiNmePsk
558 DESCRIPTION
559 Structure holding the Pre-Shared Key data.
561 MEMBERS
562 encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
563 psk - Pre-Shared Key value.
565 *******************************************************************************/
566 typedef struct
568 u16 encryptionMode;
569 u8 psk[32];
570 } CsrWifiNmePsk;
572 /*******************************************************************************
574 NAME
575 CsrWifiNmeWapiCredentials
577 DESCRIPTION
578 Structure holding WAPI credentials data.
580 MEMBERS
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
587 certificate.
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
592 format supported.
594 *******************************************************************************/
595 typedef struct
597 u32 certificateLength;
598 u8 *certificate;
599 u16 privateKeyLength;
600 u8 *privateKey;
601 u32 caCertificateLength;
602 u8 *caCertificate;
603 } CsrWifiNmeWapiCredentials;
605 /*******************************************************************************
607 NAME
608 CsrWifiNmeConnectAttempt
610 DESCRIPTION
611 Structure holding Connection attempt data.
613 MEMBERS
614 bssid - Id of Basic Service Set connections attempt have been made
616 status - Status returned to indicate the success or otherwise of the
617 connection attempt.
618 securityError - Security error status indicating the nature of the failure
619 to connect.
621 *******************************************************************************/
622 typedef struct
624 CsrWifiMacAddress bssid;
625 CsrResult status;
626 CsrWifiNmeSecError securityError;
627 } CsrWifiNmeConnectAttempt;
629 /*******************************************************************************
631 NAME
632 CsrWifiNmeEapCredentials
634 DESCRIPTION
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
638 MEMBERS
639 eapMethodMask
640 - Bit mask of supported EAP methods
641 Currently only supports the setting of one bit.
642 Required for all the EAP methods.
643 authMode
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.
648 encryptionMode
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.
653 userName
654 - User name. Required for all EAP methods except: SIM or AKA.
655 userPassword
656 - User Password. Required for all EAP methods except: TLS,
657 SIM or AKA.
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.
664 clientCertificate
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.
676 privateKeyLength
677 - Length in bytes of the following private key (if present).
678 Only required for TLS.
679 privateKey
680 - The actual private key (if present). Only required for TLS.
681 DER/PEM format, maybe password protected.
682 privateKeyPassword
683 - Optional password to protect the private key.
684 sessionLength
685 - Length in bytes of the following session field Supported
686 for all EAP methods except: SIM or AKA.
687 session
688 - Session information to support faster re-authentication.
689 Supported for all EAP methods except: SIM or AKA.
690 allowPacProvisioning
691 - If TRUE: PAC provisioning is allowed 'over-the_air';
692 If FALSE: a PAC must be supplied.
693 Only required for FAST.
694 pacLength
695 - Length the following PAC field. If allowPacProvisioning is
696 FALSE then the PAC MUST be supplied (i.e. non-zero). Only
697 required for FAST.
699 - The actual PAC data. If allowPacProvisioning is FALSE then
700 the PAC MUST be supplied. Only required for FAST.
701 pacPassword
702 - Optional password to protect the PAC. Only required for
703 FAST.
705 *******************************************************************************/
706 typedef struct
708 CsrWifiNmeEapMethodMask eapMethodMask;
709 CsrWifiSmeAuthModeMask authMode;
710 CsrWifiNmeEncryptionMask encryptionMode;
711 char *userName;
712 char *userPassword;
713 char *authServerUserIdentity;
714 u32 clientCertificateLength;
715 u8 *clientCertificate;
716 u32 certificateAuthorityCertificateLength;
717 u8 *certificateAuthorityCertificate;
718 u16 privateKeyLength;
719 u8 *privateKey;
720 char *privateKeyPassword;
721 u32 sessionLength;
722 u8 *session;
723 u8 allowPacProvisioning;
724 u32 pacLength;
725 u8 *pac;
726 char *pacPassword;
727 } CsrWifiNmeEapCredentials;
729 /*******************************************************************************
731 NAME
732 CsrWifiNmePeerConfig
734 DESCRIPTION
735 Structure holding Peer Config data.
737 MEMBERS
738 p2pDeviceId -
739 groupCapabilityMask -
740 groupOwnerIntent -
742 *******************************************************************************/
743 typedef struct
745 CsrWifiMacAddress p2pDeviceId;
746 CsrWifiSmeP2pGroupCapabilityMask groupCapabilityMask;
747 u8 groupOwnerIntent;
748 } CsrWifiNmePeerConfig;
750 /*******************************************************************************
752 NAME
753 CsrWifiNmeProfileIdentity
755 DESCRIPTION
756 The identity of a profile is defined as the unique combination the BSSID
757 and SSID.
759 MEMBERS
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 *******************************************************************************/
765 typedef struct
767 CsrWifiMacAddress bssid;
768 CsrWifiSsid ssid;
769 } CsrWifiNmeProfileIdentity;
771 /*******************************************************************************
773 NAME
774 CsrWifiNmeWep128Keys
776 DESCRIPTION
777 Structure holding WEP Authentication Type and WEP keys that can be used
778 when using WEP128.
780 MEMBERS
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 *******************************************************************************/
790 typedef struct
792 CsrWifiSmeAuthModeMask wepAuthType;
793 u8 selectedWepKey;
794 u8 key1[13];
795 u8 key2[13];
796 u8 key3[13];
797 u8 key4[13];
798 } CsrWifiNmeWep128Keys;
800 /*******************************************************************************
802 NAME
803 CsrWifiNmeWep64Keys
805 DESCRIPTION
806 Structure for holding WEP Authentication Type and WEP keys that can be
807 used when using WEP64.
809 MEMBERS
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 *******************************************************************************/
819 typedef struct
821 CsrWifiSmeAuthModeMask wepAuthType;
822 u8 selectedWepKey;
823 u8 key1[5];
824 u8 key2[5];
825 u8 key3[5];
826 u8 key4[5];
827 } CsrWifiNmeWep64Keys;
829 /*******************************************************************************
831 NAME
832 CsrWifiNmeCredentials
834 DESCRIPTION
835 Structure containing the Credentials data.
837 MEMBERS
838 credentialType - Credential type value (as defined in the
839 enumeration type).
840 credential - Union containing credentials which depends on
841 credentialType parameter.
842 credentialeap -
843 credentialwapiPassphrase -
844 credentialwpa2Passphrase -
845 credentialwpa2Psk -
846 credentialwapiPsk -
847 credentialwpaPassphrase -
848 credentialwapi -
849 credentialwep128Key -
850 credentialwpaPsk -
851 credentialopenSystem -
852 credentialwep64Key -
854 *******************************************************************************/
855 typedef struct
857 CsrWifiNmeCredentialType credentialType;
858 union {
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;
870 } credential;
871 } CsrWifiNmeCredentials;
873 /*******************************************************************************
875 NAME
876 CsrWifiNmeProfile
878 DESCRIPTION
879 Structure containing the Profile data.
881 MEMBERS
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
888 transmitted) or not.
889 credentials - Credentials data.
891 *******************************************************************************/
892 typedef struct
894 CsrWifiNmeProfileIdentity profileIdentity;
895 CsrWifiNmeWmmQosInfoMask wmmQosInfoMask;
896 CsrWifiNmeBssType bssType;
897 u8 channelNo;
898 u8 ccxOptionsMask;
899 u8 cloakedSsid;
900 CsrWifiNmeCredentials credentials;
901 } CsrWifiNmeProfile;
904 /* Downstream */
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)
924 /* Upstream */
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 /*******************************************************************************
950 NAME
951 CsrWifiNmeProfileSetReq
953 DESCRIPTION
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.
961 MEMBERS
962 common - Common header for use with the CsrWifiFsm Module
963 profile - Specifies the identity and credentials of the network.
965 *******************************************************************************/
966 typedef struct
968 CsrWifiFsmEvent common;
969 CsrWifiNmeProfile profile;
970 } CsrWifiNmeProfileSetReq;
972 /*******************************************************************************
974 NAME
975 CsrWifiNmeProfileDeleteReq
977 DESCRIPTION
978 Will delete the profile with a matching identity, but does NOT modify the
979 preferred profile list.
981 MEMBERS
982 common - Common header for use with the CsrWifiFsm Module
983 profileIdentity - Identity (BSSID, SSID) of profile to be deleted.
985 *******************************************************************************/
986 typedef struct
988 CsrWifiFsmEvent common;
989 CsrWifiNmeProfileIdentity profileIdentity;
990 } CsrWifiNmeProfileDeleteReq;
992 /*******************************************************************************
994 NAME
995 CsrWifiNmeProfileDeleteAllReq
997 DESCRIPTION
998 Deletes all profiles present in the NME, but does NOT modify the
999 preferred profile list.
1001 MEMBERS
1002 common - Common header for use with the CsrWifiFsm Module
1004 *******************************************************************************/
1005 typedef struct
1007 CsrWifiFsmEvent common;
1008 } CsrWifiNmeProfileDeleteAllReq;
1010 /*******************************************************************************
1012 NAME
1013 CsrWifiNmeProfileOrderSetReq
1015 DESCRIPTION
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
1020 behaviour.
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
1027 MEMBERS
1028 common - Common header for use with the CsrWifiFsm Module
1029 interfaceTag - Interface Identifier; unique identifier of an
1030 interface
1031 profileIdentitysCount - The number of profiles identities in the list.
1032 profileIdentitys - Points to the list of profile identities.
1034 *******************************************************************************/
1035 typedef struct
1037 CsrWifiFsmEvent common;
1038 u16 interfaceTag;
1039 u8 profileIdentitysCount;
1040 CsrWifiNmeProfileIdentity *profileIdentitys;
1041 } CsrWifiNmeProfileOrderSetReq;
1043 /*******************************************************************************
1045 NAME
1046 CsrWifiNmeProfileConnectReq
1048 DESCRIPTION
1049 Requests the NME to attempt to connect to the specified profile.
1050 Overrides any current connection attempt.
1052 MEMBERS
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 *******************************************************************************/
1059 typedef struct
1061 CsrWifiFsmEvent common;
1062 u16 interfaceTag;
1063 CsrWifiNmeProfileIdentity profileIdentity;
1064 } CsrWifiNmeProfileConnectReq;
1066 /*******************************************************************************
1068 NAME
1069 CsrWifiNmeWpsReq
1071 DESCRIPTION
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 '-'.
1078 MEMBERS
1079 common - Common header for use with the CsrWifiFsm Module
1080 interfaceTag - Interface Identifier; unique identifier of an interface
1081 pin - PIN value.
1082 ssid - Service Set identifier
1083 bssid - ID of Basic Service Set for which a WPS connection attempt is
1084 being made.
1086 *******************************************************************************/
1087 typedef struct
1089 CsrWifiFsmEvent common;
1090 u16 interfaceTag;
1091 u8 pin[8];
1092 CsrWifiSsid ssid;
1093 CsrWifiMacAddress bssid;
1094 } CsrWifiNmeWpsReq;
1096 /*******************************************************************************
1098 NAME
1099 CsrWifiNmeWpsCancelReq
1101 DESCRIPTION
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
1106 MEMBERS
1107 common - Common header for use with the CsrWifiFsm Module
1108 interfaceTag - Interface Identifier; unique identifier of an interface
1110 *******************************************************************************/
1111 typedef struct
1113 CsrWifiFsmEvent common;
1114 u16 interfaceTag;
1115 } CsrWifiNmeWpsCancelReq;
1117 /*******************************************************************************
1119 NAME
1120 CsrWifiNmeConnectionStatusGetReq
1122 DESCRIPTION
1123 Requests the current connection status of the NME.
1125 MEMBERS
1126 common - Common header for use with the CsrWifiFsm Module
1127 interfaceTag - Interface Identifier; unique identifier of an interface
1129 *******************************************************************************/
1130 typedef struct
1132 CsrWifiFsmEvent common;
1133 u16 interfaceTag;
1134 } CsrWifiNmeConnectionStatusGetReq;
1136 /*******************************************************************************
1138 NAME
1139 CsrWifiNmeSimImsiGetRes
1141 DESCRIPTION
1142 Response from the application that received the NME SIM IMSI GET IND.
1144 MEMBERS
1145 common - Common header for use with the CsrWifiFsm Module
1146 status - Indicates the outcome of the requested operation: STATUS_SUCCESS
1147 or STATUS_ERROR.
1148 imsi - The value of the IMSI obtained from the UICC.
1149 cardType - The UICC type (GSM only (SIM), UMTS only (USIM), Both).
1151 *******************************************************************************/
1152 typedef struct
1154 CsrWifiFsmEvent common;
1155 CsrResult status;
1156 char *imsi;
1157 CsrWifiNmeSimCardType cardType;
1158 } CsrWifiNmeSimImsiGetRes;
1160 /*******************************************************************************
1162 NAME
1163 CsrWifiNmeSimGsmAuthRes
1165 DESCRIPTION
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
1173 indication.
1175 MEMBERS
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 *******************************************************************************/
1185 typedef struct
1187 CsrWifiFsmEvent common;
1188 CsrResult status;
1189 u8 kcsLength;
1190 u8 *kcs;
1191 u8 sresLength;
1192 u8 *sres;
1193 } CsrWifiNmeSimGsmAuthRes;
1195 /*******************************************************************************
1197 NAME
1198 CsrWifiNmeSimUmtsAuthRes
1200 DESCRIPTION
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.
1207 MEMBERS
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
1216 UICC.
1217 umtsIntegrityKey - The UMTS Integrity Key as calculated and returned by
1218 the UICC.
1219 resParameterLength - The length (in bytes) of the RES parameter (min=4; max
1220 = 16).
1221 resParameter - The RES parameter as calculated and returned by the
1222 UICC.
1223 auts - The AUTS parameter as calculated and returned by the
1224 UICC.
1226 *******************************************************************************/
1227 typedef struct
1229 CsrWifiFsmEvent common;
1230 CsrResult status;
1231 CsrWifiNmeUmtsAuthResult result;
1232 u8 umtsCipherKey[16];
1233 u8 umtsIntegrityKey[16];
1234 u8 resParameterLength;
1235 u8 *resParameter;
1236 u8 auts[14];
1237 } CsrWifiNmeSimUmtsAuthRes;
1239 /*******************************************************************************
1241 NAME
1242 CsrWifiNmeWpsConfigSetReq
1244 DESCRIPTION
1245 This primitive passes the WPS information for the device to NME. This may
1246 be accepted only if no interface is active.
1248 MEMBERS
1249 common - Common header for use with the CsrWifiFsm Module
1250 wpsConfig - WPS config.
1252 *******************************************************************************/
1253 typedef struct
1255 CsrWifiFsmEvent common;
1256 CsrWifiSmeWpsConfig wpsConfig;
1257 } CsrWifiNmeWpsConfigSetReq;
1259 /*******************************************************************************
1261 NAME
1262 CsrWifiNmeEventMaskSetReq
1264 DESCRIPTION
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.
1270 MEMBERS
1271 common - Common header for use with the CsrWifiFsm Module
1272 indMask - Set mask with values from CsrWifiNmeIndications
1274 *******************************************************************************/
1275 typedef struct
1277 CsrWifiFsmEvent common;
1278 CsrWifiNmeIndicationsMask indMask;
1279 } CsrWifiNmeEventMaskSetReq;
1281 /*******************************************************************************
1283 NAME
1284 CsrWifiNmeProfileSetCfm
1286 DESCRIPTION
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.
1294 MEMBERS
1295 common - Common header for use with the CsrWifiFsm Module
1296 status - Indicates the success or otherwise of the requested operation.
1298 *******************************************************************************/
1299 typedef struct
1301 CsrWifiFsmEvent common;
1302 CsrResult status;
1303 } CsrWifiNmeProfileSetCfm;
1305 /*******************************************************************************
1307 NAME
1308 CsrWifiNmeProfileDeleteCfm
1310 DESCRIPTION
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.
1314 MEMBERS
1315 common - Common header for use with the CsrWifiFsm Module
1316 status - Indicates the success or otherwise of the requested operation.
1318 *******************************************************************************/
1319 typedef struct
1321 CsrWifiFsmEvent common;
1322 CsrResult status;
1323 } CsrWifiNmeProfileDeleteCfm;
1325 /*******************************************************************************
1327 NAME
1328 CsrWifiNmeProfileDeleteAllCfm
1330 DESCRIPTION
1331 Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ.
1332 Returns always CSR_WIFI_NME_STATUS_SUCCESS.
1334 MEMBERS
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 *******************************************************************************/
1340 typedef struct
1342 CsrWifiFsmEvent common;
1343 CsrResult status;
1344 } CsrWifiNmeProfileDeleteAllCfm;
1346 /*******************************************************************************
1348 NAME
1349 CsrWifiNmeProfileOrderSetCfm
1351 DESCRIPTION
1352 Confirmation to UNIFI_NME_PROFILE_ORDER_SET.request.
1354 MEMBERS
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
1358 operation.
1360 *******************************************************************************/
1361 typedef struct
1363 CsrWifiFsmEvent common;
1364 u16 interfaceTag;
1365 CsrResult status;
1366 } CsrWifiNmeProfileOrderSetCfm;
1368 /*******************************************************************************
1370 NAME
1371 CsrWifiNmeProfileConnectCfm
1373 DESCRIPTION
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.
1378 MEMBERS
1379 common - Common header for use with the CsrWifiFsm Module
1380 interfaceTag - Interface Identifier; unique identifier of an
1381 interface
1382 status - Indicates the success or otherwise of the requested
1383 operation.
1384 connectAttemptsCount - This parameter is relevant only if
1385 status!=CSR_WIFI_NME_STATUS_SUCCESS.
1386 Number of connection attempt elements provided with
1387 this primitive
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 *******************************************************************************/
1397 typedef struct
1399 CsrWifiFsmEvent common;
1400 u16 interfaceTag;
1401 CsrResult status;
1402 u8 connectAttemptsCount;
1403 CsrWifiNmeConnectAttempt *connectAttempts;
1404 } CsrWifiNmeProfileConnectCfm;
1406 /*******************************************************************************
1408 NAME
1409 CsrWifiNmeWpsCfm
1411 DESCRIPTION
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.
1416 MEMBERS
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
1420 operation.
1421 profile - This parameter is relevant only if
1422 status==CSR_WIFI_NME_STATUS_SUCCESS.
1423 The identity and credentials of the network.
1425 *******************************************************************************/
1426 typedef struct
1428 CsrWifiFsmEvent common;
1429 u16 interfaceTag;
1430 CsrResult status;
1431 CsrWifiNmeProfile profile;
1432 } CsrWifiNmeWpsCfm;
1434 /*******************************************************************************
1436 NAME
1437 CsrWifiNmeWpsCancelCfm
1439 DESCRIPTION
1440 Reports the status of the NME WPS REQ, the request is always SUCCESSFUL.
1442 MEMBERS
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 *******************************************************************************/
1448 typedef struct
1450 CsrWifiFsmEvent common;
1451 u16 interfaceTag;
1452 CsrResult status;
1453 } CsrWifiNmeWpsCancelCfm;
1455 /*******************************************************************************
1457 NAME
1458 CsrWifiNmeConnectionStatusGetCfm
1460 DESCRIPTION
1461 Reports the connection status of the NME.
1463 MEMBERS
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
1467 operation.
1468 connectionStatus - NME current connection status
1470 *******************************************************************************/
1471 typedef struct
1473 CsrWifiFsmEvent common;
1474 u16 interfaceTag;
1475 CsrResult status;
1476 CsrWifiNmeConnectionStatus connectionStatus;
1477 } CsrWifiNmeConnectionStatusGetCfm;
1479 /*******************************************************************************
1481 NAME
1482 CsrWifiNmeProfileUpdateInd
1484 DESCRIPTION
1485 Indication generated from the NME (if an application subscribes to
1486 receive it) that informs that application that the contained profile has
1487 changed.
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
1491 not.
1493 MEMBERS
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 *******************************************************************************/
1499 typedef struct
1501 CsrWifiFsmEvent common;
1502 u16 interfaceTag;
1503 CsrWifiNmeProfile profile;
1504 } CsrWifiNmeProfileUpdateInd;
1506 /*******************************************************************************
1508 NAME
1509 CsrWifiNmeProfileDisconnectInd
1511 DESCRIPTION
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.
1518 MEMBERS
1519 common - Common header for use with the CsrWifiFsm Module
1520 interfaceTag - Interface Identifier; unique identifier of an
1521 interface
1522 connectAttemptsCount - Number of connection attempt elements provided with
1523 this primitive
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 *******************************************************************************/
1531 typedef struct
1533 CsrWifiFsmEvent common;
1534 u16 interfaceTag;
1535 u8 connectAttemptsCount;
1536 CsrWifiNmeConnectAttempt *connectAttempts;
1537 } CsrWifiNmeProfileDisconnectInd;
1539 /*******************************************************************************
1541 NAME
1542 CsrWifiNmeSimImsiGetInd
1544 DESCRIPTION
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
1551 UICC.
1553 MEMBERS
1554 common - Common header for use with the CsrWifiFsm Module
1556 *******************************************************************************/
1557 typedef struct
1559 CsrWifiFsmEvent common;
1560 } CsrWifiNmeSimImsiGetInd;
1562 /*******************************************************************************
1564 NAME
1565 CsrWifiNmeSimGsmAuthInd
1567 DESCRIPTION
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.
1578 MEMBERS
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)
1581 or 48 (3 RANDs).
1582 rands - 2 or 3 RANDs values.
1584 *******************************************************************************/
1585 typedef struct
1587 CsrWifiFsmEvent common;
1588 u8 randsLength;
1589 u8 *rands;
1590 } CsrWifiNmeSimGsmAuthInd;
1592 /*******************************************************************************
1594 NAME
1595 CsrWifiNmeSimUmtsAuthInd
1597 DESCRIPTION
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
1606 included.
1608 MEMBERS
1609 common - Common header for use with the CsrWifiFsm Module
1610 rand - UMTS RAND value.
1611 autn - UMTS AUTN value.
1613 *******************************************************************************/
1614 typedef struct
1616 CsrWifiFsmEvent common;
1617 u8 rand[16];
1618 u8 autn[16];
1619 } CsrWifiNmeSimUmtsAuthInd;
1621 /*******************************************************************************
1623 NAME
1624 CsrWifiNmeWpsConfigSetCfm
1626 DESCRIPTION
1627 Confirm.
1629 MEMBERS
1630 common - Common header for use with the CsrWifiFsm Module
1631 status - Status of the request.
1633 *******************************************************************************/
1634 typedef struct
1636 CsrWifiFsmEvent common;
1637 CsrResult status;
1638 } CsrWifiNmeWpsConfigSetCfm;
1640 /*******************************************************************************
1642 NAME
1643 CsrWifiNmeEventMaskSetCfm
1645 DESCRIPTION
1646 The NME calls the primitive to report the result of the request
1647 primitive.
1649 MEMBERS
1650 common - Common header for use with the CsrWifiFsm Module
1651 status - Reports the result of the request
1653 *******************************************************************************/
1654 typedef struct
1656 CsrWifiFsmEvent common;
1657 CsrResult status;
1658 } CsrWifiNmeEventMaskSetCfm;
1661 #ifdef __cplusplus
1663 #endif
1665 #endif /* CSR_WIFI_NME_PRIM_H__ */