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

📄 hostcmd.h

📁 marvell wifi driver GSPI-8385-LINUX-OMAP1510-5.0.10.p0-144-src.rar
💻 H
📖 第 1 页 / 共 3 页
字号:
typedef struct _HostCmd_DS_802_11_DATA_RATE {
	u16	Action;
	u16	Reserverd;
	u8	DataRate[HOSTCMD_SUPPORTED_RATES];
} __ATTRIB_PACK__ HostCmd_DS_802_11_DATA_RATE,
	*PHostCmd_DS_802_11_DATA_RATE;

typedef struct _HostCmd_DS_802_11_RATE_ADAPT_RATESET {
	u16	Action;
	u16	EnableHwAuto;
	u16	Bitmap;
} __ATTRIB_PACK__ HostCmd_DS_802_11_RATE_ADAPT_RATESET,
	*PHostCmd_DS_802_11_RATE_ADAPT_RATESET;

/* Define data structure for start Command in Ad Hoc mode */
typedef struct _HostCmd_DS_802_11_AD_HOC_START
{
	u8 SSID[MRVDRV_MAX_SSID_LENGTH];
	u8 BSSType;
	u16 BeaconPeriod;
	u8 DTIMPeriod;
	IEEEtypes_SsParamSet_t SsParamSet;
	IEEEtypes_PhyParamSet_t PhyParamSet;
	u16 ProbeDelay;
	IEEEtypes_CapInfo_t Cap;
	u8 DataRate[HOSTCMD_SUPPORTED_RATES];
    /*
    * New fields after this point should be MRVL TLV types
    */

} __ATTRIB_PACK__ HostCmd_DS_802_11_AD_HOC_START,
  *PHostCmd_DS_802_11_AD_HOC_START;


typedef struct AdHoc_BssDesc_t {
	u8	BSSID[6];
	u8	SSID[32];
	u8	BSSType;
	u16	BeaconPeriod;
	u8	DTIMPeriod;
	u8	TimeStamp[8];
	u8	LocalTime[8];
	IEEEtypes_PhyParamSet_t	PhyParamSet;
	IEEEtypes_SsParamSet_t	SsParamSet;
	IEEEtypes_CapInfo_t	Cap;
	u8  DataRates[HOSTCMD_SUPPORTED_RATES];
    /*
    * DO NOT ADD ANY FIELDS TO THIS STRUCTURE.  It is used below in the
    *   Adhoc join command and will cause a binary layout mismatch with 
    *   the firmware
    */
} __ATTRIB_PACK__ AdHoc_BssDesc_t, pAdHoc_BssDesc_t;


/* Define data structure for Join Command in Ad Hoc mode */
typedef struct _HostCmd_DS_802_11_AD_HOC_JOIN
{
	AdHoc_BssDesc_t BssDescriptor;
	u16 FailTimeOut;
	u16 ProbeDelay;
    /*
    * New fields after this point should be MRVL TLV types
    */
    
} __ATTRIB_PACK__ HostCmd_DS_802_11_AD_HOC_JOIN,
  *PHostCmd_DS_802_11_AD_HOC_JOIN;

#ifdef WPA
typedef struct _HostCmd_DS_802_11_QUERY_RSN_OPTION {
	u8                   RSN_Capable;
	u8                   Reserved[3];
}__ATTRIB_PACK__ HostCmd_DS_802_11_QUERY_RSN_OPTION, 
*PHostCmd_DS_802_11_QUERY_RSN_OPTION;

typedef struct _HostCmd_DS_802_11_ENABLE_RSN {
	u16                  Action;	
	u16                  Enable;
}__ATTRIB_PACK__ HostCmd_DS_802_11_ENABLE_RSN,
*PHostCmd_DS_802_11_ENABLE_RSN;

typedef struct _HostCmd_DS_802_11_QUERY_TKIP_REPLY_CNTRS {
	u16                  CmdCode;
	u16                  Size;
	u16                  SeqNum;
	u16                  Result;
	u32                   NumTkipCntrs;
}__ATTRIB_PACK__ HostCmd_DS_802_11_QUERY_TKIP_REPLY_CNTRS,
*PHostCmd_DS_802_11_QUERY_TKIP_REPLY_CNTRS;

typedef struct _HostCmd_DS_802_11_PAIRWISE_TSC {
	u16                  CmdCode;
	u16                  Size;
	u16                  SeqNum;
	u16                  Result;
        u16                  Action;
        u32                   Txlv32;
        u16                  Txlv16;
}__ATTRIB_PACK__ HostCmd_DS_802_11_PAIRWISE_TSC, 
	*PHostCmd_DS_802_11_PAIRWISE_TSC;

typedef struct _HostCmd_DS_802_11_GROUP_TSC {
	u16                  CmdCode;
	u16                  Size;
	u16                  SeqNum;
	u16                  Result;
	u16                  Action;
	u32                   Txlv32;
	u16                  Txlv16;
}__ATTRIB_PACK__ HostCmd_DS_802_11_GROUP_TSC, 
		*PHostCmd_DS_802_11_GROUP_TSC;

typedef union _KeyInfo_WEP_t {
	u8	Reserved;		/* bits 5-15: Reserved */
	u8	WepKeyIndex;		/* bits 1-4: Specifies the index of key */
	u8	isWepDefaultKey;	/* bit 0: Specifies that this key is to be used as the default for TX data packets */
} __ATTRIB_PACK__ KeyInfo_WEP_t;

typedef union _KeyInfo_TKIP_t {
	u8	Reserved;		/* bits 3-15: Reserved */
	u8	isKeyEnabled;		/* bit 2: Specifies that this key is enabled and valid to use */
	u8	isUnicastKey;		/* bit 1: Specifies that this key is to be used as the unicast key */
	u8	isMulticastKey;		/* bit 0: Specifies that this key is to be used as the multicast key */
} __ATTRIB_PACK__ KeyInfo_TKIP_t;

typedef union _KeyInfo_AES_t {
	u8	Reserved;		/* bits 3-15: Reserved */
	u8	isKeyEnabled;		/* bit 2: Specifies that this key is enabled and valid to use */
	u8	isUnicastKey;		/* bit 1: Specifies that this key is to be used as the unicast key */
	u8	isMulticastKey;		/* bit 0: Specifies that this key is to be used as the multicast key */
} __ATTRIB_PACK__ KeyInfo_AES_t;

typedef struct _KeyMaterial_TKIP_t {
	u8	TkipKey[16];			/* TKIP encryption/decryption key */
	u8	TkipTxMicKey[16];		/* TKIP TX MIC Key */
	u8	TkipRxMicKey[16];		/* TKIP RX MIC Key */
} __ATTRIB_PACK__ KeyMaterial_TKIP_t,
		*PKeyMaterial_TKIP_t;

typedef struct _KeyMaterial_AES_t {
	u8	AesKey[16];			/* AES encryption/decryption key */
} __ATTRIB_PACK__ KeyMaterial_AES_t,
		*PKeyMaterial_AES_t;

typedef struct _MrvlIEtype_KeyParamSet_t {
	u16	Type;		/* Type ID */
	u16	Length;		/* Length of Payload */
	u16	KeyTypeId;	/* Type of Key: WEP=0, TKIP=1, AES=2 */
	u16	KeyInfo;	/* Key Control Info specific to a KeyTypeId */
	u16	KeyLen;		/* Length of key */
	u8	Key[32];	/* Key material of size KeyLen */
} __ATTRIB_PACK__ MrvlIEtype_KeyParamSet_t,
		*PMrvlIEtype_KeyParamSet_t;

typedef struct _HostCmd_DS_802_11_KEY_MATERIAL {
	u16				Action;		/* ACT_SET
					   ACT_GET: return all the available keys
							 */
	MrvlIEtype_KeyParamSet_t	KeyParamSet;	/* Request:
					   Specified only with ACT_SET,
					   as many key parameter set as needed.
					   Response:
					   Return valid only for ACT_GET,
					   return as many as needed.
							 */
} __ATTRIB_PACK__ HostCmd_DS_802_11_KEY_MATERIAL,
		*PHostCmd_DS_802_11_KEY_MATERIAL;
#endif	/* WPA */

#ifdef HOST_WAKEUP
typedef struct _HostCmd_DS_HOST_802_11_WAKE_UP_CFG {
	u32	conditions;		/* bit0=1: non-unicast data
					   bit1=1: unicast data
					   bit2=1: mac events
					   bit3=1: magic packet */
	u8	gpio;			/* 0xff if not uesed */
	u8	gap;			/* in milliseconds */
} __ATTRIB_PACK__ HostCmd_DS_802_11_HOST_WAKE_UP_CFG;
#endif		

#ifdef CAL_DATA
typedef struct _HostCmd_DS_802_11_CAL_DATA_EXT {
	u16	Action;
	u16	Revision;
	u16	CalDataLen;
	u8	CalData[1024]; 
} __ATTRIB_PACK__ HostCmd_DS_802_11_CAL_DATA_EXT,
	*pHostCmd_DS_802_11_CAL_DATA_EXT;
#endif /* CAL_DATA */

#ifdef MULTI_BANDS
typedef struct _HostCmd_DS_802_11_BAND_CONFIG {
	u16		Action;		/* 0: GET;
					   1: SET */
	u16		BandSelection; 	/* Select 802.11b = 0 (2.4GHz) */
					/* Select 802.11g = 1 (2.4GHz) */
					/* Select 802.11a = 2 (5 GHz ) */
	u16		Channel;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BAND_CONFIG,
	*pHostCmd_DS_802_11_BAND_CONFIG;
#endif

typedef	struct _HostCmd_DS_802_11_EEPROM_ACCESS {
	u16	Action; /* ACT_GET / ACT_SET */
	u16	Offset; /* Multiple of 4. Example: 0, 4, 8 ... */
	u16	ByteCount; /* Multiple of 4. Example: 4, 8, 12 ... */
	u8	Value; /* The caller must provide a buffer of atleast 
			  byte count size starting from here */
} __ATTRIB_PACK__ HostCmd_DS_802_11_EEPROM_ACCESS,
	*pHostCmd_DS_802_11_EEPROM_ACCESS;

#ifdef GSPI83xx
typedef struct _HostCmd_DS_CMD_GSPI_BUS_CONFIG {
	u16	Action;  /* ACT_GET / ACT_SET */
	u16	BusDelayMode; /* Data format Bit[1:0], Delay method Bit[2] */
	u16	HostTimeDelayToReadPort; /* Number of dummy clocks 
					    to wait for read r/w port */
	u16	HostTimeDelayToReadregister; /* Number of dummy 
						clocks to wait for read reg */
} __ATTRIB_PACK__ HostCmd_DS_CMD_GSPI_BUS_CONFIG,
	*pHostCmd_DS_CMD_GSPI_BUS_CONFIG;
#endif /* GSPI83xx */

#ifdef BG_SCAN

typedef struct _HostCmd_DS_802_11_BG_SCAN_CONFIG  {
	u16	Action;
	u8	Enable;			/* 0 - Disable
					   1 - Enable */
	u8	BssType;		/* 1 - Infrastructure
					   2 - IBSS
					   3 - any */
	u8	ChannelsPerScan;	/* No of channels to scan at
					   one scan */
	u8	DiscardWhenFull;	/* 0 - Discard old scan results
					   1 - Discard new scan 
					   	results */
	u16 	Reserved;
	u32	ScanInterval;		/* Interval b/w consecutive 
					   scan */
	u32	StoreCondition;		/* - SSID Match
				   	   - Exceed RSSI threshold
					   - SSID Match & Exceed RSSI
					     Threshold 
					   - Always */	   
	u32	ReportConditions;	/* - SSID Match
					   - Exceed RSSI threshold
					   - SSID Match & Exceed RSSI
					     Threshold
					   - Exceed MaxScanResults
					   - Entire channel list 
					     scanned once 
					   - Domain Mismatch in 
					     country IE */
	u16	MaxScanResults; 	/* Max scan results that will
					   trigger a scn completion
					   event */
//	attach TLV based parameters as needed, e.g.
//	MrvlIEtypes_SsIdParamSet_t 	SsIdParamSet;
//	MrvlIEtypes_ChanListParamSet_t	ChanListParamSet;
					/* List Channel of in TLV scan
					   format */
//	MrvlIEtypes_NumProbes_t		NumProbes;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BG_SCAN_CONFIG,
	*pHostCmd_DS_802_11_BG_SCAN_CONFIG;

typedef struct _HostCmd_DS_802_11_BG_SCAN_QUERY {
	u8	Flush;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BG_SCAN_QUERY,
	*pHostCmd_DS_802_11_BG_SCAN_QUERY;

typedef struct _HostCmd_DS_802_11_BG_SCAN_QUERY_RSP {
	u32				ReportCondition;
	HostCmd_DS_802_11_SCAN_RSP	scanresp;
} __ATTRIB_PACK__ HostCmd_DS_802_11_BG_SCAN_QUERY_RSP,
				*PHostCmd_DS_802_11_BG_SCAN_QUERY_RSP;
#endif /* BG_SCAN */

#ifdef ATIMGEN			
typedef struct _HostCmd_DS_802_11_GENERATE_ATIM {
	u16	Action;
	u16	Enable;
} __ATTRIB_PACK__ HostCmd_DS_802_11_GENERATE_ATIM,
	*PHostCmd_DS_802_11_GENERATE_ATIM;
#endif

typedef struct _HostCmd_DS_802_11_TPC_CFG {
	u16   Action;
	u8    Enable;
	char  P0;
	char  P1;
	char  P2;
	u8    UseSNR;
} __ATTRIB_PACK__ HostCmd_DS_802_11_TPC_CFG;

#ifdef LED_GPIO_CTRL	
typedef struct _HostCmd_DS_802_11_LED_CTRL {
  u16 Action;
  u16 NumLed;
  u8 data[256];
} __ATTRIB_PACK__ HostCmd_DS_802_11_LED_CTRL;
#endif

typedef struct _HostCmd_DS_802_11_PWR_CFG {
	u16   Action;
	u8    Enable;
	char  PA_P0;
	char  PA_P1;
	char  PA_P2;
} __ATTRIB_PACK__ HostCmd_DS_802_11_PWR_CFG;


#ifdef AUTO_FREQ_CTRL
typedef struct _HostCmd_DS_802_11_AFC {
	u16 afc_auto;
	union {
		struct {
			u16 threshold;
			u16 period;
		} auto_mode;

		struct {
			s16 timing_offset;
			s16 carrier_offset;
		} manual_mode;
	} b;
} __ATTRIB_PACK__ HostCmd_DS_802_11_AFC;

#define afc_data    b.data
#define afc_thre    b.auto_mode.threshold
#define afc_period  b.auto_mode.period
#define afc_toff    b.manual_mode.timing_offset
#define afc_foff    b.manual_mode.carrier_offset
#endif /* AUTO_FREQ_CTRL */

#ifdef CIPHER_TEST

  typedef struct _HostCmd_DS_802_11_KEY_ENCRYPT {
    u16 Action;
    u16 EncType;
    u8  KeyIV[16];
    u8  KeyEncKey[16];
    u16 KeyDataLen;
    u8  KeyData[512];
  } __ATTRIB_PACK__ HostCmd_DS_802_11_KEY_ENCRYPT;

#define CIPHER_TEST_RC4 (1)
#define CIPHER_TEST_AES (2)

#endif

struct _HostCmd_DS_COMMAND {
	u16	Command;
	u16	Size;
	u16	SeqNum;
	u16	Result;

	union {
	HostCmd_DS_GET_HW_SPEC			hwspec;
#ifdef PS_REQUIRED
	HostCmd_DS_802_11_PS_MODE		psmode;
#endif
	HostCmd_DS_802_11_SCAN			scan;
	HostCmd_DS_802_11_SCAN_RSP		scanresp;
	HostCmd_DS_MAC_CONTROL			macctrl;
	HostCmd_DS_802_11_ASSOCIATE		associate;
	HostCmd_DS_802_11_ASSOCIATE_RSP		associatersp;
	HostCmd_DS_802_11_DEAUTHENTICATE  	deauth;	
	HostCmd_DS_802_11_SET_WEP		wep;
	HostCmd_DS_802_11_AD_HOC_START		ads;
	HostCmd_DS_802_11_RESET			reset;
	HostCmd_DS_802_11_QUERY_TRAFFIC		traffic;
	HostCmd_DS_802_11_QUERY_STATUS		qstatus;
	HostCmd_DS_802_11_AD_HOC_RESULT		result;
	HostCmd_DS_802_11_GET_LOG		glog;
	HostCmd_DS_802_11_AUTHENTICATE		auth;
	HostCmd_DS_802_11_AUTHENTICATE_RSP	rauth;
	HostCmd_DS_802_11_GET_STAT		gstat;
	HostCmd_DS_802_3_GET_STAT		gstat_8023;
	HostCmd_DS_802_11_SNMP_MIB		smib;
	HostCmd_DS_802_11_RF_TX_POWER		txp;
	HostCmd_DS_802_11_RF_ANTENNA		rant;
	HostCmd_DS_802_11_DATA_RATE		drate;
	HostCmd_DS_802_11_RATE_ADAPT_RATESET	rateset;
	HostCmd_DS_MAC_MULTICAST_ADR		madr;
	HostCmd_DS_802_11_AD_HOC_JOIN		adj;
	HostCmd_DS_802_11_RADIO_CONTROL		radio;
	HostCmd_DS_802_11_RF_CHANNEL		rfchannel;
	HostCmd_DS_802_11_RSSI			rssi;
	HostCmd_DS_802_11_RSSI_RSP		rssirsp;
	HostCmd_DS_802_11_DISASSOCIATE		dassociate;
	HostCmd_DS_802_11_AD_HOC_STOP		adhoc_stop;
	HostCmd_DS_802_11_MAC_ADDRESS           macadd;
#ifdef WPA
        HostCmd_DS_802_11_QUERY_RSN_OPTION     	qryrsn;
	HostCmd_DS_802_11_ENABLE_RSN           	enbrsn;
	HostCmd_DS_802_11_KEY_MATERIAL         	keymaterial;
#endif	//WPA
	HostCmd_DS_MAC_REG_ACCESS		macreg;
	HostCmd_DS_BBP_REG_ACCESS		bbpreg;
	HostCmd_DS_RF_REG_ACCESS		rfreg;
	HostCmd_DS_802_11_BEACON_STOP		beacon_stop;
#ifdef CAL_DATA
	HostCmd_DS_802_11_CAL_DATA_EXT		caldataext;
#endif
#ifdef HOST_WAKEUP
	HostCmd_DS_802_11_HOST_WAKE_UP_CFG	hostwakeupcfg;
#endif
#ifdef MULTI_BANDS
	HostCmd_DS_802_11_BAND_CONFIG 		band;
#endif
	HostCmd_DS_802_11_EEPROM_ACCESS		rdeeprom;
#ifdef GSPI83xx
	HostCmd_DS_CMD_GSPI_BUS_CONFIG		gspicfg;
#endif /* GSPI83xx */

#ifdef ATIMGEN			
	HostCmd_DS_802_11_GENERATE_ATIM 	genatim;
#endif
	
#ifdef ENABLE_802_11D
	HostCmd_DS_802_11D_DOMAIN_INFO		domaininfo;
	HostCmd_DS_802_11D_DOMAIN_INFO_RSP	domaininforesp;
#endif
#ifdef ENABLE_802_11H_TPC
	HostCmd_DS_802_11H_TPC_REQUEST		tpcrequest;
	HostCmd_DS_802_11H_TPC_REQUEST_RSP	tpcrequestresp;
	HostCmd_DS_802_11H_TPC_INFO		tpcinfo;
	HostCmd_DS_802_11H_TPC_INFO_RSP		tpcinforesp;
#endif
#ifdef BG_SCAN
	HostCmd_DS_802_11_BG_SCAN_CONFIG	bgscancfg;
	HostCmd_DS_802_11_BG_SCAN_QUERY		bgscanquery;
	HostCmd_DS_802_11_BG_SCAN_QUERY_RSP	bgscanqueryresp;
#endif /* BG_SCAN */
#ifdef WMM
	HostCmd_DS_802_11_WMM_TSPEC		tspec;
	HostCmd_DS_802_11_WMM_ACK_POLICY	ackpolicy;
	HostCmd_DS_802_11_WMM_GET_STATUS	getstatus;
	HostCmd_DS_802_11_WMM_PRIO_PKT_AVAIL	priopktavail;
#endif /* WMM */
	HostCmd_DS_802_11_SLEEP_PARAMS 		sleep_params;
#ifdef BCA
	HostCmd_DS_802_11_BCA_TIMESHARE		bca_timeshare;
#endif
	HostCmd_DS_802_11_INACTIVITY_TIMEOUT	inactivity_timeout;
	HostCmd_DS_802_11_SLEEP_PERIOD		ps_sleeppd;
        HostCmd_DS_802_11_TPC_CFG tpccfg;
        HostCmd_DS_802_11_PWR_CFG pwrcfg;
#ifdef AUTO_FREQ_CTRL
	HostCmd_DS_802_11_AFC 			afc;
#endif
#ifdef LED_GPIO_CTRL	
	HostCmd_DS_802_11_LED_CTRL 		ledgpio;
#endif
#ifdef PS_REQUIRED
#ifdef FW_WAKEUP_METHOD
	HostCmd_DS_802_11_FW_WAKEUP_METHOD	fwwakeupmethod;
#endif
#endif
#ifdef SUBSCRIBE_EVENT_CTRL
	HostCmd_DS_802_11_SUBSCRIBE_EVENT	events;
#endif

#ifdef CIPHER_TEST
  HostCmd_DS_802_11_KEY_ENCRYPT key_encrypt;
#endif
	} params;

} __ATTRIB_PACK__;

#define	S_DS_GEN	sizeof(HostCmd_DS_GEN)
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -