📄 hostcmd.h
字号:
IEEEtypes_TPCReport_t TPCReport;
#endif
#ifdef ENABLE_802_11D
IEEEtypes_CountryInfoFullSet_t CountryInfo;
#endif
#ifdef WPA
WPA_SUPPLICANT wpa_supplicant;
#ifdef WPA2
WPA_SUPPLICANT wpa2_supplicant;
#endif /* WPA2 */
#ifdef CCX
CCX_BSS_Info_t ccx_bss_info;
#endif
#endif
} WLAN_802_11_BSSID, *PWLAN_802_11_BSSID __ATTRIB_PACK__;
typedef u32 WLAN_802_11_FRAGMENTATION_THRESHOLD;
typedef u32 WLAN_802_11_RTS_THRESHOLD;
typedef u32 WLAN_802_11_ANTENNA;
typedef struct _wlan_offset_value {
u32 offset;
u32 value;
} wlan_offset_value;
#ifdef FWVERSION3
typedef struct _WLAN_802_11_FIXED_IEs {
u8 Timestamp[8];
u16 BeaconInterval;
u16 Capabilities;
} WLAN_802_11_FIXED_IEs, *PWLAN_802_11_FIXED_IEs;
typedef struct _WLAN_802_11_VARIABLE_IEs {
u8 ElementID;
u8 Length;
u8 data[1];
} WLAN_802_11_VARIABLE_IEs, *PWLAN_802_11_VARIABLE_IEs;
typedef struct _WLAN_802_11_AI_RESFI {
u16 Capabilities;
u16 StatusCode;
u16 AssociationId;
} WLAN_802_11_AI_RESFI, *PWLAN_802_11_AI_RESFI;
typedef struct _WLAN_802_11_AI_REQFI {
u16 Capabilities;
u16 ListenInterval;
WLAN_802_11_MAC_ADDRESS CurrentAPAddress;
} WLAN_802_11_AI_REQFI, *PWLAN_802_11_AI_REQFI;
typedef struct _WLAN_802_11_ASSOCIATION_INFORMATION {
u32 Length;
u16 AvailableRequestFixedIEs;
WLAN_802_11_AI_REQFI RequestFixedIEs;
u32 RequestIELength;
u32 OffsetRequestIEs;
u16 AvailableResponseFixedIEs;
WLAN_802_11_AI_RESFI ResponseFixedIEs;
u32 ResponseIELength;
u32 OffsetResponseIEs;
} WLAN_802_11_ASSOCIATION_INFORMATION, *PWLAN_802_11_ASSOCIATION_INFORMATION;
#endif /* FWVERSION3 */
/* Linux Dynamic Power Management,
* If the user has enabled the deep sleep, user has the highest privilege.
* The Kernel PM takes the next priority
*/
/*
* Definition of data structure for each command
*/
/* Define general data structure */
typedef struct _HostCmd_DS_GEN {
u16 Command;
u16 Size;
u16 SeqNum;
u16 Result;
} __ATTRIB_PACK__ HostCmd_DS_GEN, *PHostCmd_DS_GEN
#if defined(DEEP_SLEEP_CMD)
,HostCmd_DS_802_11_DEEP_SLEEP, *PHostCmd_DS_802_11_DEEP_SLEEP
#endif /* DEEP_SLEEP_CMD */
;
/*
* Define data structure for HostCmd_CMD_GET_HW_SPEC
* This structure defines the response for the GET_HW_SPEC command
*/
typedef struct _HostCmd_DS_GET_HW_SPEC
{
u16 HWIfVersion; // HW Interface version number
u16 Version; // HW version number
u16 NumOfTxPD; // Max number of TxPD FW can handle
u16 NumOfMCastAdr; // Max no of Multicast address
// FW can handle
u8 PermanentAddr[6]; // MAC address
u16 RegionCode; // Region Code
u16 NumberOfAntenna; // Number of antenna used
u32 FWReleaseNumber; // FW release number,
// example 0x1234=1.2.3.4
u32 WcbBase; // Base Address of TxPD queue
u32 RxPdRdPtr; // Read Pointer of RxPd queue
u32 RxPdWrPtr; // Write Pointer of RxPd queue
#ifdef FWVERSION3
u32 fwCapInfo;
#endif
} __ATTRIB_PACK__ HostCmd_DS_GET_HW_SPEC, *PHostCmd_DS_GET_HW_SPEC;
/* Define data structure for HostCmd_CMD_EEPROM_UPDATE */
typedef struct _HostCmd_DS_EEPROM_UPDATE {
u16 Action; // Detailed action or option
u32 Value;
} __ATTRIB_PACK__ HostCmd_DS_EEPROM_UPDATE, *PHostCmd_DS_EEPROM_UPDATE;
/* Define data structure for HostCmd_CMD_802_11_RESET */
typedef struct _HostCmd_DS_802_11_RESET
{
u16 Action; // ACT_NOT_REVERT_MIB, ACT_REVERT_MIB
// or ACT_HALT
} __ATTRIB_PACK__ HostCmd_DS_802_11_RESET, *PHostCmd_DS_802_11_RESET;
#ifdef SUBSCRIBE_EVENT_CTRL
typedef struct _HostCmd_DS_802_11_SUBSCRIBE_EVENT {
u16 Action;
u16 Events;
} __ATTRIB_PACK__ HostCmd_DS_802_11_SUBSCRIBE_EVENT;
#endif
#ifdef TLV_SCAN
/*
* This scan handle Country Information IE(802.11d compliant)
* Define data structure for HostCmd_CMD_802_11_SCAN
*/
typedef struct _HostCmd_DS_802_11_SCAN {
u8 BSSType;
u8 BSSID[ETH_ALEN];
// MrvlIEtypes_SsIdParamSet_t SsIdParamSet;
// MrvlIEtypes_ChanListParamSet_t ChanListParamSet;
// MrvlIEtypes_RatesParamSet_t OpRateSet;
} __ATTRIB_PACK__ HostCmd_DS_802_11_SCAN, *PHostCmd_DS_802_11_SCAN;
typedef struct _HostCmd_DS_802_11_SCAN_RSP {
u16 BSSDescriptSize;
u8 NumberOfSets;
} __ATTRIB_PACK__ HostCmd_DS_802_11_SCAN_RSP,
*PHostCmd_DS_802_11_SCAN_RSP;
#else
/* Define data structure for HostCmd_CMD_802_11_SCAN */
typedef struct _HostCmd_DS_802_11_SCAN {
u16 IsAutoAssociation;
u8 BSSType;
u8 BSSID[ETH_ALEN];
u8 SSID[MRVDRV_MAX_SSID_LENGTH];
u8 ScanType;
u16 ProbeDelay;
u8 CHList[MRVDRV_MAX_CHANNEL_SIZE];
u16 MinCHTime;
u16 MaxCHTime;
u16 Reserved;
u8 DataRate[HOSTCMD_SUPPORTED_RATES];
} __ATTRIB_PACK__ HostCmd_DS_802_11_SCAN, *PHostCmd_DS_802_11_SCAN;
/* Define data structure for HostCmd_CMD_802_11_SCAN */
typedef struct _HostCmd_DS_802_11_SCAN_RSP {
u8 BSSID[ETH_ALEN];
u8 RSSI[MRVDRV_MAX_BSS_DESCRIPTS];
u16 BSSDescriptSize;
u8 NumberOfSets;
} __ATTRIB_PACK__ HostCmd_DS_802_11_SCAN_RSP,
*PHostCmd_DS_802_11_SCAN_RSP;
#endif /* TLV_SCAN */
/* Define data structure for HostCmd_CMD_802_11_QUERY_TRAFFIC */
typedef struct _HostCmd_DS_802_11_QUERY_TRAFFIC {
u32 Traffic; // Traffic in bps
} __ATTRIB_PACK__ HostCmd_DS_802_11_QUERY_TRAFFIC,
*PHostCmd_DS_802_11_QUERY_TRAFFIC;
/* Define data structure for HostCmd_CMD_802_11_QUERY_STATUS */
typedef struct _HostCmd_DS_802_11_QUERY_STATUS {
u16 FWStatus;
u16 MACStatus;
u16 RFStatus;
u16 CurrentChannel; // 1..99
u8 APMACAdr[6]; // Associated AP MAC address
u16 Reserved;
u32 MaxLinkSpeed; // Allowable max.link speed in unit
// of 100bps
} __ATTRIB_PACK__ HostCmd_DS_802_11_QUERY_STATUS,
*PHostCmd_DS_802_11_QUERY_STATUS;
/* Define data structure for HostCmd_CMD_802_11_GET_LOG */
typedef struct _HostCmd_DS_802_11_GET_LOG {
u32 mcasttxframe;
u32 failed;
u32 retry;
u32 multiretry;
u32 framedup;
u32 rtssuccess;
u32 rtsfailure;
u32 ackfailure;
u32 rxfrag;
u32 mcastrxframe;
u32 fcserror;
u32 txframe;
u32 wepundecryptable;
} __ATTRIB_PACK__ HostCmd_DS_802_11_GET_LOG,
*PHostCmd_DS_802_11_GET_LOG;
/* Define data structure for HostCmd_CMD_MAC_CONTROL */
typedef struct _HostCmd_DS_MAC_CONTROL
{
u16 Action; // RX, TX, INT, WEP, LOOPBACK on/off
u16 Reserved;
} __ATTRIB_PACK__ HostCmd_DS_MAC_CONTROL, *PHostCmd_DS_MAC_CONTROL;
/* Define data structure for HostCmd_CMD_MAC_MULTICAST_ADR */
typedef struct _HostCmd_DS_MAC_MULTICAST_ADR {
u16 Action;
u16 NumOfAdrs;
u8 MACList[MRVDRV_ETH_ADDR_LEN * MRVDRV_MAX_MULTICAST_LIST_SIZE];
} __ATTRIB_PACK__ HostCmd_DS_MAC_MULTICAST_ADR,
*PHostCmd_DS_MAC_MULTICAST_ADR;
/* Define data structure for HostCmd_CMD_802_11_AUTHENTICATE */
typedef struct _HostCmd_DS_802_11_AUTHENTICATE {
u8 MacAddr[ETH_ALEN];
u8 AuthType;
u8 Reserved[10];
} __ATTRIB_PACK__ HostCmd_DS_802_11_AUTHENTICATE,
*PHostCmd_DS_802_11_AUTHENTICATE;
/* Define data structure for HostCmd_RET_802_11_AUTHENTICATE */
typedef struct _HostCmd_DS_802_11_AUTHENTICATE_RSP
{
u8 MacAddr[6];
u8 AuthType;
u8 AuthStatus;
} __ATTRIB_PACK__ HostCmd_DS_802_11_AUTHENTICATE_RSP,
*PHostCmd_DS_802_11_AUTHENTICATE_RSP;
/* Define data structure for HostCmd_CMD_802_11_DEAUTHENTICATE */
typedef struct _HostCmd_DS_802_11_DEAUTHENTICATE
{
u8 MacAddr[6];
u16 ReasonCode;
} __ATTRIB_PACK__ HostCmd_DS_802_11_DEAUTHENTICATE,
*PHostCmd_DS_802_11_DEAUTHENTICATE;
#ifdef NEW_ASSOCIATION
#ifdef TLV_ASSOCIATION
typedef struct _HostCmd_DS_802_11_ASSOCIATE
{
u8 PeerStaAddr[6];
IEEEtypes_CapInfo_t CapInfo;
u16 ListenInterval;
u16 BcnPeriod;
u8 DtimPeriod;
// MrvlIEtypes_SsIdParamSet_t SsIdParamSet;
// MrvlIEtypes_PhyParamSet_t PhyParamSet;
// MrvlIEtypes_SsParamSet_t SsParamSet;
// MrvlIEtypes_RatesParamSet_t RatesParamSet;
//#ifdef WPA
// MrvlIEtypes_RsnParamSet_t RsnParamSet;
//#endif
//#ifdef WMM
// MrvlIEtypes_WmmParamSet_t WmmParamSet;
//#endif /* WMM */
} __ATTRIB_PACK__ HostCmd_DS_802_11_ASSOCIATE,
*PHostCmd_DS_802_11_ASSOCIATE;
#else
typedef struct _HostCmd_DS_802_11_ASSOCIATE
{
u8 PeerStaAddr[6];
u16 FailTimeOut;
IEEEtypes_CapInfo_t CapInfo;
u16 ListenInterval;
u8 SsId[MRVDRV_MAX_SSID_LENGTH];
u8 Reserved;
u16 Reserved1;
u8 Reserved2;
IEEEtypes_PhyParamSet_t PhyParamSet;
IEEEtypes_SsParamSet_t SsParamSet;
u8 DataRates[HOSTCMD_SUPPORTED_RATES];
u8 RsnIE[256];
} __ATTRIB_PACK__ HostCmd_DS_802_11_ASSOCIATE,
*PHostCmd_DS_802_11_ASSOCIATE;
#endif /* TLV_ASSOCIATION */
#else
/*
* Define data structure for HostCmd_CMD_802_11_ASSOCIATE and
* HostCmd_CMD_802_11_REASSOCIATE
*/
typedef struct _HostCmd_DS_802_11_ASSOCIATE {
u8 DestMacAddr[ETH_ALEN];
u16 TimeOut; // Association failure timeout
IEEEtypes_CapInfo_t CapInfo; // Capability information
u16 ListenInterval; // Listen interval
u32 BlankSsid;
} __ATTRIB_PACK__ HostCmd_DS_802_11_ASSOCIATE,
*PHostCmd_DS_802_11_ASSOCIATE;
#endif /* NEW_ASSOCIATE */
/* Define data structure for HostCmd_CMD_802_11_DISASSOCIATE */
typedef struct _HostCmd_DS_802_11_DISASSOCIATE
{
u8 DestMacAddr[6];
u16 ReasonCode; // Disassociation reason code
} __ATTRIB_PACK__ HostCmd_DS_802_11_DISASSOCIATE,
*PHostCmd_DS_802_11_DISASSOCIATE;
/* Define data structure for HostCmd_RET_802_11_ASSOCIATE */
typedef struct _HostCmd_DS_802_11_ASSOCIATE_RSP
{
#ifdef FWVERSION3
IEEEtypes_CapInfo_t CapInfo;
u16 ResultCode;
u16 AssociationID;
u16 IELength;
#ifdef NEW_ASSOCIATION_RSP
u8 RateID;
u8 RateLen;
u8 Rates[8];
u8 ExtRateID;
u8 ExtRateLen;
u8 ExtRates[8];
#else
u8 IE[8]; /* The old member was IE[1] */
u8 ExtRates[12]; /* This was not there before */
#endif
#endif
} __ATTRIB_PACK__ HostCmd_DS_802_11_ASSOCIATE_RSP,
*PHostCmd_DS_802_11_ASSOCIATE_RSP;
/* Define data structure for HostCmd_RET_802_11_AD_HOC_JOIN */
typedef struct _HostCmd_DS_802_11_AD_HOC_RESULT
{
#ifndef MS8380
u8 PAD[3]; //TODO: Remove this when fixed in F/W 3
//byte right shift in BSSID
#endif
u8 BSSID[MRVDRV_ETH_ADDR_LEN];
} __ATTRIB_PACK__ HostCmd_DS_802_11_AD_HOC_RESULT,
*PHostCmd_DS_802_11_AD_HOC_RESULT;
/* Define data structure for HostCmd_CMD_802_11_SET_WEP */
typedef struct _HostCmd_DS_802_11_SET_WEP
{
u16 Action; // ACT_ADD, ACT_REMOVE or ACT_ENABLE
u16 KeyIndex; // Key Index selected for Tx
u8 WEPTypeForKey1; // 40, 128bit or TXWEP
u8 WEPTypeForKey2;
u8 WEPTypeForKey3;
u8 WEPTypeForKey4;
u8 WEP1[16]; // WEP Key itself
u8 WEP2[16];
u8 WEP3[16];
u8 WEP4[16];
} __ATTRIB_PACK__ HostCmd_DS_802_11_SET_WEP,
*PHostCmd_DS_802_11_SET_WEP;
/* Define data structure for HostCmd_CMD_802_3_GET_STAT */
typedef struct _HostCmd_DS_802_3_GET_STAT
{
u32 XmitOK;
u32 RcvOK;
u32 XmitError;
u32 RcvError;
u32 RcvNoBuffer;
u32 RcvCRCError;
} __ATTRIB_PACK__ HostCmd_DS_802_3_GET_STAT,
*PHostCmd_DS_802_3_GET_STAT;
/* Define data structure for HostCmd_CMD_802_11_GET_STAT */
typedef struct _HostCmd_DS_802_11_GET_STAT
{
u32 TXFragmentCnt;
u32 MCastTXFrameCnt;
u32 FailedCnt;
u32 RetryCnt;
u32 MultipleRetryCnt;
u32 RTSSuccessCnt;
u32 RTSFailureCnt;
u32 ACKFailureCnt;
u32 FrameDuplicateCnt;
u32 RXFragmentCnt;
u32 MCastRXFrameCnt;
u32 FCSErrorCnt;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -