Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
csr_wifi_nme_ap_prim.h
Go to the documentation of this file.
1 /*****************************************************************************
2 
3  (c) Cambridge Silicon Radio Limited 2012
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_AP_PRIM_H__
14 #define CSR_WIFI_NME_AP_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_ap_prim.h"
23 #include "csr_wifi_nme_prim.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #ifndef CSR_WIFI_NME_ENABLE
30 #error CSR_WIFI_NME_ENABLE MUST be defined inorder to use csr_wifi_nme_ap_prim.h
31 #endif
32 #ifndef CSR_WIFI_AP_ENABLE
33 #error CSR_WIFI_AP_ENABLE MUST be defined inorder to use csr_wifi_nme_ap_prim.h
34 #endif
35 
36 #define CSR_WIFI_NME_AP_PRIM (0x0426)
37 
39 
40 
41 /*******************************************************************************
42 
43  NAME
44  CsrWifiNmeApPersCredentialType
45 
46  DESCRIPTION
47  NME Credential Types
48 
49  VALUES
50  CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK
51  - Use PSK as credential.
52  CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE
53  - Use the specified passphrase as credential
54 
55 *******************************************************************************/
57 #define CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PSK ((CsrWifiNmeApPersCredentialType) 0x00)
58 #define CSR_WIFI_NME_AP_CREDENTIAL_TYPE_PASSPHRASE ((CsrWifiNmeApPersCredentialType) 0x01)
59 
60 
61 /*******************************************************************************
62 
63  NAME
64  CsrWifiNmeApConfig
65 
66  DESCRIPTION
67  Structure holding AP config data.
68 
69  MEMBERS
70  apGroupkeyTimeout - Access point group key timeout.
71  apStrictGtkRekey - Access point strict GTK rekey flag. If set TRUE, the AP
72  shall rekey GTK every time a connected STA leaves BSS.
73  apGmkTimeout - Access point GMK timeout
74  apResponseTimeout - Response timeout
75  apRetransLimit - Max allowed retransmissions
76 
77 *******************************************************************************/
78 typedef struct
79 {
86 
87 /*******************************************************************************
88 
89  NAME
90  CsrWifiNmeApAuthPers
91 
92  DESCRIPTION
93 
94  MEMBERS
95  authSupport - Credential type value (as defined in the
96  enumeration type).
97  rsnCapabilities - RSN capabilities mask
98  wapiCapabilities - WAPI capabilities mask
99  pskOrPassphrase - Credential type value (as defined in the
100  enumeration type).
101  authPers_credentials - Union containing credentials which depends
102  on credentialType parameter.
103  authPers_credentialspsk -
104  authPers_credentialspassphrase -
105 
106 *******************************************************************************/
107 typedef struct
108 {
112  CsrWifiNmeApPersCredentialType pskOrPassphrase;
113  union {
116  } authPers_credentials;
118 
119 /*******************************************************************************
120 
121  NAME
122  CsrWifiNmeApCredentials
123 
124  DESCRIPTION
125  Structure containing the Credentials data.
126 
127  MEMBERS
128  authType - Authentication type
129  nmeAuthType - Authentication parameters
130  nmeAuthTypeopenSystemEmpty -
131  nmeAuthTypeauthwep -
132  nmeAuthTypeauthTypePersonal -
133 
134 *******************************************************************************/
135 typedef struct
136 {
138  union {
142  } nmeAuthType;
144 
145 
146 /* Downstream */
147 #define CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST (0x0000)
148 
149 #define CSR_WIFI_NME_AP_CONFIG_SET_REQ ((CsrWifiNmeApPrim) (0x0000 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
150 #define CSR_WIFI_NME_AP_WPS_REGISTER_REQ ((CsrWifiNmeApPrim) (0x0001 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
151 #define CSR_WIFI_NME_AP_START_REQ ((CsrWifiNmeApPrim) (0x0002 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
152 #define CSR_WIFI_NME_AP_STOP_REQ ((CsrWifiNmeApPrim) (0x0003 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
153 #define CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_REQ ((CsrWifiNmeApPrim) (0x0004 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
154 #define CSR_WIFI_NME_AP_STA_REMOVE_REQ ((CsrWifiNmeApPrim) (0x0005 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST))
155 
156 
157 #define CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_HIGHEST (0x0005 + CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST)
158 
159 /* Upstream */
160 #define CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM)
161 
162 #define CSR_WIFI_NME_AP_CONFIG_SET_CFM ((CsrWifiNmeApPrim)(0x0000 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
163 #define CSR_WIFI_NME_AP_WPS_REGISTER_CFM ((CsrWifiNmeApPrim)(0x0001 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
164 #define CSR_WIFI_NME_AP_START_CFM ((CsrWifiNmeApPrim)(0x0002 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
165 #define CSR_WIFI_NME_AP_STOP_CFM ((CsrWifiNmeApPrim)(0x0003 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
166 #define CSR_WIFI_NME_AP_STOP_IND ((CsrWifiNmeApPrim)(0x0004 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
167 #define CSR_WIFI_NME_AP_WMM_PARAM_UPDATE_CFM ((CsrWifiNmeApPrim)(0x0005 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
168 #define CSR_WIFI_NME_AP_STATION_IND ((CsrWifiNmeApPrim)(0x0006 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST))
169 
170 #define CSR_WIFI_NME_AP_PRIM_UPSTREAM_HIGHEST (0x0006 + CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST)
171 
172 #define CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_NME_AP_PRIM_DOWNSTREAM_LOWEST)
173 #define CSR_WIFI_NME_AP_PRIM_UPSTREAM_COUNT (CSR_WIFI_NME_AP_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_NME_AP_PRIM_UPSTREAM_LOWEST)
174 
175 /*******************************************************************************
176 
177  NAME
178  CsrWifiNmeApConfigSetReq
179 
180  DESCRIPTION
181  This primitive passes AP configuration info for NME. This can be sent at
182  any time but will be acted upon when the AP is started again. This
183  information is common to both P2P GO and AP
184 
185  MEMBERS
186  common - Common header for use with the CsrWifiFsm Module
187  apConfig - AP configuration for the NME.
188  apMacConfig - MAC configuration to be acted on when
189  CSR_WIFI_NME_AP_START.request is sent.
190 
191 *******************************************************************************/
192 typedef struct
193 {
198 
199 /*******************************************************************************
200 
201  NAME
202  CsrWifiNmeApWpsRegisterReq
203 
204  DESCRIPTION
205  This primitive allows the NME to accept the WPS registration from an
206  enrollee. Such registration procedure can be cancelled by sending
207  CSR_WIFI_NME_WPS_CANCEL.request.
208 
209  MEMBERS
210  common - Common header for use with the CsrWifiFsm Module
211  interfaceTag - Interface Identifier; unique identifier of an
212  interface
213  selectedDevicePasswordId - Selected password type
214  selectedConfigMethod - Selected WPS configuration method type
215  pin - PIN value.
216  Relevant if selected device password ID is PIN.4
217  digit pin is passed by sending the pin digits in
218  pin[0]..pin[3] and rest of the contents filled
219  with '-'.
220 
221 *******************************************************************************/
222 typedef struct
223 {
228  u8 pin[8];
230 
231 /*******************************************************************************
232 
233  NAME
234  CsrWifiNmeApStartReq
235 
236  DESCRIPTION
237  This primitive requests NME to started the AP operation.
238 
239  MEMBERS
240  common - Common header for use with the CsrWifiFsm Module
241  interfaceTag - Interface identifier; unique identifier of an interface
242  apType - AP Type specifies the Legacy AP or P2P GO operation
243  cloakSsid - Indicates whether the SSID should be cloaked (hidden and
244  not broadcast in beacon) or not
245  ssid - Service Set Identifier
246  ifIndex - Radio interface
247  channel - Channel number of the channel to use
248  apCredentials - Security credential configuration.
249  maxConnections - Maximum number of stations/P2P clients allowed
250  p2pGoParam - P2P specific GO parameters.
251  wpsEnabled - Indicates whether WPS should be enabled or not
252 
253 *******************************************************************************/
254 typedef struct
255 {
268 
269 /*******************************************************************************
270 
271  NAME
272  CsrWifiNmeApStopReq
273 
274  DESCRIPTION
275  This primitive requests NME to stop the AP operation.
276 
277  MEMBERS
278  common - Common header for use with the CsrWifiFsm Module
279  interfaceTag - Interface identifier; unique identifier of an interface
280 
281 *******************************************************************************/
282 typedef struct
283 {
287 
288 /*******************************************************************************
289 
290  NAME
291  CsrWifiNmeApWmmParamUpdateReq
292 
293  DESCRIPTION
294  Application uses this primitive to update the WMM parameters
295 
296  MEMBERS
297  common - Common header for use with the CsrWifiFsm Module
298  wmmApParams - WMM Access point parameters per access category. The array
299  index corresponds to the ACI
300  wmmApBcParams - WMM station parameters per access category to be advertised
301  in the beacons and probe response The array index
302  corresponds to the ACI
303 
304 *******************************************************************************/
305 typedef struct
306 {
308  CsrWifiSmeWmmAcParams wmmApParams[4];
309  CsrWifiSmeWmmAcParams wmmApBcParams[4];
311 
312 /*******************************************************************************
313 
314  NAME
315  CsrWifiNmeApStaRemoveReq
316 
317  DESCRIPTION
318  This primitive disconnects a connected station. If keepBlocking is set to
319  TRUE, the station with the specified MAC address is not allowed to
320  connect. If the requested station is not already connected,it may be
321  blocked based on keepBlocking parameter.
322 
323  MEMBERS
324  common - Common header for use with the CsrWifiFsm Module
325  interfaceTag - Interface Identifier; unique identifier of an interface
326  staMacAddress - Mac Address of the station to be disconnected or blocked
327  keepBlocking - If TRUE, the station is blocked. If FALSE and the station is
328  connected, disconnect the station. If FALSE and the station
329  is not connected, no action is taken.
330 
331 *******************************************************************************/
332 typedef struct
333 {
339 
340 /*******************************************************************************
341 
342  NAME
343  CsrWifiNmeApConfigSetCfm
344 
345  DESCRIPTION
346  This primitive reports the result of the request.
347 
348  MEMBERS
349  common - Common header for use with the CsrWifiFsm Module
350  status - Status of the request.
351 
352 *******************************************************************************/
353 typedef struct
354 {
358 
359 /*******************************************************************************
360 
361  NAME
362  CsrWifiNmeApWpsRegisterCfm
363 
364  DESCRIPTION
365  This primitive reports the result of WPS procedure.
366 
367  MEMBERS
368  common - Common header for use with the CsrWifiFsm Module
369  interfaceTag - Interface identifier; unique identifier of an interface
370  status - Status of the request.
371 
372 *******************************************************************************/
373 typedef struct
374 {
379 
380 /*******************************************************************************
381 
382  NAME
383  CsrWifiNmeApStartCfm
384 
385  DESCRIPTION
386  This primitive reports the result of CSR_WIFI_NME_AP_START.request.
387 
388  MEMBERS
389  common - Common header for use with the CsrWifiFsm Module
390  interfaceTag - Interface identifier; unique identifier of an interface
391  status - Status of the request.
392  ssid - Service Set Identifier
393 
394 *******************************************************************************/
395 typedef struct
396 {
402 
403 /*******************************************************************************
404 
405  NAME
406  CsrWifiNmeApStopCfm
407 
408  DESCRIPTION
409  This primitive confirms that the AP operation is stopped. NME shall send
410  this primitive in response to the request even if AP operation has
411  already been stopped
412 
413  MEMBERS
414  common - Common header for use with the CsrWifiFsm Module
415  interfaceTag - Interface identifier; unique identifier of an interface
416  status - Status of the request.
417 
418 *******************************************************************************/
419 typedef struct
420 {
425 
426 /*******************************************************************************
427 
428  NAME
429  CsrWifiNmeApStopInd
430 
431  DESCRIPTION
432  Indicates that AP operation had stopped because of some unrecoverable
433  error after AP operation was started successfully. NME sends this signal
434  after failing to restart the AP operation internally following an error
435 
436  MEMBERS
437  common - Common header for use with the CsrWifiFsm Module
438  interfaceTag - Interface Identifier; unique identifier of an interface
439  apType - Reports AP Type (P2PGO or AP)
440  status - Error Status
441 
442 *******************************************************************************/
443 typedef struct
444 {
450 
451 /*******************************************************************************
452 
453  NAME
454  CsrWifiNmeApWmmParamUpdateCfm
455 
456  DESCRIPTION
457  A confirm for for the WMM parameters update
458 
459  MEMBERS
460  common - Common header for use with the CsrWifiFsm Module
461  status - Status of the request.
462 
463 *******************************************************************************/
464 typedef struct
465 {
469 
470 /*******************************************************************************
471 
472  NAME
473  CsrWifiNmeApStationInd
474 
475  DESCRIPTION
476  This primitive indicates that a station has joined or a previously joined
477  station has left the BSS/group
478 
479  MEMBERS
480  common - Common header for use with the CsrWifiFsm Module
481  interfaceTag - Interface Identifier; unique identifier of an interface
482  mediaStatus - Indicates whether the station is connected or
483  disconnected
484  peerMacAddress - MAC address of the station
485  peerDeviceAddress - P2P Device Address
486 
487 *******************************************************************************/
488 typedef struct
489 {
496 
497 
498 #ifdef __cplusplus
499 }
500 #endif
501 
502 #endif /* CSR_WIFI_NME_AP_PRIM_H__ */
503