?? wlan_wt4.h
字號:
#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;//added by hk 2006.6.19#define MAX_KEY_SIZE 29 // 128 (?) bits#define MIN_KEY_SIZE 5 // 40 bits RC4 - WEP//-------------------------------------------------------------------------// 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 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;//NAV結束后,空閑多長時間再作Backoff UCHAR QosClass; USHORT RTSThreshold;//rts門限 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 Block//按照實際bank中的格式定義typedef 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 Buffer//實際bank中的格式定義typedef 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;//11A模式時在信道需要設置的參數typedef struct _SETOF11ACHANNEL{ UCHAR channel; //相應的信道 // 發送性能的參數 UCHAR Txpower6M; //相應信道速率為6M的發射功率 UCHAR Txpower12M; //相應信道的發射功率 UCHAR Txpower36M; //相應信道的發射功率 UCHAR Txpower54M; //相應信道的發射功率 UCHAR vga_preset; UCHAR Rssi_l;} SETOF11ACHANNEL,*PSETOF11ACHANNEL;//11B/G模式時在信道需要設置的參數typedef struct _SETOF11BGCHANNEL{ UCHAR channel; //相應的信道 // 發送性能的參數 UCHAR Txpower1M; //相應信道速率為1M的時候的發射功率 UCHAR Txpower11M; //相應信道速率為11M的時候的發射功率 UCHAR Txpower6M; //相應信道速率為6M的發射功率 UCHAR Txpower12M; //相應信道速率為12M的發射功率 UCHAR Txpower36M; //相應信道速率為36M的發射功率 UCHAR Txpower54M; //相應信道速率為54M的發射功率 UCHAR vga_preset; //vga與接收性能有關 UCHAR Rssi_l; //rssi與接收性能有關} SETOF11BGCHANNEL,*PSETOF11BGCHANNEL;//與11BG模式相關的參數typedef struct _SETOF_BG{ SETOF11BGCHANNEL channel1;//11b/G模式的信道1的相關參數設置 SETOF11BGCHANNEL channel6;//11b/G模式的信道6的相關參數設置 SETOF11BGCHANNEL channel13;//11b/G模式的信道13的相關參數設置}SETOF_BG;////與11A模式相關的參數typedef struct _SETOF_A{ SETOF11ACHANNEL channel34;//11A模式的信道1的相關參數設置 SETOF11ACHANNEL channel64;//11A模式的信道6的相關參數設置 SETOF11ACHANNEL channel149;//11A模式的信道13的相關參數設置 SETOF11ACHANNEL channel161;//11A模式的信道13的相關參數設置 }SETOF_A;//eeprom中的數據結構#define EEPROM_HAVE_INIT 9/*說明:eeprom的結構中的數據除了VendorID 和DeviceID 都可以改動;VendorID 和DeviceID 請暫時使用默認值;*/__WLAN_PRAGMA_PACK1__ typedef struct _WTWLAN_HWCFG { //PCI的相關信息 UCHAR VendorID[2] __WLAN_ATTRIB_PACK__; //默認為0x6809 現在還不需要改動 //偏移地址 0 UCHAR DeviceID[2] __WLAN_ATTRIB_PACK__; //默認為0x8200 現在還不需要改動 //偏移地址 2 UCHAR RevID __WLAN_ATTRIB_PACK__; //偏移地址 4 UCHAR PromgramIf __WLAN_ATTRIB_PACK__; //偏移地址 5 UCHAR SubClass __WLAN_ATTRIB_PACK__; //偏移地址 6 UCHAR BaseClass __WLAN_ATTRIB_PACK__; //偏移地址 7 UCHAR SubVendorID[2] __WLAN_ATTRIB_PACK__; //偏移地址 8 UCHAR SubDeviceID[2] __WLAN_ATTRIB_PACK__; //偏移地址 10 //當前的版本號 1 UCHAR Eeprom_version __WLAN_ATTRIB_PACK__; //偏移地址 12 //MAC地址 UCHAR MacAddr[8] __WLAN_ATTRIB_PACK__; //偏移地址 13 //RF 模式 UCHAR RF_type __WLAN_ATTRIB_PACK__; //偏移地址 21 //與性能相關的內容 SETOF_BG Set_BGChannel __WLAN_ATTRIB_PACK__; //11b/g模式的相關信道的相應設置//偏移地址 22 SETOF_A Set_AChannel __WLAN_ATTRIB_PACK__; //11A模式的相關信道的相應設置//偏移地址 46 // LHWT special configure (下面幾個參數只需要在測試的時候選擇11G 54M測試得出一組即可) // 接收性能的參數 UCHAR Rgb_Amp_Tx __WLAN_ATTRIB_PACK__; UCHAR Rgb_Ang_Tx __WLAN_ATTRIB_PACK__; //79 UCHAR reseve[48] __WLAN_ATTRIB_PACK__; UCHAR Identifier __WLAN_ATTRIB_PACK__; //標示 用于標示eeprom是否初始化 //規定被初始化過的eeprom此變量設為9} __WLAN_ATTRIB_PACK__ WTWLAN_HWCFG, *PWTWLAN_HWCFG;//共占67bytetypedef struct _WTWLAN_HW_CFG{ USHORT ulHwHeadLen; USHORT ulHwTxCellLen; USHORT ulHwRxCellLen; USHORT KeyMapBaseAddr; ULONG HeadLen;// = ulHwHeadLen ULONG BodyLen;// = max in ulHwTxCellLen and ulHwRxCellLen}__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 + -