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

📄 vnet.h

📁 Atmel公司的USB无线局域网卡11 mbps Linux设备驱动
💻 H
字号:
/**************************************************************************//*                                                                        *//*            Copyright (c) 1999-2000 by Atmel Corporation		          *//*                                                                        *//*  This software is copyrighted by and is the sole property of Atmel	  *//*  Corporation.  All rights, title, ownership, or other interests		  *//*  in the software remain the property of Atmel Corporation.  This       *//*  software may only be used in accordance with the corresponding        */ /*  license agreement.  Any un-authorized use, duplication, transmission, *//*  distribution, or disclosure of this software is expressly forbidden.  *//*                                                                        *//*  This Copyright notice may not be removed or modified without prior    *//*  written consent of Atmel Corporation.                                 *//*                                                                        *//*  Atmel Corporation, Inc. reserves the right to modify this software    *//*  without notice.                                                       *//*                                                                        *//*  Atmel Corporation.                                                    *//*  2325 Orchard Parkway               literature@atmel.com               *//*  San Jose, CA 95131                 http://www.atmel.com               *//*                                                                        *//**************************************************************************//***************************************************************************//***************************************************************************//**                                                                        *//** FastVNET (PCMCIA) NDIS Miniport Driver                                 *//**                                                                        *//**       The main header for the Miniport driver                          *//**                                                                        *//***************************************************************************//***************************************************************************/#ifndef __VNet_h_OK__#define __VNet_h_OK__#define	MAX_SSID_LENGTH								32#ifdef LINUX_OS#include "vnet_linux.h"#endif#ifdef WINDOWS_OS#include <ndis.h>#endif#include "debug.h"#include "appint.h"#include "at76c502.h"#include "frame.h"#ifdef WINDOWS_OS#include "vnet_win.h"#endif#define FAST_VNET_MAJOR_VERSION			4#define FAST_VNET_MINOR_VERSION			0#define FAST_VNET_SUB_VERSION			0#define FAST_VNET_BUILD					3#define PRODUCT_NAME							"PCMCIA Wireless Network Adapter"#define MAX_DRIVER_DESC_LENGTH				100#define AUTHENTICATION_RESPONSE_TIME_OUT	1000///////////////////////////////////////////////////////////////////////////// General definitions///////////////////////////////////////////////////////////////////////////#define VNet_MAX_FRAME_SIZE					1500#define VNet_HEADER_SIZE						14#define MAX_WIRELESS_FRAME_SIZE			1550 // 1500 + 14 + 18 + ...#define VNet_MAX_LOOKAHEAD					VNet_MAX_FRAME_SIZE	#define VNet_LENGTH_OF_ADDRESS				6#define DEFAULT_MULTICASTLISTMAX			32#define MAX_RX_PACKET_SIZE					2000#define LOOP_RETRY_LIMIT						500000#define PERIODIC_TIMER_TOUT					2000#define	MAX_DEVICE_ID_LENGTH				50#define ACTIVE_MODE		1#define PS_MODE			2#define MIN_BEACON_PROBE_BYTES				60///////////////////////////////////////////////////////////////////////////// 802.11 related definitions///////////////////////////////////////////////////////////////////////////#define AD_HOC_MODE						    0#define INFRASTRUCTURE_MODE					1#define AUTO_MODE							2#define BSS_TYPE_AD_HOC						1#define BSS_TYPE_INFRASTRUCTURE				2#define SCAN_TYPE_ACTIVE					0#define SCAN_TYPE_PASSIVE					1#define LONG_PREAMBLE						0#define SHORT_PREAMBLE						1#define WEP_MODE_MANDATORY					0#define WEP_MODE_OPTIONAL					1#define LISTEN_INTERVAL						200#define DATA_FRAME_WS_HEADER_SIZE			30#define CTRL_FRAMES_TX_RATE					1#define MGMT_FRAMES_TX_RATE					1#define PROM_MODE_OFF						0x0#define PROM_MODE_UNKNOWN					0x1#define PROM_MODE_CRC_FAILED				0x2#define PROM_MODE_DUPLICATED				0x4#define PROM_MODE_MGMT						0x8#define PROM_MODE_CTRL						0x10#define PROM_MODE_BAD_PROTOCOL				0x20#define CARD_TYPE_PARALLEL_FLASH			0x1#define CARD_TYPE_SPI_FLASH					0x2#define CARD_TYPE_EEPROM					0x3///////////////////////////////////////////////////////////////////////////// FLASH programming related definitions///////////////////////////////////////////////////////////////////////////#define	BANK_SIZE							0x10000#define ATMEL_ID							0x1f#define ST_ID								0x20#define ST_M29W010B							0x23 #define ATMEL_49LV002						0x07#define ATMEL_49LV002T						0x08#define ATMEL_49LV001						0x05#define ATMEL_49LV001T						0x04#define ATMEL_29LV512						0x3d#define ATMEL_29LV010						0x35#define ATMEL_29LV020						0xba#define ATMEL_29LV040						0xc4#define CIS_BYTES							1024#define HW_CONFIG_BYTES						0x700#define HW_CONFIG_OFFSET					0x1C000///////////////////////////////////////////////////////////////////////////// type definitions///////////////////////////////////////////////////////////////////////////typedef UCHAR MACADDR[VNet_LENGTH_OF_ADDRESS];/////////////////////////////////////////////////////////////////////////////	IFACE/////////////////////////////////////////////////////////////////////////////// interface host driver/firmware structure IFACE//typedef struct __IFACE{	UCHAR	volatile IntStatus;	UCHAR	volatile IntMask;	UCHAR	volatile LockoutHost;	UCHAR	volatile LockoutMac;	USHORT	TxBuffPos;	USHORT	TxBuffSize;	USHORT	TxDescPos;	USHORT	TxDescCount;	USHORT	RxBuffPos;	USHORT	RxBuffSize;	USHORT	RxDescPos;	USHORT	RxDescCount;	USHORT	BuildVer;	USHORT  CommandPos;			USHORT	MajorVer;	USHORT	MinorVer;	UCHAR	FuncCtrl;	UCHAR	Reserved[3];	} IFACE, *PIFACE;#define IFACE_INT_STATUS_OFFSET			0#define IFACE_INT_MASK_OFFSET			1#define IFACE_LOCKOUT_HOST_OFFSET		2#define IFACE_LOCKOUT_MAC_OFFSET		3#define IFACE_FUNC_CTRL_OFFSET			28//// IFACE MACROS & definitions////// FuncCtrl field: //#define FUNC_CTRL_TxENABLE					(UCHAR)0x10#define FUNC_CTRL_RxENABLE					(UCHAR)0x20#define FUNC_CTRL_INIT_COMPLETE				(UCHAR)0x01//// Station States definitions//#define STATION_STATE_INITIALIZING			0x00#define STATION_STATE_SCANNING				0x01#define STATION_STATE_JOINNING				0x02#define STATION_STATE_AUTHENTICATING		0x03#define STATION_STATE_ASSOCIATING			0x04#define STATION_STATE_READY					0x05#define STATION_STATE_OUT_OF_RANGE			0x06#define STATION_STATE_DISASSOCIATING		0x07#define STATION_STATE_DIAUTHENTICATING		0x08#define STATION_STATE_REASSOCIATING			0x09#define	STATION_STATE_FORCED_JOINNING		0x0a#define	STATION_STATE_RECONFIGURING			0x0b#define	STATION_STATE_FW_UPGRADE			0x0c#define STATION_STATE_FORCED_JOIN_FAILURE	0x0d#define STATION_STATE_RESETTING				0x0e#define STATION_STATE_RESET_PENDING			0x0f#define STATION_STATE_SNIFFER_MODE			0x10#define STATION_STATE_WAIT_ACTION			0x11 //under XP we need this state to allow XP to initiate a new scan//errors: error code field is valid#define	STATION_STATE_NO_CARD				0xf0#define STATION_STATE_MGMT_ERROR			0xf1#ifdef UNDER_CE#define						GEN_ARRAY_LENGTH	250#endiftypedef struct __VNet_ADAPTER {	//    // I/O 	//	UINT						IoBaseAddr;	ULONG						IoPortsLen;	ULONG						IoBase;       BOOLEAN						IOregistered;	//    // Interrupt	//#ifdef WINDOWS_OS    NDIS_MINIPORT_INTERRUPT		Interrupt;    UCHAR						InterruptLevel;	UCHAR						InterruptVector;	BOOLEAN						InterruptRegistered;#endif    UCHAR						InterruptStatus;    UCHAR						InterruptType; 	UCHAR						InterruptMask;	//    // NDIS	//	UCHAR						BusType;    UINT						MulticastListMax;	ULONG						PacketFilter;	ULONG						CurrentLookAhead;	UCHAR						Lookahead[MAX_WIRELESS_FRAME_SIZE];#ifdef WINDOWS_OS    NDIS_HANDLE					MiniportAdapterHandle;    	NDIS_SPIN_LOCK				Lock;#endif    UCHAR						StationAddress[VNet_LENGTH_OF_ADDRESS];#ifdef LINUX_OS	struct net_device			*dev;#endif	//	// Statistics 	//	STATISTICS					Stats;		//	// TX	//	USHORT						TxDescFree;			USHORT						TxDescHead;	USHORT						TxDescTail;	USHORT						TxDescPrevious;	USHORT						TxFreeBuffMem;	USHORT						TxBuffHead;	USHORT						TxBuffTail;	USHORT						TxBuffEnd;	USHORT						TxBuffStart;	ULONG						Transmissions;	ULONG						CompletedTransmissions;#ifdef WINDOWS_OS	PNDIS_PACKET				FirstTxQueue;	PNDIS_PACKET				LastTxQueue;#endif	ULONG						PendingTxPackets;	//	//	RX	//	USHORT						RxDescHead;    USHORT						RxBuffEnd;	USHORT						RxBuffStart;	ULONG						Receptions;    ULONG						RxPacketLen;	ULONG						RxPacketLoc; 	BOOLEAN						IndicateReceiveDone;#ifdef WINDOWS_OS	//	//	SNIFFER	//	RX_SNIFFER					RxSniffer;	UCHAR						ChannelToKeepAndRestore;	UCHAR						OperatingModeToSetOnExitSniffer;	WEP_INFO					WepStructToRestore;	SNIFFER_FILTER				SnifferFilter;	//	// Sniffer Statistics	//	SNIFFER_STATISTICS			SnifferStats;#endif	//	// parameters	//	UCHAR						Channel;	UCHAR						OperatingMode;	USHORT						RtsThreshold;	USHORT						FragmentationThreshold;	UCHAR						DataFramesTxRate;	IFACE						HostInfo;	USHORT						HostInfoBase;	UCHAR						PreambleType;	UCHAR						Rssi;	UCHAR						LinkQuality;	UCHAR						DriverDesc[MAX_DRIVER_DESC_LENGTH];	UCHAR						DriverDescSize;	//	// State/Control vars	// 	UCHAR						StationState;	USHORT						CurrentAuthentTransactionSeqNum;	USHORT						ExpectedAuthentTransactionSeqNum;		BOOLEAN						StationWasAssociated;	BOOLEAN						MiniportResetRequest;		UCHAR						SiteSurveyState;	UCHAR						CardType;	UCHAR						IndicateConnectState;	BOOLEAN						IndicateResetComplete;	BOOLEAN						RejectPendingTxPackets;	BOOLEAN						WepIsConfigured;	//	// 802.11 	//	MACADDR						CurrentBSSID;	UCHAR						DesiredSSID[MAX_SSID_LENGTH];	UCHAR						SSID_Size;	UCHAR						InitialSSIDsize;	UCHAR						InitialSSID[MAX_SSID_LENGTH];	UCHAR						BSSID[6];	UCHAR						AuthenticationRequestRetryCnt;	UCHAR						AssociationRequestRetryCnt;	UCHAR						ReAssociationRequestRetryCnt;	WEP_INFO					WepInfo;	BOOLEAN						ApSelected;	UCHAR						PowerMgmtMode;	USHORT						BeaconPeriod;	USHORT						ListenInterval;	BSS_INFO					BSSinfo[MAX_BSS_ENTRIES];	IBSS_INFO					IBSSinfo[MAX_IBSS_ENTRIES];	UCHAR						BSSListEntries;	UCHAR						IBSSMemberEntries;	ULONG						MgmtErrorCode;				//	//Timers	//#ifdef WINDOWS_OS	NDIS_MINIPORT_TIMER			MgmtTimeOutTimer;	NDIS_MINIPORT_TIMER			PeriodicTimer;#endif#ifdef LINUX_OS	struct timer_list			MgmtTimer;	UCHAR						IsUp;#endif			//	// application support	//	VERSION_INFO				VersionInfo;	UCHAR						DeviceID[MAX_DEVICE_ID_LENGTH];	UCHAR						DeviceIDsize;#ifdef UNDER_CE	BOOLEAN						FirstTimerEntry;	HKEY						hKey;#endif	//	// DFU	//	UCHAR						VendorID;	UCHAR						FlashID;	ULONG						FlashTotalBytes;	ULONG						FirmwareFileLength;	PUCHAR						MappedFirmwareBuffer;#ifdef WINDOWS_OS	NDIS_HANDLE					FwFileHandle;#endif	PUCHAR						pCIS;	PUCHAR						pHardConfig;	BOOLEAN						InvalidMACaddress;} VNet_ADAPTER, * PVNet_ADAPTER;#ifdef WINDOWS_OS#define VNET_ASSERT(A) ASSERT(A)#endif#ifdef LINUX_OS		#define VNET_ASSERT(A)  {}#endif#include "stdinclude.h"#ifdef WINDOWS_OS#include "win_inlines.h"#endif#endif

⌨️ 快捷键说明

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