📄 wlan_wt4.h
字号:
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 + -