• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_SME_AP_PRIM_H__
14 #define CSR_WIFI_SME_AP_PRIM_H__
15 
16 #include "csr_prim_defs.h"
17 #include "csr_sched.h"
18 #include "csr_wifi_common.h"
19 #include "csr_result.h"
20 #include "csr_wifi_fsm_event.h"
21 #include "csr_wifi_sme_prim.h"
22 
23 #ifndef CSR_WIFI_AP_ENABLE
24 #error CSR_WIFI_AP_ENABLE MUST be defined inorder to use csr_wifi_sme_ap_prim.h
25 #endif
26 
27 #define CSR_WIFI_SME_AP_PRIM                                            (0x0407)
28 
29 typedef CsrPrim CsrWifiSmeApPrim;
30 
31 
32 /*******************************************************************************
33 
34   NAME
35     CsrWifiSmeApAccessType
36 
37   DESCRIPTION
38     Allow or deny STAs based on MAC address
39 
40  VALUES
41     CSR_WIFI_AP_ACCESS_TYPE_NONE  - None
42     CSR_WIFI_AP_ACCESS_TYPE_ALLOW - Allow only if MAC address is from the list
43     CSR_WIFI_AP_ACCESS_TYPE_DENY  - Disallow if MAC address is from the list
44 
45 *******************************************************************************/
46 typedef u8 CsrWifiSmeApAccessType;
47 #define CSR_WIFI_AP_ACCESS_TYPE_NONE    ((CsrWifiSmeApAccessType) 0x00)
48 #define CSR_WIFI_AP_ACCESS_TYPE_ALLOW   ((CsrWifiSmeApAccessType) 0x01)
49 #define CSR_WIFI_AP_ACCESS_TYPE_DENY    ((CsrWifiSmeApAccessType) 0x02)
50 
51 /*******************************************************************************
52 
53   NAME
54     CsrWifiSmeApAuthSupport
55 
56   DESCRIPTION
57     Define bits for AP authentication support
58 
59  VALUES
60     CSR_WIFI_SME_RSN_AUTH_WPAPSK  - RSN WPA-PSK Support
61     CSR_WIFI_SME_RSN_AUTH_WPA2PSK - RSN WPA2-PSK Support
62     CSR_WIFI_SME_AUTH_WAPIPSK     - WAPI-PSK Support
63 
64 *******************************************************************************/
65 typedef u8 CsrWifiSmeApAuthSupport;
66 #define CSR_WIFI_SME_RSN_AUTH_WPAPSK    ((CsrWifiSmeApAuthSupport) 0x01)
67 #define CSR_WIFI_SME_RSN_AUTH_WPA2PSK   ((CsrWifiSmeApAuthSupport) 0x02)
68 #define CSR_WIFI_SME_AUTH_WAPIPSK       ((CsrWifiSmeApAuthSupport) 0x04)
69 
70 /*******************************************************************************
71 
72   NAME
73     CsrWifiSmeApAuthType
74 
75   DESCRIPTION
76     Definition of the SME AP Authentication Options
77 
78  VALUES
79     CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM
80                    - Open  authentication
81     CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL
82                    - Personal authentication using a passphrase or a pre-shared
83                      key.
84     CSR_WIFI_SME_AP_AUTH_TYPE_WEP
85                    - WEP authentication. This can be either open or shared key
86 
87 *******************************************************************************/
88 typedef u8 CsrWifiSmeApAuthType;
89 #define CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM   ((CsrWifiSmeApAuthType) 0x00)
90 #define CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL      ((CsrWifiSmeApAuthType) 0x01)
91 #define CSR_WIFI_SME_AP_AUTH_TYPE_WEP           ((CsrWifiSmeApAuthType) 0x02)
92 
93 /*******************************************************************************
94 
95   NAME
96     CsrWifiSmeApDirection
97 
98   DESCRIPTION
99     Definition of Direction
100 
101  VALUES
102     CSR_WIFI_AP_DIRECTION_RECEIPIENT - Receipient
103     CSR_WIFI_AP_DIRECTION_ORIGINATOR - Originator
104 
105 *******************************************************************************/
106 typedef u8 CsrWifiSmeApDirection;
107 #define CSR_WIFI_AP_DIRECTION_RECEIPIENT   ((CsrWifiSmeApDirection) 0x00)
108 #define CSR_WIFI_AP_DIRECTION_ORIGINATOR   ((CsrWifiSmeApDirection) 0x01)
109 
110 /*******************************************************************************
111 
112   NAME
113     CsrWifiSmeApPhySupport
114 
115   DESCRIPTION
116     Define bits for CsrWifiSmeApPhySupportMask
117 
118  VALUES
119     CSR_WIFI_SME_AP_PHY_SUPPORT_A - 802.11a. It is not supported in the current
120                                     release.
121     CSR_WIFI_SME_AP_PHY_SUPPORT_B - 802.11b
122     CSR_WIFI_SME_AP_PHY_SUPPORT_G - 802.11g
123     CSR_WIFI_SME_AP_PHY_SUPPORT_N - 802.11n
124 
125 *******************************************************************************/
126 typedef u8 CsrWifiSmeApPhySupport;
127 #define CSR_WIFI_SME_AP_PHY_SUPPORT_A   ((CsrWifiSmeApPhySupport) 0x01)
128 #define CSR_WIFI_SME_AP_PHY_SUPPORT_B   ((CsrWifiSmeApPhySupport) 0x02)
129 #define CSR_WIFI_SME_AP_PHY_SUPPORT_G   ((CsrWifiSmeApPhySupport) 0x04)
130 #define CSR_WIFI_SME_AP_PHY_SUPPORT_N   ((CsrWifiSmeApPhySupport) 0x08)
131 
132 /*******************************************************************************
133 
134   NAME
135     CsrWifiSmeApType
136 
137   DESCRIPTION
138     Definition of AP types
139 
140  VALUES
141     CSR_WIFI_AP_TYPE_LEGACY - Legacy AP
142     CSR_WIFI_AP_TYPE_P2P    - P2P Group Owner(GO)
143 
144 *******************************************************************************/
145 typedef u8 CsrWifiSmeApType;
146 #define CSR_WIFI_AP_TYPE_LEGACY   ((CsrWifiSmeApType) 0x00)
147 #define CSR_WIFI_AP_TYPE_P2P      ((CsrWifiSmeApType) 0x01)
148 
149 
150 /*******************************************************************************
151 
152   NAME
153     CsrWifiSmeApAuthSupportMask
154 
155   DESCRIPTION
156     See CsrWifiSmeApAuthSupport for bit definitions
157 
158 *******************************************************************************/
159 typedef u8 CsrWifiSmeApAuthSupportMask;
160 /*******************************************************************************
161 
162   NAME
163     CsrWifiSmeApPhySupportMask
164 
165   DESCRIPTION
166     Mask type for use with the values defined by CsrWifiSmeApPhySupport
167 
168 *******************************************************************************/
169 typedef u8 CsrWifiSmeApPhySupportMask;
170 /*******************************************************************************
171 
172   NAME
173     CsrWifiSmeApRsnCapabilities
174 
175   DESCRIPTION
176     Set to 0 for the current release
177 
178 *******************************************************************************/
179 typedef u16 CsrWifiSmeApRsnCapabilities;
180 /*******************************************************************************
181 
182   NAME
183     CsrWifiSmeApRsnCapabilitiesMask
184 
185   DESCRIPTION
186     Mask type for use with the values defined by CsrWifiSmeApRsnCapabilities
187 
188 *******************************************************************************/
189 typedef u16 CsrWifiSmeApRsnCapabilitiesMask;
190 /*******************************************************************************
191 
192   NAME
193     CsrWifiSmeApWapiCapabilities
194 
195   DESCRIPTION
196     Ignored by the stack as WAPI is not supported for AP operations in the
197     current release
198 
199 *******************************************************************************/
200 typedef u16 CsrWifiSmeApWapiCapabilities;
201 /*******************************************************************************
202 
203   NAME
204     CsrWifiSmeApWapiCapabilitiesMask
205 
206   DESCRIPTION
207     Mask type for use with the values defined by CsrWifiSmeApWapiCapabilities
208 
209 *******************************************************************************/
210 typedef u16 CsrWifiSmeApWapiCapabilitiesMask;
211 
212 
213 /*******************************************************************************
214 
215   NAME
216     CsrWifiSmeApHtParams
217 
218   DESCRIPTION
219     Structure holding HT parameters
220 
221   MEMBERS
222     greenfieldSupported - Indicates if the AP supports Htgreenfield operation
223                           subject to the chip capability. If the chip does not
224                           support Htgreenfield operation, this parameter will be
225                           ignored.
226                           NOTE: if shortGi20MHz is set to TRUE and the chip
227                           supports short GI operation for 20MHz this field will
228                           be be ignored and the AP will not support Htgreenfield
229                           operation.
230                           NOTE: This field is ignored by the Wi-Fi stack for the
231                           current release. It implies that AP does not support
232                           greenfield operation.
233     shortGi20MHz        - Indicates if the AP support short GI operation for
234                           20MHz subject to the chip capability.If the chip does
235                           not support short GI for 20MHz, this parameter is
236                           ignored
237     rxStbc              - Support for STBC for receive. 0 => No support for STBC
238                           , 1=> Use STBC for Rx
239     rifsModeAllowed     - RIFS Mode is allowed to protect overlapping non-HT BSS
240     htProtection        - Deprecated
241     dualCtsProtection   - Dual CTS Protection enabled
242 
243 *******************************************************************************/
244 typedef struct
245 {
246     u8  greenfieldSupported;
247     u8  shortGi20MHz;
248     u8 rxStbc;
249     u8  rifsModeAllowed;
250     u8 htProtection;
251     u8  dualCtsProtection;
252 } CsrWifiSmeApHtParams;
253 
254 /*******************************************************************************
255 
256   NAME
257     CsrWifiSmeApP2pOperatingChanEntry
258 
259   DESCRIPTION
260 
261   MEMBERS
262     operatingClass        - Channel operating class
263     operatingChannelCount - Number of channels in this entry
264     operatingChannel      - List of channels
265 
266 *******************************************************************************/
267 typedef struct
268 {
269     u8  operatingClass;
270     u8  operatingChannelCount;
271     u8 *operatingChannel;
272 } CsrWifiSmeApP2pOperatingChanEntry;
273 
274 /*******************************************************************************
275 
276   NAME
277     CsrWifiSmeApP2pOperatingChanList
278 
279   DESCRIPTION
280     This structure contains the lists of P2P operating channels
281 
282   MEMBERS
283     country               - Country
284     channelEntryListCount - Number of entries
285     channelEntryList      - List of entries
286 
287 *******************************************************************************/
288 typedef struct
289 {
290     u8                           country[3];
291     u8                           channelEntryListCount;
292     CsrWifiSmeApP2pOperatingChanEntry *channelEntryList;
293 } CsrWifiSmeApP2pOperatingChanList;
294 
295 /*******************************************************************************
296 
297   NAME
298     CsrWifiSmeApAuthPers
299 
300   DESCRIPTION
301 
302   MEMBERS
303     authSupport        -
304     encryptionModeMask -
305     rsnCapabilities    -
306     wapiCapabilities   -
307 
308 *******************************************************************************/
309 typedef struct
310 {
311     CsrWifiSmeApAuthSupportMask      authSupport;
312     CsrWifiSmeEncryptionMask         encryptionModeMask;
313     CsrWifiSmeApRsnCapabilitiesMask  rsnCapabilities;
314     CsrWifiSmeApWapiCapabilitiesMask wapiCapabilities;
315 } CsrWifiSmeApAuthPers;
316 
317 /*******************************************************************************
318 
319   NAME
320     CsrWifiSmeApBaSession
321 
322   DESCRIPTION
323 
324   MEMBERS
325     peerMacAddress - Indicates MAC address of the peer station
326     tid            - Specifies the TID of the MSDUs for which this Block Ack has
327                      been set up. Range: 0-15
328     direction      - Specifies if the AP is the originator or the recipient of
329                      the data stream that uses the Block Ack.
330 
331 *******************************************************************************/
332 typedef struct
333 {
334     CsrWifiMacAddress     peerMacAddress;
335     u8              tid;
336     CsrWifiSmeApDirection direction;
337 } CsrWifiSmeApBaSession;
338 
339 /*******************************************************************************
340 
341   NAME
342     CsrWifiSmeApMacConfig
343 
344   DESCRIPTION
345     Structure holding AP MAC configuration.
346 
347   MEMBERS
348     phySupportedBitmap   - Indicates supported physical layers
349     beaconInterval       - Beacon interval in terms of TUs
350     dtimPeriod           - DTIM period in terms of number of beacon intervals
351     maxListenInterval    - Maximum allowed listen interval as number of beacon
352                            intervals
353     supportedRatesCount  - Number of supported rates. Range : 0  to 20
354     supportedRates       - List of supportedRates. A rate is specied in the
355                            units of 500kbps. An entry for a basic rate shall
356                            have the MSB set to 1.
357     preamble             - Preamble to be advertised in beacons and probe
358                            responses
359     shortSlotTimeEnabled - TRUE indicates the AP shall use short slot time if
360                            all the stations use short slot operation.
361     ctsProtectionType    - CTS protection to be used
362     wmmEnabled           - Indicate whether WMM is enabled or not. If set to
363                            FALSE,the WMM parameters shall be ignored by the
364                            receiver.
365     wmmApParams          - WMM parameters to be used for local firmware queue
366                            configuration. Array index corresponds to the ACI.
367     wmmApBcParams        - WMM parameters to be advertised in beacon/probe
368                            response. Array index corresponds to the ACI
369     accessType           - Specifies whether the MAC addresses from the list
370                            should be allowed or denied
371     macAddressListCount  - Number of MAC addresses
372     macAddressList       - List of MAC addresses
373     apHtParams           - AP HT parameters. The stack shall use these
374                            parameters only if phySupportedBitmap indicates
375                            support for IEEE 802.11n
376 
377 *******************************************************************************/
378 typedef struct
379 {
380     CsrWifiSmeApPhySupportMask  phySupportedBitmap;
381     u16                   beaconInterval;
382     u8                    dtimPeriod;
383     u16                   maxListenInterval;
384     u8                    supportedRatesCount;
385     u8                    supportedRates[20];
386     CsrWifiSmePreambleType      preamble;
387     u8                     shortSlotTimeEnabled;
388     CsrWifiSmeCtsProtectionType ctsProtectionType;
389     u8                     wmmEnabled;
390     CsrWifiSmeWmmAcParams       wmmApParams[4];
391     CsrWifiSmeWmmAcParams       wmmApBcParams[4];
392     CsrWifiSmeApAccessType      accessType;
393     u8                    macAddressListCount;
394     CsrWifiMacAddress          *macAddressList;
395     CsrWifiSmeApHtParams        apHtParams;
396 } CsrWifiSmeApMacConfig;
397 
398 /*******************************************************************************
399 
400   NAME
401     CsrWifiSmeApP2pGoConfig
402 
403   DESCRIPTION
404 
405   MEMBERS
406     groupCapability           - Indicates the P2P group capabilities
407     operatingChanList         - List of operating channels in the order of
408                                 decreasing priority. It may contain channel
409                                 entry/entries not supported by the wifi stack.
410                                 These shall be filtered out by the wifi stack
411     opPsEnabled               - Indicates whether opportunistic power save can
412                                 be used.
413                                 Note: This parameter is ignored by the WiFi
414                                 stack for the current release
415     ctWindow                  - Define Client Traffic window to be used in terms
416                                 of number of TUs. Range: 0 to 127.
417                                 Note: This parameter is ignored by the WiFi
418                                 stack for the current release.
419     noaConfigMethod           - Notice of Absence configuration method.
420                                 Note: This parameter is ignored by the WiFi
421                                 stack for the current release.
422     allowNoaWithNonP2pDevices - Indicates if NOA should be allowed if non P2P
423                                 devices are connected. If allowed the non P2P
424                                 devices may suffer in throughput.
425                                 Note: This parameter is ignored by the WiFi
426                                 stack for the current release.
427 
428 *******************************************************************************/
429 typedef struct
430 {
431     CsrWifiSmeP2pGroupCapabilityMask groupCapability;
432     CsrWifiSmeApP2pOperatingChanList operatingChanList;
433     u8                          opPsEnabled;
434     u8                         ctWindow;
435     CsrWifiSmeP2pNoaConfigMethod     noaConfigMethod;
436     u8                          allowNoaWithNonP2pDevices;
437 } CsrWifiSmeApP2pGoConfig;
438 
439 /*******************************************************************************
440 
441   NAME
442     CsrWifiSmeApCredentials
443 
444   DESCRIPTION
445 
446   MEMBERS
447     authType                    -
448     smeAuthType                 -
449     smeAuthTypeopenSystemEmpty  -
450     smeAuthTypeauthwep          -
451     smeAuthTypeauthPers         -
452 
453 *******************************************************************************/
454 typedef struct
455 {
456     CsrWifiSmeApAuthType authType;
457     union {
458         CsrWifiSmeEmpty      openSystemEmpty;
459         CsrWifiSmeWepAuth    authwep;
460         CsrWifiSmeApAuthPers authPers;
461     } smeAuthType;
462 } CsrWifiSmeApCredentials;
463 
464 /*******************************************************************************
465 
466   NAME
467     CsrWifiSmeApSecConfig
468 
469   DESCRIPTION
470 
471   MEMBERS
472     apCredentials -
473     wpsEnabled    -
474 
475 *******************************************************************************/
476 typedef struct
477 {
478     CsrWifiSmeApCredentials apCredentials;
479     u8                 wpsEnabled;
480 } CsrWifiSmeApSecConfig;
481 
482 
483 /* Downstream */
484 #define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST            (0x0000)
485 
486 #define CSR_WIFI_SME_AP_BEACONING_START_REQ               ((CsrWifiSmeApPrim) (0x0000 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
487 #define CSR_WIFI_SME_AP_BEACONING_STOP_REQ                ((CsrWifiSmeApPrim) (0x0001 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
488 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_STARTED_REQ      ((CsrWifiSmeApPrim) (0x0002 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
489 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_FINISHED_REQ     ((CsrWifiSmeApPrim) (0x0003 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
490 #define CSR_WIFI_SME_AP_WMM_PARAM_UPDATE_REQ              ((CsrWifiSmeApPrim) (0x0004 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
491 #define CSR_WIFI_SME_AP_STA_DISCONNECT_REQ                ((CsrWifiSmeApPrim) (0x0005 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
492 #define CSR_WIFI_SME_AP_WPS_CONFIGURATION_REQ             ((CsrWifiSmeApPrim) (0x0006 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
493 #define CSR_WIFI_SME_AP_ACTIVE_BA_GET_REQ                 ((CsrWifiSmeApPrim) (0x0007 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
494 #define CSR_WIFI_SME_AP_BA_DELETE_REQ                     ((CsrWifiSmeApPrim) (0x0008 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
495 
496 
497 #define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_HIGHEST           (0x0008 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)
498 
499 /* Upstream */
500 #define CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST              (0x0000 + CSR_PRIM_UPSTREAM)
501 
502 #define CSR_WIFI_SME_AP_BEACONING_START_CFM               ((CsrWifiSmeApPrim)(0x0000 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
503 #define CSR_WIFI_SME_AP_BEACONING_STOP_CFM                ((CsrWifiSmeApPrim)(0x0001 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
504 #define CSR_WIFI_SME_AP_STA_NOTIFY_IND                    ((CsrWifiSmeApPrim)(0x0002 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
505 #define CSR_WIFI_SME_AP_STA_CONNECT_START_IND             ((CsrWifiSmeApPrim)(0x0003 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
506 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_STARTED_CFM      ((CsrWifiSmeApPrim)(0x0004 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
507 #define CSR_WIFI_SME_AP_WPS_REGISTRATION_FINISHED_CFM     ((CsrWifiSmeApPrim)(0x0005 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
508 #define CSR_WIFI_SME_AP_WMM_PARAM_UPDATE_CFM              ((CsrWifiSmeApPrim)(0x0006 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
509 #define CSR_WIFI_SME_AP_STA_DISCONNECT_CFM                ((CsrWifiSmeApPrim)(0x0007 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
510 #define CSR_WIFI_SME_AP_WPS_CONFIGURATION_CFM             ((CsrWifiSmeApPrim)(0x0008 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
511 #define CSR_WIFI_SME_AP_ERROR_IND                         ((CsrWifiSmeApPrim)(0x0009 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
512 #define CSR_WIFI_SME_AP_ACTIVE_BA_GET_CFM                 ((CsrWifiSmeApPrim)(0x000A + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
513 #define CSR_WIFI_SME_AP_BA_DELETE_CFM                     ((CsrWifiSmeApPrim)(0x000B + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
514 
515 #define CSR_WIFI_SME_AP_PRIM_UPSTREAM_HIGHEST             (0x000B + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)
516 
517 #define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_COUNT             (CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)
518 #define CSR_WIFI_SME_AP_PRIM_UPSTREAM_COUNT               (CSR_WIFI_SME_AP_PRIM_UPSTREAM_HIGHEST   + 1 - CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)
519 
520 /*******************************************************************************
521 
522   NAME
523     CsrWifiSmeApBeaconingStartReq
524 
525   DESCRIPTION
526     This primitive requests the SME to start AP or GO functionality
527 
528   MEMBERS
529     common          - Common header for use with the CsrWifiFsm Module
530     interfaceTag    -
531     initialPresence - Set to 0, if Not in a group fomration phase, set to 1 ,
532                       during group formation phase
533     apType          - apType : Legacy AP or P2PGO
534     cloakSsid       - cloakSsid flag.
535     ssid            - ssid.
536     ifIndex         - Radio Interface
537     channel         - channel.
538     maxConnections  - Maximum Stations + P2PClients allowed
539     apCredentials   - AP security credeitals used to advertise in beacon /probe
540                       response
541     smeApConfig     - AP configuration
542     p2pGoParam      - P2P specific GO parameters. Ignored if it is a leagacy AP
543 
544 *******************************************************************************/
545 typedef struct
546 {
547     CsrWifiFsmEvent         common;
548     u16               interfaceTag;
549     u8                initialPresence;
550     CsrWifiSmeApType        apType;
551     u8                 cloakSsid;
552     CsrWifiSsid             ssid;
553     CsrWifiSmeRadioIF       ifIndex;
554     u8                channel;
555     u8                maxConnections;
556     CsrWifiSmeApSecConfig   apCredentials;
557     CsrWifiSmeApMacConfig   smeApConfig;
558     CsrWifiSmeApP2pGoConfig p2pGoParam;
559 } CsrWifiSmeApBeaconingStartReq;
560 
561 /*******************************************************************************
562 
563   NAME
564     CsrWifiSmeApBeaconingStopReq
565 
566   DESCRIPTION
567     This primitive requests the SME to STOP AP or P2PGO operation
568 
569   MEMBERS
570     common       - Common header for use with the CsrWifiFsm Module
571     interfaceTag -
572 
573 *******************************************************************************/
574 typedef struct
575 {
576     CsrWifiFsmEvent common;
577     u16       interfaceTag;
578 } CsrWifiSmeApBeaconingStopReq;
579 
580 /*******************************************************************************
581 
582   NAME
583     CsrWifiSmeApWpsRegistrationStartedReq
584 
585   DESCRIPTION
586     This primitive tells SME that WPS registration procedure has started
587 
588   MEMBERS
589     common                   - Common header for use with the CsrWifiFsm Module
590     interfaceTag             -
591     SelectedDevicePasswordId -
592     SelectedconfigMethod     -
593 
594 *******************************************************************************/
595 typedef struct
596 {
597     CsrWifiFsmEvent         common;
598     u16               interfaceTag;
599     CsrWifiSmeWpsDpid       SelectedDevicePasswordId;
600     CsrWifiSmeWpsConfigType SelectedconfigMethod;
601 } CsrWifiSmeApWpsRegistrationStartedReq;
602 
603 /*******************************************************************************
604 
605   NAME
606     CsrWifiSmeApWpsRegistrationFinishedReq
607 
608   DESCRIPTION
609     This primitive tells SME that WPS registration procedure has finished
610 
611   MEMBERS
612     common       - Common header for use with the CsrWifiFsm Module
613     interfaceTag -
614 
615 *******************************************************************************/
616 typedef struct
617 {
618     CsrWifiFsmEvent common;
619     u16       interfaceTag;
620 } CsrWifiSmeApWpsRegistrationFinishedReq;
621 
622 /*******************************************************************************
623 
624   NAME
625     CsrWifiSmeApWmmParamUpdateReq
626 
627   DESCRIPTION
628     Application uses this primitive to update the WMM parameters on the fly
629 
630   MEMBERS
631     common        - Common header for use with the CsrWifiFsm Module
632     interfaceTag  -
633     wmmApParams   - WMM parameters to be used for local firmware queue
634                     configuration
635     wmmApBcParams - WMM parameters to be advertised in beacon/probe response
636 
637 *******************************************************************************/
638 typedef struct
639 {
640     CsrWifiFsmEvent       common;
641     u16             interfaceTag;
642     CsrWifiSmeWmmAcParams wmmApParams[4];
643     CsrWifiSmeWmmAcParams wmmApBcParams[4];
644 } CsrWifiSmeApWmmParamUpdateReq;
645 
646 /*******************************************************************************
647 
648   NAME
649     CsrWifiSmeApStaDisconnectReq
650 
651   DESCRIPTION
652     This primitive tells SME to deauth ot disassociate a particular station
653     within BSS
654 
655   MEMBERS
656     common         - Common header for use with the CsrWifiFsm Module
657     interfaceTag   -
658     deauthReason   -
659     disassocReason -
660     peerMacaddress -
661     keepBlocking   - If TRUE, the station is blocked. If FALSE and the station
662                      is connected, disconnect the station. If FALSE and the
663                      station is not connected, no action is taken.
664 
665 *******************************************************************************/
666 typedef struct
667 {
668     CsrWifiFsmEvent           common;
669     u16                 interfaceTag;
670     CsrWifiSmeIEEE80211Reason deauthReason;
671     CsrWifiSmeIEEE80211Reason disassocReason;
672     CsrWifiMacAddress         peerMacaddress;
673     u8                   keepBlocking;
674 } CsrWifiSmeApStaDisconnectReq;
675 
676 /*******************************************************************************
677 
678   NAME
679     CsrWifiSmeApWpsConfigurationReq
680 
681   DESCRIPTION
682     This primitive passes the WPS information for the device to SME. This may
683     be accepted only if no interface is active.
684 
685   MEMBERS
686     common    - Common header for use with the CsrWifiFsm Module
687     wpsConfig - WPS config.
688 
689 *******************************************************************************/
690 typedef struct
691 {
692     CsrWifiFsmEvent     common;
693     CsrWifiSmeWpsConfig wpsConfig;
694 } CsrWifiSmeApWpsConfigurationReq;
695 
696 /*******************************************************************************
697 
698   NAME
699     CsrWifiSmeApActiveBaGetReq
700 
701   DESCRIPTION
702     This primitive used to retrieve information related to the active block
703     ack sessions
704 
705   MEMBERS
706     common       - Common header for use with the CsrWifiFsm Module
707     interfaceTag -
708 
709 *******************************************************************************/
710 typedef struct
711 {
712     CsrWifiFsmEvent common;
713     u16       interfaceTag;
714 } CsrWifiSmeApActiveBaGetReq;
715 
716 /*******************************************************************************
717 
718   NAME
719     CsrWifiSmeApBaDeleteReq
720 
721   DESCRIPTION
722     This primitive is used to delete an active block ack session
723 
724   MEMBERS
725     common       - Common header for use with the CsrWifiFsm Module
726     interfaceTag -
727     reason       -
728     baSession    - BA session to be deleted
729 
730 *******************************************************************************/
731 typedef struct
732 {
733     CsrWifiFsmEvent           common;
734     u16                 interfaceTag;
735     CsrWifiSmeIEEE80211Reason reason;
736     CsrWifiSmeApBaSession     baSession;
737 } CsrWifiSmeApBaDeleteReq;
738 
739 /*******************************************************************************
740 
741   NAME
742     CsrWifiSmeApBeaconingStartCfm
743 
744   DESCRIPTION
745     This primitive confirms the completion of the request along with the
746     status
747 
748   MEMBERS
749     common       - Common header for use with the CsrWifiFsm Module
750     interfaceTag -
751     status       -
752     secIeLength  -
753     secIe        -
754 
755 *******************************************************************************/
756 typedef struct
757 {
758     CsrWifiFsmEvent common;
759     u16       interfaceTag;
760     CsrResult       status;
761     u16       secIeLength;
762     u8       *secIe;
763 } CsrWifiSmeApBeaconingStartCfm;
764 
765 /*******************************************************************************
766 
767   NAME
768     CsrWifiSmeApBeaconingStopCfm
769 
770   DESCRIPTION
771     This primitive confirms AP or P2PGO operation is terminated
772 
773   MEMBERS
774     common       - Common header for use with the CsrWifiFsm Module
775     interfaceTag -
776     status       -
777 
778 *******************************************************************************/
779 typedef struct
780 {
781     CsrWifiFsmEvent common;
782     u16       interfaceTag;
783     CsrResult       status;
784 } CsrWifiSmeApBeaconingStopCfm;
785 
786 /*******************************************************************************
787 
788   NAME
789     CsrWifiSmeApStaNotifyInd
790 
791   DESCRIPTION
792     This primitive indicates that a station has joined or a previously joined
793     station has left the BSS/group
794 
795   MEMBERS
796     common            - Common header for use with the CsrWifiFsm Module
797     interfaceTag      -
798     mediaStatus       -
799     peerMacAddress    -
800     peerDeviceAddress -
801     disassocReason    -
802     deauthReason      -
803     WpsRegistration   -
804     secIeLength       -
805     secIe             -
806     groupKeyId        -
807     seqNumber         -
808 
809 *******************************************************************************/
810 typedef struct
811 {
812     CsrWifiFsmEvent           common;
813     u16                 interfaceTag;
814     CsrWifiSmeMediaStatus     mediaStatus;
815     CsrWifiMacAddress         peerMacAddress;
816     CsrWifiMacAddress         peerDeviceAddress;
817     CsrWifiSmeIEEE80211Reason disassocReason;
818     CsrWifiSmeIEEE80211Reason deauthReason;
819     CsrWifiSmeWpsRegistration WpsRegistration;
820     u8                  secIeLength;
821     u8                 *secIe;
822     u8                  groupKeyId;
823     u16                 seqNumber[8];
824 } CsrWifiSmeApStaNotifyInd;
825 
826 /*******************************************************************************
827 
828   NAME
829     CsrWifiSmeApStaConnectStartInd
830 
831   DESCRIPTION
832     This primitive indicates that a stations request to join the group/BSS is
833     accepted
834 
835   MEMBERS
836     common         - Common header for use with the CsrWifiFsm Module
837     interfaceTag   -
838     peerMacAddress -
839 
840 *******************************************************************************/
841 typedef struct
842 {
843     CsrWifiFsmEvent   common;
844     u16         interfaceTag;
845     CsrWifiMacAddress peerMacAddress;
846 } CsrWifiSmeApStaConnectStartInd;
847 
848 /*******************************************************************************
849 
850   NAME
851     CsrWifiSmeApWpsRegistrationStartedCfm
852 
853   DESCRIPTION
854     A confirm for UNIFI_MGT_AP_WPS_REGISTRATION_STARTED.request
855 
856   MEMBERS
857     common       - Common header for use with the CsrWifiFsm Module
858     interfaceTag -
859     status       -
860 
861 *******************************************************************************/
862 typedef struct
863 {
864     CsrWifiFsmEvent common;
865     u16       interfaceTag;
866     CsrResult       status;
867 } CsrWifiSmeApWpsRegistrationStartedCfm;
868 
869 /*******************************************************************************
870 
871   NAME
872     CsrWifiSmeApWpsRegistrationFinishedCfm
873 
874   DESCRIPTION
875     A confirm for UNIFI_MGT_AP_WPS_REGISTRATION_FINISHED.request
876 
877   MEMBERS
878     common       - Common header for use with the CsrWifiFsm Module
879     interfaceTag -
880     status       -
881 
882 *******************************************************************************/
883 typedef struct
884 {
885     CsrWifiFsmEvent common;
886     u16       interfaceTag;
887     CsrResult       status;
888 } CsrWifiSmeApWpsRegistrationFinishedCfm;
889 
890 /*******************************************************************************
891 
892   NAME
893     CsrWifiSmeApWmmParamUpdateCfm
894 
895   DESCRIPTION
896     A confirm for CSR_WIFI_SME_AP_WMM_PARAM_UPDATE.request
897 
898   MEMBERS
899     common       - Common header for use with the CsrWifiFsm Module
900     interfaceTag -
901     status       -
902 
903 *******************************************************************************/
904 typedef struct
905 {
906     CsrWifiFsmEvent common;
907     u16       interfaceTag;
908     CsrResult       status;
909 } CsrWifiSmeApWmmParamUpdateCfm;
910 
911 /*******************************************************************************
912 
913   NAME
914     CsrWifiSmeApStaDisconnectCfm
915 
916   DESCRIPTION
917     This primitive confirms the station is disconnected
918 
919   MEMBERS
920     common         - Common header for use with the CsrWifiFsm Module
921     interfaceTag   -
922     status         -
923     peerMacaddress -
924 
925 *******************************************************************************/
926 typedef struct
927 {
928     CsrWifiFsmEvent   common;
929     u16         interfaceTag;
930     CsrResult         status;
931     CsrWifiMacAddress peerMacaddress;
932 } CsrWifiSmeApStaDisconnectCfm;
933 
934 /*******************************************************************************
935 
936   NAME
937     CsrWifiSmeApWpsConfigurationCfm
938 
939   DESCRIPTION
940     Confirm.
941 
942   MEMBERS
943     common - Common header for use with the CsrWifiFsm Module
944     status - Status of the request.
945 
946 *******************************************************************************/
947 typedef struct
948 {
949     CsrWifiFsmEvent common;
950     CsrResult       status;
951 } CsrWifiSmeApWpsConfigurationCfm;
952 
953 /*******************************************************************************
954 
955   NAME
956     CsrWifiSmeApErrorInd
957 
958   DESCRIPTION
959     This primitve is sent by SME to indicate some error in AP operationi
960     after AP operations were started successfully and continuing the AP
961     operation may lead to undesired behaviour. It is the responsibility of
962     the upper layers to stop AP operation if needed
963 
964   MEMBERS
965     common       - Common header for use with the CsrWifiFsm Module
966     interfaceTag - Range 0-1
967     apType       -
968     status       - Contains the error status
969 
970 *******************************************************************************/
971 typedef struct
972 {
973     CsrWifiFsmEvent  common;
974     u16        interfaceTag;
975     CsrWifiSmeApType apType;
976     CsrResult        status;
977 } CsrWifiSmeApErrorInd;
978 
979 /*******************************************************************************
980 
981   NAME
982     CsrWifiSmeApActiveBaGetCfm
983 
984   DESCRIPTION
985     This primitive carries the information related to the active ba sessions
986 
987   MEMBERS
988     common           - Common header for use with the CsrWifiFsm Module
989     interfaceTag     -
990     status           - Reports the result of the request
991     activeBaCount    - Number of active block ack session
992     activeBaSessions - Points to a buffer containing an array of
993                        CsrWifiSmeApBaSession structures.
994 
995 *******************************************************************************/
996 typedef struct
997 {
998     CsrWifiFsmEvent        common;
999     u16              interfaceTag;
1000     CsrResult              status;
1001     u16              activeBaCount;
1002     CsrWifiSmeApBaSession *activeBaSessions;
1003 } CsrWifiSmeApActiveBaGetCfm;
1004 
1005 /*******************************************************************************
1006 
1007   NAME
1008     CsrWifiSmeApBaDeleteCfm
1009 
1010   DESCRIPTION
1011     This primitive confirms the BA is deleted
1012 
1013   MEMBERS
1014     common       - Common header for use with the CsrWifiFsm Module
1015     interfaceTag -
1016     status       - Reports the result of the request
1017     baSession    - deleted BA session
1018 
1019 *******************************************************************************/
1020 typedef struct
1021 {
1022     CsrWifiFsmEvent       common;
1023     u16             interfaceTag;
1024     CsrResult             status;
1025     CsrWifiSmeApBaSession baSession;
1026 } CsrWifiSmeApBaDeleteCfm;
1027 
1028 
1029 #endif /* CSR_WIFI_SME_AP_PRIM_H__ */
1030 
1031