Root/drivers/staging/csr/csr_wifi_sme_ap_prim.h

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

Archive Download this file



interactive