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

📄 wlan_wt4.h

📁 mini-PCI driver for LHWT chipsets
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef struct _WTWLAN_HWSTATISTIC {			//Hardware ctrl and status reg, define in Unite later	ULONG				XmtMsduCounter;	ULONG				XmtMpduCounter;	ULONG				XmtSuccessMsduCounter;	ULONG				XmtSuccessMpduCounter;	ULONG				RcvMpduCounter;	ULONG				RcvSuccessMpduCounter;	ULONG				RcvMissedCounter;	}__WLAN_ATTRIB_PACK__ WTWLAN_HWSTATISTIC, *PWTWLAN_HWSTATISTIC;	#pragma pack(1)typedef struct _WTWLAN_HWCSR {			//Hardware ctrl and status reg, define in Unite later#ifdef _TEST_PORT_//	UCHAR					Resv0[4];	UCHAR					IntCtrl;	UCHAR					Resv0[7];#endif	CHIPCTRL				ChipCtrl;	UCHAR					Resv00[2];		UCHAR					PowerSaveCtrl;	UCHAR					Resv1[3];		USHORT					IntMaskCtrl;	UCHAR					Resv2[2];		ULONG					TxCtrl[TX_BUF_NUM];		RFIFCFG					RFIfCfg;		//UCHAR					Resv3[2];//edited by hk 2005.6.16		UCHAR					RFIfCtrl;	UCHAR					Resv4[3];		ULONG					RFData;		CHIPSTATUS				ChipStatus;	UCHAR					Resv5[3];		USHORT					IntStatus;	UCHAR					Resv6[2];		TXSTATUS				TxStatus;	UCHAR					Resv7[2];		RXSTATUS				RxStatus;//	UCHAR					Resv8[2];		PSINDICATE				PsIndicateStatus;//	WTWLAN_HWSTATISTIC	HwStatisticCounter;	} __WLAN_ATTRIB_PACK__ WTWLAN_HWCSR, *PWTWLAN_HWCSR;#pragma pack()// BB reg define typedef struct _WTWLAN_BBCSMEM{	UCHAR				OFDMCmdEn;	UCHAR				Resv68[3];	//------------------	UCHAR				AckPower;	UCHAR				Resv680[3];//	UCHAR				MacFrmType;//	UCHAR				Resv69[3];	UCHAR				RGBCCAMode;	UCHAR				Resv70[3];	UCHAR				targetDB;	UCHAR				Resv71[3];	UCHAR				adjustTim;	UCHAR				Resv72[3];	UCHAR				RGBVGAPreset;	UCHAR				Resv73[3];	UCHAR				RGBRSSILThresh;	UCHAR				Resv74[3];	UCHAR				RGBRSSIHThresh;	UCHAR				Resv75[3];	UCHAR				RGBRSSIAGCThresh;	UCHAR				Resv76[3];	UCHAR				RGBRSSILMskTim;	UCHAR				Resv77[3];	UCHAR				RGBRMS0;	UCHAR				Resv78[3];	UCHAR				RGBRMSN;	UCHAR				Resv79[3];	UCHAR				RGBAmpRxAnt1;	UCHAR				RGBAmpRxAnt2;	UCHAR				RGBAngRxAnt1;	UCHAR				RGBAngRxAnt2;		UCHAR				RGBVGA2ND;	UCHAR				Resv80[3];		UCHAR				VGAGAINSEL;	UCHAR				Resv800[3];//---------------------------------------	UCHAR				aPIFSTime;	UCHAR				Resv81[3];	UCHAR				RGBAmpTx;	UCHAR				RGBAngTx;	UCHAR				Resv85[2];	UCHAR				RGBTXDCI;	UCHAR				RGBTXDCQ;	UCHAR				Resv870[2];//---------------------------------------	UCHAR				OFDMSIFSDely;	UCHAR				Resv871[3];		UCHAR				BusFreq;	UCHAR				Resv872[3];	UCHAR				RGBADCDACSign;	UCHAR				Resv881[1];	UCHAR               RGBDAAMP;	UCHAR				Resv882[1];	UCHAR				RGBAGCCH;	UCHAR				Resv89[3];}__WLAN_ATTRIB_PACK__ WTWLAN_BBCSMEM, *PWTWLAN_BBCSMEM;// rf reg definetypedef struct _WTWLAN_RFCSMEM{	UCHAR				TxSTTIM;	UCHAR				Resv90[3];	UCHAR				RGBPADly;	UCHAR				Resv91[3];	UCHAR				TxAGCIniTIM;	UCHAR				Resv92[3];	UCHAR				TxPAEnTIM;	UCHAR				Resv93[3];	//UCHAR				TxDataPreTIM;	//UCHAR				Resv94[3];	UCHAR				TxDataOutTIM;	UCHAR				Resv95[3];	UCHAR				TxBBDly;	UCHAR				Resv96[3];	UCHAR				RGBRfDly;	UCHAR				Resv97[3];//	UCHAR				RGBRfDly;//	UCHAR				Resv98[3];	UCHAR				TxDlyTIM1;	UCHAR				Resv99[3];	UCHAR				TxDlyTIM2;	UCHAR				Resv100[3];	//UCHAR				TxRxSWTIM;	//UCHAR				Resv101[3];	UCHAR				RxSTTIM;	UCHAR				Resv102[3];	UCHAR				RxAGCIniTIM;	UCHAR				Resv103[1];	USHORT              RGBTxDelayBB[1];	//UCHAR				RxTxSWTIM;	//UCHAR				Resv104[3];	UCHAR				RegRstTIM;	UCHAR				Resv105[1];    	USHORT              RGBTxDelayOFDM;	UCHAR				LPFTuneTIM;	UCHAR				Resv106[3];	//UCHAR				PsPLLStableTIM;	//UCHAR				Resv107[3];	USHORT				PSPOLLACKID;	UCHAR				Resv108[2];	}__WLAN_ATTRIB_PACK__ WTWLAN_RFCSMEM, *PWTWLAN_RFCSMEM;typedef struct _WTWLAN_HWCSMEM {			//Hardware ctrl and status reg, define in Unite later//---------------------------------------------------	WTWLAN_SYSCFG			SysCfg;//---------------------------------------------------	WTWLAN_MACADDR		NetMacAddress;//---------------------------------------------------	WTWLAN_PROTOPARAM		ProtoParam;//En/Decrypt	WTWLAN_ENCRYPTCSMEM	EncyptCSMem;//---------------------------------------------------	WTWLAN_HWSTATISTIC	HwStatistic;//--------------------------------------------------	WTWLAN_HWCSR		CSRAddress;//BB	WTWLAN_BBCSMEM		BBCSMem;//RF	WTWLAN_RFCSMEM		RfCSMem;	}__WLAN_ATTRIB_PACK__ WTWLAN_HWCSMEM, *PWTWLAN_HWCSMEM;#define MAX_KEY_LEN_WEP 32#define MAX_KEY_LEN_TKIP 16#define MAX_KEY_LEN_TKIP_MIC	16#define MAX_KEY_LEN_AES 16#define MAX_KEY_LEN_AES_MIC_IV	1#define MAX_KEY_LEN_AES_CTR_PRELOAD	1#define MAX_KEY_LEN_WPI_UNICAST 16#define MAX_KEY_LEN_WPI_UNICAST_MIC	16#define MAX_KEY_LEN_WAI_VERIFY	16#define MAX_KEY_LEN_WPI_MULTICAST 16#define MAX_KEY_LEN_WPI_MULTICAST_MIC 16#define LEN_WPI_MIC 16typedef struct _WTWLAN_KEY_WEP{		UCHAR	WepKey[MAX_KEY_LEN_WEP];}__WLAN_ATTRIB_PACK__ WTWLAN_KEY_WEP, *PWTWLAN_KEY_WEP;typedef struct _WTWLAN_KEY_TKIP{		UCHAR	TkipKey[MAX_KEY_LEN_TKIP];	UCHAR	TkipMic[MAX_KEY_LEN_TKIP_MIC];}__WLAN_ATTRIB_PACK__ WTWLAN_KEY_TKIP, *PWTWLAN_KEY_TKIP;typedef struct _WTWLAN_KEY_AES{	UCHAR	AesKey[MAX_KEY_LEN_AES];	UCHAR	AesMicIv[MAX_KEY_LEN_AES_MIC_IV];	UCHAR	AesCtrPreload[MAX_KEY_LEN_AES_CTR_PRELOAD];}WTWLAN_KEY_AES, *PWTWLAN_KEY_AES;typedef union _WTWLAN_KEY{		UCHAR    KeyBuff[MAX_KEY_CELL_LEN];	WTWLAN_KEY_WEP KeyWEP;	WTWLAN_KEY_TKIP KeyTkip;	WTWLAN_KEY_AES  KeyAes;	// add AES WPI later	}WTWLAN_KEY, *PWTWLAN_KEY;/* for wpi */typedef struct _WTWLAN_KEY_WPI_UNICAST{		UCHAR	WpiUnicastKey[MAX_KEY_LEN_WPI_UNICAST];	UCHAR	WpiUnicastMic[MAX_KEY_LEN_WPI_UNICAST_MIC];}__WLAN_ATTRIB_PACK__ WTWLAN_KEY_WPI_UNICAST, *PWTWLAN_KEY_WPI_UNICAST;#define MAX_WPI_KEY_INDEX_LEN 2typedef struct _WTWLAN_WPI_INDEX_KEY{		UCHAR	WpiUnicastKey[MAX_KEY_LEN_WPI_UNICAST];	UCHAR	WpiUnicastMic[MAX_KEY_LEN_WPI_UNICAST_MIC];	UCHAR	WaiVerifyKey[MAX_KEY_LEN_WAI_VERIFY];		UCHAR	WpiMulticastKey[MAX_KEY_LEN_WPI_UNICAST];	UCHAR	WpiMulticastMic[MAX_KEY_LEN_WPI_UNICAST_MIC];	UINT64	ApPNMultiCast[2];	UINT64	ApPNUnicast[2];}__WLAN_ATTRIB_PACK__ WTWLAN_WPI_STA_INDEX_KEY, *PWTWLAN_WPI_STA_INDEX_KEY;typedef struct _WTWLAN_KEY_WPI{	UINT32  gUniKeyIndex;	UINT32  gMultiKeyIndex;	//UCHAR  gUniKeyIndex;	//UCHAR  gMultiKeyIndex;	// for bss only	WTWLAN_WPI_STA_INDEX_KEY WpiIndexKey[MAX_WPI_KEY_INDEX_LEN];	//for ibss and wds 	UCHAR	WpiMulticastKey[MAX_KEY_LEN_WPI_UNICAST];	UCHAR	WpiMulticastMic[MAX_KEY_LEN_WPI_UNICAST_MIC];	UINT64	StaPN[2];}__WLAN_ATTRIB_PACK__ WTWLAN_KEY_WPI, *PWTWLAN_KEY_WPI;//typedef union _WTWLAN_KEY{//	//	UCHAR    KeyBuff[MAX_KEY_CELL_LEN];//	WTWLAN_KEY_WEP KeyWEP;//	WTWLAN_KEY_TKIP KeyTkip;//	// add AES WPI later//	//}WTWLAN_KEY, *PWTWLAN_KEY;typedef struct _WTWLAN_HWKEYTABLE{		UCHAR		MacAddress[6];	USHORT		SeqNum;	WTWLAN_KEY Key;/*	union{				UCHAR    KeyBuff[MAX_KEY_CELL_LEN];		WTWLAN_KEY_WEP KeyWEP;		WTWLAN_KEY_TKIP KeyTkip;		// add AES WPI later		}HwKey;*/}__WLAN_ATTRIB_PACK__ WTWLAN_HWKEYTABLE, *PWTWLAN_HWKEYTABLE;//-------------------------------------------------------------------------// TX//-------------------------------------------------------------------------//const//Rate//#define PREAMBLE_LONG 0#define PREAMBLE_SHORT 0x80#define PREMABLE_MASK 0x80#define dot11rate1M 0x82#define dot11rate2M 0x84#define dot11rate5_5M 0x8B#define dot11rate11M 0x96#define dot11rate6M 0xC#define dot11rate12M 0x18#define dot11rate24M 0x30#define dot11rate9M 0x12#define dot11rate18M 0x24#define dot11rate22M 0x2C#define dot11rate33M 0x42#define dot11rate36M 0x48#define dot11rate48M 0x60#define dot11rate54M 0x6C// tx power define// Pre frm type#define PREFRM_NO	0#define PREFRM_RTS	1#define PREFRM_CTS	2//encrypt type#define ENCRYPT_NONE	0#define ENCRYPT_WEP64	1#define ENCRYPT_WEP128	2#define ENCRYPT_WEP256	3#define ENCRYPT_TKIP	4 #define ENCRYPT_AES		5#define ENCRYPT_WPI		6#define AUTH_WAI	    6typedef struct _ENCRYPT_KEY{	union {			USHORT KeyAddr;			USHORT KeyOffset;   //revise late to map to point of key table		}Key;}__WLAN_ATTRIB_PACK__ ENCRYPT_KEY, PENCRYPT_KEY;//Aifs timer const define 11e//Qos class  //check later#define AC_BE	0#define AC_BK	1#define AC_VI	2#define AC_VO	3#define AC_MAX	4#define AIFSN_BK   5#define AIFSN_BE   1#define AIFSN_VI   0#define AIFSN_VO   0//Frame con#define DURATION_OVERRIDE  0X01#define TIMSTAMP_OVERRIDE  0X02#define RESP_PSPOLL  0X04#define RESP_CFPOLL  0X08// Transmit AUX Blocktypedef struct _WTWLAN_TAUXB {	USHORT DataLen;	USHORT FragThreshold;		USHORT CWMIN;	USHORT CWMAX;		UCHAR   HeadLen;	UCHAR  TxRate;	UCHAR  TxService;	UCHAR  TxPower;		UCHAR  PreFrmRate;	UCHAR  PreFrmType;	UCHAR  RetryNum;	UCHAR  EncryptType;		USHORT EncryptKeyAddr;	UCHAR   TAifs;	UCHAR   QosClass;		USHORT  RTSThreshold;	UCHAR    reserv;	UCHAR   FrmCfg;	//more...}__WLAN_ATTRIB_PACK__ WTWLAN_TAUXB, *PWTWLAN_TAUXB;//HW Transmit Buffertypedef struct _WTWLAN_HWTXBUF {	WTWLAN_TAUXB	TxAUXBuf;	UCHAR			dot11Head[MAX_HW_HEAD_LEN];	// can defined as unite later to make it easy to handle frame	UCHAR			Buffer[MAX_TX_CELL_LEN];			// Frame body	}__WLAN_ATTRIB_PACK__ WTWLAN_HWTXBUF, *PWTWLAN_HWTXBUF;typedef struct _WTWLAN_HWTXBUFMAP {	WTWLAN_HWTXBUF     HwTxBuf;	UCHAR				pad[ TX_BANK_SIZE - sizeof(WTWLAN_HWTXBUF) ];}__WLAN_ATTRIB_PACK__ WTWLAN_HWTXBUFMAP, *PWTWLAN_HWTXBUFMAP;//-------------------------------------------------------------------------// RX//-------------------------------------------------------------------------#define RX_SUCCESS			0X0#define RX_ERROR_FCS		0X01#define RX_ERROR_ICV		0X02#define RX_ERROR_MIC_AES	0X04#define RX_ERROR_MIC_TKIP	0X08#define RX_ERROR_MIC_WPI	0X10#define RX_ERROR_LEN	0X20#define RX_PREAMBLE_MASK	0x80// Receive Status Blocktypedef struct _WTWLAN_RSB {	USHORT		RecvBodyLen;	USHORT		RecvHeadLen;		UCHAR		RecvStatus;	UCHAR		RecvRate;	UCHAR		RecvService;	UCHAR		RecvPower;		ULONGLONG	RecvStartTime;	ULONGLONG	RecvEndTime;	//more...}__WLAN_ATTRIB_PACK__ WTWLAN_RSB, *PWTWLAN_RSB;//HW Receive Buffertypedef struct _WTWLAN_HWRXBUF {	WTWLAN_RSB		RxStatus;	UCHAR			dot11Head[MAX_HW_HEAD_LEN];	// can defined as unite later to make it easy to handle frame	UCHAR			Buffer[MAX_RX_CELL_LEN];			// Frame body	}__WLAN_ATTRIB_PACK__ WTWLAN_HWRXBUF, *PWTWLAN_HWRXBUF;typedef struct _WTWLAN_HWRXBUFMAP {	WTWLAN_HWRXBUF     HwRxBuf;	UCHAR				pad[ RX_BANK_SIZE - sizeof(WTWLAN_HWRXBUF) ];}__WLAN_ATTRIB_PACK__ WTWLAN_HWRXBUFMAP, *PWTWLAN_HWRXBUFMAP;//HW cfg structure in eprom typedef struct _WTWLAN_HWCFG {		USHORT				VendorID;	USHORT				DeviceID;//	USHORT				COMMAND;//	USHORT				STATUS;	UCHAR				RevID;	UCHAR				ClassCode[3];	USHORT				SubVendorID;	USHORT				SubDeviceID;	UCHAR				MacAddr[6];	UCHAR				RF_ID;			//  rf ID	UCHAR				Resv0[23];	UCHAR				TradMark[50];  //"Beijing LHWT Microelectronics Co. Ltd."	//more....	}__WLAN_ATTRIB_PACK__ WTWLAN_HWCFG, *PWTWLAN_HWCFG;typedef struct _WTWLAN_HW_CFG{	USHORT	ulHwHeadLen;	USHORT	ulHwTxCellLen;	USHORT	ulHwRxCellLen;	USHORT	KeyMapBaseAddr;		ULONG		HeadLen;	ULONG		BodyLen;	}__WLAN_ATTRIB_PACK__ WTWLAN_HW_CFG, *PWTWLAN_HW_CFG;typedef struct  _WTWLAN_MAINMEM {			//Hardware ctrl and status reg, define in Unite later	WTWLAN_HWCSMEM		HwCSMem;	UCHAR					Resv0[HW_CSMEM_SIZE - sizeof(WTWLAN_HWCSMEM)]; //	WTWLAN_HWTXBUFMAP		TxBufMap[TX_BUF_NUM];	WTWLAN_HWRXBUFMAP		RxBufMap[RX_BUF_NUM];	UCHAR                           Pad[OFFSET_KEY_MEM];	WTWLAN_HWKEYTABLE		HwKeyTable[MAX_KEY_CELL_NUM];	//....more}__WLAN_ATTRIB_PACK__  WTWLAN_MAINMEM , *PWTWLAN_MAINMEM ;#define OFFSET_SYSTIMER 0xA8#if 0//-------------------------------------------------------------------------//  PCI Register Definitions// Refer To The PCI Specification For Detailed Explanations//-------------------------------------------------------------------------//- Register Offsets#define PCI_VENDOR_ID_REGISTER      0x00    // PCI Vendor ID Register#define PCI_DEVICE_ID_REGISTER      0x02    // PCI Device ID Register#define PCI_CONFIG_ID_REGISTER      0x00    // PCI Configuration ID Register#define PCI_COMMAND_REGISTER        0x04    // PCI Command Register#define PCI_STATUS_REGISTER         0x06    // PCI Status Register#define PCI_REV_ID_REGISTER         0x08    // PCI Revision ID Register#define PCI_CLASS_CODE_REGISTER     0x09    // PCI Class Code Register#define PCI_CACHE_LINE_REGISTER     0x0C    // PCI Cache Line Register#define PCI_LATENCY_TIMER           0x0D    // PCI Latency Timer Register#define PCI_HEADER_TYPE             0x0E    // PCI Header Type Register#define PCI_BIST_REGISTER           0x0F    // PCI Built-In SelfTest Register#define PCI_BAR_0_REGISTER          0x10    // PCI Base Address Register 0#define PCI_BAR_1_REGISTER          0x14    // PCI Base Address Register 1#define PCI_BAR_2_REGISTER          0x18    // PCI Base Address Register 2#define PCI_BAR_3_REGISTER          0x1C    // PCI Base Address Register 3#define PCI_BAR_4_REGISTER          0x20    // PCI Base Address Register 4#define PCI_BAR_5_REGISTER          0x24    // PCI Base Address Register 5#define PCI_SUBVENDOR_ID_REGISTER   0x2C    // PCI SubVendor ID Register#define PCI_SUBDEVICE_ID_REGISTER   0x2E    // PCI SubDevice ID Register#define PCI_EXPANSION_ROM           0x30    // PCI Expansion ROM Base Register#define PCI_INTERRUPT_LINE          0x3C    // PCI Interrupt Line Register#define PCI_INTERRUPT_PIN           0x3D    // PCI Interrupt Pin Register#define PCI_MIN_GNT_REGISTER        0x3E    // PCI Min-Gnt Register#define PCI_MAX_LAT_REGISTER        0x3F    // PCI Max_Lat Register#define PCI_NODE_ADDR_REGISTER      0x40    // PCI Node Address Register#define  PCI_COMMAND_IO		0x1	#define  PCI_COMMAND_MEMORY	0x2	//--------------------------------------#endif /*0*/typedef struct mac {	UINT vala;	UINT16 valb;}__WLAN_ATTRIB_PACK__ mac_t;typedef struct{  UINT8 eleId;  UINT8 eleLen;}__WLAN_ATTRIB_PACK__ Dot11EleHdr;#pragma pack()#endif  // _WLAN_WT4_H

⌨️ 快捷键说明

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