Commit | Line | Data |
---|---|---|
635d2b00 GKH |
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 | ||
980b5a2b | 16 | #include <linux/types.h> |
635d2b00 GKH |
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 | ||
635d2b00 GKH |
24 | #ifndef CSR_WIFI_NME_ENABLE |
25 | #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_prim.h | |
26 | #endif | |
27 | ||
28 | #define CSR_WIFI_NME_PRIM (0x0424) | |
29 | ||
30 | typedef CsrPrim CsrWifiNmePrim; | |
31 | ||
32 | typedef void (*CsrWifiNmeFrameFreeFunction)(void *frame); | |
33 | ||
34 | /******************************************************************************* | |
35 | ||
36 | NAME | |
37 | CsrWifiNmeAuthMode | |
38 | ||
39 | DESCRIPTION | |
40 | WiFi Authentication Mode | |
41 | ||
42 | VALUES | |
43 | CSR_WIFI_NME_AUTH_MODE_80211_OPEN | |
44 | - Connects to an open system network (i.e. no authentication, | |
45 | no encryption) or to a WEP enabled network. | |
46 | CSR_WIFI_NME_AUTH_MODE_80211_SHARED | |
47 | - Connect to a WEP enabled network. | |
48 | CSR_WIFI_NME_AUTH_MODE_8021X_WPA | |
49 | - Connects to a WPA Enterprise enabled network. | |
50 | CSR_WIFI_NME_AUTH_MODE_8021X_WPAPSK | |
51 | - Connects to a WPA with Pre-Shared Key enabled network. | |
52 | CSR_WIFI_NME_AUTH_MODE_8021X_WPA2 | |
53 | - Connects to a WPA2 Enterprise enabled network. | |
54 | CSR_WIFI_NME_AUTH_MODE_8021X_WPA2PSK | |
55 | - Connects to a WPA2 with Pre-Shared Key enabled network. | |
56 | CSR_WIFI_NME_AUTH_MODE_8021X_CCKM | |
57 | - Connects to a CCKM enabled network. | |
58 | CSR_WIFI_NME_AUTH_MODE_WAPI_WAI | |
59 | - Connects to a WAPI Enterprise enabled network. | |
60 | CSR_WIFI_NME_AUTH_MODE_WAPI_WAIPSK | |
61 | - Connects to a WAPI with Pre-Shared Key enabled network. | |
62 | CSR_WIFI_NME_AUTH_MODE_8021X_OTHER1X | |
63 | - For future use. | |
64 | ||
65 | *******************************************************************************/ | |
8c87f69a | 66 | typedef u16 CsrWifiNmeAuthMode; |
635d2b00 GKH |
67 | #define CSR_WIFI_NME_AUTH_MODE_80211_OPEN ((CsrWifiNmeAuthMode) 0x0001) |
68 | #define CSR_WIFI_NME_AUTH_MODE_80211_SHARED ((CsrWifiNmeAuthMode) 0x0002) | |
69 | #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA ((CsrWifiNmeAuthMode) 0x0004) | |
70 | #define CSR_WIFI_NME_AUTH_MODE_8021X_WPAPSK ((CsrWifiNmeAuthMode) 0x0008) | |
71 | #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA2 ((CsrWifiNmeAuthMode) 0x0010) | |
72 | #define CSR_WIFI_NME_AUTH_MODE_8021X_WPA2PSK ((CsrWifiNmeAuthMode) 0x0020) | |
73 | #define CSR_WIFI_NME_AUTH_MODE_8021X_CCKM ((CsrWifiNmeAuthMode) 0x0040) | |
74 | #define CSR_WIFI_NME_AUTH_MODE_WAPI_WAI ((CsrWifiNmeAuthMode) 0x0080) | |
75 | #define CSR_WIFI_NME_AUTH_MODE_WAPI_WAIPSK ((CsrWifiNmeAuthMode) 0x0100) | |
76 | #define CSR_WIFI_NME_AUTH_MODE_8021X_OTHER1X ((CsrWifiNmeAuthMode) 0x0200) | |
77 | ||
78 | /******************************************************************************* | |
79 | ||
80 | NAME | |
81 | CsrWifiNmeBssType | |
82 | ||
83 | DESCRIPTION | |
84 | Type of BSS | |
85 | ||
86 | VALUES | |
87 | CSR_WIFI_NME_BSS_TYPE_INFRASTRUCTURE | |
88 | - Infrastructure BSS type where access to the network is via | |
89 | one or several Access Points. | |
90 | CSR_WIFI_NME_BSS_TYPE_ADHOC | |
91 | - Adhoc or Independent BSS Type where one Station acts as a | |
92 | host and future stations can join the adhoc network without | |
93 | needing an access point. | |
94 | CSR_WIFI_NME_BSS_TYPE_RESERVED | |
95 | - To be in sync with SME.This is not used. | |
96 | CSR_WIFI_NME_BSS_TYPE_P2P | |
97 | - P2P mode of operation. | |
98 | ||
99 | *******************************************************************************/ | |
7e6f5794 | 100 | typedef u8 CsrWifiNmeBssType; |
635d2b00 GKH |
101 | #define CSR_WIFI_NME_BSS_TYPE_INFRASTRUCTURE ((CsrWifiNmeBssType) 0x00) |
102 | #define CSR_WIFI_NME_BSS_TYPE_ADHOC ((CsrWifiNmeBssType) 0x01) | |
103 | #define CSR_WIFI_NME_BSS_TYPE_RESERVED ((CsrWifiNmeBssType) 0x02) | |
104 | #define CSR_WIFI_NME_BSS_TYPE_P2P ((CsrWifiNmeBssType) 0x03) | |
105 | ||
106 | /******************************************************************************* | |
107 | ||
108 | NAME | |
109 | CsrWifiNmeCcxOptionsMask | |
110 | ||
111 | DESCRIPTION | |
112 | Enumeration type defining possible mask values for setting CCX options. | |
113 | ||
114 | VALUES | |
115 | CSR_WIFI_NME_CCX_OPTION_NONE - No CCX option is set. | |
116 | CSR_WIFI_NME_CCX_OPTION_CCKM - CCX option cckm is set. | |
117 | ||
118 | *******************************************************************************/ | |
7e6f5794 | 119 | typedef u8 CsrWifiNmeCcxOptionsMask; |
635d2b00 GKH |
120 | #define CSR_WIFI_NME_CCX_OPTION_NONE ((CsrWifiNmeCcxOptionsMask) 0x00) |
121 | #define CSR_WIFI_NME_CCX_OPTION_CCKM ((CsrWifiNmeCcxOptionsMask) 0x01) | |
122 | ||
123 | /******************************************************************************* | |
124 | ||
125 | NAME | |
126 | CsrWifiNmeConfigAction | |
127 | ||
128 | DESCRIPTION | |
129 | ||
130 | VALUES | |
131 | CSR_WIFI_PIN_ENTRY_PUSH_BUTTON - | |
132 | CSR_WIFI_PIN_ENTRY_DISPLAY_PIN - | |
133 | CSR_WIFI_PIN_ENTRY_ENTER_PIN - | |
134 | ||
135 | *******************************************************************************/ | |
7e6f5794 | 136 | typedef u8 CsrWifiNmeConfigAction; |
635d2b00 GKH |
137 | #define CSR_WIFI_PIN_ENTRY_PUSH_BUTTON ((CsrWifiNmeConfigAction) 0x00) |
138 | #define CSR_WIFI_PIN_ENTRY_DISPLAY_PIN ((CsrWifiNmeConfigAction) 0x01) | |
139 | #define CSR_WIFI_PIN_ENTRY_ENTER_PIN ((CsrWifiNmeConfigAction) 0x02) | |
140 | ||
141 | /******************************************************************************* | |
142 | ||
143 | NAME | |
144 | CsrWifiNmeConnectionStatus | |
145 | ||
146 | DESCRIPTION | |
147 | Indicate the NME Connection Status when connecting or when disconnecting | |
148 | ||
149 | VALUES | |
150 | CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTED | |
151 | - NME is disconnected. | |
152 | CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTING | |
153 | - NME is in the process of connecting. | |
154 | CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_AUTHENTICATING | |
155 | - NME is in the authentication stage of a connection attempt. | |
156 | CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTED | |
157 | - NME is connected. | |
158 | CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTING | |
159 | - NME is in the process of disconnecting. | |
160 | ||
161 | *******************************************************************************/ | |
7e6f5794 | 162 | typedef u8 CsrWifiNmeConnectionStatus; |
635d2b00 GKH |
163 | #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTED ((CsrWifiNmeConnectionStatus) 0x00) |
164 | #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTING ((CsrWifiNmeConnectionStatus) 0x01) | |
165 | #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_AUTHENTICATING ((CsrWifiNmeConnectionStatus) 0x02) | |
166 | #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_CONNECTED ((CsrWifiNmeConnectionStatus) 0x03) | |
167 | #define CSR_WIFI_NME_CONNECTION_STATUS_CONNECTION_STATUS_DISCONNECTING ((CsrWifiNmeConnectionStatus) 0x04) | |
168 | ||
169 | /******************************************************************************* | |
170 | ||
171 | NAME | |
172 | CsrWifiNmeCredentialType | |
173 | ||
174 | DESCRIPTION | |
175 | NME Credential Types | |
176 | ||
177 | VALUES | |
178 | CSR_WIFI_NME_CREDENTIAL_TYPE_OPEN_SYSTEM | |
179 | - Credential Type Open System. | |
180 | CSR_WIFI_NME_CREDENTIAL_TYPE_WEP64 | |
181 | - Credential Type WEP-64 | |
182 | CSR_WIFI_NME_CREDENTIAL_TYPE_WEP128 | |
183 | - Credential Type WEP-128 | |
184 | CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PSK | |
185 | - Credential Type WPA Pre-Shared Key | |
186 | CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PASSPHRASE | |
187 | - Credential Type WPA pass phrase | |
188 | CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PSK | |
189 | - Credential Type WPA2 Pre-Shared Key. | |
190 | CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PASSPHRASE | |
191 | - Credential Type WPA2 pass phrase | |
192 | CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PSK | |
193 | - Credential Type WAPI Pre-Shared Key. | |
194 | CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PASSPHRASE | |
195 | - Credential Type WAPI pass phrase | |
196 | CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI | |
197 | - Credential Type WAPI certificates | |
198 | CSR_WIFI_NME_CREDENTIAL_TYPE_8021X | |
199 | - Credential Type 802.1X: the associated type supports | |
200 | FAST/LEAP/TLS/TTLS/PEAP/etc. | |
201 | ||
202 | *******************************************************************************/ | |
8c87f69a | 203 | typedef u16 CsrWifiNmeCredentialType; |
635d2b00 GKH |
204 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_OPEN_SYSTEM ((CsrWifiNmeCredentialType) 0x0000) |
205 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WEP64 ((CsrWifiNmeCredentialType) 0x0001) | |
206 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WEP128 ((CsrWifiNmeCredentialType) 0x0002) | |
207 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PSK ((CsrWifiNmeCredentialType) 0x0003) | |
208 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0004) | |
209 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PSK ((CsrWifiNmeCredentialType) 0x0005) | |
210 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WPA2_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0006) | |
211 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PSK ((CsrWifiNmeCredentialType) 0x0007) | |
212 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI_PASSPHRASE ((CsrWifiNmeCredentialType) 0x0008) | |
213 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_WAPI ((CsrWifiNmeCredentialType) 0x0009) | |
214 | #define CSR_WIFI_NME_CREDENTIAL_TYPE_8021X ((CsrWifiNmeCredentialType) 0x000A) | |
215 | ||
216 | /******************************************************************************* | |
217 | ||
218 | NAME | |
219 | CsrWifiNmeEapMethod | |
220 | ||
221 | DESCRIPTION | |
222 | Outer EAP method with possibly inner method. | |
223 | ||
224 | VALUES | |
225 | CSR_WIFI_NME_EAP_METHOD_TLS | |
226 | - EAP-TLS Method. | |
227 | CSR_WIFI_NME_EAP_METHOD_TTLS_MSCHAPV2 | |
228 | - EAP-TTLS Method with MSCHAPV2. | |
229 | CSR_WIFI_NME_EAP_METHOD_PEAP_GTC | |
230 | - EAP-PEAP Method with GTC. | |
231 | CSR_WIFI_NME_EAP_METHOD_PEAP_MSCHAPV2 | |
232 | - EAP-PEAP Method with MSCHAPV2. | |
233 | CSR_WIFI_NME_EAP_METHOD_SIM | |
234 | - EAP-SIM Method. | |
235 | CSR_WIFI_NME_EAP_METHOD_AKA | |
236 | - EAP-AKA Method. | |
237 | CSR_WIFI_NME_EAP_METHOD_FAST_GTC | |
238 | - EAP-FAST Method with GTC. | |
239 | CSR_WIFI_NME_EAP_METHOD_FAST_MSCHAPV2 | |
240 | - EAP-FAST Method with MSCHAPV2. | |
241 | CSR_WIFI_NME_EAP_METHOD_LEAP | |
242 | - EAP-LEAP Method. | |
243 | ||
244 | *******************************************************************************/ | |
8c87f69a | 245 | typedef u16 CsrWifiNmeEapMethod; |
635d2b00 GKH |
246 | #define CSR_WIFI_NME_EAP_METHOD_TLS ((CsrWifiNmeEapMethod) 0x0001) |
247 | #define CSR_WIFI_NME_EAP_METHOD_TTLS_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0002) | |
248 | #define CSR_WIFI_NME_EAP_METHOD_PEAP_GTC ((CsrWifiNmeEapMethod) 0x0004) | |
249 | #define CSR_WIFI_NME_EAP_METHOD_PEAP_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0008) | |
250 | #define CSR_WIFI_NME_EAP_METHOD_SIM ((CsrWifiNmeEapMethod) 0x0010) | |
251 | #define CSR_WIFI_NME_EAP_METHOD_AKA ((CsrWifiNmeEapMethod) 0x0020) | |
252 | #define CSR_WIFI_NME_EAP_METHOD_FAST_GTC ((CsrWifiNmeEapMethod) 0x0040) | |
253 | #define CSR_WIFI_NME_EAP_METHOD_FAST_MSCHAPV2 ((CsrWifiNmeEapMethod) 0x0080) | |
254 | #define CSR_WIFI_NME_EAP_METHOD_LEAP ((CsrWifiNmeEapMethod) 0x0100) | |
255 | ||
256 | /******************************************************************************* | |
257 | ||
258 | NAME | |
259 | CsrWifiNmeEncryption | |
260 | ||
261 | DESCRIPTION | |
262 | WiFi Encryption method | |
263 | ||
264 | VALUES | |
265 | CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE | |
266 | - No encryprion set. | |
267 | CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP40 | |
268 | - 40 bytes WEP key for peer to peer communication. | |
269 | CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP104 | |
270 | - 104 bytes WEP key for peer to peer communication. | |
271 | CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_TKIP | |
272 | - TKIP key for peer to peer communication. | |
273 | CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_CCMP | |
274 | - CCMP key for peer to peer communication. | |
275 | CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_SMS4 | |
276 | - SMS4 key for peer to peer communication. | |
277 | CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP40 | |
278 | - 40 bytes WEP key for broadcast messages. | |
279 | CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP104 | |
280 | - 104 bytes WEP key for broadcast messages. | |
281 | CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_TKIP | |
282 | - TKIP key for broadcast messages. | |
283 | CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_CCMP | |
284 | - CCMP key for broadcast messages | |
285 | CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_SMS4 | |
286 | - SMS4 key for broadcast messages. | |
287 | ||
288 | *******************************************************************************/ | |
8c87f69a | 289 | typedef u16 CsrWifiNmeEncryption; |
635d2b00 GKH |
290 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_NONE ((CsrWifiNmeEncryption) 0x0000) |
291 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP40 ((CsrWifiNmeEncryption) 0x0001) | |
292 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_WEP104 ((CsrWifiNmeEncryption) 0x0002) | |
293 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_TKIP ((CsrWifiNmeEncryption) 0x0004) | |
294 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_CCMP ((CsrWifiNmeEncryption) 0x0008) | |
295 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_PAIRWISE_SMS4 ((CsrWifiNmeEncryption) 0x0010) | |
296 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP40 ((CsrWifiNmeEncryption) 0x0020) | |
297 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_WEP104 ((CsrWifiNmeEncryption) 0x0040) | |
298 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_TKIP ((CsrWifiNmeEncryption) 0x0080) | |
299 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_CCMP ((CsrWifiNmeEncryption) 0x0100) | |
300 | #define CSR_WIFI_NME_ENCRYPTION_CIPHER_GROUP_SMS4 ((CsrWifiNmeEncryption) 0x0200) | |
301 | ||
302 | /******************************************************************************* | |
303 | ||
304 | NAME | |
305 | CsrWifiNmeIndications | |
306 | ||
307 | DESCRIPTION | |
308 | NME indications | |
309 | ||
310 | VALUES | |
311 | CSR_WIFI_NME_INDICATIONS_IND_AP_STATION | |
312 | - NME AP Station Indication. | |
313 | CSR_WIFI_NME_INDICATIONS_IND_AP_STOP | |
314 | - NME AP Stop Indication. | |
315 | CSR_WIFI_NME_INDICATIONS_IND_SIM_UMTS_AUTH | |
316 | - NME UMTS Authentication Indication. | |
317 | CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_START | |
318 | - NME P2P Group Start Indication. | |
319 | CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_STATUS | |
320 | - NME P2P Group Status Indication. | |
321 | CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_ROLE | |
322 | - NME P2P Group Role Indication. | |
323 | CSR_WIFI_NME_INDICATIONS_IND_PROFILE_DISCONNECT | |
324 | - NME Profile Disconnect Indication. | |
325 | CSR_WIFI_NME_INDICATIONS_IND_PROFILE_UPDATE | |
326 | - NME Profile Update Indication. | |
327 | CSR_WIFI_NME_INDICATIONS_IND_SIM_IMSI_GET | |
328 | - NME GET IMSI Indication. | |
329 | CSR_WIFI_NME_INDICATIONS_IND_SIM_GSM_AUTH | |
330 | - NME GSM Authentication Indication. | |
331 | CSR_WIFI_NME_INDICATIONS_ALL | |
332 | - Used to register for all available indications | |
333 | ||
334 | *******************************************************************************/ | |
26a6b2e1 | 335 | typedef u32 CsrWifiNmeIndications; |
635d2b00 GKH |
336 | #define CSR_WIFI_NME_INDICATIONS_IND_AP_STATION ((CsrWifiNmeIndications) 0x00100000) |
337 | #define CSR_WIFI_NME_INDICATIONS_IND_AP_STOP ((CsrWifiNmeIndications) 0x00200000) | |
338 | #define CSR_WIFI_NME_INDICATIONS_IND_SIM_UMTS_AUTH ((CsrWifiNmeIndications) 0x01000000) | |
339 | #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_START ((CsrWifiNmeIndications) 0x02000000) | |
340 | #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_STATUS ((CsrWifiNmeIndications) 0x04000000) | |
341 | #define CSR_WIFI_NME_INDICATIONS_IND_P2P_GROUP_ROLE ((CsrWifiNmeIndications) 0x08000000) | |
342 | #define CSR_WIFI_NME_INDICATIONS_IND_PROFILE_DISCONNECT ((CsrWifiNmeIndications) 0x10000000) | |
343 | #define CSR_WIFI_NME_INDICATIONS_IND_PROFILE_UPDATE ((CsrWifiNmeIndications) 0x20000000) | |
344 | #define CSR_WIFI_NME_INDICATIONS_IND_SIM_IMSI_GET ((CsrWifiNmeIndications) 0x40000000) | |
345 | #define CSR_WIFI_NME_INDICATIONS_IND_SIM_GSM_AUTH ((CsrWifiNmeIndications) 0x80000000) | |
346 | #define CSR_WIFI_NME_INDICATIONS_ALL ((CsrWifiNmeIndications) 0xFFFFFFFF) | |
347 | ||
348 | /******************************************************************************* | |
349 | ||
350 | NAME | |
351 | CsrWifiNmeSecError | |
352 | ||
353 | DESCRIPTION | |
354 | NME Security Errors | |
355 | place holder for the security library abort reason | |
356 | ||
357 | VALUES | |
358 | CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN | |
359 | - Unknown Security Error. | |
360 | ||
361 | *******************************************************************************/ | |
7e6f5794 | 362 | typedef u8 CsrWifiNmeSecError; |
635d2b00 GKH |
363 | #define CSR_WIFI_NME_SEC_ERROR_SEC_ERROR_UNKNOWN ((CsrWifiNmeSecError) 0x00) |
364 | ||
365 | /******************************************************************************* | |
366 | ||
367 | NAME | |
368 | CsrWifiNmeSimCardType | |
369 | ||
370 | DESCRIPTION | |
371 | (U)SIM Card (or UICC) types | |
372 | ||
373 | VALUES | |
374 | CSR_WIFI_NME_SIM_CARD_TYPE_2G - 2G SIM card, capable of performing GSM | |
375 | authentication only. | |
376 | CSR_WIFI_NME_SIM_CARD_TYPE_3G - UICC supporting USIM application, capable | |
377 | of performing UMTS authentication only. | |
378 | CSR_WIFI_NME_SIM_CARD_TYPE_2G3G - UICC supporting both USIM and SIM | |
379 | applications, capable of performing both | |
380 | UMTS and GSM authentications. | |
381 | ||
382 | *******************************************************************************/ | |
7e6f5794 | 383 | typedef u8 CsrWifiNmeSimCardType; |
635d2b00 GKH |
384 | #define CSR_WIFI_NME_SIM_CARD_TYPE_2G ((CsrWifiNmeSimCardType) 0x01) |
385 | #define CSR_WIFI_NME_SIM_CARD_TYPE_3G ((CsrWifiNmeSimCardType) 0x02) | |
386 | #define CSR_WIFI_NME_SIM_CARD_TYPE_2G3G ((CsrWifiNmeSimCardType) 0x03) | |
387 | ||
388 | /******************************************************************************* | |
389 | ||
390 | NAME | |
391 | CsrWifiNmeUmtsAuthResult | |
392 | ||
393 | DESCRIPTION | |
394 | Only relevant for UMTS Authentication. It indicates if the UICC has | |
395 | successfully authenticated the network or otherwise. | |
396 | ||
397 | VALUES | |
398 | CSR_WIFI_NME_UMTS_AUTH_RESULT_SUCCESS | |
399 | - Successful outcome from USIM indicating that the card has | |
400 | successfully authenticated the network. | |
401 | CSR_WIFI_NME_UMTS_AUTH_RESULT_SYNC_FAIL | |
402 | - Unsuccessful outcome from USIM indicating that the card is | |
403 | requesting the network to synchronise and re-try again. If | |
404 | no further request is received an NME timer will expire and | |
405 | the authentication is aborted. | |
406 | CSR_WIFI_NME_UMTS_AUTH_RESULT_REJECT | |
407 | - Unsuccessful outcome from USIM indicating that the card has | |
408 | rejected the network and that the authentication is | |
409 | aborted. | |
410 | ||
411 | *******************************************************************************/ | |
7e6f5794 | 412 | typedef u8 CsrWifiNmeUmtsAuthResult; |
635d2b00 GKH |
413 | #define CSR_WIFI_NME_UMTS_AUTH_RESULT_SUCCESS ((CsrWifiNmeUmtsAuthResult) 0x00) |
414 | #define CSR_WIFI_NME_UMTS_AUTH_RESULT_SYNC_FAIL ((CsrWifiNmeUmtsAuthResult) 0x01) | |
415 | #define CSR_WIFI_NME_UMTS_AUTH_RESULT_REJECT ((CsrWifiNmeUmtsAuthResult) 0x02) | |
416 | ||
417 | /******************************************************************************* | |
418 | ||
419 | NAME | |
420 | CsrWifiNmeWmmQosInfo | |
421 | ||
422 | DESCRIPTION | |
423 | Defines bits for the QoS Info octect as defined in the WMM specification. | |
424 | The values of this type are used across the NME/SME/Router API's and they | |
425 | must be kept consistent with the corresponding types in the .xml of the | |
426 | other interfaces | |
427 | ||
428 | VALUES | |
429 | CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_ALL | |
430 | - WMM AP may deliver all buffered frames. | |
431 | CSR_WIFI_NME_WMM_QOS_INFO_AC_VO | |
432 | - To enable the triggering and delivery of QoS Voice. | |
433 | CSR_WIFI_NME_WMM_QOS_INFO_AC_VI | |
434 | - To enable the triggering and delivery of QoS Video. | |
435 | CSR_WIFI_NME_WMM_QOS_INFO_AC_BK | |
436 | - To enable the triggering and delivery of QoS Background. | |
437 | CSR_WIFI_NME_WMM_QOS_INFO_AC_BE | |
438 | - To enable the triggering and delivery of QoS Best Effort. | |
439 | CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_TWO | |
440 | - WMM AP may deliver a maximum of 2 buffered frames per | |
441 | Unscheduled Service Period (USP). | |
442 | CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_FOUR | |
443 | - WMM AP may deliver a maximum of 4 buffered frames per USP. | |
444 | CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_SIX | |
445 | - WMM AP may deliver a maximum of 6 buffered frames per USP. | |
446 | ||
447 | *******************************************************************************/ | |
7e6f5794 | 448 | typedef u8 CsrWifiNmeWmmQosInfo; |
635d2b00 GKH |
449 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_ALL ((CsrWifiNmeWmmQosInfo) 0x00) |
450 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_VO ((CsrWifiNmeWmmQosInfo) 0x01) | |
451 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_VI ((CsrWifiNmeWmmQosInfo) 0x02) | |
452 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_BK ((CsrWifiNmeWmmQosInfo) 0x04) | |
453 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_BE ((CsrWifiNmeWmmQosInfo) 0x08) | |
454 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_TWO ((CsrWifiNmeWmmQosInfo) 0x20) | |
455 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_FOUR ((CsrWifiNmeWmmQosInfo) 0x40) | |
456 | #define CSR_WIFI_NME_WMM_QOS_INFO_AC_MAX_SP_SIX ((CsrWifiNmeWmmQosInfo) 0x60) | |
457 | ||
458 | ||
459 | /******************************************************************************* | |
460 | ||
461 | NAME | |
462 | CsrWifiNmeEapMethodMask | |
463 | ||
464 | DESCRIPTION | |
465 | Mask type for use with the values defined by CsrWifiNmeEapMethod. | |
466 | ||
467 | *******************************************************************************/ | |
8c87f69a | 468 | typedef u16 CsrWifiNmeEapMethodMask; |
635d2b00 GKH |
469 | /******************************************************************************* |
470 | ||
471 | NAME | |
472 | CsrWifiNmeEncryptionMask | |
473 | ||
474 | DESCRIPTION | |
475 | Mask type for use with the values defined by CsrWifiNmeEncryption | |
476 | ||
477 | *******************************************************************************/ | |
8c87f69a | 478 | typedef u16 CsrWifiNmeEncryptionMask; |
635d2b00 GKH |
479 | /******************************************************************************* |
480 | ||
481 | NAME | |
482 | CsrWifiNmeIndicationsMask | |
483 | ||
484 | DESCRIPTION | |
485 | Mask type for use with the values defined by CsrWifiNmeIndications | |
486 | ||
487 | *******************************************************************************/ | |
26a6b2e1 | 488 | typedef u32 CsrWifiNmeIndicationsMask; |
635d2b00 GKH |
489 | /******************************************************************************* |
490 | ||
491 | NAME | |
492 | CsrWifiNmeNmeIndicationsMask | |
493 | ||
494 | DESCRIPTION | |
495 | Mask type for use with the values defined by CsrWifiNmeNmeIndications. | |
496 | Used to overlap the unused portion of the unifi_IndicationsMask For NME | |
497 | specific indications | |
498 | ||
499 | *******************************************************************************/ | |
26a6b2e1 | 500 | typedef u32 CsrWifiNmeNmeIndicationsMask; |
635d2b00 GKH |
501 | /******************************************************************************* |
502 | ||
503 | NAME | |
504 | CsrWifiNmeWmmQosInfoMask | |
505 | ||
506 | DESCRIPTION | |
507 | Mask type for use with the values defined by CsrWifiNmeWmmQosInfo | |
508 | ||
509 | *******************************************************************************/ | |
7e6f5794 | 510 | typedef u8 CsrWifiNmeWmmQosInfoMask; |
635d2b00 GKH |
511 | |
512 | ||
513 | /******************************************************************************* | |
514 | ||
515 | NAME | |
516 | CsrWifiNmeEmpty | |
517 | ||
518 | DESCRIPTION | |
519 | Empty Structure to indicate that no credentials are available. | |
520 | ||
521 | MEMBERS | |
522 | empty - Only element of the empty structure (always set to 0). | |
523 | ||
524 | *******************************************************************************/ | |
525 | typedef struct | |
526 | { | |
7e6f5794 | 527 | u8 empty; |
635d2b00 GKH |
528 | } CsrWifiNmeEmpty; |
529 | ||
530 | /******************************************************************************* | |
531 | ||
532 | NAME | |
533 | CsrWifiNmePassphrase | |
534 | ||
535 | DESCRIPTION | |
536 | Structure holding the ASCII Pass Phrase data. | |
537 | ||
538 | MEMBERS | |
539 | encryptionMode - Encryption type as defined in CsrWifiSmeEncryption. | |
540 | passphrase - Pass phrase ASCII value. | |
541 | ||
542 | *******************************************************************************/ | |
543 | typedef struct | |
544 | { | |
8c87f69a | 545 | u16 encryptionMode; |
c781b96b | 546 | char *passphrase; |
635d2b00 GKH |
547 | } CsrWifiNmePassphrase; |
548 | ||
549 | /******************************************************************************* | |
550 | ||
551 | NAME | |
552 | CsrWifiNmePsk | |
553 | ||
554 | DESCRIPTION | |
555 | Structure holding the Pre-Shared Key data. | |
556 | ||
557 | MEMBERS | |
558 | encryptionMode - Encryption type as defined in CsrWifiSmeEncryption. | |
559 | psk - Pre-Shared Key value. | |
560 | ||
561 | *******************************************************************************/ | |
562 | typedef struct | |
563 | { | |
8c87f69a | 564 | u16 encryptionMode; |
7e6f5794 | 565 | u8 psk[32]; |
635d2b00 GKH |
566 | } CsrWifiNmePsk; |
567 | ||
568 | /******************************************************************************* | |
569 | ||
570 | NAME | |
571 | CsrWifiNmeWapiCredentials | |
572 | ||
573 | DESCRIPTION | |
574 | Structure holding WAPI credentials data. | |
575 | ||
576 | MEMBERS | |
577 | certificateLength - Length in bytes of the following client certificate. | |
578 | certificate - The actual client certificate data (if present). | |
579 | DER/PEM format supported. | |
580 | privateKeyLength - Length in bytes of the following private key. | |
581 | privateKey - The actual private key. DER/PEM format. | |
582 | caCertificateLength - Length in bytes of the following certificate authority | |
583 | certificate. | |
584 | caCertificate - The actual certificate authority certificate data. If | |
585 | not supplied the received certificate authority | |
586 | certificate is assumed to be validate, if present the | |
587 | received certificate is validated against it. DER/PEM | |
588 | format supported. | |
589 | ||
590 | *******************************************************************************/ | |
591 | typedef struct | |
592 | { | |
26a6b2e1 | 593 | u32 certificateLength; |
7e6f5794 | 594 | u8 *certificate; |
8c87f69a | 595 | u16 privateKeyLength; |
7e6f5794 | 596 | u8 *privateKey; |
26a6b2e1 | 597 | u32 caCertificateLength; |
7e6f5794 | 598 | u8 *caCertificate; |
635d2b00 GKH |
599 | } CsrWifiNmeWapiCredentials; |
600 | ||
601 | /******************************************************************************* | |
602 | ||
603 | NAME | |
604 | CsrWifiNmeConnectAttempt | |
605 | ||
606 | DESCRIPTION | |
607 | Structure holding Connection attempt data. | |
608 | ||
609 | MEMBERS | |
610 | bssid - Id of Basic Service Set connections attempt have been made | |
611 | to. | |
612 | status - Status returned to indicate the success or otherwise of the | |
613 | connection attempt. | |
614 | securityError - Security error status indicating the nature of the failure | |
615 | to connect. | |
616 | ||
617 | *******************************************************************************/ | |
618 | typedef struct | |
619 | { | |
620 | CsrWifiMacAddress bssid; | |
621 | CsrResult status; | |
622 | CsrWifiNmeSecError securityError; | |
623 | } CsrWifiNmeConnectAttempt; | |
624 | ||
625 | /******************************************************************************* | |
626 | ||
627 | NAME | |
628 | CsrWifiNmeEapCredentials | |
629 | ||
630 | DESCRIPTION | |
631 | Supports the use of multiple EAP methods via a single structure. The | |
632 | methods required are indicated by the value set in the eapMethodMask | |
633 | ||
634 | MEMBERS | |
635 | eapMethodMask | |
636 | - Bit mask of supported EAP methods | |
637 | Currently only supports the setting of one bit. | |
638 | Required for all the EAP methods. | |
639 | authMode | |
640 | - Bit mask representing the authentication types that may be | |
641 | supported by a suitable AP. An AP must support at least one | |
642 | of the authentication types specified to be considered for | |
643 | connection. Required for all EAP methods. | |
644 | encryptionMode | |
645 | - Bit mask representing the encryption types that may be | |
646 | supported by a suitable AP. An AP must support a suitable | |
647 | mix of the pairwise and group encryption types requested to | |
648 | be considered for connection. Required for all EAP methods. | |
649 | userName | |
650 | - User name. Required for all EAP methods except: SIM or AKA. | |
651 | userPassword | |
652 | - User Password. Required for all EAP methods except: TLS, | |
653 | SIM or AKA. | |
654 | authServerUserIdentity | |
655 | - Authentication server user Identity. Required for all EAP | |
656 | methods except: TLS, SIM, AKA or FAST. | |
657 | clientCertificateLength | |
658 | - Length in bytes of the following client certificate (if | |
659 | present). Only required for TLS. | |
660 | clientCertificate | |
661 | - The actual client certificate data (if present). Only | |
662 | required for TLS. DER/PEM format supported. | |
663 | certificateAuthorityCertificateLength | |
664 | - Length in bytes of the following certificate authority | |
665 | certificate (if present). Optional for TLS, TTLS, PEAP. | |
666 | certificateAuthorityCertificate | |
667 | - The actual certificate authority certificate data (if | |
668 | present). If not supplied the received certificate | |
669 | authority certificate is assumed to be valid, if present | |
670 | the received certificate is validated against it. Optional | |
671 | for TLS, TTLS, PEAP. DER/PEM format supported. | |
672 | privateKeyLength | |
673 | - Length in bytes of the following private key (if present). | |
674 | Only required for TLS. | |
675 | privateKey | |
676 | - The actual private key (if present). Only required for TLS. | |
677 | DER/PEM format, maybe password protected. | |
678 | privateKeyPassword | |
679 | - Optional password to protect the private key. | |
680 | sessionLength | |
681 | - Length in bytes of the following session field Supported | |
682 | for all EAP methods except: SIM or AKA. | |
683 | session | |
684 | - Session information to support faster re-authentication. | |
685 | Supported for all EAP methods except: SIM or AKA. | |
686 | allowPacProvisioning | |
687 | - If TRUE: PAC provisioning is allowed 'over-the_air'; | |
688 | If FALSE: a PAC must be supplied. | |
689 | Only required for FAST. | |
690 | pacLength | |
691 | - Length the following PAC field. If allowPacProvisioning is | |
692 | FALSE then the PAC MUST be supplied (i.e. non-zero). Only | |
693 | required for FAST. | |
694 | pac | |
695 | - The actual PAC data. If allowPacProvisioning is FALSE then | |
696 | the PAC MUST be supplied. Only required for FAST. | |
697 | pacPassword | |
698 | - Optional password to protect the PAC. Only required for | |
699 | FAST. | |
700 | ||
701 | *******************************************************************************/ | |
702 | typedef struct | |
703 | { | |
704 | CsrWifiNmeEapMethodMask eapMethodMask; | |
705 | CsrWifiSmeAuthModeMask authMode; | |
706 | CsrWifiNmeEncryptionMask encryptionMode; | |
c781b96b GKH |
707 | char *userName; |
708 | char *userPassword; | |
709 | char *authServerUserIdentity; | |
26a6b2e1 | 710 | u32 clientCertificateLength; |
7e6f5794 | 711 | u8 *clientCertificate; |
26a6b2e1 | 712 | u32 certificateAuthorityCertificateLength; |
7e6f5794 | 713 | u8 *certificateAuthorityCertificate; |
8c87f69a | 714 | u16 privateKeyLength; |
7e6f5794 | 715 | u8 *privateKey; |
c781b96b | 716 | char *privateKeyPassword; |
26a6b2e1 | 717 | u32 sessionLength; |
7e6f5794 | 718 | u8 *session; |
5379b13d | 719 | u8 allowPacProvisioning; |
26a6b2e1 | 720 | u32 pacLength; |
7e6f5794 | 721 | u8 *pac; |
c781b96b | 722 | char *pacPassword; |
635d2b00 GKH |
723 | } CsrWifiNmeEapCredentials; |
724 | ||
725 | /******************************************************************************* | |
726 | ||
727 | NAME | |
728 | CsrWifiNmePeerConfig | |
729 | ||
730 | DESCRIPTION | |
731 | Structure holding Peer Config data. | |
732 | ||
733 | MEMBERS | |
734 | p2pDeviceId - | |
735 | groupCapabilityMask - | |
736 | groupOwnerIntent - | |
737 | ||
738 | *******************************************************************************/ | |
739 | typedef struct | |
740 | { | |
741 | CsrWifiMacAddress p2pDeviceId; | |
742 | CsrWifiSmeP2pGroupCapabilityMask groupCapabilityMask; | |
7e6f5794 | 743 | u8 groupOwnerIntent; |
635d2b00 GKH |
744 | } CsrWifiNmePeerConfig; |
745 | ||
746 | /******************************************************************************* | |
747 | ||
748 | NAME | |
749 | CsrWifiNmeProfileIdentity | |
750 | ||
751 | DESCRIPTION | |
752 | The identity of a profile is defined as the unique combination the BSSID | |
753 | and SSID. | |
754 | ||
755 | MEMBERS | |
756 | bssid - ID of Basic Service Set for or the P2pDevice address of the GO for | |
757 | which a connection attempt was made. | |
758 | ssid - Service Set Id. | |
759 | ||
760 | *******************************************************************************/ | |
761 | typedef struct | |
762 | { | |
763 | CsrWifiMacAddress bssid; | |
764 | CsrWifiSsid ssid; | |
765 | } CsrWifiNmeProfileIdentity; | |
766 | ||
767 | /******************************************************************************* | |
768 | ||
769 | NAME | |
770 | CsrWifiNmeWep128Keys | |
771 | ||
772 | DESCRIPTION | |
773 | Structure holding WEP Authentication Type and WEP keys that can be used | |
774 | when using WEP128. | |
775 | ||
776 | MEMBERS | |
777 | wepAuthType - Mask to select the WEP authentication type (Open or Shared) | |
778 | selectedWepKey - Index to one of the four keys below indicating the | |
779 | currently used WEP key. | |
780 | key1 - Value for key number 1. | |
781 | key2 - Value for key number 2. | |
782 | key3 - Value for key number 3. | |
783 | key4 - Value for key number 4. | |
784 | ||
785 | *******************************************************************************/ | |
786 | typedef struct | |
787 | { | |
788 | CsrWifiSmeAuthModeMask wepAuthType; | |
7e6f5794 GKH |
789 | u8 selectedWepKey; |
790 | u8 key1[13]; | |
791 | u8 key2[13]; | |
792 | u8 key3[13]; | |
793 | u8 key4[13]; | |
635d2b00 GKH |
794 | } CsrWifiNmeWep128Keys; |
795 | ||
796 | /******************************************************************************* | |
797 | ||
798 | NAME | |
799 | CsrWifiNmeWep64Keys | |
800 | ||
801 | DESCRIPTION | |
802 | Structure for holding WEP Authentication Type and WEP keys that can be | |
803 | used when using WEP64. | |
804 | ||
805 | MEMBERS | |
806 | wepAuthType - Mask to select the WEP authentication type (Open or Shared) | |
807 | selectedWepKey - Index to one of the four keys below indicating the | |
808 | currently used WEP key. | |
809 | key1 - Value for key number 1. | |
810 | key2 - Value for key number 2. | |
811 | key3 - Value for key number 3. | |
812 | key4 - Value for key number 4. | |
813 | ||
814 | *******************************************************************************/ | |
815 | typedef struct | |
816 | { | |
817 | CsrWifiSmeAuthModeMask wepAuthType; | |
7e6f5794 GKH |
818 | u8 selectedWepKey; |
819 | u8 key1[5]; | |
820 | u8 key2[5]; | |
821 | u8 key3[5]; | |
822 | u8 key4[5]; | |
635d2b00 GKH |
823 | } CsrWifiNmeWep64Keys; |
824 | ||
825 | /******************************************************************************* | |
826 | ||
827 | NAME | |
828 | CsrWifiNmeCredentials | |
829 | ||
830 | DESCRIPTION | |
831 | Structure containing the Credentials data. | |
832 | ||
833 | MEMBERS | |
834 | credentialType - Credential type value (as defined in the | |
835 | enumeration type). | |
836 | credential - Union containing credentials which depends on | |
837 | credentialType parameter. | |
838 | credentialeap - | |
839 | credentialwapiPassphrase - | |
840 | credentialwpa2Passphrase - | |
841 | credentialwpa2Psk - | |
842 | credentialwapiPsk - | |
843 | credentialwpaPassphrase - | |
844 | credentialwapi - | |
845 | credentialwep128Key - | |
846 | credentialwpaPsk - | |
847 | credentialopenSystem - | |
848 | credentialwep64Key - | |
849 | ||
850 | *******************************************************************************/ | |
851 | typedef struct | |
852 | { | |
853 | CsrWifiNmeCredentialType credentialType; | |
854 | union { | |
855 | CsrWifiNmeEapCredentials eap; | |
856 | CsrWifiNmePassphrase wapiPassphrase; | |
857 | CsrWifiNmePassphrase wpa2Passphrase; | |
858 | CsrWifiNmePsk wpa2Psk; | |
859 | CsrWifiNmePsk wapiPsk; | |
860 | CsrWifiNmePassphrase wpaPassphrase; | |
861 | CsrWifiNmeWapiCredentials wapi; | |
862 | CsrWifiNmeWep128Keys wep128Key; | |
863 | CsrWifiNmePsk wpaPsk; | |
864 | CsrWifiNmeEmpty openSystem; | |
865 | CsrWifiNmeWep64Keys wep64Key; | |
866 | } credential; | |
867 | } CsrWifiNmeCredentials; | |
868 | ||
869 | /******************************************************************************* | |
870 | ||
871 | NAME | |
872 | CsrWifiNmeProfile | |
873 | ||
874 | DESCRIPTION | |
875 | Structure containing the Profile data. | |
876 | ||
877 | MEMBERS | |
878 | profileIdentity - Profile Identity. | |
879 | wmmQosInfoMask - Mask for WMM QoS information. | |
880 | bssType - Type of BSS (Infrastructure or Adhoc). | |
881 | channelNo - Channel Number. | |
882 | ccxOptionsMask - Options mask for Cisco Compatible Extentions. | |
883 | cloakedSsid - Flag to decide whether the SSID is cloaked (not | |
884 | transmitted) or not. | |
885 | credentials - Credentials data. | |
886 | ||
887 | *******************************************************************************/ | |
888 | typedef struct | |
889 | { | |
890 | CsrWifiNmeProfileIdentity profileIdentity; | |
891 | CsrWifiNmeWmmQosInfoMask wmmQosInfoMask; | |
892 | CsrWifiNmeBssType bssType; | |
7e6f5794 GKH |
893 | u8 channelNo; |
894 | u8 ccxOptionsMask; | |
5379b13d | 895 | u8 cloakedSsid; |
635d2b00 GKH |
896 | CsrWifiNmeCredentials credentials; |
897 | } CsrWifiNmeProfile; | |
898 | ||
899 | ||
900 | /* Downstream */ | |
901 | #define CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST (0x0000) | |
902 | ||
903 | #define CSR_WIFI_NME_PROFILE_SET_REQ ((CsrWifiNmePrim) (0x0000 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
904 | #define CSR_WIFI_NME_PROFILE_DELETE_REQ ((CsrWifiNmePrim) (0x0001 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
905 | #define CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ ((CsrWifiNmePrim) (0x0002 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
906 | #define CSR_WIFI_NME_PROFILE_ORDER_SET_REQ ((CsrWifiNmePrim) (0x0003 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
907 | #define CSR_WIFI_NME_PROFILE_CONNECT_REQ ((CsrWifiNmePrim) (0x0004 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
908 | #define CSR_WIFI_NME_WPS_REQ ((CsrWifiNmePrim) (0x0005 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
909 | #define CSR_WIFI_NME_WPS_CANCEL_REQ ((CsrWifiNmePrim) (0x0006 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
910 | #define CSR_WIFI_NME_CONNECTION_STATUS_GET_REQ ((CsrWifiNmePrim) (0x0007 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
911 | #define CSR_WIFI_NME_SIM_IMSI_GET_RES ((CsrWifiNmePrim) (0x0008 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
912 | #define CSR_WIFI_NME_SIM_GSM_AUTH_RES ((CsrWifiNmePrim) (0x0009 + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
913 | #define CSR_WIFI_NME_SIM_UMTS_AUTH_RES ((CsrWifiNmePrim) (0x000A + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
914 | #define CSR_WIFI_NME_WPS_CONFIG_SET_REQ ((CsrWifiNmePrim) (0x000B + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
915 | #define CSR_WIFI_NME_EVENT_MASK_SET_REQ ((CsrWifiNmePrim) (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST)) | |
916 | ||
917 | ||
918 | #define CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST (0x000C + CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST) | |
919 | ||
920 | /* Upstream */ | |
921 | #define CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM) | |
922 | ||
923 | #define CSR_WIFI_NME_PROFILE_SET_CFM ((CsrWifiNmePrim)(0x0000 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
924 | #define CSR_WIFI_NME_PROFILE_DELETE_CFM ((CsrWifiNmePrim)(0x0001 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
925 | #define CSR_WIFI_NME_PROFILE_DELETE_ALL_CFM ((CsrWifiNmePrim)(0x0002 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
926 | #define CSR_WIFI_NME_PROFILE_ORDER_SET_CFM ((CsrWifiNmePrim)(0x0003 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
927 | #define CSR_WIFI_NME_PROFILE_CONNECT_CFM ((CsrWifiNmePrim)(0x0004 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
928 | #define CSR_WIFI_NME_WPS_CFM ((CsrWifiNmePrim)(0x0005 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
929 | #define CSR_WIFI_NME_WPS_CANCEL_CFM ((CsrWifiNmePrim)(0x0006 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
930 | #define CSR_WIFI_NME_CONNECTION_STATUS_GET_CFM ((CsrWifiNmePrim)(0x0007 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
931 | #define CSR_WIFI_NME_PROFILE_UPDATE_IND ((CsrWifiNmePrim)(0x0008 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
932 | #define CSR_WIFI_NME_PROFILE_DISCONNECT_IND ((CsrWifiNmePrim)(0x0009 + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
933 | #define CSR_WIFI_NME_SIM_IMSI_GET_IND ((CsrWifiNmePrim)(0x000A + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
934 | #define CSR_WIFI_NME_SIM_GSM_AUTH_IND ((CsrWifiNmePrim)(0x000B + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
935 | #define CSR_WIFI_NME_SIM_UMTS_AUTH_IND ((CsrWifiNmePrim)(0x000C + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
936 | #define CSR_WIFI_NME_WPS_CONFIG_SET_CFM ((CsrWifiNmePrim)(0x000D + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
937 | #define CSR_WIFI_NME_EVENT_MASK_SET_CFM ((CsrWifiNmePrim)(0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST)) | |
938 | ||
939 | #define CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST (0x000E + CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST) | |
940 | ||
941 | #define CSR_WIFI_NME_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_NME_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_NME_PRIM_DOWNSTREAM_LOWEST) | |
942 | #define CSR_WIFI_NME_PRIM_UPSTREAM_COUNT (CSR_WIFI_NME_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_NME_PRIM_UPSTREAM_LOWEST) | |
943 | ||
944 | /******************************************************************************* | |
945 | ||
946 | NAME | |
947 | CsrWifiNmeProfileSetReq | |
948 | ||
949 | DESCRIPTION | |
950 | Creates or updates an existing profile in the NME that matches the unique | |
951 | identity of the profile. Each profile is identified by the combination of | |
952 | BSSID and SSID. The profile contains all the required credentials for | |
953 | attempting to connect to the network. Creating or updating a profile via | |
954 | the NME PROFILE SET REQ does NOT add the profile to the preferred profile | |
955 | list within the NME used for the NME auto-connect behaviour. | |
956 | ||
957 | MEMBERS | |
958 | common - Common header for use with the CsrWifiFsm Module | |
959 | profile - Specifies the identity and credentials of the network. | |
960 | ||
961 | *******************************************************************************/ | |
962 | typedef struct | |
963 | { | |
964 | CsrWifiFsmEvent common; | |
965 | CsrWifiNmeProfile profile; | |
966 | } CsrWifiNmeProfileSetReq; | |
967 | ||
968 | /******************************************************************************* | |
969 | ||
970 | NAME | |
971 | CsrWifiNmeProfileDeleteReq | |
972 | ||
973 | DESCRIPTION | |
974 | Will delete the profile with a matching identity, but does NOT modify the | |
975 | preferred profile list. | |
976 | ||
977 | MEMBERS | |
978 | common - Common header for use with the CsrWifiFsm Module | |
979 | profileIdentity - Identity (BSSID, SSID) of profile to be deleted. | |
980 | ||
981 | *******************************************************************************/ | |
982 | typedef struct | |
983 | { | |
984 | CsrWifiFsmEvent common; | |
985 | CsrWifiNmeProfileIdentity profileIdentity; | |
986 | } CsrWifiNmeProfileDeleteReq; | |
987 | ||
988 | /******************************************************************************* | |
989 | ||
990 | NAME | |
991 | CsrWifiNmeProfileDeleteAllReq | |
992 | ||
993 | DESCRIPTION | |
994 | Deletes all profiles present in the NME, but does NOT modify the | |
995 | preferred profile list. | |
996 | ||
997 | MEMBERS | |
998 | common - Common header for use with the CsrWifiFsm Module | |
999 | ||
1000 | *******************************************************************************/ | |
1001 | typedef struct | |
1002 | { | |
1003 | CsrWifiFsmEvent common; | |
1004 | } CsrWifiNmeProfileDeleteAllReq; | |
1005 | ||
1006 | /******************************************************************************* | |
1007 | ||
1008 | NAME | |
1009 | CsrWifiNmeProfileOrderSetReq | |
1010 | ||
1011 | DESCRIPTION | |
1012 | Defines the preferred order that profiles present in the NME should be | |
1013 | used during the NME auto-connect behaviour. | |
1014 | If profileIdentitysCount == 0, it removes any existing preferred profile | |
1015 | list already present in the NME, effectively disabling the auto-connect | |
1016 | behaviour. | |
1017 | NOTE: Profile identities that do not match any profile stored in the NME | |
1018 | are ignored during the auto-connect procedure. | |
1019 | NOTE: during auto-connect the NME will only attempt to join an existing | |
1020 | adhoc network and it will never attempt to host an adhoc network; for | |
1021 | hosting and adhoc network, use CSR_WIFI_NME_PROFILE_CONNECT_REQ | |
1022 | ||
1023 | MEMBERS | |
1024 | common - Common header for use with the CsrWifiFsm Module | |
1025 | interfaceTag - Interface Identifier; unique identifier of an | |
1026 | interface | |
1027 | profileIdentitysCount - The number of profiles identities in the list. | |
1028 | profileIdentitys - Points to the list of profile identities. | |
1029 | ||
1030 | *******************************************************************************/ | |
1031 | typedef struct | |
1032 | { | |
1033 | CsrWifiFsmEvent common; | |
8c87f69a | 1034 | u16 interfaceTag; |
7e6f5794 | 1035 | u8 profileIdentitysCount; |
635d2b00 GKH |
1036 | CsrWifiNmeProfileIdentity *profileIdentitys; |
1037 | } CsrWifiNmeProfileOrderSetReq; | |
1038 | ||
1039 | /******************************************************************************* | |
1040 | ||
1041 | NAME | |
1042 | CsrWifiNmeProfileConnectReq | |
1043 | ||
1044 | DESCRIPTION | |
1045 | Requests the NME to attempt to connect to the specified profile. | |
1046 | Overrides any current connection attempt. | |
1047 | ||
1048 | MEMBERS | |
1049 | common - Common header for use with the CsrWifiFsm Module | |
1050 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1051 | profileIdentity - Identity (BSSID, SSID) of profile to be connected to. | |
1052 | It must match an existing profile in the NME. | |
1053 | ||
1054 | *******************************************************************************/ | |
1055 | typedef struct | |
1056 | { | |
1057 | CsrWifiFsmEvent common; | |
8c87f69a | 1058 | u16 interfaceTag; |
635d2b00 GKH |
1059 | CsrWifiNmeProfileIdentity profileIdentity; |
1060 | } CsrWifiNmeProfileConnectReq; | |
1061 | ||
1062 | /******************************************************************************* | |
1063 | ||
1064 | NAME | |
1065 | CsrWifiNmeWpsReq | |
1066 | ||
1067 | DESCRIPTION | |
1068 | Requests the NME to look for WPS enabled APs and attempt to perform WPS | |
1069 | to determine the appropriate security credentials to connect to the AP. | |
1070 | If the PIN == '00000000' then 'push button mode' is indicated, otherwise | |
1071 | the PIN has to match that of the AP. 4 digit pin is passed by sending the | |
1072 | pin digits in pin[0]..pin[3] and rest of the contents filled with '-'. | |
1073 | ||
1074 | MEMBERS | |
1075 | common - Common header for use with the CsrWifiFsm Module | |
1076 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1077 | pin - PIN value. | |
1078 | ssid - Service Set identifier | |
1079 | bssid - ID of Basic Service Set for which a WPS connection attempt is | |
1080 | being made. | |
1081 | ||
1082 | *******************************************************************************/ | |
1083 | typedef struct | |
1084 | { | |
1085 | CsrWifiFsmEvent common; | |
8c87f69a | 1086 | u16 interfaceTag; |
7e6f5794 | 1087 | u8 pin[8]; |
635d2b00 GKH |
1088 | CsrWifiSsid ssid; |
1089 | CsrWifiMacAddress bssid; | |
1090 | } CsrWifiNmeWpsReq; | |
1091 | ||
1092 | /******************************************************************************* | |
1093 | ||
1094 | NAME | |
1095 | CsrWifiNmeWpsCancelReq | |
1096 | ||
1097 | DESCRIPTION | |
1098 | Requests the NME to cancel any WPS procedure that it is currently | |
1099 | performing. This includes WPS registrar activities started because of | |
1100 | CSR_WIFI_NME_AP_REGISTER.request | |
1101 | ||
1102 | MEMBERS | |
1103 | common - Common header for use with the CsrWifiFsm Module | |
1104 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1105 | ||
1106 | *******************************************************************************/ | |
1107 | typedef struct | |
1108 | { | |
1109 | CsrWifiFsmEvent common; | |
8c87f69a | 1110 | u16 interfaceTag; |
635d2b00 GKH |
1111 | } CsrWifiNmeWpsCancelReq; |
1112 | ||
1113 | /******************************************************************************* | |
1114 | ||
1115 | NAME | |
1116 | CsrWifiNmeConnectionStatusGetReq | |
1117 | ||
1118 | DESCRIPTION | |
1119 | Requests the current connection status of the NME. | |
1120 | ||
1121 | MEMBERS | |
1122 | common - Common header for use with the CsrWifiFsm Module | |
1123 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1124 | ||
1125 | *******************************************************************************/ | |
1126 | typedef struct | |
1127 | { | |
1128 | CsrWifiFsmEvent common; | |
8c87f69a | 1129 | u16 interfaceTag; |
635d2b00 GKH |
1130 | } CsrWifiNmeConnectionStatusGetReq; |
1131 | ||
1132 | /******************************************************************************* | |
1133 | ||
1134 | NAME | |
1135 | CsrWifiNmeSimImsiGetRes | |
1136 | ||
1137 | DESCRIPTION | |
1138 | Response from the application that received the NME SIM IMSI GET IND. | |
1139 | ||
1140 | MEMBERS | |
1141 | common - Common header for use with the CsrWifiFsm Module | |
1142 | status - Indicates the outcome of the requested operation: STATUS_SUCCESS | |
1143 | or STATUS_ERROR. | |
1144 | imsi - The value of the IMSI obtained from the UICC. | |
1145 | cardType - The UICC type (GSM only (SIM), UMTS only (USIM), Both). | |
1146 | ||
1147 | *******************************************************************************/ | |
1148 | typedef struct | |
1149 | { | |
1150 | CsrWifiFsmEvent common; | |
1151 | CsrResult status; | |
c781b96b | 1152 | char *imsi; |
635d2b00 GKH |
1153 | CsrWifiNmeSimCardType cardType; |
1154 | } CsrWifiNmeSimImsiGetRes; | |
1155 | ||
1156 | /******************************************************************************* | |
1157 | ||
1158 | NAME | |
1159 | CsrWifiNmeSimGsmAuthRes | |
1160 | ||
1161 | DESCRIPTION | |
1162 | Response from the application that received the NME SIM GSM AUTH IND. For | |
1163 | each GSM authentication round a GSM Ciphering key (Kc) and a signed | |
1164 | response (SRES) are produced. Since 2 or 3 GSM authentication rounds are | |
1165 | used the 2 or 3 Kc's obtained respectively are combined into one buffer | |
1166 | and similarly the 2 or 3 SRES's obtained are combined into another | |
1167 | buffer. The order of Kc values (SRES values respectively) in their buffer | |
1168 | is the same as that of their corresponding RAND values in the incoming | |
1169 | indication. | |
1170 | ||
1171 | MEMBERS | |
1172 | common - Common header for use with the CsrWifiFsm Module | |
1173 | status - Indicates the outcome of the requested operation: | |
1174 | STATUS_SUCCESS or STATUS_ERROR | |
1175 | kcsLength - Length in Bytes of Kc buffer. Legal values are: 16 or 24. | |
1176 | kcs - Kc buffer holding 2 or 3 Kc values. | |
1177 | sresLength - Length in Bytes of SRES buffer. Legal values are: 8 or 12. | |
1178 | sres - SRES buffer holding 2 or 3 SRES values. | |
1179 | ||
1180 | *******************************************************************************/ | |
1181 | typedef struct | |
1182 | { | |
1183 | CsrWifiFsmEvent common; | |
1184 | CsrResult status; | |
7e6f5794 GKH |
1185 | u8 kcsLength; |
1186 | u8 *kcs; | |
1187 | u8 sresLength; | |
1188 | u8 *sres; | |
635d2b00 GKH |
1189 | } CsrWifiNmeSimGsmAuthRes; |
1190 | ||
1191 | /******************************************************************************* | |
1192 | ||
1193 | NAME | |
1194 | CsrWifiNmeSimUmtsAuthRes | |
1195 | ||
1196 | DESCRIPTION | |
1197 | Response from the application that received the NME SIM UMTS AUTH IND. | |
1198 | The values of umtsCipherKey, umtsIntegrityKey, resParameterLength and | |
1199 | resParameter are only meanigful when result = UMTS_AUTH_RESULT_SUCCESS. | |
1200 | The value of auts is only meaningful when | |
1201 | result=UMTS_AUTH_RESULT_SYNC_FAIL. | |
1202 | ||
1203 | MEMBERS | |
1204 | common - Common header for use with the CsrWifiFsm Module | |
1205 | status - Indicates the outcome of the requested operation: | |
1206 | STATUS_SUCCESS or STATUS_ERROR. | |
1207 | result - The result of UMTS authentication as performed by the | |
1208 | UICC which could be: Success, Authentication Reject or | |
1209 | Synchronisation Failure. For all these 3 outcomes the | |
1210 | value of status is success. | |
1211 | umtsCipherKey - The UMTS Cipher Key as calculated and returned by the | |
1212 | UICC. | |
1213 | umtsIntegrityKey - The UMTS Integrity Key as calculated and returned by | |
1214 | the UICC. | |
1215 | resParameterLength - The length (in bytes) of the RES parameter (min=4; max | |
1216 | = 16). | |
1217 | resParameter - The RES parameter as calculated and returned by the | |
1218 | UICC. | |
1219 | auts - The AUTS parameter as calculated and returned by the | |
1220 | UICC. | |
1221 | ||
1222 | *******************************************************************************/ | |
1223 | typedef struct | |
1224 | { | |
1225 | CsrWifiFsmEvent common; | |
1226 | CsrResult status; | |
1227 | CsrWifiNmeUmtsAuthResult result; | |
7e6f5794 GKH |
1228 | u8 umtsCipherKey[16]; |
1229 | u8 umtsIntegrityKey[16]; | |
1230 | u8 resParameterLength; | |
1231 | u8 *resParameter; | |
1232 | u8 auts[14]; | |
635d2b00 GKH |
1233 | } CsrWifiNmeSimUmtsAuthRes; |
1234 | ||
1235 | /******************************************************************************* | |
1236 | ||
1237 | NAME | |
1238 | CsrWifiNmeWpsConfigSetReq | |
1239 | ||
1240 | DESCRIPTION | |
1241 | This primitive passes the WPS information for the device to NME. This may | |
1242 | be accepted only if no interface is active. | |
1243 | ||
1244 | MEMBERS | |
1245 | common - Common header for use with the CsrWifiFsm Module | |
1246 | wpsConfig - WPS config. | |
1247 | ||
1248 | *******************************************************************************/ | |
1249 | typedef struct | |
1250 | { | |
1251 | CsrWifiFsmEvent common; | |
1252 | CsrWifiSmeWpsConfig wpsConfig; | |
1253 | } CsrWifiNmeWpsConfigSetReq; | |
1254 | ||
1255 | /******************************************************************************* | |
1256 | ||
1257 | NAME | |
1258 | CsrWifiNmeEventMaskSetReq | |
1259 | ||
1260 | DESCRIPTION | |
1261 | The wireless manager application may register with the NME to receive | |
1262 | notification of interesting events. Indications will be sent only if the | |
1263 | wireless manager explicitly registers to be notified of that event. | |
1264 | indMask is a bit mask of values defined in CsrWifiNmeIndicationsMask. | |
1265 | ||
1266 | MEMBERS | |
1267 | common - Common header for use with the CsrWifiFsm Module | |
1268 | indMask - Set mask with values from CsrWifiNmeIndications | |
1269 | ||
1270 | *******************************************************************************/ | |
1271 | typedef struct | |
1272 | { | |
1273 | CsrWifiFsmEvent common; | |
1274 | CsrWifiNmeIndicationsMask indMask; | |
1275 | } CsrWifiNmeEventMaskSetReq; | |
1276 | ||
1277 | /******************************************************************************* | |
1278 | ||
1279 | NAME | |
1280 | CsrWifiNmeProfileSetCfm | |
1281 | ||
1282 | DESCRIPTION | |
1283 | Reports the status of the NME PROFILE SET REQ; the request will only fail | |
1284 | if the details specified in the profile contains an invalid combination | |
1285 | of parameters for example specifying the profile as cloaked but not | |
1286 | specifying the SSID. The NME doesn't limit the number of profiles that | |
1287 | may be created. The NME assumes that the entity configuring it is aware | |
1288 | of the appropriate limits. | |
1289 | ||
1290 | MEMBERS | |
1291 | common - Common header for use with the CsrWifiFsm Module | |
1292 | status - Indicates the success or otherwise of the requested operation. | |
1293 | ||
1294 | *******************************************************************************/ | |
1295 | typedef struct | |
1296 | { | |
1297 | CsrWifiFsmEvent common; | |
1298 | CsrResult status; | |
1299 | } CsrWifiNmeProfileSetCfm; | |
1300 | ||
1301 | /******************************************************************************* | |
1302 | ||
1303 | NAME | |
1304 | CsrWifiNmeProfileDeleteCfm | |
1305 | ||
1306 | DESCRIPTION | |
1307 | Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_REQ. | |
1308 | Returns CSR_WIFI_NME_STATUS_NOT_FOUND if there is no matching profile. | |
1309 | ||
1310 | MEMBERS | |
1311 | common - Common header for use with the CsrWifiFsm Module | |
1312 | status - Indicates the success or otherwise of the requested operation. | |
1313 | ||
1314 | *******************************************************************************/ | |
1315 | typedef struct | |
1316 | { | |
1317 | CsrWifiFsmEvent common; | |
1318 | CsrResult status; | |
1319 | } CsrWifiNmeProfileDeleteCfm; | |
1320 | ||
1321 | /******************************************************************************* | |
1322 | ||
1323 | NAME | |
1324 | CsrWifiNmeProfileDeleteAllCfm | |
1325 | ||
1326 | DESCRIPTION | |
1327 | Reports the status of the CSR_WIFI_NME_PROFILE_DELETE_ALL_REQ. | |
1328 | Returns always CSR_WIFI_NME_STATUS_SUCCESS. | |
1329 | ||
1330 | MEMBERS | |
1331 | common - Common header for use with the CsrWifiFsm Module | |
1332 | status - Indicates the success or otherwise of the requested operation, but | |
1333 | in this case it always set to success. | |
1334 | ||
1335 | *******************************************************************************/ | |
1336 | typedef struct | |
1337 | { | |
1338 | CsrWifiFsmEvent common; | |
1339 | CsrResult status; | |
1340 | } CsrWifiNmeProfileDeleteAllCfm; | |
1341 | ||
1342 | /******************************************************************************* | |
1343 | ||
1344 | NAME | |
1345 | CsrWifiNmeProfileOrderSetCfm | |
1346 | ||
1347 | DESCRIPTION | |
1348 | Confirmation to UNIFI_NME_PROFILE_ORDER_SET.request. | |
1349 | ||
1350 | MEMBERS | |
1351 | common - Common header for use with the CsrWifiFsm Module | |
1352 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1353 | status - Indicates the success or otherwise of the requested | |
1354 | operation. | |
1355 | ||
1356 | *******************************************************************************/ | |
1357 | typedef struct | |
1358 | { | |
1359 | CsrWifiFsmEvent common; | |
8c87f69a | 1360 | u16 interfaceTag; |
635d2b00 GKH |
1361 | CsrResult status; |
1362 | } CsrWifiNmeProfileOrderSetCfm; | |
1363 | ||
1364 | /******************************************************************************* | |
1365 | ||
1366 | NAME | |
1367 | CsrWifiNmeProfileConnectCfm | |
1368 | ||
1369 | DESCRIPTION | |
1370 | Reports the status of the NME PROFILE CONNECT REQ. If unsuccessful the | |
1371 | connectAttempt parameters contain details of the APs that the NME | |
1372 | attempted to connect to before reporting the failure of the request. | |
1373 | ||
1374 | MEMBERS | |
1375 | common - Common header for use with the CsrWifiFsm Module | |
1376 | interfaceTag - Interface Identifier; unique identifier of an | |
1377 | interface | |
1378 | status - Indicates the success or otherwise of the requested | |
1379 | operation. | |
1380 | connectAttemptsCount - This parameter is relevant only if | |
1381 | status!=CSR_WIFI_NME_STATUS_SUCCESS. | |
1382 | Number of connection attempt elements provided with | |
1383 | this primitive | |
1384 | connectAttempts - This parameter is relevant only if | |
1385 | status!=CSR_WIFI_NME_STATUS_SUCCESS. | |
1386 | Points to the list of connection attempt elements | |
1387 | provided with this primitive | |
1388 | Each element of the list provides information about | |
1389 | an AP on which the connection attempt was made and | |
1390 | the error that occurred during the attempt. | |
1391 | ||
1392 | *******************************************************************************/ | |
1393 | typedef struct | |
1394 | { | |
1395 | CsrWifiFsmEvent common; | |
8c87f69a | 1396 | u16 interfaceTag; |
635d2b00 | 1397 | CsrResult status; |
7e6f5794 | 1398 | u8 connectAttemptsCount; |
635d2b00 GKH |
1399 | CsrWifiNmeConnectAttempt *connectAttempts; |
1400 | } CsrWifiNmeProfileConnectCfm; | |
1401 | ||
1402 | /******************************************************************************* | |
1403 | ||
1404 | NAME | |
1405 | CsrWifiNmeWpsCfm | |
1406 | ||
1407 | DESCRIPTION | |
1408 | Reports the status of the NME WPS REQ. | |
1409 | If CSR_WIFI_NME_STATUS_SUCCESS, the profile parameter contains the | |
1410 | identity and credentials of the AP. | |
1411 | ||
1412 | MEMBERS | |
1413 | common - Common header for use with the CsrWifiFsm Module | |
1414 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1415 | status - Indicates the success or otherwise of the requested | |
1416 | operation. | |
1417 | profile - This parameter is relevant only if | |
1418 | status==CSR_WIFI_NME_STATUS_SUCCESS. | |
1419 | The identity and credentials of the network. | |
1420 | ||
1421 | *******************************************************************************/ | |
1422 | typedef struct | |
1423 | { | |
1424 | CsrWifiFsmEvent common; | |
8c87f69a | 1425 | u16 interfaceTag; |
635d2b00 GKH |
1426 | CsrResult status; |
1427 | CsrWifiNmeProfile profile; | |
1428 | } CsrWifiNmeWpsCfm; | |
1429 | ||
1430 | /******************************************************************************* | |
1431 | ||
1432 | NAME | |
1433 | CsrWifiNmeWpsCancelCfm | |
1434 | ||
1435 | DESCRIPTION | |
1436 | Reports the status of the NME WPS REQ, the request is always SUCCESSFUL. | |
1437 | ||
1438 | MEMBERS | |
1439 | common - Common header for use with the CsrWifiFsm Module | |
1440 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1441 | status - Only returns CSR_WIFI_NME_STATUS_SUCCESS | |
1442 | ||
1443 | *******************************************************************************/ | |
1444 | typedef struct | |
1445 | { | |
1446 | CsrWifiFsmEvent common; | |
8c87f69a | 1447 | u16 interfaceTag; |
635d2b00 GKH |
1448 | CsrResult status; |
1449 | } CsrWifiNmeWpsCancelCfm; | |
1450 | ||
1451 | /******************************************************************************* | |
1452 | ||
1453 | NAME | |
1454 | CsrWifiNmeConnectionStatusGetCfm | |
1455 | ||
1456 | DESCRIPTION | |
1457 | Reports the connection status of the NME. | |
1458 | ||
1459 | MEMBERS | |
1460 | common - Common header for use with the CsrWifiFsm Module | |
1461 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1462 | status - Indicates the success or otherwise of the requested | |
1463 | operation. | |
1464 | connectionStatus - NME current connection status | |
1465 | ||
1466 | *******************************************************************************/ | |
1467 | typedef struct | |
1468 | { | |
1469 | CsrWifiFsmEvent common; | |
8c87f69a | 1470 | u16 interfaceTag; |
635d2b00 GKH |
1471 | CsrResult status; |
1472 | CsrWifiNmeConnectionStatus connectionStatus; | |
1473 | } CsrWifiNmeConnectionStatusGetCfm; | |
1474 | ||
1475 | /******************************************************************************* | |
1476 | ||
1477 | NAME | |
1478 | CsrWifiNmeProfileUpdateInd | |
1479 | ||
1480 | DESCRIPTION | |
1481 | Indication generated from the NME (if an application subscribes to | |
1482 | receive it) that informs that application that the contained profile has | |
1483 | changed. | |
1484 | For example, either the credentials EAP-FAST PAC file or the session data | |
1485 | within the profile has changed. | |
1486 | It is up to the application whether it stores this updated profile or | |
1487 | not. | |
1488 | ||
1489 | MEMBERS | |
1490 | common - Common header for use with the CsrWifiFsm Module | |
1491 | interfaceTag - Interface Identifier; unique identifier of an interface | |
1492 | profile - The identity and credentials of the network. | |
1493 | ||
1494 | *******************************************************************************/ | |
1495 | typedef struct | |
1496 | { | |
1497 | CsrWifiFsmEvent common; | |
8c87f69a | 1498 | u16 interfaceTag; |
635d2b00 GKH |
1499 | CsrWifiNmeProfile profile; |
1500 | } CsrWifiNmeProfileUpdateInd; | |
1501 | ||
1502 | /******************************************************************************* | |
1503 | ||
1504 | NAME | |
1505 | CsrWifiNmeProfileDisconnectInd | |
1506 | ||
1507 | DESCRIPTION | |
1508 | Indication generated from the NME (if an application subscribes to | |
1509 | receive it) that informs that application that the current profile | |
1510 | connection has disconnected. The indication will contain information | |
1511 | about APs that it attempted to maintain the connection via i.e. in the | |
1512 | case of failed roaming. | |
1513 | ||
1514 | MEMBERS | |
1515 | common - Common header for use with the CsrWifiFsm Module | |
1516 | interfaceTag - Interface Identifier; unique identifier of an | |
1517 | interface | |
1518 | connectAttemptsCount - Number of connection attempt elements provided with | |
1519 | this primitive | |
1520 | connectAttempts - Points to the list of connection attempt elements | |
1521 | provided with this primitive | |
1522 | Each element of the list provides information about | |
1523 | an AP on which the connection attempt was made and | |
1524 | the error occurred during the attempt. | |
1525 | ||
1526 | *******************************************************************************/ | |
1527 | typedef struct | |
1528 | { | |
1529 | CsrWifiFsmEvent common; | |
8c87f69a | 1530 | u16 interfaceTag; |
7e6f5794 | 1531 | u8 connectAttemptsCount; |
635d2b00 GKH |
1532 | CsrWifiNmeConnectAttempt *connectAttempts; |
1533 | } CsrWifiNmeProfileDisconnectInd; | |
1534 | ||
1535 | /******************************************************************************* | |
1536 | ||
1537 | NAME | |
1538 | CsrWifiNmeSimImsiGetInd | |
1539 | ||
1540 | DESCRIPTION | |
1541 | Indication generated from the NME (if an application subscribes to | |
1542 | receive it) that requests the IMSI and UICC type from the UICC Manager. | |
1543 | This indication is generated when the NME is attempting to connect to a | |
1544 | profile configured for EAP-SIM/AKA. An application MUST register to | |
1545 | receive this indication for the NME to support the EAP-SIM/AKA credential | |
1546 | types. Otherwise the NME has no route to obtain the information from the | |
1547 | UICC. | |
1548 | ||
1549 | MEMBERS | |
1550 | common - Common header for use with the CsrWifiFsm Module | |
1551 | ||
1552 | *******************************************************************************/ | |
1553 | typedef struct | |
1554 | { | |
1555 | CsrWifiFsmEvent common; | |
1556 | } CsrWifiNmeSimImsiGetInd; | |
1557 | ||
1558 | /******************************************************************************* | |
1559 | ||
1560 | NAME | |
1561 | CsrWifiNmeSimGsmAuthInd | |
1562 | ||
1563 | DESCRIPTION | |
1564 | Indication generated from the NME (if an application subscribes to | |
1565 | receive it) that requests the UICC Manager to perform a GSM | |
1566 | authentication on behalf of the NME. This indication is generated when | |
1567 | the NME is attempting to connect to a profile configured for EAP-SIM. An | |
1568 | application MUST register to receive this indication for the NME to | |
1569 | support the EAP-SIM credential types. Otherwise the NME has no route to | |
1570 | obtain the information from the UICC. EAP-SIM authentication requires 2 | |
1571 | or 3 GSM authentication rounds and therefore 2 or 3 RANDS (GSM Random | |
1572 | Challenges) are included. | |
1573 | ||
1574 | MEMBERS | |
1575 | common - Common header for use with the CsrWifiFsm Module | |
1576 | randsLength - GSM RAND is 16 bytes long hence valid values are 32 (2 RANDS) | |
1577 | or 48 (3 RANDs). | |
1578 | rands - 2 or 3 RANDs values. | |
1579 | ||
1580 | *******************************************************************************/ | |
1581 | typedef struct | |
1582 | { | |
1583 | CsrWifiFsmEvent common; | |
7e6f5794 GKH |
1584 | u8 randsLength; |
1585 | u8 *rands; | |
635d2b00 GKH |
1586 | } CsrWifiNmeSimGsmAuthInd; |
1587 | ||
1588 | /******************************************************************************* | |
1589 | ||
1590 | NAME | |
1591 | CsrWifiNmeSimUmtsAuthInd | |
1592 | ||
1593 | DESCRIPTION | |
1594 | Indication generated from the NME (if an application subscribes to | |
1595 | receive it) that requests the UICC Manager to perform a UMTS | |
1596 | authentication on behalf of the NME. This indication is generated when | |
1597 | the NME is attempting to connect to a profile configured for EAP-AKA. An | |
1598 | application MUST register to receive this indication for the NME to | |
1599 | support the EAP-AKA credential types. Otherwise the NME has no route to | |
1600 | obtain the information from the USIM. EAP-AKA requires one UMTS | |
1601 | authentication round and therefore only one RAND and one AUTN values are | |
1602 | included. | |
1603 | ||
1604 | MEMBERS | |
1605 | common - Common header for use with the CsrWifiFsm Module | |
1606 | rand - UMTS RAND value. | |
1607 | autn - UMTS AUTN value. | |
1608 | ||
1609 | *******************************************************************************/ | |
1610 | typedef struct | |
1611 | { | |
1612 | CsrWifiFsmEvent common; | |
7e6f5794 GKH |
1613 | u8 rand[16]; |
1614 | u8 autn[16]; | |
635d2b00 GKH |
1615 | } CsrWifiNmeSimUmtsAuthInd; |
1616 | ||
1617 | /******************************************************************************* | |
1618 | ||
1619 | NAME | |
1620 | CsrWifiNmeWpsConfigSetCfm | |
1621 | ||
1622 | DESCRIPTION | |
1623 | Confirm. | |
1624 | ||
1625 | MEMBERS | |
1626 | common - Common header for use with the CsrWifiFsm Module | |
1627 | status - Status of the request. | |
1628 | ||
1629 | *******************************************************************************/ | |
1630 | typedef struct | |
1631 | { | |
1632 | CsrWifiFsmEvent common; | |
1633 | CsrResult status; | |
1634 | } CsrWifiNmeWpsConfigSetCfm; | |
1635 | ||
1636 | /******************************************************************************* | |
1637 | ||
1638 | NAME | |
1639 | CsrWifiNmeEventMaskSetCfm | |
1640 | ||
1641 | DESCRIPTION | |
1642 | The NME calls the primitive to report the result of the request | |
1643 | primitive. | |
1644 | ||
1645 | MEMBERS | |
1646 | common - Common header for use with the CsrWifiFsm Module | |
1647 | status - Reports the result of the request | |
1648 | ||
1649 | *******************************************************************************/ | |
1650 | typedef struct | |
1651 | { | |
1652 | CsrWifiFsmEvent common; | |
1653 | CsrResult status; | |
1654 | } CsrWifiNmeEventMaskSetCfm; | |
1655 | ||
635d2b00 GKH |
1656 | #endif /* CSR_WIFI_NME_PRIM_H__ */ |
1657 |