📄 wlan_wt4.h
字号:
#ifndef _WLAN_WT4_H#define _WLAN_WT4_H#define RF2827 0#define RF2829 1#define RFMD 2#define RFAiroha 3 #define RF2230 4//mxx add#define MAX_TX_AUX_BUF_LEN (sizeof(WTWLAN_TAUXB))#define MAX_RX_AUX_BUF_LEN (sizeof(WTWLAN_RSB))#define MAX_LLC_LEN 20#define MAX_HW_HEAD_LEN 80#define MAX_HW_BODY_LEN 1600#define MAX_TX_CELL_LEN 1600#define MAX_RX_CELL_LEN 1600#define MAX_INTERNAL_MEM_LEN (16*1024)#define HW_CSMEM_SIZE 0x1000#define TX_BANK_SIZE 0x1000#define RX_BANK_SIZE 0x1000#define TX_BUF_NUM 5#define RX_BUF_NUM 4#define ETH_ALEN 6#define MAX_STATIONS 64#define MAX_STA_HASH_ENTRY 64#define MAX_KEY_CELL_LEN 32#define MAX_KEY_CELL_NUM 16#define MAX_RX_DESC 64//32#define MAX_TX_DESC 64//32#define MAX_NUM_TX_MGMT_BUF 20#define MAX_NUM_RX_MGMT_BUF 20//#define MAX_RX_DESC 64//#define MAX_TX_DESC 64//#define MAX_NUM_TX_MGMT_BUF 32//#define MAX_NUM_RX_MGMT_BUF 32#define MAX_SENDWAITQUEUE_LEN 128#define MAX_URGENCY_BANK_LOOP_COUNT 200#define MAX_SCAN_DB_LEN 32#define MAX_SUPPORT_RATE_TYPE 32#define CURRENT_RATE_TYPE_LEN 14#define MAX_RATE_VALUE 108#define IEEE_802_11_FRAME_TTL 0x61a8//#define IEEE_802_11_FRAME_TTL 0xEA60//define for convenient use#define DEFAULT_INIT_NAV 0x201#define DEFAULT_HW_INIT_SEQ 0x0#define DEFAULT_HW_SEQ_STEP 0x1#define MAX_RECEIVED_PACKETS_LEN (1024*128)//added by hk 2004.11.23#define WTHWCSMEM (Adapter->MainMemAddress->HwCSMem)#define SWITCH_CHANNEL_DELAY 50//added by hk 2005.2.23#define SYSTIMER_OP_DELAY 2//added by hk 2005.2.23#define HW_CFG_DELAY 20 //2005.7.22#define KEY_NUM 4//added by hk 2005.3.7#define MAX_KEY_LEN 60//added by hk 2005.3.22#define OFFSET_KEY_MEM 0x3B10#define IV_LEN 3#define TKIP_KEY_LEN 16#define MIC_LEN 8#define PRIORITY_LEN 1#define AES_KEY_LEN 16#define MIC_IV_LEN 1#define CTR_PRELOAD_LEN 1#define KEY_INDEX_MASK 0xFF//added by hk 2005.5.14#define TKIP_TRANSMIT_KEY_KEYTABLE_INDEX 0#define TKIP_RECEIVE_KEY_KEYTABLE_INDEX 1//added by hk 2005.5.30#define USE_PROTECTION_MASK 0x02////added by hk 2005.6.1#define GROUP_ADDRESS_REG_LEN 0X08//added by hk for mic failure. 2005.6.14#define MIC_FAIL_BLOCK_TIME 60000#define BEACON_RECEIVE_WATCH_DOG_THRESHOLD 4//added by hk 2005.6.28//added by hk 2005.9.26typedef enum COUNTRY_ENUM {China, NorthAmerica, Europe, France, Japan} COUNTRY_ENUM, *PCOUNTRY_ENUM;#pragma pack(1)//-------------------------------------------------------------------------// Ethernet Frame Structure//-------------------------------------------------------------------------//- Ethernet 6-byte Addresstypedef struct _ETH_ADDRESS_STRUC { //UCHAR EthNodeAddress[ETHERNET_ADDRESS_LENGTH]; //who define it?}__WLAN_ATTRIB_PACK__ ETH_ADDRESS_STRUC, *PETH_ADDRESS_STRUC;//- Ethernet 14-byte Headertypedef struct _ETH_HEADER_STRUC { //UCHAR Destination[ETHERNET_ADDRESS_LENGTH]; //UCHAR Source[ETHERNET_ADDRESS_LENGTH]; USHORT TypeLength;}__WLAN_ATTRIB_PACK__ ETH_HEADER_STRUC, *PETH_HEADER_STRUC;//const//-------------------------------------------------------------------------// Wt4 HW Data Structures//-------------------------------------------------------------------------// control reg#define MASK_SOFT_RESET 0X01#define MASK_AUTOACKENABLE 0X02#define MASK_SEARCHKEYMODE 0X04#define MASK_OPENKEYMODE 0X08#define MASK_N_FILTERGROUPADDR 0X10#define MASK_N_FILTERNETADDR 0X20#define MASK_N_DECRYPT 0X40#define MASK_PROMISCUOUS_MODE 0X80#define MASK_PSINDICATE 0X100#define MASK_TKIPMICENABLE 0X200#define MASK_IVENABLE 0X400#define MASK_LOOPTEST 0X800#define MASK_PCFAVAILABLE 0X1000#define MASK_APMODE 0X2000#define MASK_LHWTSEQ 0X4000typedef union{ struct _BIT_REGCHIPCTRL { UCHAR SReset : 1 ; UCHAR AutoAckEn : 1 ; UCHAR SearchKeyMode : 1 ; UCHAR OpenKeyMode : 1 ; UCHAR nFilterGroupAddr : 1 ; UCHAR nFilterNetAddr : 1 ; UCHAR nDecrypt : 1 ; UCHAR Promiscuous : 1 ; UCHAR PsIndicate : 1 ; UCHAR TkipMicEn : 1 ; UCHAR IVEn : 1 ; UCHAR LoopTestEn : 1 ; UCHAR PcfAvailable : 1 ; UCHAR ApMode : 1 ; UCHAR LhwtSeq : 1 ; UCHAR Resv : 1 ; } __WLAN_ATTRIB_PACK__ Bit_RegChipCtrl; USHORT RegChipCtrl; } __WLAN_ATTRIB_PACK__ CHIPCTRL;//#define MASK_POWER_SAVE 0X01//edited by hk 2005.1.14#define MASK_INT_ALL (host2ieee16(0X01))//#define MASK_INT_ALL 0XFF#define MASK_INT_FULL (host2ieee16(0x7FFF))#define MASK_INT_TXEND (host2ieee16(0X02))#define MASK_INT_RXSTART 0X04#define MASK_INT_RXEND (host2ieee16(0X08))#define MASK_INT_TIMER_BEACON 0X10#define MASK_INT_TIMER_ATIM 0X20#define MASK_INT_PSINDICATE 0X40#define MASK_INT_RECVBEACON 0X80#define MASK_INT_RECV_PSPOLL 0X100#define MASK_INT_RECV_CFPOLL 0X200//#define MASK_TX_START 0X01//#define MASK_RF_SEND_BRANCH 0X01#define MASK_RF_SEND_FREQ 0X02#define MASK_RF_IF_TYPE 0X04#define RF_IF_MAXIM 1#define RF_IF_LHWT 2#define RF_DATA_WIDTH_MAXIM 0x12#define RF_DATA_WIDTH_LHWT 0x14#define RF_SEND_BRANCH_A 0#define RF_SEND_BRANCH_B 1typedef union{ struct _BIT_REGRFIFCFG { UCHAR RFSendBranch : 1 ; UCHAR RFSendFreq : 1 ; UCHAR RFIFType : 1 ; //edited by hk 2005.6.16 //UCHAR Resv1 : 5 ; UCHAR SoftAntSelEn : 1 ; UCHAR SoftAntSel : 1 ; UCHAR SoftAntSetBar : 1 ; UCHAR AGCSel : 1 ; UCHAR PALowValidEn : 1 ; UCHAR RFDataWidth : 6 ; //edited by hk 2005.6.16 //UCHAR Resv2 : 2 ; UCHAR RficEn : 1 ; UCHAR RfmdEn : 1 ; //added by hk 2005.6.16 UCHAR RADIOPELowValidEn : 1 ; UCHAR RXENALowValidEn : 1 ; UCHAR TXENALowValidEn : 1 ; UCHAR TRSWLowValidEn : 1 ; UCHAR AntSelLowValid : 1 ; UCHAR SHDNLowValidEn : 1 ; UCHAR RXHPLowValidEn : 1 ; UCHAR RFCSHighValidEn : 1 ; //added by hk 2005.6.16 UCHAR Resv1 : 3 ; UCHAR RxABExchangeEn : 1 ; UCHAR RxAIQExchangeEn : 1 ; UCHAR RxBIQExchangeEn : 1 ; UCHAR TxIQExchangeEn : 1 ; UCHAR Resv2 : 1 ; }__WLAN_ATTRIB_PACK__ Bit_RegRfIFCfg; ULONG RegRfIFCfg; }__WLAN_ATTRIB_PACK__ RFIFCFG;#define MASK_RF_SHUTDOWN 0X01#define MASK_RF_RADIOPE 0X02#define MASK_RF_RESET 0X04//#define MASK_STATUS_POWERSAVE 0X01#define MASK_STATUS_CCA 0X02#define MASK_STATUS_WPI_ALARM 0X04#define MASK_STATUS_RF_PARAMETER_ALARM 0X08typedef union{ struct _BIT_REGCHIPSTATUS { UCHAR PowerStatus : 1 ; UCHAR CCAStatus : 1 ; UCHAR JamingStatus : 1 ; UCHAR Resv : 5 ; }__WLAN_ATTRIB_PACK__ Bit_RegChipStatus; UCHAR RegChipStatus; }__WLAN_ATTRIB_PACK__ CHIPSTATUS;//#define MASK_STATUS_INT_TXEND (host2ieee16(0X01))#define MASK_STATUS_INT_RXSTART (host2ieee16(0X02))#define MASK_STATUS_INT_RXEND (host2ieee16(0X04))#define MASK_STATUS_INT_TIMER_BEACON (host2ieee16(0X08))#define MASK_STATUS_INT_TIMER_ATIM (host2ieee16(0X10))#define MASK_STATUS_INT_PSINDICATE (host2ieee16(0X20))#define MASK_STATUS_INT_RECVBEACON (host2ieee16(0X40))#define MASK_STATUS_INT_RECV_PSPOLL (host2ieee16(0X80))#define MASK_STATUS_INT_RECV_CFPOLL (host2ieee16(0X100))//edited by hk 2004.12.23//#define MASK_TX_BANK 0X07#define MASK_TX_BANK 0X0007#define MASK_TX_BANK0 (0X07<<0)#define MASK_TX_BANK1 (0X07<<3)#define MASK_TX_BANK2 (0X07<<(3*2))#define MASK_TX_BANK3 (0X07<<(3*3))#define MASK_TX_BANK4 (0X07<<(3*4))#define MASK_TX_STATUS_BANK_AVAILABLE 0X4#define TX_STATUS_BANK_EMPTY 0X4#define MASK_TX_STATUS_ERROR 0X2#define TX_STATUS_SUCCESS_DONE 0X05#define TX_STATUS_FAILURE_DONE 0X06#define TX_STATUS_FAILURE_TTL 0X07#define TX_STATUS_UNDERGO 0X01#define TX_STATUS_WAITSEND 0X02#define MASK_TX_STATUS_UNDERGO 0X01#define MASK_TX_STATUS_FAILURE_DONE 0X06#define MASK_TX_STATUS_FAILURE_TTL 0X07typedef union{ struct _BIT_REGTXSTATUS { USHORT Bank0 : 3 ; USHORT Bank1 : 3 ; USHORT Bank2 : 3 ; USHORT Bank3 : 3 ; USHORT Bank4 : 3 ; USHORT Resv : 1 ; }__WLAN_ATTRIB_PACK__ Bit_RegTxStatus; USHORT RegTxStatus; }__WLAN_ATTRIB_PACK__ TXSTATUS;//edited by hk 204.12.27//#define MASK_RX_BANK 0x03#define MASK_RX_BANK 0x0003#define MASK_RX_BANK_DONE 0x01#define MASK_RX_BANK0 (0X03<<0)#define MASK_RX_BANK1 (0X03<<2)#define MASK_RX_BANK2 (0X03<<(2*2))#define MASK_RX_BANK3 (0X03<<(2*3))#define MASK_RX_DATACOUNT 0XFFFF0000#define MASK_RX_STATUS_EMPTY 0X00#define MASK_RX_STATUS_UNDERGO 0X02#define MASK_RX_STATUS_DONE 0X03typedef union{ struct _BIT_REGRXSTATUS { UCHAR Bank0 : 2 ; UCHAR Bank1 : 2 ; UCHAR Bank2 : 2 ; UCHAR Bank3 : 2 ; UCHAR Resv : 8 ; USHORT RecvLen : 16 ; }__WLAN_ATTRIB_PACK__ Bit_RegRxStatus; ULONG RegRxStatus; }__WLAN_ATTRIB_PACK__ RXSTATUS;//#define MASK_POWERMGT_STATUS 0X01typedef union{ struct _BIT_REGPSINDICATE { UCHAR MacAddress[6]; UCHAR PowerStatus : 1 ; UCHAR Resv1 : 7 ; UCHAR Resv2 : 8 ; }__WLAN_ATTRIB_PACK__ Bit_RegPsIndicate; ULONGLONG RegPsIndicate; }__WLAN_ATTRIB_PACK__ PSINDICATE;#define OFFSET_EEPROM_OP 0x2#define OFFSET_EEPROM_SOFT_EN 0x00enum WTWLAN_WT4Regs { OFFSET_RESV0 = 0X0, OFFSET_CHIPCTRL = 0X8, OFFSET_POERSAVE = 0X0A, OFFSET_INTMASKCTRL = 0X0B, OFFSET_TXCTRL = 0X12, OFFSET_RFDATA = 0X14, OFFSET_CHIPSTATUS = 0X18, OFFSET_INTSTATUS = 0X19, OFFSET_TXSTATUS = 0X1A, OFFSET_RXSTATUS = 0X1C, OFFSET_PSINDICATE = 0X20, OFFSET_XMTMSDU = 0X28, OFFSET_XMTMPDU = 0X2C, OFFSET_XMTSUCCESSMSDU = 0X30, OFFSET_XMTSUCCESSMPDU = 0X34, OFFSET_RCVMPDU = 0X38, OFFSET_RCVSUCCESSMPDU = 0X3C, OFFSET_RCVMISSED = 0X3F,};// NetAddresstypedef struct _WTWLAN_SYSCFG{//system UCHAR ChipFreq; //default 40 UCHAR Resv000[3]; //UCHAR BusFreq; // default 33 / Addr 0x1bc UCHAR TestSignSel; UCHAR Resv00; UCHAR TestSign; UCHAR Resv01; //8 USHORT TxHeadAddrBank0; UCHAR Resv2[2]; USHORT TxBodyAddrBank0; UCHAR Resv3[2]; //10 USHORT TxHeadAddrBank1; UCHAR Resv4[2]; USHORT TxBodyAddrBank1; UCHAR Resv5[2]; //18 USHORT TxHeadAddrBank2; UCHAR Resv6[2]; USHORT TxBodyAddrBank2; UCHAR Resv7[2]; //20 USHORT TxHeadAddrBank3; UCHAR Resv8[2]; USHORT TxBodyAddrBank3; UCHAR Resv9[2]; //28 USHORT TxHeadAddrBank4; UCHAR Resv10[2]; USHORT TxBodyAddrBank4; UCHAR Resv11[2]; //30 USHORT RxHeadAddrBank0; UCHAR Resv12[2]; USHORT RxBodyAddrBank0; UCHAR Resv13[2]; //38 USHORT RxHeadAddrBank1; UCHAR Resv14[2]; USHORT RxBodyAddrBank1; UCHAR Resv15[2]; //40 USHORT RxHeadAddrBank2; UCHAR Resv16[2]; USHORT RxBodyAddrBank2; UCHAR Resv17[2]; //48 USHORT RxHeadAddrBank3; UCHAR Resv18[2]; USHORT RxBodyAddrBank3; UCHAR Resv19[2]; USHORT KeyMapAddr; UCHAR Resv20[2]; UCHAR KeyMapLen; UCHAR Resv21[3];//------------------------------------------------ UCHAR ProtocolVer; //0x00 UCHAR Resv22[3]; //--------------------------------------------------- UCHAR aSlotTime; UCHAR Resv24[3]; UCHAR aSIFSTime; UCHAR Resv25[3]; UCHAR TrspTime; UCHAR Resv26[3]; UCHAR aPlcpHeadLenBB; UCHAR Resv31[3]; UCHAR aPreambleLenBB; UCHAR Resv32[3]; UCHAR aPlcpHeadLenOFDM; UCHAR Resv33[3]; ULONG PktRcvdLifeTime; }__WLAN_ATTRIB_PACK__ WTWLAN_SYSCFG, *PWTWLAN_SYSCFG;// NetAddresstypedef struct _WTWLAN_MACADDR{ UCHAR MacAddress[6]; UCHAR Resv36[2]; UCHAR NetAddress[6]; UCHAR Resv37[2]; UCHAR MultiCastAddress0[6]; UCHAR Resv38[2]; UCHAR MultiCastAddress1[6]; UCHAR Resv39[2]; UCHAR MultiCastAddress2[6]; UCHAR Resv40[2]; UCHAR MultiCastAddress3[6]; UCHAR Resv41[2]; }__WLAN_ATTRIB_PACK__ WTWLAN_MACADDR, *PWTWLAN_MACADDR;// ProtocolParmtypedef struct _WTWLAN_PROTOPARAM{ ULONGLONG SystemTime; ULONG HwBeaconTime; ULONG HwAtimTime; USHORT HwNavTime; UCHAR Resv42[2]; USHORT FrmSN; UCHAR Resv43[2]; UCHAR FrmSeqStep; UCHAR Resv44[3]; ULONG MsduTTL; //3byte //UCHAR Resv944[1]; }__WLAN_ATTRIB_PACK__ WTWLAN_PROTOPARAM, *PWTWLAN_PROTOPARAM;// En/Decrypttypedef struct _WTWLAN_ENCRYPTCSMEM{ UCHAR DecryptModeUnicast; UCHAR Resv45[3]; UCHAR DecryptModeMulticast; UCHAR Resv46[3]; USHORT DecryptKeyAddrUnicast; UCHAR Resv47[2]; USHORT DefaultAddrKey0; UCHAR Resv48[2]; USHORT DefaultAddrKey1; UCHAR Resv49[2]; USHORT DefaultAddrKey2; UCHAR Resv50[2]; USHORT DefaultAddrKey3; UCHAR Resv51[2]; UCHAR NetType; // IBSS 0; BSS 1; WDS 2 UCHAR Resv52[3]; UCHAR PNUnicastStep; UCHAR Resv53[3]; UCHAR PNMulticastStep; UCHAR Resv54[3]; UCHAR PNUnicast[16]; UCHAR PNBroadcast[16]; }__WLAN_ATTRIB_PACK__ WTWLAN_ENCRYPTCSMEM, *PWTWLAN_ENCRYPTCSMEM;//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -