⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hostcmd.h

📁 marvell cf wifi driver source code CF-8385-linux-x86-5.0.4.p0-132-src.rar
💻 H
📖 第 1 页 / 共 4 页
字号:
	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 + -