aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/csr/csr_wifi_sme_ap_prim.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-07-26 11:14:49 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-26 11:14:49 -0700
commitb13bc8dda81c54a66a1c84e66f60b8feba659f28 (patch)
tree100a26eada424fa5d9b0e5eaaf4e23b8fa036fc8 /drivers/staging/csr/csr_wifi_sme_ap_prim.h
parentMerge tag 'usb-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb (diff)
parentstaging: csr: delete a bunch of unused library functions (diff)
downloadlinux-dev-b13bc8dda81c54a66a1c84e66f60b8feba659f28.tar.xz
linux-dev-b13bc8dda81c54a66a1c84e66f60b8feba659f28.zip
Merge tag 'staging-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging tree patches from Greg Kroah-Hartman: "Here's the big staging tree merge for the 3.6-rc1 merge window. There are some patches in here outside of drivers/staging/, notibly the iio code (which is still stradeling the staging / not staging boundry), the pstore code, and the tracing code. All of these have gotten acks from the various subsystem maintainers to be included in this tree. The pstore and tracing patches are related, and are coming here as they replace one of the android staging drivers. Otherwise, the normal staging mess. Lots of cleanups and a few new drivers (some iio drivers, and the large csr wireless driver abomination.) Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>" Fixed up trivial conflicts in drivers/staging/comedi/drivers/s626.h and drivers/staging/gdm72xx/netlink_k.c * tag 'staging-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1108 commits) staging: csr: delete a bunch of unused library functions staging: csr: remove csr_utf16.c staging: csr: remove csr_pmem.h staging: csr: remove CsrPmemAlloc staging: csr: remove CsrPmemFree() staging: csr: remove CsrMemAllocDma() staging: csr: remove CsrMemCalloc() staging: csr: remove CsrMemAlloc() staging: csr: remove CsrMemFree() and CsrMemFreeDma() staging: csr: remove csr_util.h staging: csr: remove CsrOffSetOf() stating: csr: remove unneeded #includes in csr_util.c staging: csr: make CsrUInt16ToHex static staging: csr: remove CsrMemCpy() staging: csr: remove CsrStrLen() staging: csr: remove CsrVsnprintf() staging: csr: remove CsrStrDup staging: csr: remove CsrStrChr() staging: csr: remove CsrStrNCmp staging: csr: remove CsrStrCmp ...
Diffstat (limited to 'drivers/staging/csr/csr_wifi_sme_ap_prim.h')
-rw-r--r--drivers/staging/csr/csr_wifi_sme_ap_prim.h1038
1 files changed, 1038 insertions, 0 deletions
diff --git a/drivers/staging/csr/csr_wifi_sme_ap_prim.h b/drivers/staging/csr/csr_wifi_sme_ap_prim.h
new file mode 100644
index 000000000000..93b64e9154c8
--- /dev/null
+++ b/drivers/staging/csr/csr_wifi_sme_ap_prim.h
@@ -0,0 +1,1038 @@
+/*****************************************************************************
+
+ (c) Cambridge Silicon Radio Limited 2012
+ All rights reserved and confidential information of CSR
+
+ Refer to LICENSE.txt included with this source for details
+ on the license terms.
+
+*****************************************************************************/
+
+/* Note: this is an auto-generated file. */
+
+#ifndef CSR_WIFI_SME_AP_PRIM_H__
+#define CSR_WIFI_SME_AP_PRIM_H__
+
+#include "csr_prim_defs.h"
+#include "csr_sched.h"
+#include "csr_wifi_common.h"
+#include "csr_result.h"
+#include "csr_wifi_fsm_event.h"
+#include "csr_wifi_sme_prim.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef CSR_WIFI_AP_ENABLE
+#error CSR_WIFI_AP_ENABLE MUST be defined inorder to use csr_wifi_sme_ap_prim.h
+#endif
+
+#define CSR_WIFI_SME_AP_PRIM (0x0407)
+
+typedef CsrPrim CsrWifiSmeApPrim;
+
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApAccessType
+
+ DESCRIPTION
+ Allow or deny STAs based on MAC address
+
+ VALUES
+ CSR_WIFI_AP_ACCESS_TYPE_NONE - None
+ CSR_WIFI_AP_ACCESS_TYPE_ALLOW - Allow only if MAC address is from the list
+ CSR_WIFI_AP_ACCESS_TYPE_DENY - Disallow if MAC address is from the list
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApAccessType;
+#define CSR_WIFI_AP_ACCESS_TYPE_NONE ((CsrWifiSmeApAccessType) 0x00)
+#define CSR_WIFI_AP_ACCESS_TYPE_ALLOW ((CsrWifiSmeApAccessType) 0x01)
+#define CSR_WIFI_AP_ACCESS_TYPE_DENY ((CsrWifiSmeApAccessType) 0x02)
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApAuthSupport
+
+ DESCRIPTION
+ Define bits for AP authentication support
+
+ VALUES
+ CSR_WIFI_SME_RSN_AUTH_WPAPSK - RSN WPA-PSK Support
+ CSR_WIFI_SME_RSN_AUTH_WPA2PSK - RSN WPA2-PSK Support
+ CSR_WIFI_SME_AUTH_WAPIPSK - WAPI-PSK Support
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApAuthSupport;
+#define CSR_WIFI_SME_RSN_AUTH_WPAPSK ((CsrWifiSmeApAuthSupport) 0x01)
+#define CSR_WIFI_SME_RSN_AUTH_WPA2PSK ((CsrWifiSmeApAuthSupport) 0x02)
+#define CSR_WIFI_SME_AUTH_WAPIPSK ((CsrWifiSmeApAuthSupport) 0x04)
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApAuthType
+
+ DESCRIPTION
+ Definition of the SME AP Authentication Options
+
+ VALUES
+ CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM
+ - Open authentication
+ CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL
+ - Personal authentication using a passphrase or a pre-shared
+ key.
+ CSR_WIFI_SME_AP_AUTH_TYPE_WEP
+ - WEP authentication. This can be either open or shared key
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApAuthType;
+#define CSR_WIFI_SME_AP_AUTH_TYPE_OPEN_SYSTEM ((CsrWifiSmeApAuthType) 0x00)
+#define CSR_WIFI_SME_AP_AUTH_TYPE_PERSONAL ((CsrWifiSmeApAuthType) 0x01)
+#define CSR_WIFI_SME_AP_AUTH_TYPE_WEP ((CsrWifiSmeApAuthType) 0x02)
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApDirection
+
+ DESCRIPTION
+ Definition of Direction
+
+ VALUES
+ CSR_WIFI_AP_DIRECTION_RECEIPIENT - Receipient
+ CSR_WIFI_AP_DIRECTION_ORIGINATOR - Originator
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApDirection;
+#define CSR_WIFI_AP_DIRECTION_RECEIPIENT ((CsrWifiSmeApDirection) 0x00)
+#define CSR_WIFI_AP_DIRECTION_ORIGINATOR ((CsrWifiSmeApDirection) 0x01)
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApPhySupport
+
+ DESCRIPTION
+ Define bits for CsrWifiSmeApPhySupportMask
+
+ VALUES
+ CSR_WIFI_SME_AP_PHY_SUPPORT_A - 802.11a. It is not supported in the current
+ release.
+ CSR_WIFI_SME_AP_PHY_SUPPORT_B - 802.11b
+ CSR_WIFI_SME_AP_PHY_SUPPORT_G - 802.11g
+ CSR_WIFI_SME_AP_PHY_SUPPORT_N - 802.11n
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApPhySupport;
+#define CSR_WIFI_SME_AP_PHY_SUPPORT_A ((CsrWifiSmeApPhySupport) 0x01)
+#define CSR_WIFI_SME_AP_PHY_SUPPORT_B ((CsrWifiSmeApPhySupport) 0x02)
+#define CSR_WIFI_SME_AP_PHY_SUPPORT_G ((CsrWifiSmeApPhySupport) 0x04)
+#define CSR_WIFI_SME_AP_PHY_SUPPORT_N ((CsrWifiSmeApPhySupport) 0x08)
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApType
+
+ DESCRIPTION
+ Definition of AP types
+
+ VALUES
+ CSR_WIFI_AP_TYPE_LEGACY - Legacy AP
+ CSR_WIFI_AP_TYPE_P2P - P2P Group Owner(GO)
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApType;
+#define CSR_WIFI_AP_TYPE_LEGACY ((CsrWifiSmeApType) 0x00)
+#define CSR_WIFI_AP_TYPE_P2P ((CsrWifiSmeApType) 0x01)
+
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApAuthSupportMask
+
+ DESCRIPTION
+ See CsrWifiSmeApAuthSupport for bit definitions
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApAuthSupportMask;
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApPhySupportMask
+
+ DESCRIPTION
+ Mask type for use with the values defined by CsrWifiSmeApPhySupport
+
+*******************************************************************************/
+typedef u8 CsrWifiSmeApPhySupportMask;
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApRsnCapabilities
+
+ DESCRIPTION
+ Set to 0 for the current release
+
+*******************************************************************************/
+typedef u16 CsrWifiSmeApRsnCapabilities;
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApRsnCapabilitiesMask
+
+ DESCRIPTION
+ Mask type for use with the values defined by CsrWifiSmeApRsnCapabilities
+
+*******************************************************************************/
+typedef u16 CsrWifiSmeApRsnCapabilitiesMask;
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWapiCapabilities
+
+ DESCRIPTION
+ Ignored by the stack as WAPI is not supported for AP operations in the
+ current release
+
+*******************************************************************************/
+typedef u16 CsrWifiSmeApWapiCapabilities;
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWapiCapabilitiesMask
+
+ DESCRIPTION
+ Mask type for use with the values defined by CsrWifiSmeApWapiCapabilities
+
+*******************************************************************************/
+typedef u16 CsrWifiSmeApWapiCapabilitiesMask;
+
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApHtParams
+
+ DESCRIPTION
+ Structure holding HT parameters
+
+ MEMBERS
+ greenfieldSupported - Indicates if the AP supports Htgreenfield operation
+ subject to the chip capability. If the chip does not
+ support Htgreenfield operation, this parameter will be
+ ignored.
+ NOTE: if shortGi20MHz is set to TRUE and the chip
+ supports short GI operation for 20MHz this field will
+ be be ignored and the AP will not support Htgreenfield
+ operation.
+ NOTE: This field is ignored by the Wi-Fi stack for the
+ current release. It implies that AP does not support
+ greenfield operation.
+ shortGi20MHz - Indicates if the AP support short GI operation for
+ 20MHz subject to the chip capability.If the chip does
+ not support short GI for 20MHz, this parameter is
+ ignored
+ rxStbc - Support for STBC for receive. 0 => No support for STBC
+ , 1=> Use STBC for Rx
+ rifsModeAllowed - RIFS Mode is allowed to protect overlapping non-HT BSS
+ htProtection - Deprecated
+ dualCtsProtection - Dual CTS Protection enabled
+
+*******************************************************************************/
+typedef struct
+{
+ u8 greenfieldSupported;
+ u8 shortGi20MHz;
+ u8 rxStbc;
+ u8 rifsModeAllowed;
+ u8 htProtection;
+ u8 dualCtsProtection;
+} CsrWifiSmeApHtParams;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApP2pOperatingChanEntry
+
+ DESCRIPTION
+
+ MEMBERS
+ operatingClass - Channel operating class
+ operatingChannelCount - Number of channels in this entry
+ operatingChannel - List of channels
+
+*******************************************************************************/
+typedef struct
+{
+ u8 operatingClass;
+ u8 operatingChannelCount;
+ u8 *operatingChannel;
+} CsrWifiSmeApP2pOperatingChanEntry;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApP2pOperatingChanList
+
+ DESCRIPTION
+ This structure contains the lists of P2P operating channels
+
+ MEMBERS
+ country - Country
+ channelEntryListCount - Number of entries
+ channelEntryList - List of entries
+
+*******************************************************************************/
+typedef struct
+{
+ u8 country[3];
+ u8 channelEntryListCount;
+ CsrWifiSmeApP2pOperatingChanEntry *channelEntryList;
+} CsrWifiSmeApP2pOperatingChanList;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApAuthPers
+
+ DESCRIPTION
+
+ MEMBERS
+ authSupport -
+ encryptionModeMask -
+ rsnCapabilities -
+ wapiCapabilities -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiSmeApAuthSupportMask authSupport;
+ CsrWifiSmeEncryptionMask encryptionModeMask;
+ CsrWifiSmeApRsnCapabilitiesMask rsnCapabilities;
+ CsrWifiSmeApWapiCapabilitiesMask wapiCapabilities;
+} CsrWifiSmeApAuthPers;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBaSession
+
+ DESCRIPTION
+
+ MEMBERS
+ peerMacAddress - Indicates MAC address of the peer station
+ tid - Specifies the TID of the MSDUs for which this Block Ack has
+ been set up. Range: 0-15
+ direction - Specifies if the AP is the originator or the recipient of
+ the data stream that uses the Block Ack.
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiMacAddress peerMacAddress;
+ u8 tid;
+ CsrWifiSmeApDirection direction;
+} CsrWifiSmeApBaSession;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApMacConfig
+
+ DESCRIPTION
+ Structure holding AP MAC configuration.
+
+ MEMBERS
+ phySupportedBitmap - Indicates supported physical layers
+ beaconInterval - Beacon interval in terms of TUs
+ dtimPeriod - DTIM period in terms of number of beacon intervals
+ maxListenInterval - Maximum allowed listen interval as number of beacon
+ intervals
+ supportedRatesCount - Number of supported rates. Range : 0 to 20
+ supportedRates - List of supportedRates. A rate is specied in the
+ units of 500kbps. An entry for a basic rate shall
+ have the MSB set to 1.
+ preamble - Preamble to be advertised in beacons and probe
+ responses
+ shortSlotTimeEnabled - TRUE indicates the AP shall use short slot time if
+ all the stations use short slot operation.
+ ctsProtectionType - CTS protection to be used
+ wmmEnabled - Indicate whether WMM is enabled or not. If set to
+ FALSE,the WMM parameters shall be ignored by the
+ receiver.
+ wmmApParams - WMM parameters to be used for local firmware queue
+ configuration. Array index corresponds to the ACI.
+ wmmApBcParams - WMM parameters to be advertised in beacon/probe
+ response. Array index corresponds to the ACI
+ accessType - Specifies whether the MAC addresses from the list
+ should be allowed or denied
+ macAddressListCount - Number of MAC addresses
+ macAddressList - List of MAC addresses
+ apHtParams - AP HT parameters. The stack shall use these
+ parameters only if phySupportedBitmap indicates
+ support for IEEE 802.11n
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiSmeApPhySupportMask phySupportedBitmap;
+ u16 beaconInterval;
+ u8 dtimPeriod;
+ u16 maxListenInterval;
+ u8 supportedRatesCount;
+ u8 supportedRates[20];
+ CsrWifiSmePreambleType preamble;
+ u8 shortSlotTimeEnabled;
+ CsrWifiSmeCtsProtectionType ctsProtectionType;
+ u8 wmmEnabled;
+ CsrWifiSmeWmmAcParams wmmApParams[4];
+ CsrWifiSmeWmmAcParams wmmApBcParams[4];
+ CsrWifiSmeApAccessType accessType;
+ u8 macAddressListCount;
+ CsrWifiMacAddress *macAddressList;
+ CsrWifiSmeApHtParams apHtParams;
+} CsrWifiSmeApMacConfig;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApP2pGoConfig
+
+ DESCRIPTION
+
+ MEMBERS
+ groupCapability - Indicates the P2P group capabilities
+ operatingChanList - List of operating channels in the order of
+ decreasing priority. It may contain channel
+ entry/entries not supported by the wifi stack.
+ These shall be filtered out by the wifi stack
+ opPsEnabled - Indicates whether opportunistic power save can
+ be used.
+ Note: This parameter is ignored by the WiFi
+ stack for the current release
+ ctWindow - Define Client Traffic window to be used in terms
+ of number of TUs. Range: 0 to 127.
+ Note: This parameter is ignored by the WiFi
+ stack for the current release.
+ noaConfigMethod - Notice of Absence configuration method.
+ Note: This parameter is ignored by the WiFi
+ stack for the current release.
+ allowNoaWithNonP2pDevices - Indicates if NOA should be allowed if non P2P
+ devices are connected. If allowed the non P2P
+ devices may suffer in throughput.
+ Note: This parameter is ignored by the WiFi
+ stack for the current release.
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiSmeP2pGroupCapabilityMask groupCapability;
+ CsrWifiSmeApP2pOperatingChanList operatingChanList;
+ u8 opPsEnabled;
+ u8 ctWindow;
+ CsrWifiSmeP2pNoaConfigMethod noaConfigMethod;
+ u8 allowNoaWithNonP2pDevices;
+} CsrWifiSmeApP2pGoConfig;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApCredentials
+
+ DESCRIPTION
+
+ MEMBERS
+ authType -
+ smeAuthType -
+ smeAuthTypeopenSystemEmpty -
+ smeAuthTypeauthwep -
+ smeAuthTypeauthPers -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiSmeApAuthType authType;
+ union {
+ CsrWifiSmeEmpty openSystemEmpty;
+ CsrWifiSmeWepAuth authwep;
+ CsrWifiSmeApAuthPers authPers;
+ } smeAuthType;
+} CsrWifiSmeApCredentials;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApSecConfig
+
+ DESCRIPTION
+
+ MEMBERS
+ apCredentials -
+ wpsEnabled -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiSmeApCredentials apCredentials;
+ u8 wpsEnabled;
+} CsrWifiSmeApSecConfig;
+
+
+/* Downstream */
+#define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST (0x0000)
+
+#define CSR_WIFI_SME_AP_BEACONING_START_REQ ((CsrWifiSmeApPrim) (0x0000 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_BEACONING_STOP_REQ ((CsrWifiSmeApPrim) (0x0001 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WPS_REGISTRATION_STARTED_REQ ((CsrWifiSmeApPrim) (0x0002 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WPS_REGISTRATION_FINISHED_REQ ((CsrWifiSmeApPrim) (0x0003 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WMM_PARAM_UPDATE_REQ ((CsrWifiSmeApPrim) (0x0004 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_STA_DISCONNECT_REQ ((CsrWifiSmeApPrim) (0x0005 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WPS_CONFIGURATION_REQ ((CsrWifiSmeApPrim) (0x0006 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_ACTIVE_BA_GET_REQ ((CsrWifiSmeApPrim) (0x0007 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_BA_DELETE_REQ ((CsrWifiSmeApPrim) (0x0008 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST))
+
+
+#define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_HIGHEST (0x0008 + CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)
+
+/* Upstream */
+#define CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM)
+
+#define CSR_WIFI_SME_AP_BEACONING_START_CFM ((CsrWifiSmeApPrim)(0x0000 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_BEACONING_STOP_CFM ((CsrWifiSmeApPrim)(0x0001 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_STA_NOTIFY_IND ((CsrWifiSmeApPrim)(0x0002 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_STA_CONNECT_START_IND ((CsrWifiSmeApPrim)(0x0003 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WPS_REGISTRATION_STARTED_CFM ((CsrWifiSmeApPrim)(0x0004 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WPS_REGISTRATION_FINISHED_CFM ((CsrWifiSmeApPrim)(0x0005 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WMM_PARAM_UPDATE_CFM ((CsrWifiSmeApPrim)(0x0006 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_STA_DISCONNECT_CFM ((CsrWifiSmeApPrim)(0x0007 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_WPS_CONFIGURATION_CFM ((CsrWifiSmeApPrim)(0x0008 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_ERROR_IND ((CsrWifiSmeApPrim)(0x0009 + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_ACTIVE_BA_GET_CFM ((CsrWifiSmeApPrim)(0x000A + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+#define CSR_WIFI_SME_AP_BA_DELETE_CFM ((CsrWifiSmeApPrim)(0x000B + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST))
+
+#define CSR_WIFI_SME_AP_PRIM_UPSTREAM_HIGHEST (0x000B + CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)
+
+#define CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_SME_AP_PRIM_DOWNSTREAM_LOWEST)
+#define CSR_WIFI_SME_AP_PRIM_UPSTREAM_COUNT (CSR_WIFI_SME_AP_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_SME_AP_PRIM_UPSTREAM_LOWEST)
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBeaconingStartReq
+
+ DESCRIPTION
+ This primitive requests the SME to start AP or GO functionality
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ initialPresence - Set to 0, if Not in a group fomration phase, set to 1 ,
+ during group formation phase
+ apType - apType : Legacy AP or P2PGO
+ cloakSsid - cloakSsid flag.
+ ssid - ssid.
+ ifIndex - Radio Interface
+ channel - channel.
+ maxConnections - Maximum Stations + P2PClients allowed
+ apCredentials - AP security credeitals used to advertise in beacon /probe
+ response
+ smeApConfig - AP configuration
+ p2pGoParam - P2P specific GO parameters. Ignored if it is a leagacy AP
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ u8 initialPresence;
+ CsrWifiSmeApType apType;
+ u8 cloakSsid;
+ CsrWifiSsid ssid;
+ CsrWifiSmeRadioIF ifIndex;
+ u8 channel;
+ u8 maxConnections;
+ CsrWifiSmeApSecConfig apCredentials;
+ CsrWifiSmeApMacConfig smeApConfig;
+ CsrWifiSmeApP2pGoConfig p2pGoParam;
+} CsrWifiSmeApBeaconingStartReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBeaconingStopReq
+
+ DESCRIPTION
+ This primitive requests the SME to STOP AP or P2PGO operation
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+} CsrWifiSmeApBeaconingStopReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWpsRegistrationStartedReq
+
+ DESCRIPTION
+ This primitive tells SME that WPS registration procedure has started
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ SelectedDevicePasswordId -
+ SelectedconfigMethod -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiSmeWpsDpid SelectedDevicePasswordId;
+ CsrWifiSmeWpsConfigType SelectedconfigMethod;
+} CsrWifiSmeApWpsRegistrationStartedReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWpsRegistrationFinishedReq
+
+ DESCRIPTION
+ This primitive tells SME that WPS registration procedure has finished
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+} CsrWifiSmeApWpsRegistrationFinishedReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWmmParamUpdateReq
+
+ DESCRIPTION
+ Application uses this primitive to update the WMM parameters on the fly
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ wmmApParams - WMM parameters to be used for local firmware queue
+ configuration
+ wmmApBcParams - WMM parameters to be advertised in beacon/probe response
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiSmeWmmAcParams wmmApParams[4];
+ CsrWifiSmeWmmAcParams wmmApBcParams[4];
+} CsrWifiSmeApWmmParamUpdateReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApStaDisconnectReq
+
+ DESCRIPTION
+ This primitive tells SME to deauth ot disassociate a particular station
+ within BSS
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ deauthReason -
+ disassocReason -
+ peerMacaddress -
+ keepBlocking - If TRUE, the station is blocked. If FALSE and the station
+ is connected, disconnect the station. If FALSE and the
+ station is not connected, no action is taken.
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiSmeIEEE80211Reason deauthReason;
+ CsrWifiSmeIEEE80211Reason disassocReason;
+ CsrWifiMacAddress peerMacaddress;
+ u8 keepBlocking;
+} CsrWifiSmeApStaDisconnectReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWpsConfigurationReq
+
+ DESCRIPTION
+ This primitive passes the WPS information for the device to SME. This may
+ be accepted only if no interface is active.
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ wpsConfig - WPS config.
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ CsrWifiSmeWpsConfig wpsConfig;
+} CsrWifiSmeApWpsConfigurationReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApActiveBaGetReq
+
+ DESCRIPTION
+ This primitive used to retrieve information related to the active block
+ ack sessions
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+} CsrWifiSmeApActiveBaGetReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBaDeleteReq
+
+ DESCRIPTION
+ This primitive is used to delete an active block ack session
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ reason -
+ baSession - BA session to be deleted
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiSmeIEEE80211Reason reason;
+ CsrWifiSmeApBaSession baSession;
+} CsrWifiSmeApBaDeleteReq;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBeaconingStartCfm
+
+ DESCRIPTION
+ This primitive confirms the completion of the request along with the
+ status
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status -
+ secIeLength -
+ secIe -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+ u16 secIeLength;
+ u8 *secIe;
+} CsrWifiSmeApBeaconingStartCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBeaconingStopCfm
+
+ DESCRIPTION
+ This primitive confirms AP or P2PGO operation is terminated
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+} CsrWifiSmeApBeaconingStopCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApStaNotifyInd
+
+ DESCRIPTION
+ This primitive indicates that a station has joined or a previously joined
+ station has left the BSS/group
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ mediaStatus -
+ peerMacAddress -
+ peerDeviceAddress -
+ disassocReason -
+ deauthReason -
+ WpsRegistration -
+ secIeLength -
+ secIe -
+ groupKeyId -
+ seqNumber -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiSmeMediaStatus mediaStatus;
+ CsrWifiMacAddress peerMacAddress;
+ CsrWifiMacAddress peerDeviceAddress;
+ CsrWifiSmeIEEE80211Reason disassocReason;
+ CsrWifiSmeIEEE80211Reason deauthReason;
+ CsrWifiSmeWpsRegistration WpsRegistration;
+ u8 secIeLength;
+ u8 *secIe;
+ u8 groupKeyId;
+ u16 seqNumber[8];
+} CsrWifiSmeApStaNotifyInd;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApStaConnectStartInd
+
+ DESCRIPTION
+ This primitive indicates that a stations request to join the group/BSS is
+ accepted
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ peerMacAddress -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiMacAddress peerMacAddress;
+} CsrWifiSmeApStaConnectStartInd;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWpsRegistrationStartedCfm
+
+ DESCRIPTION
+ A confirm for UNIFI_MGT_AP_WPS_REGISTRATION_STARTED.request
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+} CsrWifiSmeApWpsRegistrationStartedCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWpsRegistrationFinishedCfm
+
+ DESCRIPTION
+ A confirm for UNIFI_MGT_AP_WPS_REGISTRATION_FINISHED.request
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+} CsrWifiSmeApWpsRegistrationFinishedCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWmmParamUpdateCfm
+
+ DESCRIPTION
+ A confirm for CSR_WIFI_SME_AP_WMM_PARAM_UPDATE.request
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+} CsrWifiSmeApWmmParamUpdateCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApStaDisconnectCfm
+
+ DESCRIPTION
+ This primitive confirms the station is disconnected
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status -
+ peerMacaddress -
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+ CsrWifiMacAddress peerMacaddress;
+} CsrWifiSmeApStaDisconnectCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApWpsConfigurationCfm
+
+ DESCRIPTION
+ Confirm.
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ status - Status of the request.
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ CsrResult status;
+} CsrWifiSmeApWpsConfigurationCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApErrorInd
+
+ DESCRIPTION
+ This primitve is sent by SME to indicate some error in AP operationi
+ after AP operations were started successfully and continuing the AP
+ operation may lead to undesired behaviour. It is the responsibility of
+ the upper layers to stop AP operation if needed
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag - Range 0-1
+ apType -
+ status - Contains the error status
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrWifiSmeApType apType;
+ CsrResult status;
+} CsrWifiSmeApErrorInd;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApActiveBaGetCfm
+
+ DESCRIPTION
+ This primitive carries the information related to the active ba sessions
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status - Reports the result of the request
+ activeBaCount - Number of active block ack session
+ activeBaSessions - Points to a buffer containing an array of
+ CsrWifiSmeApBaSession structures.
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+ u16 activeBaCount;
+ CsrWifiSmeApBaSession *activeBaSessions;
+} CsrWifiSmeApActiveBaGetCfm;
+
+/*******************************************************************************
+
+ NAME
+ CsrWifiSmeApBaDeleteCfm
+
+ DESCRIPTION
+ This primitive confirms the BA is deleted
+
+ MEMBERS
+ common - Common header for use with the CsrWifiFsm Module
+ interfaceTag -
+ status - Reports the result of the request
+ baSession - deleted BA session
+
+*******************************************************************************/
+typedef struct
+{
+ CsrWifiFsmEvent common;
+ u16 interfaceTag;
+ CsrResult status;
+ CsrWifiSmeApBaSession baSession;
+} CsrWifiSmeApBaDeleteCfm;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* CSR_WIFI_SME_AP_PRIM_H__ */
+