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

📄 wlan_wt4.h

📁 linux2.6.11内核无线网卡驱动程序。支持802.11 abg
💻 H
📖 第 1 页 / 共 3 页
字号:
#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 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;//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 + -