/***************************************************************************** (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_ROUTER_CTRL_PRIM_H__ #define CSR_WIFI_ROUTER_CTRL_PRIM_H__ #include #include "csr_prim_defs.h" #include "csr_sched.h" #include "csr_wifi_common.h" #include "csr_result.h" #include "csr_wifi_fsm_event.h" #define CSR_WIFI_ROUTER_CTRL_PRIM (0x0401) typedef CsrPrim CsrWifiRouterCtrlPrim; typedef CsrResult (*CsrWifiRouterCtrlRawSdioByteWrite)(u8 func, u32 address, u8 data); typedef CsrResult (*CsrWifiRouterCtrlRawSdioByteRead)(u8 func, u32 address, u8 *pdata); typedef CsrResult (*CsrWifiRouterCtrlRawSdioFirmwareDownload)(u32 length, const u8 *pdata); typedef CsrResult (*CsrWifiRouterCtrlRawSdioReset)(void); typedef CsrResult (*CsrWifiRouterCtrlRawSdioCoreDumpPrepare)(u8 suspendSme); typedef CsrResult (*CsrWifiRouterCtrlRawSdioByteBlockRead)(u8 func, u32 address, u8 *pdata, u32 length); typedef CsrResult (*CsrWifiRouterCtrlRawSdioGpRead16)(u8 func, u32 address, u16 *pdata); typedef CsrResult (*CsrWifiRouterCtrlRawSdioGpWrite16)(u8 func, u32 address, u16 data); /******************************************************************************* NAME CsrWifiRouterCtrlBlockAckRole DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ORIGINATOR - CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_RECIPIENT - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlBlockAckRole; #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ORIGINATOR ((CsrWifiRouterCtrlBlockAckRole) 0x00) #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_RECIPIENT ((CsrWifiRouterCtrlBlockAckRole) 0x01) /******************************************************************************* NAME CsrWifiRouterCtrlControlIndication DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_ERROR - CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_EXIT - CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_USER_REQUESTED - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlControlIndication; #define CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_ERROR ((CsrWifiRouterCtrlControlIndication) 0x01) #define CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_EXIT ((CsrWifiRouterCtrlControlIndication) 0x02) #define CSR_WIFI_ROUTER_CTRL_CONTROL_INDICATION_USER_REQUESTED ((CsrWifiRouterCtrlControlIndication) 0x03) /******************************************************************************* NAME CsrWifiRouterCtrlListAction DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_LIST_ACTION_GET - CSR_WIFI_ROUTER_CTRL_LIST_ACTION_ADD - CSR_WIFI_ROUTER_CTRL_LIST_ACTION_REMOVE - CSR_WIFI_ROUTER_CTRL_LIST_ACTION_FLUSH - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlListAction; #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_GET ((CsrWifiRouterCtrlListAction) 0x00) #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_ADD ((CsrWifiRouterCtrlListAction) 0x01) #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_REMOVE ((CsrWifiRouterCtrlListAction) 0x02) #define CSR_WIFI_ROUTER_CTRL_LIST_ACTION_FLUSH ((CsrWifiRouterCtrlListAction) 0x03) /******************************************************************************* NAME CsrWifiRouterCtrlLowPowerMode DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_DISABLED - CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_ENABLED - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlLowPowerMode; #define CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_DISABLED ((CsrWifiRouterCtrlLowPowerMode) 0x0000) #define CSR_WIFI_ROUTER_CTRL_LOW_POWER_MODE_ENABLED ((CsrWifiRouterCtrlLowPowerMode) 0x0001) /******************************************************************************* NAME CsrWifiRouterCtrlMediaStatus DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_CONNECTED - CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_DISCONNECTED - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlMediaStatus; #define CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_CONNECTED ((CsrWifiRouterCtrlMediaStatus) 0x00) #define CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_DISCONNECTED ((CsrWifiRouterCtrlMediaStatus) 0x01) /******************************************************************************* NAME CsrWifiRouterCtrlMode DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_MODE_NONE - CSR_WIFI_ROUTER_CTRL_MODE_IBSS - CSR_WIFI_ROUTER_CTRL_MODE_STA - CSR_WIFI_ROUTER_CTRL_MODE_AP - CSR_WIFI_ROUTER_CTRL_MODE_MONITOR - CSR_WIFI_ROUTER_CTRL_MODE_AMP - CSR_WIFI_ROUTER_CTRL_MODE_P2P - CSR_WIFI_ROUTER_CTRL_MODE_P2PGO - CSR_WIFI_ROUTER_CTRL_MODE_P2PCLI - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlMode; #define CSR_WIFI_ROUTER_CTRL_MODE_NONE ((CsrWifiRouterCtrlMode) 0x00) #define CSR_WIFI_ROUTER_CTRL_MODE_IBSS ((CsrWifiRouterCtrlMode) 0x01) #define CSR_WIFI_ROUTER_CTRL_MODE_STA ((CsrWifiRouterCtrlMode) 0x02) #define CSR_WIFI_ROUTER_CTRL_MODE_AP ((CsrWifiRouterCtrlMode) 0x03) #define CSR_WIFI_ROUTER_CTRL_MODE_MONITOR ((CsrWifiRouterCtrlMode) 0x04) #define CSR_WIFI_ROUTER_CTRL_MODE_AMP ((CsrWifiRouterCtrlMode) 0x05) #define CSR_WIFI_ROUTER_CTRL_MODE_P2P ((CsrWifiRouterCtrlMode) 0x06) #define CSR_WIFI_ROUTER_CTRL_MODE_P2PGO ((CsrWifiRouterCtrlMode) 0x07) #define CSR_WIFI_ROUTER_CTRL_MODE_P2PCLI ((CsrWifiRouterCtrlMode) 0x08) /******************************************************************************* NAME CsrWifiRouterCtrlPeerStatus DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_ACTIVE - CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_POWER_SAVE - CSR_WIFI_ROUTER_CTRL_PEER_DISCONNECTED - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlPeerStatus; #define CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_ACTIVE ((CsrWifiRouterCtrlPeerStatus) 0x00) #define CSR_WIFI_ROUTER_CTRL_PEER_CONNECTED_POWER_SAVE ((CsrWifiRouterCtrlPeerStatus) 0x01) #define CSR_WIFI_ROUTER_CTRL_PEER_DISCONNECTED ((CsrWifiRouterCtrlPeerStatus) 0x02) /******************************************************************************* NAME CsrWifiRouterCtrlPortAction DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_OPEN - CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_DISCARD - CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_BLOCK - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlPortAction; #define CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_OPEN ((CsrWifiRouterCtrlPortAction) 0x0000) #define CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_DISCARD ((CsrWifiRouterCtrlPortAction) 0x0001) #define CSR_WIFI_ROUTER_CTRL_PORT_ACTION_8021X_PORT_CLOSED_BLOCK ((CsrWifiRouterCtrlPortAction) 0x0002) /******************************************************************************* NAME CsrWifiRouterCtrlPowersaveType DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_AC_BK_PS_INFO_PRESENT - If set, AC BK PS info is present in b4 and b5 CSR_WIFI_ROUTER_CTRL_AC_BE_PS_INFO_PRESENT - If set, AC BE PS info is present in b6 and b7 CSR_WIFI_ROUTER_CTRL_AC_VI_PS_INFO_PRESENT - If set, AC VI PS info is present in b8 and b9 CSR_WIFI_ROUTER_CTRL_AC_VO_PS_INFO_PRESENT - If set, AC VO PS info is present in b10 and b11 CSR_WIFI_ROUTER_CTRL_AC_BK_TRIGGER_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_BK_DELIVERY_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_BE_TRIGGER_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_BE_DELIVERY_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_VI_TRIGGER_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_VI_DELIVERY_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_VO_TRIGGER_ENABLED - CSR_WIFI_ROUTER_CTRL_AC_VO_DELIVERY_ENABLED - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlPowersaveType; #define CSR_WIFI_ROUTER_CTRL_AC_BK_PS_INFO_PRESENT ((CsrWifiRouterCtrlPowersaveType) 0x0001) #define CSR_WIFI_ROUTER_CTRL_AC_BE_PS_INFO_PRESENT ((CsrWifiRouterCtrlPowersaveType) 0x0002) #define CSR_WIFI_ROUTER_CTRL_AC_VI_PS_INFO_PRESENT ((CsrWifiRouterCtrlPowersaveType) 0x0004) #define CSR_WIFI_ROUTER_CTRL_AC_VO_PS_INFO_PRESENT ((CsrWifiRouterCtrlPowersaveType) 0x0008) #define CSR_WIFI_ROUTER_CTRL_AC_BK_TRIGGER_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0010) #define CSR_WIFI_ROUTER_CTRL_AC_BK_DELIVERY_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0020) #define CSR_WIFI_ROUTER_CTRL_AC_BE_TRIGGER_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0040) #define CSR_WIFI_ROUTER_CTRL_AC_BE_DELIVERY_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0080) #define CSR_WIFI_ROUTER_CTRL_AC_VI_TRIGGER_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0100) #define CSR_WIFI_ROUTER_CTRL_AC_VI_DELIVERY_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0200) #define CSR_WIFI_ROUTER_CTRL_AC_VO_TRIGGER_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0400) #define CSR_WIFI_ROUTER_CTRL_AC_VO_DELIVERY_ENABLED ((CsrWifiRouterCtrlPowersaveType) 0x0800) /******************************************************************************* NAME CsrWifiRouterCtrlProtocolDirection DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_RX - CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_TX - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlProtocolDirection; #define CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_RX ((CsrWifiRouterCtrlProtocolDirection) 0x0000) #define CSR_WIFI_ROUTER_CTRL_PROTOCOL_DIRECTION_TX ((CsrWifiRouterCtrlProtocolDirection) 0x0001) /******************************************************************************* NAME CsrWifiRouterCtrlQoSControl DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_OFF - CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_WMM_ON - CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_80211_ON - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlQoSControl; #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_OFF ((CsrWifiRouterCtrlQoSControl) 0x0000) #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_WMM_ON ((CsrWifiRouterCtrlQoSControl) 0x0001) #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_80211_ON ((CsrWifiRouterCtrlQoSControl) 0x0002) /******************************************************************************* NAME CsrWifiRouterCtrlQueueConfig DESCRIPTION Defines which Queues are enabled for use. VALUES CSR_WIFI_ROUTER_CTRL_QUEUE_BE_ENABLE - CSR_WIFI_ROUTER_CTRL_QUEUE_BK_ENABLE - CSR_WIFI_ROUTER_CTRL_QUEUE_VI_ENABLE - CSR_WIFI_ROUTER_CTRL_QUEUE_VO_ENABLE - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlQueueConfig; #define CSR_WIFI_ROUTER_CTRL_QUEUE_BE_ENABLE ((CsrWifiRouterCtrlQueueConfig) 0x01) #define CSR_WIFI_ROUTER_CTRL_QUEUE_BK_ENABLE ((CsrWifiRouterCtrlQueueConfig) 0x02) #define CSR_WIFI_ROUTER_CTRL_QUEUE_VI_ENABLE ((CsrWifiRouterCtrlQueueConfig) 0x04) #define CSR_WIFI_ROUTER_CTRL_QUEUE_VO_ENABLE ((CsrWifiRouterCtrlQueueConfig) 0x08) /******************************************************************************* NAME CsrWifiRouterCtrlTrafficConfigType DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_RESET - CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_FILTER - CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_CLS - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlTrafficConfigType; #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_RESET ((CsrWifiRouterCtrlTrafficConfigType) 0x0000) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_FILTER ((CsrWifiRouterCtrlTrafficConfigType) 0x0001) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_TYPE_CLS ((CsrWifiRouterCtrlTrafficConfigType) 0x0002) /******************************************************************************* NAME CsrWifiRouterCtrlTrafficPacketType DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_NONE - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_EAPOL - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP_ACK - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ARP - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_AIRONET - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_CUSTOM - CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ALL - *******************************************************************************/ typedef u16 CsrWifiRouterCtrlTrafficPacketType; #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_NONE ((CsrWifiRouterCtrlTrafficPacketType) 0x0000) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_EAPOL ((CsrWifiRouterCtrlTrafficPacketType) 0x0001) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP ((CsrWifiRouterCtrlTrafficPacketType) 0x0002) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_DHCP_ACK ((CsrWifiRouterCtrlTrafficPacketType) 0x0004) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ARP ((CsrWifiRouterCtrlTrafficPacketType) 0x0008) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_AIRONET ((CsrWifiRouterCtrlTrafficPacketType) 0x0010) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_CUSTOM ((CsrWifiRouterCtrlTrafficPacketType) 0x0020) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PACKET_TYPE_ALL ((CsrWifiRouterCtrlTrafficPacketType) 0x00FF) /******************************************************************************* NAME CsrWifiRouterCtrlTrafficType DESCRIPTION VALUES CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_OCCASIONAL - CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_BURSTY - CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_PERIODIC - CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_CONTINUOUS - *******************************************************************************/ typedef u8 CsrWifiRouterCtrlTrafficType; #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_OCCASIONAL ((CsrWifiRouterCtrlTrafficType) 0x00) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_BURSTY ((CsrWifiRouterCtrlTrafficType) 0x01) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_PERIODIC ((CsrWifiRouterCtrlTrafficType) 0x02) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_TYPE_CONTINUOUS ((CsrWifiRouterCtrlTrafficType) 0x03) /******************************************************************************* NAME CsrWifiRouterCtrlPeerRecordHandle DESCRIPTION *******************************************************************************/ typedef u32 CsrWifiRouterCtrlPeerRecordHandle; /******************************************************************************* NAME CsrWifiRouterCtrlPowersaveTypeMask DESCRIPTION Mask type for use with the values defined by CsrWifiRouterCtrlPowersaveType *******************************************************************************/ typedef u16 CsrWifiRouterCtrlPowersaveTypeMask; /******************************************************************************* NAME CsrWifiRouterCtrlQueueConfigMask DESCRIPTION Mask type for use with the values defined by CsrWifiRouterCtrlQueueConfig *******************************************************************************/ typedef u8 CsrWifiRouterCtrlQueueConfigMask; /******************************************************************************* NAME CsrWifiRouterCtrlRequestorInfo DESCRIPTION *******************************************************************************/ typedef u16 CsrWifiRouterCtrlRequestorInfo; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficStreamId DESCRIPTION *******************************************************************************/ typedef u8 CsrWifiRouterCtrlTrafficStreamId; /******************************************************************************* NAME CsrWifiRouterCtrlSmeVersions DESCRIPTION MEMBERS firmwarePatch - smeBuild - smeHip - *******************************************************************************/ typedef struct { u32 firmwarePatch; char *smeBuild; u32 smeHip; } CsrWifiRouterCtrlSmeVersions; /******************************************************************************* NAME CsrWifiRouterCtrlStaInfo DESCRIPTION MEMBERS wmmOrQosEnabled - powersaveMode - maxSpLength - listenIntervalInTus - *******************************************************************************/ typedef struct { u8 wmmOrQosEnabled; CsrWifiRouterCtrlPowersaveTypeMask powersaveMode; u8 maxSpLength; u16 listenIntervalInTus; } CsrWifiRouterCtrlStaInfo; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficFilter DESCRIPTION MEMBERS etherType - ipType - udpSourcePort - udpDestPort - *******************************************************************************/ typedef struct { u32 etherType; u8 ipType; u32 udpSourcePort; u32 udpDestPort; } CsrWifiRouterCtrlTrafficFilter; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficStats DESCRIPTION MEMBERS rxMeanRate - Mean rx data rate over the interval rxFramesNum - Keep number of Rx frames per second, for CYCLE_3. txFramesNum - Keep number of Tx frames per second, for CYCLE_3. rxBytesCount - Keep calculated Rx throughput per second, for CYCLE_2. txBytesCount - Keep calculated Tx throughput per second, for CYCLE_2. intervals - array size 11 MUST match TA_INTERVALS_NUM *******************************************************************************/ typedef struct { u32 rxMeanRate; u32 rxFramesNum; u32 txFramesNum; u32 rxBytesCount; u32 txBytesCount; u8 intervals[11]; } CsrWifiRouterCtrlTrafficStats; /******************************************************************************* NAME CsrWifiRouterCtrlVersions DESCRIPTION MEMBERS chipId - chipVersion - firmwareBuild - firmwareHip - routerBuild - routerHip - *******************************************************************************/ typedef struct { u32 chipId; u32 chipVersion; u32 firmwareBuild; u32 firmwareHip; char *routerBuild; u32 routerHip; } CsrWifiRouterCtrlVersions; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficConfig DESCRIPTION MEMBERS packetFilter - customFilter - *******************************************************************************/ typedef struct { u16 packetFilter; CsrWifiRouterCtrlTrafficFilter customFilter; } CsrWifiRouterCtrlTrafficConfig; /* Downstream */ #define CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST (0x0000) #define CSR_WIFI_ROUTER_CTRL_CONFIGURE_POWER_MODE_REQ ((CsrWifiRouterCtrlPrim) (0x0000 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_HIP_REQ ((CsrWifiRouterCtrlPrim) (0x0001 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_MEDIA_STATUS_REQ ((CsrWifiRouterCtrlPrim) (0x0002 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_MULTICAST_ADDRESS_RES ((CsrWifiRouterCtrlPrim) (0x0003 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PORT_CONFIGURE_REQ ((CsrWifiRouterCtrlPrim) (0x0004 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_QOS_CONTROL_REQ ((CsrWifiRouterCtrlPrim) (0x0005 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_SUSPEND_RES ((CsrWifiRouterCtrlPrim) (0x0006 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TCLAS_ADD_REQ ((CsrWifiRouterCtrlPrim) (0x0007 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_RESUME_RES ((CsrWifiRouterCtrlPrim) (0x0008 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_DEINITIALISE_REQ ((CsrWifiRouterCtrlPrim) (0x0009 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_INITIALISE_REQ ((CsrWifiRouterCtrlPrim) (0x000A + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TCLAS_DEL_REQ ((CsrWifiRouterCtrlPrim) (0x000B + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CLASSIFICATION_REQ ((CsrWifiRouterCtrlPrim) (0x000C + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_CONFIG_REQ ((CsrWifiRouterCtrlPrim) (0x000D + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_REQ ((CsrWifiRouterCtrlPrim) (0x000E + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_RES ((CsrWifiRouterCtrlPrim) (0x000F + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_REQ ((CsrWifiRouterCtrlPrim) (0x0010 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_RES ((CsrWifiRouterCtrlPrim) (0x0011 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_M4_TRANSMIT_REQ ((CsrWifiRouterCtrlPrim) (0x0012 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_MODE_SET_REQ ((CsrWifiRouterCtrlPrim) (0x0013 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PEER_ADD_REQ ((CsrWifiRouterCtrlPrim) (0x0014 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PEER_DEL_REQ ((CsrWifiRouterCtrlPrim) (0x0015 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PEER_UPDATE_REQ ((CsrWifiRouterCtrlPrim) (0x0016 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_CAPABILITIES_REQ ((CsrWifiRouterCtrlPrim) (0x0017 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ENABLE_REQ ((CsrWifiRouterCtrlPrim) (0x0018 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_DISABLE_REQ ((CsrWifiRouterCtrlPrim) (0x0019 + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_RX_PKT_REQ ((CsrWifiRouterCtrlPrim) (0x001A + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_MULTICAST_FILTER_REQ ((CsrWifiRouterCtrlPrim) (0x001B + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_FILTER_REQ ((CsrWifiRouterCtrlPrim) (0x001C + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_TX_PKT_REQ ((CsrWifiRouterCtrlPrim) (0x001D + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_FILTER_REQ ((CsrWifiRouterCtrlPrim) (0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_HIGHEST (0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST) /* Upstream */ #define CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST (0x0000 + CSR_PRIM_UPSTREAM) #define CSR_WIFI_ROUTER_CTRL_HIP_IND ((CsrWifiRouterCtrlPrim)(0x0000 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_MULTICAST_ADDRESS_IND ((CsrWifiRouterCtrlPrim)(0x0001 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PORT_CONFIGURE_CFM ((CsrWifiRouterCtrlPrim)(0x0002 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_RESUME_IND ((CsrWifiRouterCtrlPrim)(0x0003 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_SUSPEND_IND ((CsrWifiRouterCtrlPrim)(0x0004 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TCLAS_ADD_CFM ((CsrWifiRouterCtrlPrim)(0x0005 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_DEINITIALISE_CFM ((CsrWifiRouterCtrlPrim)(0x0006 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_RAW_SDIO_INITIALISE_CFM ((CsrWifiRouterCtrlPrim)(0x0007 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TCLAS_DEL_CFM ((CsrWifiRouterCtrlPrim)(0x0008 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_PROTOCOL_IND ((CsrWifiRouterCtrlPrim)(0x0009 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_TRAFFIC_SAMPLE_IND ((CsrWifiRouterCtrlPrim)(0x000A + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_IND ((CsrWifiRouterCtrlPrim)(0x000B + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_OFF_CFM ((CsrWifiRouterCtrlPrim)(0x000C + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_IND ((CsrWifiRouterCtrlPrim)(0x000D + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WIFI_ON_CFM ((CsrWifiRouterCtrlPrim)(0x000E + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_M4_READY_TO_SEND_IND ((CsrWifiRouterCtrlPrim)(0x000F + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_M4_TRANSMITTED_IND ((CsrWifiRouterCtrlPrim)(0x0010 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_MIC_FAILURE_IND ((CsrWifiRouterCtrlPrim)(0x0011 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_CONNECTED_IND ((CsrWifiRouterCtrlPrim)(0x0012 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PEER_ADD_CFM ((CsrWifiRouterCtrlPrim)(0x0013 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PEER_DEL_CFM ((CsrWifiRouterCtrlPrim)(0x0014 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_UNEXPECTED_FRAME_IND ((CsrWifiRouterCtrlPrim)(0x0015 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PEER_UPDATE_CFM ((CsrWifiRouterCtrlPrim)(0x0016 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_CAPABILITIES_CFM ((CsrWifiRouterCtrlPrim)(0x0017 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ENABLE_CFM ((CsrWifiRouterCtrlPrim)(0x0018 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_DISABLE_CFM ((CsrWifiRouterCtrlPrim)(0x0019 + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_BLOCK_ACK_ERROR_IND ((CsrWifiRouterCtrlPrim)(0x001A + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_STA_INACTIVE_IND ((CsrWifiRouterCtrlPrim)(0x001B + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_RX_MIC_CHECK_IND ((CsrWifiRouterCtrlPrim)(0x001C + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_MODE_SET_CFM ((CsrWifiRouterCtrlPrim)(0x001D + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_WAPI_UNICAST_TX_ENCRYPT_IND ((CsrWifiRouterCtrlPrim)(0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST)) #define CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_HIGHEST (0x001E + CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST) #define CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_COUNT (CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_HIGHEST + 1 - CSR_WIFI_ROUTER_CTRL_PRIM_DOWNSTREAM_LOWEST) #define CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_COUNT (CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_HIGHEST + 1 - CSR_WIFI_ROUTER_CTRL_PRIM_UPSTREAM_LOWEST) /******************************************************************************* NAME CsrWifiRouterCtrlConfigurePowerModeReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - mode - wakeHost - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlLowPowerMode mode; u8 wakeHost; } CsrWifiRouterCtrlConfigurePowerModeReq; /******************************************************************************* NAME CsrWifiRouterCtrlHipReq DESCRIPTION This primitive is used for transferring MLME messages to the HIP. MEMBERS common - Common header for use with the CsrWifiFsm Module mlmeCommandLength - Length of the MLME signal mlmeCommand - Pointer to the MLME signal dataRef1Length - Length of the dataRef1 bulk data dataRef1 - Pointer to the bulk data 1 dataRef2Length - Length of the dataRef2 bulk data dataRef2 - Pointer to the bulk data 2 *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 mlmeCommandLength; u8 *mlmeCommand; u16 dataRef1Length; u8 *dataRef1; u16 dataRef2Length; u8 *dataRef2; } CsrWifiRouterCtrlHipReq; /******************************************************************************* NAME CsrWifiRouterCtrlMediaStatusReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - mediaStatus - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlMediaStatus mediaStatus; } CsrWifiRouterCtrlMediaStatusReq; /******************************************************************************* NAME CsrWifiRouterCtrlMulticastAddressRes DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - status - action - getAddressesCount - getAddresses - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult status; CsrWifiRouterCtrlListAction action; u8 getAddressesCount; CsrWifiMacAddress *getAddresses; } CsrWifiRouterCtrlMulticastAddressRes; /******************************************************************************* NAME CsrWifiRouterCtrlPortConfigureReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - uncontrolledPortAction - controlledPortAction - macAddress - setProtection - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlPortAction uncontrolledPortAction; CsrWifiRouterCtrlPortAction controlledPortAction; CsrWifiMacAddress macAddress; u8 setProtection; } CsrWifiRouterCtrlPortConfigureReq; /******************************************************************************* NAME CsrWifiRouterCtrlQosControlReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - control - queueConfig - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlQoSControl control; CsrWifiRouterCtrlQueueConfigMask queueConfig; } CsrWifiRouterCtrlQosControlReq; /******************************************************************************* NAME CsrWifiRouterCtrlSuspendRes DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult status; } CsrWifiRouterCtrlSuspendRes; /******************************************************************************* NAME CsrWifiRouterCtrlTclasAddReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - tclasLength - tclas - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; u16 tclasLength; u8 *tclas; } CsrWifiRouterCtrlTclasAddReq; /******************************************************************************* NAME CsrWifiRouterCtrlResumeRes DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult status; } CsrWifiRouterCtrlResumeRes; /******************************************************************************* NAME CsrWifiRouterCtrlRawSdioDeinitialiseReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlRawSdioDeinitialiseReq; /******************************************************************************* NAME CsrWifiRouterCtrlRawSdioInitialiseReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlRawSdioInitialiseReq; /******************************************************************************* NAME CsrWifiRouterCtrlTclasDelReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - tclasLength - tclas - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; u16 tclasLength; u8 *tclas; } CsrWifiRouterCtrlTclasDelReq; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficClassificationReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - trafficType - period - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlTrafficType trafficType; u16 period; } CsrWifiRouterCtrlTrafficClassificationReq; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficConfigReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - trafficConfigType - config - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlTrafficConfigType trafficConfigType; CsrWifiRouterCtrlTrafficConfig config; } CsrWifiRouterCtrlTrafficConfigReq; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOffReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlWifiOffReq; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOffRes DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlWifiOffRes; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOnReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - dataLength - Number of bytes in the buffer pointed to by 'data' data - Pointer to the buffer containing 'dataLength' bytes *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u32 dataLength; u8 *data; } CsrWifiRouterCtrlWifiOnReq; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOnRes DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - status - numInterfaceAddress - stationMacAddress - array size 1 MUST match CSR_WIFI_NUM_INTERFACES smeVersions - scheduledInterrupt - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult status; u16 numInterfaceAddress; CsrWifiMacAddress stationMacAddress[2]; CsrWifiRouterCtrlSmeVersions smeVersions; u8 scheduledInterrupt; } CsrWifiRouterCtrlWifiOnRes; /******************************************************************************* NAME CsrWifiRouterCtrlM4TransmitReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlM4TransmitReq; /******************************************************************************* NAME CsrWifiRouterCtrlModeSetReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - mode - bssid - BSSID of the network the device is going to be a part of protection - Set to TRUE if encryption is enabled for the connection/broadcast frames intraBssDistEnabled - If set to TRUE, intra BSS destribution will be enabled. If set to FALSE, any unicast PDU which does not have the RA as the the local MAC address, shall be ignored. This field is interpreted by the receive if mode is set to CSR_WIFI_ROUTER_CTRL_MODE_P2PGO *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlMode mode; CsrWifiMacAddress bssid; u8 protection; u8 intraBssDistEnabled; } CsrWifiRouterCtrlModeSetReq; /******************************************************************************* NAME CsrWifiRouterCtrlPeerAddReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - peerMacAddress - associationId - staInfo - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiMacAddress peerMacAddress; u16 associationId; CsrWifiRouterCtrlStaInfo staInfo; } CsrWifiRouterCtrlPeerAddReq; /******************************************************************************* NAME CsrWifiRouterCtrlPeerDelReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - peerRecordHandle - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlPeerRecordHandle peerRecordHandle; } CsrWifiRouterCtrlPeerDelReq; /******************************************************************************* NAME CsrWifiRouterCtrlPeerUpdateReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - peerRecordHandle - powersaveMode - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlPeerRecordHandle peerRecordHandle; CsrWifiRouterCtrlPowersaveTypeMask powersaveMode; } CsrWifiRouterCtrlPeerUpdateReq; /******************************************************************************* NAME CsrWifiRouterCtrlCapabilitiesReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlCapabilitiesReq; /******************************************************************************* NAME CsrWifiRouterCtrlBlockAckEnableReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - macAddress - trafficStreamID - role - bufferSize - timeout - ssn - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiMacAddress macAddress; CsrWifiRouterCtrlTrafficStreamId trafficStreamID; CsrWifiRouterCtrlBlockAckRole role; u16 bufferSize; u16 timeout; u16 ssn; } CsrWifiRouterCtrlBlockAckEnableReq; /******************************************************************************* NAME CsrWifiRouterCtrlBlockAckDisableReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - clientData - macAddress - trafficStreamID - role - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiMacAddress macAddress; CsrWifiRouterCtrlTrafficStreamId trafficStreamID; CsrWifiRouterCtrlBlockAckRole role; } CsrWifiRouterCtrlBlockAckDisableReq; /******************************************************************************* NAME CsrWifiRouterCtrlWapiRxPktReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - signalLength - signal - dataLength - data - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; u16 signalLength; u8 *signal; u16 dataLength; u8 *data; } CsrWifiRouterCtrlWapiRxPktReq; /******************************************************************************* NAME CsrWifiRouterCtrlWapiMulticastFilterReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; u8 status; } CsrWifiRouterCtrlWapiMulticastFilterReq; /******************************************************************************* NAME CsrWifiRouterCtrlWapiUnicastFilterReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; u8 status; } CsrWifiRouterCtrlWapiUnicastFilterReq; /******************************************************************************* NAME CsrWifiRouterCtrlWapiUnicastTxPktReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - dataLength - data - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; u16 dataLength; u8 *data; } CsrWifiRouterCtrlWapiUnicastTxPktReq; /******************************************************************************* NAME CsrWifiRouterCtrlWapiFilterReq DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module interfaceTag - isWapiConnected - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 interfaceTag; u8 isWapiConnected; } CsrWifiRouterCtrlWapiFilterReq; /******************************************************************************* NAME CsrWifiRouterCtrlHipInd DESCRIPTION This primitive is used for transferring MLME messages from the HIP. MEMBERS common - Common header for use with the CsrWifiFsm Module mlmeCommandLength - Length of the MLME signal mlmeCommand - Pointer to the MLME signal dataRef1Length - Length of the dataRef1 bulk data dataRef1 - Pointer to the bulk data 1 dataRef2Length - Length of the dataRef2 bulk data dataRef2 - Pointer to the bulk data 2 *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; u16 mlmeCommandLength; u8 *mlmeCommand; u16 dataRef1Length; u8 *dataRef1; u16 dataRef2Length; u8 *dataRef2; } CsrWifiRouterCtrlHipInd; /******************************************************************************* NAME CsrWifiRouterCtrlMulticastAddressInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - action - setAddressesCount - setAddresses - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiRouterCtrlListAction action; u8 setAddressesCount; CsrWifiMacAddress *setAddresses; } CsrWifiRouterCtrlMulticastAddressInd; /******************************************************************************* NAME CsrWifiRouterCtrlPortConfigureCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - macAddress - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; CsrWifiMacAddress macAddress; } CsrWifiRouterCtrlPortConfigureCfm; /******************************************************************************* NAME CsrWifiRouterCtrlResumeInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - powerMaintained - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u8 powerMaintained; } CsrWifiRouterCtrlResumeInd; /******************************************************************************* NAME CsrWifiRouterCtrlSuspendInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - hardSuspend - d3Suspend - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u8 hardSuspend; u8 d3Suspend; } CsrWifiRouterCtrlSuspendInd; /******************************************************************************* NAME CsrWifiRouterCtrlTclasAddCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; } CsrWifiRouterCtrlTclasAddCfm; /******************************************************************************* NAME CsrWifiRouterCtrlRawSdioDeinitialiseCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - result - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult result; } CsrWifiRouterCtrlRawSdioDeinitialiseCfm; /******************************************************************************* NAME CsrWifiRouterCtrlRawSdioInitialiseCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - result - byteRead - byteWrite - firmwareDownload - reset - coreDumpPrepare - byteBlockRead - gpRead16 - gpWrite16 - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult result; CsrWifiRouterCtrlRawSdioByteRead byteRead; CsrWifiRouterCtrlRawSdioByteWrite byteWrite; CsrWifiRouterCtrlRawSdioFirmwareDownload firmwareDownload; CsrWifiRouterCtrlRawSdioReset reset; CsrWifiRouterCtrlRawSdioCoreDumpPrepare coreDumpPrepare; CsrWifiRouterCtrlRawSdioByteBlockRead byteBlockRead; CsrWifiRouterCtrlRawSdioGpRead16 gpRead16; CsrWifiRouterCtrlRawSdioGpWrite16 gpWrite16; } CsrWifiRouterCtrlRawSdioInitialiseCfm; /******************************************************************************* NAME CsrWifiRouterCtrlTclasDelCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; } CsrWifiRouterCtrlTclasDelCfm; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficProtocolInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - packetType - direction - srcAddress - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiRouterCtrlTrafficPacketType packetType; CsrWifiRouterCtrlProtocolDirection direction; CsrWifiMacAddress srcAddress; } CsrWifiRouterCtrlTrafficProtocolInd; /******************************************************************************* NAME CsrWifiRouterCtrlTrafficSampleInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - stats - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiRouterCtrlTrafficStats stats; } CsrWifiRouterCtrlTrafficSampleInd; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOffInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - controlIndication - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrWifiRouterCtrlControlIndication controlIndication; } CsrWifiRouterCtrlWifiOffInd; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOffCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; } CsrWifiRouterCtrlWifiOffCfm; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOnInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - status - versions - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult status; CsrWifiRouterCtrlVersions versions; } CsrWifiRouterCtrlWifiOnInd; /******************************************************************************* NAME CsrWifiRouterCtrlWifiOnCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; CsrResult status; } CsrWifiRouterCtrlWifiOnCfm; /******************************************************************************* NAME CsrWifiRouterCtrlM4ReadyToSendInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - peerMacAddress - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress peerMacAddress; } CsrWifiRouterCtrlM4ReadyToSendInd; /******************************************************************************* NAME CsrWifiRouterCtrlM4TransmittedInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - peerMacAddress - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress peerMacAddress; CsrResult status; } CsrWifiRouterCtrlM4TransmittedInd; /******************************************************************************* NAME CsrWifiRouterCtrlMicFailureInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - peerMacAddress - unicastPdu - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress peerMacAddress; u8 unicastPdu; } CsrWifiRouterCtrlMicFailureInd; /******************************************************************************* NAME CsrWifiRouterCtrlConnectedInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - peerMacAddress - peerStatus - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress peerMacAddress; CsrWifiRouterCtrlPeerStatus peerStatus; } CsrWifiRouterCtrlConnectedInd; /******************************************************************************* NAME CsrWifiRouterCtrlPeerAddCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - peerMacAddress - peerRecordHandle - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress peerMacAddress; CsrWifiRouterCtrlPeerRecordHandle peerRecordHandle; CsrResult status; } CsrWifiRouterCtrlPeerAddCfm; /******************************************************************************* NAME CsrWifiRouterCtrlPeerDelCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; } CsrWifiRouterCtrlPeerDelCfm; /******************************************************************************* NAME CsrWifiRouterCtrlUnexpectedFrameInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - peerMacAddress - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress peerMacAddress; } CsrWifiRouterCtrlUnexpectedFrameInd; /******************************************************************************* NAME CsrWifiRouterCtrlPeerUpdateCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; } CsrWifiRouterCtrlPeerUpdateCfm; /******************************************************************************* NAME CsrWifiRouterCtrlCapabilitiesCfm DESCRIPTION The router sends this primitive to confirm the size of the queues of the HIP. MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - commandQueueSize - Size of command queue trafficQueueSize - Size of traffic queue (per AC) *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 commandQueueSize; u16 trafficQueueSize; } CsrWifiRouterCtrlCapabilitiesCfm; /******************************************************************************* NAME CsrWifiRouterCtrlBlockAckEnableCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; } CsrWifiRouterCtrlBlockAckEnableCfm; /******************************************************************************* NAME CsrWifiRouterCtrlBlockAckDisableCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrResult status; } CsrWifiRouterCtrlBlockAckDisableCfm; /******************************************************************************* NAME CsrWifiRouterCtrlBlockAckErrorInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - trafficStreamID - peerMacAddress - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiRouterCtrlTrafficStreamId trafficStreamID; CsrWifiMacAddress peerMacAddress; CsrResult status; } CsrWifiRouterCtrlBlockAckErrorInd; /******************************************************************************* NAME CsrWifiRouterCtrlStaInactiveInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - staAddress - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiMacAddress staAddress; } CsrWifiRouterCtrlStaInactiveInd; /******************************************************************************* NAME CsrWifiRouterCtrlWapiRxMicCheckInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - signalLength - signal - dataLength - data - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; u16 signalLength; u8 *signal; u16 dataLength; u8 *data; } CsrWifiRouterCtrlWapiRxMicCheckInd; /******************************************************************************* NAME CsrWifiRouterCtrlModeSetCfm DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - mode - status - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; CsrWifiRouterCtrlMode mode; CsrResult status; } CsrWifiRouterCtrlModeSetCfm; /******************************************************************************* NAME CsrWifiRouterCtrlWapiUnicastTxEncryptInd DESCRIPTION MEMBERS common - Common header for use with the CsrWifiFsm Module clientData - interfaceTag - dataLength - data - *******************************************************************************/ typedef struct { CsrWifiFsmEvent common; CsrWifiRouterCtrlRequestorInfo clientData; u16 interfaceTag; u16 dataLength; u8 *data; } CsrWifiRouterCtrlWapiUnicastTxEncryptInd; #endif /* CSR_WIFI_ROUTER_CTRL_PRIM_H__ */