1 /*****************************************************************************
3 (c) Cambridge Silicon Radio Limited 2012
4 All rights reserved and confidential information of CSR
6 Refer to LICENSE.txt included with this source for details
9 *****************************************************************************/
11 /* Note: this is an auto-generated file. */
13 #ifndef CSR_WIFI_NME_AP_PRIM_H__
14 #define CSR_WIFI_NME_AP_PRIM_H__
16 #include <linux/types.h>
17 #include "csr_prim_defs.h"
18 #include "csr_sched.h"
19 #include "csr_wifi_common.h"
20 #include "csr_result.h"
21 #include "csr_wifi_fsm_event.h"
22 #include "csr_wifi_sme_ap_prim.h"
23 #include "csr_wifi_nme_prim.h"
25 #ifndef CSR_WIFI_NME_ENABLE
26 #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_ap_prim.h
28 #ifndef CSR_WIFI_AP_ENABLE
29 #error CSR_WIFI_AP_ENABLE MUST be defined inorder to use csr_wifi_nme_ap_prim.h
32 #define CSR_WIFI_NME_AP_PRIM (0x0426)
34 typedef CsrPrim CsrWifiNmeApPrim;
37 /*******************************************************************************
40 CsrWifiNmeApPersCredentialType
46 CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK
47 - Use PSK as credential.
48 CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE
49 - Use the specified passphrase as credential
51 *******************************************************************************/
52 typedef u8 CsrWifiNmeApPersCredentialType;
53 #define CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK ((CsrWifiNmeApPersCredentialType) 0x00)
54 #define CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE ((CsrWifiNmeApPersCredentialType) 0x01)
57 /*******************************************************************************
63 Structure holding AP config data.
66 apGroupkeyTimeout - Access point group key timeout.
67 apStrictGtkRekey - Access point strict GTK rekey flag. If set TRUE, the AP
68 shall rekey GTK every time a connected STA leaves BSS.
69 apGmkTimeout - Access point GMK timeout
70 apResponseTimeout - Response timeout
71 apRetransLimit - Max allowed retransmissions
73 *******************************************************************************/
76 u16 apGroupkeyTimeout;
79 u16 apResponseTimeout;
83 /*******************************************************************************
91 authSupport - Credential type value (as defined in the
93 rsnCapabilities - RSN capabilities mask
94 wapiCapabilities - WAPI capabilities mask
95 pskOrPassphrase - Credential type value (as defined in the
97 authPers_credentials - Union containing credentials which depends
98 on credentialType parameter.
99 authPers_credentialspsk -
100 authPers_credentialspassphrase -
102 *******************************************************************************/
105 CsrWifiSmeApAuthSupportMask authSupport;
106 CsrWifiSmeApRsnCapabilitiesMask rsnCapabilities;
107 CsrWifiSmeApWapiCapabilitiesMask wapiCapabilities;
108 CsrWifiNmeApPersCredentialType pskOrPassphrase;
111 CsrWifiNmePassphrase passphrase;
112 } authPers_credentials;
113 } CsrWifiNmeApAuthPers;
115 /*******************************************************************************
118 CsrWifiNmeApCredentials
121 Structure containing the Credentials data.
124 authType - Authentication type
125 nmeAuthType - Authentication parameters
126 nmeAuthTypeopenSystemEmpty -
128 nmeAuthTypeauthTypePersonal -
130 *******************************************************************************/
133 CsrWifiSmeApAuthType authType;
135 CsrWifiSmeEmpty openSystemEmpty;
136 CsrWifiSmeWepAuth authwep;
137 CsrWifiNmeApAuthPers authTypePersonal;
139 } CsrWifiNmeApCredentials;
143 #define CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST (0x0000)
145 #define CSR_WIFI_NME_AP_CONFIG_SET_REQ ((CsrWifiNmeApPrim) (0x0000 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
146 #define CSR_WIFI_NME_AP_WPS_REGISTER_REQ ((CsrWifiNmeApPrim) (0x0001 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
147 #define CSR_WIFI_NME_AP_START_REQ ((CsrWifiNmeApPrim) (0x0002 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
148 #define CSR_WIFI_NME_AP_STOP_REQ ((CsrWifiNmeApPrim) (0x0003 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
149 #define CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_REQ ((CsrWifiNmeApPrim) (0x0004 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
150 #define CSR_WIFI_NME_AP_STA_REMOVE_REQ ((CsrWifiNmeApPrim) (0x0005 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
153 #define CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_HIGHEST (0x0005 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST)
156 #define CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM)
158 #define CSR_WIFI_NME_AP_CONFIG_SET_CFM ((CsrWifiNmeApPrim)(0x0000 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
159 #define CSR_WIFI_NME_AP_WPS_REGISTER_CFM ((CsrWifiNmeApPrim)(0x0001 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
160 #define CSR_WIFI_NME_AP_START_CFM ((CsrWifiNmeApPrim)(0x0002 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
161 #define CSR_WIFI_NME_AP_STOP_CFM ((CsrWifiNmeApPrim)(0x0003 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
162 #define CSR_WIFI_NME_AP_STOP_IND ((CsrWifiNmeApPrim)(0x0004 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
163 #define CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_CFM ((CsrWifiNmeApPrim)(0x0005 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
164 #define CSR_WIFI_NME_AP_STATION_IND ((CsrWifiNmeApPrim)(0x0006 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
166 #define CSR_WIFI_NME_AP_PRIM_UPSTREAM_HIGHEST (0x0006 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST)
168 #define CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST)
169 #define CSR_WIFI_NME_AP_PRIM_UPSTREAM_COUNT (CSR_WIFI_NME_AP_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST)
171 /*******************************************************************************
174 CsrWifiNmeApConfigSetReq
177 This primitive passes AP configuration info for NME. This can be sent at
178 any time but will be acted upon when the AP is started again. This
179 information is common to both P2P GO and AP
182 common - Common header for use with the CsrWifiFsm Module
183 apConfig - AP configuration for the NME.
184 apMacConfig - MAC configuration to be acted on when
185 CSR_WIFI_NME_AP_START.request is sent.
187 *******************************************************************************/
190 CsrWifiFsmEvent common;
191 CsrWifiNmeApConfig apConfig;
192 CsrWifiSmeApMacConfig apMacConfig;
193 } CsrWifiNmeApConfigSetReq;
195 /*******************************************************************************
198 CsrWifiNmeApWpsRegisterReq
201 This primitive allows the NME to accept the WPS registration from an
202 enrollee. Such registration procedure can be cancelled by sending
203 CSR_WIFI_NME_WPS_CANCEL.request.
206 common - Common header for use with the CsrWifiFsm Module
207 interfaceTag - Interface Identifier; unique identifier of an
209 selectedDevicePasswordId - Selected password type
210 selectedConfigMethod - Selected WPS configuration method type
212 Relevant if selected device password ID is PIN.4
213 digit pin is passed by sending the pin digits in
214 pin[0]..pin[3] and rest of the contents filled
217 *******************************************************************************/
220 CsrWifiFsmEvent common;
222 CsrWifiSmeWpsDpid selectedDevicePasswordId;
223 CsrWifiSmeWpsConfigType selectedConfigMethod;
225 } CsrWifiNmeApWpsRegisterReq;
227 /*******************************************************************************
233 This primitive requests NME to started the AP operation.
236 common - Common header for use with the CsrWifiFsm Module
237 interfaceTag - Interface identifier; unique identifier of an interface
238 apType - AP Type specifies the Legacy AP or P2P GO operation
239 cloakSsid - Indicates whether the SSID should be cloaked (hidden and
240 not broadcast in beacon) or not
241 ssid - Service Set Identifier
242 ifIndex - Radio interface
243 channel - Channel number of the channel to use
244 apCredentials - Security credential configuration.
245 maxConnections - Maximum number of stations/P2P clients allowed
246 p2pGoParam - P2P specific GO parameters.
247 wpsEnabled - Indicates whether WPS should be enabled or not
249 *******************************************************************************/
252 CsrWifiFsmEvent common;
254 CsrWifiSmeApType apType;
257 CsrWifiSmeRadioIF ifIndex;
259 CsrWifiNmeApCredentials apCredentials;
261 CsrWifiSmeApP2pGoConfig p2pGoParam;
263 } CsrWifiNmeApStartReq;
265 /*******************************************************************************
271 This primitive requests NME to stop the AP operation.
274 common - Common header for use with the CsrWifiFsm Module
275 interfaceTag - Interface identifier; unique identifier of an interface
277 *******************************************************************************/
280 CsrWifiFsmEvent common;
282 } CsrWifiNmeApStopReq;
284 /*******************************************************************************
287 CsrWifiNmeApWmmParamUpdateReq
290 Application uses this primitive to update the WMM parameters
293 common - Common header for use with the CsrWifiFsm Module
294 wmmApParams - WMM Access point parameters per access category. The array
295 index corresponds to the ACI
296 wmmApBcParams - WMM station parameters per access category to be advertised
297 in the beacons and probe response The array index
298 corresponds to the ACI
300 *******************************************************************************/
303 CsrWifiFsmEvent common;
304 CsrWifiSmeWmmAcParams wmmApParams[4];
305 CsrWifiSmeWmmAcParams wmmApBcParams[4];
306 } CsrWifiNmeApWmmParamUpdateReq;
308 /*******************************************************************************
311 CsrWifiNmeApStaRemoveReq
314 This primitive disconnects a connected station. If keepBlocking is set to
315 TRUE, the station with the specified MAC address is not allowed to
316 connect. If the requested station is not already connected,it may be
317 blocked based on keepBlocking parameter.
320 common - Common header for use with the CsrWifiFsm Module
321 interfaceTag - Interface Identifier; unique identifier of an interface
322 staMacAddress - Mac Address of the station to be disconnected or blocked
323 keepBlocking - If TRUE, the station is blocked. If FALSE and the station is
324 connected, disconnect the station. If FALSE and the station
325 is not connected, no action is taken.
327 *******************************************************************************/
330 CsrWifiFsmEvent common;
332 CsrWifiMacAddress staMacAddress;
334 } CsrWifiNmeApStaRemoveReq;
336 /*******************************************************************************
339 CsrWifiNmeApConfigSetCfm
342 This primitive reports the result of the request.
345 common - Common header for use with the CsrWifiFsm Module
346 status - Status of the request.
348 *******************************************************************************/
351 CsrWifiFsmEvent common;
353 } CsrWifiNmeApConfigSetCfm;
355 /*******************************************************************************
358 CsrWifiNmeApWpsRegisterCfm
361 This primitive reports the result of WPS procedure.
364 common - Common header for use with the CsrWifiFsm Module
365 interfaceTag - Interface identifier; unique identifier of an interface
366 status - Status of the request.
368 *******************************************************************************/
371 CsrWifiFsmEvent common;
374 } CsrWifiNmeApWpsRegisterCfm;
376 /*******************************************************************************
382 This primitive reports the result of CSR_WIFI_NME_AP_START.request.
385 common - Common header for use with the CsrWifiFsm Module
386 interfaceTag - Interface identifier; unique identifier of an interface
387 status - Status of the request.
388 ssid - Service Set Identifier
390 *******************************************************************************/
393 CsrWifiFsmEvent common;
397 } CsrWifiNmeApStartCfm;
399 /*******************************************************************************
405 This primitive confirms that the AP operation is stopped. NME shall send
406 this primitive in response to the request even if AP operation has
410 common - Common header for use with the CsrWifiFsm Module
411 interfaceTag - Interface identifier; unique identifier of an interface
412 status - Status of the request.
414 *******************************************************************************/
417 CsrWifiFsmEvent common;
420 } CsrWifiNmeApStopCfm;
422 /*******************************************************************************
428 Indicates that AP operation had stopped because of some unrecoverable
429 error after AP operation was started successfully. NME sends this signal
430 after failing to restart the AP operation internally following an error
433 common - Common header for use with the CsrWifiFsm Module
434 interfaceTag - Interface Identifier; unique identifier of an interface
435 apType - Reports AP Type (P2PGO or AP)
436 status - Error Status
438 *******************************************************************************/
441 CsrWifiFsmEvent common;
443 CsrWifiSmeApType apType;
445 } CsrWifiNmeApStopInd;
447 /*******************************************************************************
450 CsrWifiNmeApWmmParamUpdateCfm
453 A confirm for for the WMM parameters update
456 common - Common header for use with the CsrWifiFsm Module
457 status - Status of the request.
459 *******************************************************************************/
462 CsrWifiFsmEvent common;
464 } CsrWifiNmeApWmmParamUpdateCfm;
466 /*******************************************************************************
469 CsrWifiNmeApStationInd
472 This primitive indicates that a station has joined or a previously joined
473 station has left the BSS/group
476 common - Common header for use with the CsrWifiFsm Module
477 interfaceTag - Interface Identifier; unique identifier of an interface
478 mediaStatus - Indicates whether the station is connected or
480 peerMacAddress - MAC address of the station
481 peerDeviceAddress - P2P Device Address
483 *******************************************************************************/
486 CsrWifiFsmEvent common;
488 CsrWifiSmeMediaStatus mediaStatus;
489 CsrWifiMacAddress peerMacAddress;
490 CsrWifiMacAddress peerDeviceAddress;
491 } CsrWifiNmeApStationInd;
493 #endif /* CSR_WIFI_NME_AP_PRIM_H__ */