Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
csr_wifi_nme_prim.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  (c) Cambridge Silicon Radio Limited 2011
4  All rights reserved and confidential information of CSR
5 
6  Refer to LICENSE.txt included with this source for details
7  on the license terms.
8 
9 *****************************************************************************/
10 
11 /* Note: this is an auto-generated file. */
12 
13 #ifndef CSR_WIFI_NME_PRIM_H__
14 #define CSR_WIFI_NME_PRIM_H__
15 
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"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
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
31 
32 #define CSR_WIFI_NME_PRIM (0x0424)
33 
35 
37 
38 /*******************************************************************************
39 
40  NAME
41  CsrWifiNmeAuthMode
42 
43  DESCRIPTION
44  WiFi Authentication Mode
45 
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.
68 
69 *******************************************************************************/
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)
81 
82 /*******************************************************************************
83 
84  NAME
85  CsrWifiNmeBssType
86 
87  DESCRIPTION
88  Type of BSS
89 
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.
102 
103 *******************************************************************************/
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)
109 
110 /*******************************************************************************
111 
112  NAME
113  CsrWifiNmeCcxOptionsMask
114 
115  DESCRIPTION
116  Enumeration type defining possible mask values for setting CCX options.
117 
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.
121 
122 *******************************************************************************/
124 #define CSR_WIFI_NME_CCX_OPTION_NONE ((CsrWifiNmeCcxOptionsMask) 0x00)
125 #define CSR_WIFI_NME_CCX_OPTION_CCKM ((CsrWifiNmeCcxOptionsMask) 0x01)
126 
127 /*******************************************************************************
128 
129  NAME
130  CsrWifiNmeConfigAction
131 
132  DESCRIPTION
133 
134  VALUES
135  CSR_WIFI_PIN_ENTRY_PUSH_BUTTON -
136  CSR_WIFI_PIN_ENTRY_DISPLAY_PIN -
137  CSR_WIFI_PIN_ENTRY_ENTER_PIN -
138 
139 *******************************************************************************/
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)
144 
145 /*******************************************************************************
146 
147  NAME
148  CsrWifiNmeConnectionStatus
149 
150  DESCRIPTION
151  Indicate the NME Connection Status when connecting or when disconnecting
152 
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.
164 
165 *******************************************************************************/
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)
172 
173 /*******************************************************************************
174 
175  NAME
176  CsrWifiNmeCredentialType
177 
178  DESCRIPTION
179  NME Credential Types
180 
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.
205 
206 *******************************************************************************/
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)
219 
220 /*******************************************************************************
221 
222  NAME
223  CsrWifiNmeEapMethod
224 
225  DESCRIPTION
226  Outer EAP method with possibly inner method.
227 
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.
247 
248 *******************************************************************************/
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)
259 
260 /*******************************************************************************
261 
262  NAME
263  CsrWifiNmeEncryption
264 
265  DESCRIPTION
266  WiFi Encryption method
267 
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.
291 
292 *******************************************************************************/
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)
305 
306 /*******************************************************************************
307 
308  NAME
309  CsrWifiNmeIndications
310 
311  DESCRIPTION
312  NME indications
313 
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
337 
338 *******************************************************************************/
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)
351 
352 /*******************************************************************************
353 
354  NAME
355  CsrWifiNmeSecError
356 
357  DESCRIPTION
358  NME Security Errors
359  place holder for the security library abort reason
360 
361  VALUES
362  CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN
363  - Unknown Security Error.
364 
365 *******************************************************************************/
367 #define CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN ((CsrWifiNmeSecError) 0x00)
368 
369 /*******************************************************************************
370 
371  NAME
372  CsrWifiNmeSimCardType
373 
374  DESCRIPTION
375  (U)SIM Card (or UICC) types
376 
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.
385 
386 *******************************************************************************/
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)
391 
392 /*******************************************************************************
393 
394  NAME
395  CsrWifiNmeUmtsAuthResult
396 
397  DESCRIPTION
398  Only relevant for UMTS Authentication. It indicates if the UICC has
399  successfully authenticated the network or otherwise.
400 
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.
414 
415 *******************************************************************************/
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)
420 
421 /*******************************************************************************
422 
423  NAME
424  CsrWifiNmeWmmQosInfo
425 
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
431 
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.
450 
451 *******************************************************************************/
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)
461 
462 
463 /*******************************************************************************
464 
465  NAME
466  CsrWifiNmeEapMethodMask
467 
468  DESCRIPTION
469  Mask type for use with the values defined by CsrWifiNmeEapMethod.
470 
471 *******************************************************************************/
473 /*******************************************************************************
474 
475  NAME
476  CsrWifiNmeEncryptionMask
477 
478  DESCRIPTION
479  Mask type for use with the values defined by CsrWifiNmeEncryption
480 
481 *******************************************************************************/
483 /*******************************************************************************
484 
485  NAME
486  CsrWifiNmeIndicationsMask
487 
488  DESCRIPTION
489  Mask type for use with the values defined by CsrWifiNmeIndications
490 
491 *******************************************************************************/
493 /*******************************************************************************
494 
495  NAME
496  CsrWifiNmeNmeIndicationsMask
497 
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
502 
503 *******************************************************************************/
505 /*******************************************************************************
506 
507  NAME
508  CsrWifiNmeWmmQosInfoMask
509 
510  DESCRIPTION
511  Mask type for use with the values defined by CsrWifiNmeWmmQosInfo
512 
513 *******************************************************************************/
515 
516 
517 /*******************************************************************************
518 
519  NAME
520  CsrWifiNmeEmpty
521 
522  DESCRIPTION
523  Empty Structure to indicate that no credentials are available.
524 
525  MEMBERS
526  empty - Only element of the empty structure (always set to 0).
527 
528 *******************************************************************************/
529 typedef struct
530 {
533 
534 /*******************************************************************************
535 
536  NAME
537  CsrWifiNmePassphrase
538 
539  DESCRIPTION
540  Structure holding the ASCII Pass Phrase data.
541 
542  MEMBERS
543  encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
544  passphrase - Pass phrase ASCII value.
545 
546 *******************************************************************************/
547 typedef struct
548 {
550  char *passphrase;
552 
553 /*******************************************************************************
554 
555  NAME
556  CsrWifiNmePsk
557 
558  DESCRIPTION
559  Structure holding the Pre-Shared Key data.
560 
561  MEMBERS
562  encryptionMode - Encryption type as defined in CsrWifiSmeEncryption.
563  psk - Pre-Shared Key value.
564 
565 *******************************************************************************/
566 typedef struct
567 {
569  u8 psk[32];
570 } CsrWifiNmePsk;
571 
572 /*******************************************************************************
573 
574  NAME
575  CsrWifiNmeWapiCredentials
576 
577  DESCRIPTION
578  Structure holding WAPI credentials data.
579 
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.
593 
594 *******************************************************************************/
595 typedef struct
596 {
604 
605 /*******************************************************************************
606 
607  NAME
608  CsrWifiNmeConnectAttempt
609 
610  DESCRIPTION
611  Structure holding Connection attempt data.
612 
613  MEMBERS
614  bssid - Id of Basic Service Set connections attempt have been made
615  to.
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.
620 
621 *******************************************************************************/
622 typedef struct
623 {
626  CsrWifiNmeSecError securityError;
628 
629 /*******************************************************************************
630 
631  NAME
632  CsrWifiNmeEapCredentials
633 
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
637 
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.
698  pac
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.
704 
705 *******************************************************************************/
706 typedef struct
707 {
708  CsrWifiNmeEapMethodMask eapMethodMask;
710  CsrWifiNmeEncryptionMask encryptionMode;
711  char *userName;
725  u8 *pac;
726  char *pacPassword;
728 
729 /*******************************************************************************
730 
731  NAME
732  CsrWifiNmePeerConfig
733 
734  DESCRIPTION
735  Structure holding Peer Config data.
736 
737  MEMBERS
738  p2pDeviceId -
739  groupCapabilityMask -
740  groupOwnerIntent -
741 
742 *******************************************************************************/
743 typedef struct
744 {
749 
750 /*******************************************************************************
751 
752  NAME
753  CsrWifiNmeProfileIdentity
754 
755  DESCRIPTION
756  The identity of a profile is defined as the unique combination the BSSID
757  and SSID.
758 
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.
763 
764 *******************************************************************************/
765 typedef struct
766 {
770 
771 /*******************************************************************************
772 
773  NAME
774  CsrWifiNmeWep128Keys
775 
776  DESCRIPTION
777  Structure holding WEP Authentication Type and WEP keys that can be used
778  when using WEP128.
779 
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.
788 
789 *******************************************************************************/
790 typedef struct
791 {
794  u8 key1[13];
795  u8 key2[13];
796  u8 key3[13];
797  u8 key4[13];
799 
800 /*******************************************************************************
801 
802  NAME
803  CsrWifiNmeWep64Keys
804 
805  DESCRIPTION
806  Structure for holding WEP Authentication Type and WEP keys that can be
807  used when using WEP64.
808 
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.
817 
818 *******************************************************************************/
819 typedef struct
820 {
823  u8 key1[5];
824  u8 key2[5];
825  u8 key3[5];
826  u8 key4[5];
828 
829 /*******************************************************************************
830 
831  NAME
832  CsrWifiNmeCredentials
833 
834  DESCRIPTION
835  Structure containing the Credentials data.
836 
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 -
853 
854 *******************************************************************************/
855 typedef struct
856 {
857  CsrWifiNmeCredentialType credentialType;
858  union {
870  } credential;
872 
873 /*******************************************************************************
874 
875  NAME
876  CsrWifiNmeProfile
877 
878  DESCRIPTION
879  Structure containing the Profile data.
880 
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.
890 
891 *******************************************************************************/
892 typedef struct
893 {
895  CsrWifiNmeWmmQosInfoMask wmmQosInfoMask;
896  CsrWifiNmeBssType bssType;
902 
903 
904 /* Downstream */
905 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST (0x0000)
906 
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))
920 
921 
922 #define CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)
923 
924 /* Upstream */
925 #define CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM)
926 
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))
942 
943 #define CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST (0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)
944 
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)
947 
948 /*******************************************************************************
949 
950  NAME
951  CsrWifiNmeProfileSetReq
952 
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.
960 
961  MEMBERS
962  common - Common header for use with the CsrWifiFsm Module
963  profile - Specifies the identity and credentials of the network.
964 
965 *******************************************************************************/
966 typedef struct
967 {
971 
972 /*******************************************************************************
973 
974  NAME
975  CsrWifiNmeProfileDeleteReq
976 
977  DESCRIPTION
978  Will delete the profile with a matching identity, but does NOT modify the
979  preferred profile list.
980 
981  MEMBERS
982  common - Common header for use with the CsrWifiFsm Module
983  profileIdentity - Identity (BSSID, SSID) of profile to be deleted.
984 
985 *******************************************************************************/
986 typedef struct
987 {
991 
992 /*******************************************************************************
993 
994  NAME
995  CsrWifiNmeProfileDeleteAllReq
996 
997  DESCRIPTION
998  Deletes all profiles present in the NME, but does NOT modify the
999  preferred profile list.
1000 
1001  MEMBERS
1002  common - Common header for use with the CsrWifiFsm Module
1003 
1004 *******************************************************************************/
1005 typedef struct
1006 {
1009 
1010 /*******************************************************************************
1011 
1012  NAME
1013  CsrWifiNmeProfileOrderSetReq
1014 
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
1026 
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.
1033 
1034 *******************************************************************************/
1035 typedef struct
1036 {
1042 
1043 /*******************************************************************************
1044 
1045  NAME
1046  CsrWifiNmeProfileConnectReq
1047 
1048  DESCRIPTION
1049  Requests the NME to attempt to connect to the specified profile.
1050  Overrides any current connection attempt.
1051 
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.
1057 
1058 *******************************************************************************/
1059 typedef struct
1060 {
1065 
1066 /*******************************************************************************
1067 
1068  NAME
1069  CsrWifiNmeWpsReq
1070 
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 '-'.
1077 
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.
1085 
1086 *******************************************************************************/
1087 typedef struct
1088 {
1091  u8 pin[8];
1095 
1096 /*******************************************************************************
1097 
1098  NAME
1099  CsrWifiNmeWpsCancelReq
1100 
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
1105 
1106  MEMBERS
1107  common - Common header for use with the CsrWifiFsm Module
1108  interfaceTag - Interface Identifier; unique identifier of an interface
1109 
1110 *******************************************************************************/
1111 typedef struct
1112 {
1116 
1117 /*******************************************************************************
1118 
1119  NAME
1120  CsrWifiNmeConnectionStatusGetReq
1121 
1122  DESCRIPTION
1123  Requests the current connection status of the NME.
1124 
1125  MEMBERS
1126  common - Common header for use with the CsrWifiFsm Module
1127  interfaceTag - Interface Identifier; unique identifier of an interface
1128 
1129 *******************************************************************************/
1130 typedef struct
1131 {
1135 
1136 /*******************************************************************************
1137 
1138  NAME
1139  CsrWifiNmeSimImsiGetRes
1140 
1141  DESCRIPTION
1142  Response from the application that received the NME SIM IMSI GET IND.
1143 
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).
1150 
1151 *******************************************************************************/
1152 typedef struct
1153 {
1156  char *imsi;
1157  CsrWifiNmeSimCardType cardType;
1159 
1160 /*******************************************************************************
1161 
1162  NAME
1163  CsrWifiNmeSimGsmAuthRes
1164 
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.
1174 
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.
1183 
1184 *******************************************************************************/
1185 typedef struct
1186 {
1194 
1195 /*******************************************************************************
1196 
1197  NAME
1198  CsrWifiNmeSimUmtsAuthRes
1199 
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.
1206 
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.
1225 
1226 *******************************************************************************/
1227 typedef struct
1228 {
1231  CsrWifiNmeUmtsAuthResult result;
1232  u8 umtsCipherKey[16];
1233  u8 umtsIntegrityKey[16];
1236  u8 auts[14];
1238 
1239 /*******************************************************************************
1240 
1241  NAME
1242  CsrWifiNmeWpsConfigSetReq
1243 
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.
1247 
1248  MEMBERS
1249  common - Common header for use with the CsrWifiFsm Module
1250  wpsConfig - WPS config.
1251 
1252 *******************************************************************************/
1253 typedef struct
1254 {
1258 
1259 /*******************************************************************************
1260 
1261  NAME
1262  CsrWifiNmeEventMaskSetReq
1263 
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.
1269 
1270  MEMBERS
1271  common - Common header for use with the CsrWifiFsm Module
1272  indMask - Set mask with values from CsrWifiNmeIndications
1273 
1274 *******************************************************************************/
1275 typedef struct
1276 {
1278  CsrWifiNmeIndicationsMask indMask;
1280 
1281 /*******************************************************************************
1282 
1283  NAME
1284  CsrWifiNmeProfileSetCfm
1285 
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.
1293 
1294  MEMBERS
1295  common - Common header for use with the CsrWifiFsm Module
1296  status - Indicates the success or otherwise of the requested operation.
1297 
1298 *******************************************************************************/
1299 typedef struct
1300 {
1304 
1305 /*******************************************************************************
1306 
1307  NAME
1308  CsrWifiNmeProfileDeleteCfm
1309 
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.
1313 
1314  MEMBERS
1315  common - Common header for use with the CsrWifiFsm Module
1316  status - Indicates the success or otherwise of the requested operation.
1317 
1318 *******************************************************************************/
1319 typedef struct
1320 {
1324 
1325 /*******************************************************************************
1326 
1327  NAME
1328  CsrWifiNmeProfileDeleteAllCfm
1329 
1330  DESCRIPTION
1331  Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ.
1332  Returns always CSR_WIFI_NME_STATUS_SUCCESS.
1333 
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.
1338 
1339 *******************************************************************************/
1340 typedef struct
1341 {
1345 
1346 /*******************************************************************************
1347 
1348  NAME
1349  CsrWifiNmeProfileOrderSetCfm
1350 
1351  DESCRIPTION
1352  Confirmation to UNIFI_NME_PROFILE_ORDER_SET.request.
1353 
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.
1359 
1360 *******************************************************************************/
1361 typedef struct
1362 {
1367 
1368 /*******************************************************************************
1369 
1370  NAME
1371  CsrWifiNmeProfileConnectCfm
1372 
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.
1377 
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.
1395 
1396 *******************************************************************************/
1397 typedef struct
1398 {
1405 
1406 /*******************************************************************************
1407 
1408  NAME
1409  CsrWifiNmeWpsCfm
1410 
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.
1415 
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.
1424 
1425 *******************************************************************************/
1426 typedef struct
1427 {
1433 
1434 /*******************************************************************************
1435 
1436  NAME
1437  CsrWifiNmeWpsCancelCfm
1438 
1439  DESCRIPTION
1440  Reports the status of the NME WPS REQ, the request is always SUCCESSFUL.
1441 
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
1446 
1447 *******************************************************************************/
1448 typedef struct
1449 {
1454 
1455 /*******************************************************************************
1456 
1457  NAME
1458  CsrWifiNmeConnectionStatusGetCfm
1459 
1460  DESCRIPTION
1461  Reports the connection status of the NME.
1462 
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
1469 
1470 *******************************************************************************/
1471 typedef struct
1472 {
1476  CsrWifiNmeConnectionStatus connectionStatus;
1478 
1479 /*******************************************************************************
1480 
1481  NAME
1482  CsrWifiNmeProfileUpdateInd
1483 
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.
1492 
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.
1497 
1498 *******************************************************************************/
1499 typedef struct
1500 {
1505 
1506 /*******************************************************************************
1507 
1508  NAME
1509  CsrWifiNmeProfileDisconnectInd
1510 
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.
1517 
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.
1529 
1530 *******************************************************************************/
1531 typedef struct
1532 {
1538 
1539 /*******************************************************************************
1540 
1541  NAME
1542  CsrWifiNmeSimImsiGetInd
1543 
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.
1552 
1553  MEMBERS
1554  common - Common header for use with the CsrWifiFsm Module
1555 
1556 *******************************************************************************/
1557 typedef struct
1558 {
1561 
1562 /*******************************************************************************
1563 
1564  NAME
1565  CsrWifiNmeSimGsmAuthInd
1566 
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.
1577 
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.
1583 
1584 *******************************************************************************/
1585 typedef struct
1586 {
1591 
1592 /*******************************************************************************
1593 
1594  NAME
1595  CsrWifiNmeSimUmtsAuthInd
1596 
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.
1607 
1608  MEMBERS
1609  common - Common header for use with the CsrWifiFsm Module
1610  rand - UMTS RAND value.
1611  autn - UMTS AUTN value.
1612 
1613 *******************************************************************************/
1614 typedef struct
1615 {
1617  u8 rand[16];
1618  u8 autn[16];
1620 
1621 /*******************************************************************************
1622 
1623  NAME
1624  CsrWifiNmeWpsConfigSetCfm
1625 
1626  DESCRIPTION
1627  Confirm.
1628 
1629  MEMBERS
1630  common - Common header for use with the CsrWifiFsm Module
1631  status - Status of the request.
1632 
1633 *******************************************************************************/
1634 typedef struct
1635 {
1639 
1640 /*******************************************************************************
1641 
1642  NAME
1643  CsrWifiNmeEventMaskSetCfm
1644 
1645  DESCRIPTION
1646  The NME calls the primitive to report the result of the request
1647  primitive.
1648 
1649  MEMBERS
1650  common - Common header for use with the CsrWifiFsm Module
1651  status - Reports the result of the request
1652 
1653 *******************************************************************************/
1654 typedef struct
1655 {
1659 
1660 
1661 #ifdef __cplusplus
1662 }
1663 #endif
1664 
1665 #endif /* CSR_WIFI_NME_PRIM_H__ */
1666