亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lan91c111_adapter.h

?? This driver was developed to ARM SMSC LAN91C11 (PXA CPU)
?? H
?? 第 1 頁 / 共 2 頁
字號:
 /*
 *
 *    Copyright (c) Standard MicroSystems Corporation.  All Rights Reserved.
 *
 *				    LAN91C111 Driver for Windows CE .NET
 *
 *							 Revision History
 *_______________________________________________________________________________
 *     Author		  Date		Version		Description
 *_______________________________________________________________________________
 * Pramod Bhardwaj  6/18/2002	  0.1		Beta Release 
 * Pramod Bhardwaj	7/15/2002	  1.0       Release 
 * Pramod Bhardwaj  1/22/2003     1.1		Removed some platform dependencies
 * Pramod Bhardwaj  4/15/2003     2.0		Added support for alloc interrupt
 *_______________________________________________________________________________
 *
 *Description
 *              Hardware specific and driver datastructure declarations
 *
 */
#ifndef __LAN91C111_ADAPTER__
#define __LAN91C111_ADAPTER__

//NDIS Version Declaration
#ifdef NDIS50_MINIPORT
#define DRIVER_NDIS_MAJOR_VERSION 5	
#else
#define DRIVER_NDIS_MAJOR_VERSION 4
#endif
#define DRIVER_NDIS_MINOR_VERSION 0
#define DRIVER_NDIS_VERSION       ((DRIVER_NDIS_MAJOR_VERSION << 8) + DRIVER_NDIS_MINOR_VERSION)

#define DRIVER_BUILD_NUM 1040803

//Windows CE debug zones
#define ZONE_INIT       1
#define ZONE_INTR       1 
#define ZONE_TX			1
#define ZONE_RX			1
#define PrintDebugMsg	//DEBUGMSG

//---------------MINIPORT PACKET RELATED--------------------------
//The MINIPORT Packet structure.  One per active send request.
typedef struct  _MINIPORT_PACKET
{
    struct _MINIPORT_PACKET *Next;       //  Next packet on queue.
    UCHAR                   PacketNumber;//  Adapter Packet number.
	USHORT					PacketRange;
} MINIPORT_PACKET;
#define MINIPORT_PACKET_SIZE     sizeof(MINIPORT_PACKET)

//The MINIPORT packet queue structur and macros
typedef struct _MINIPORT_PACKET_QUE
{
    MINIPORT_PACKET  *First;             //  First packet on queue or 0
    MINIPORT_PACKET  *Last;              //  Last packet on queue or &First
} MINIPORT_PACKET_QUE;
#define MAC_PACKET_QUE_SIZE sizeof(MAC_PACKET_QUE)

//The MAC receive context structure.
typedef struct  _MAC_RECEIVE_CONTEXT
{
    UINT            Range;          //  Packet size.
    USHORT           *PacketData;    //  User data.
} MAC_RECEIVE_CONTEXT;
#define MAC_RECEIVE_CONTEXT_SIZE    sizeof(MAC_RECEIVE_CONTEXT)

//Hardware packet representation.
typedef  struct _SMC_PACK_HEADER
{
    USHORT     Status;
    USHORT     Range;
} SMC_PACK_HEADER;
#define SMC_PACK_HEADER_SIZE    sizeof(SMC_PACK_HEADER)

//Clear packet queue macro.
#define ClearPacketQue(Que) {(Que).First = (MINIPORT_PACKET *) 0;                \
	(Que).Last  = (MINIPORT_PACKET *) &(Que).First;}    \
	
//Test for empty queue macro.
#define IsPacketQueEmpty(Que)  (((Que).First) == (MINIPORT_PACKET *) 0)

//Add a packet to queue macro.
#define QuePacket(Que, _Packet)  {MINIPORT_PACKET *__Last = (Que).Last;   \
	_Packet->Next = (MINIPORT_PACKET *) 0;   \
__Last->Next = (Que).Last = _Packet;}

//Remove a packet from queue macro.
#define DequePacket(Que, Packet) {Packet = (Que).First;                                \
	if(((Que).First = Packet->Next) == (MINIPORT_PACKET *) 0) \
(Que).Last = (MINIPORT_PACKET *) &(Que).First;}        

//Sneak a look at the packet at the head of the queue macro.
#define PeekQue(Que, _Packet) {_Packet = (Que).First;}

#define  MAC_ADDRESS_SIZE   6
typedef struct  _SMSC_NETWORK_ADDRESS
{
    UCHAR           Address[MAC_ADDRESS_SIZE];     //  Network address
} SMSC_NETWORK_ADDRESS;

//----------------------------------------------------------------

//Multicast Table Entry Structure
#define MAX_MULTICAST_ADDRESS   128

typedef struct 
{
	UINT  MulticastTableEntryCount;
	UCHAR MulticastTableEntry[MAX_MULTICAST_ADDRESS * ETH_LENGTH_OF_ADDRESS];
} MULTICAST_TABLE;


#define TOTAL_BUFFER_SIZE		0x2000
#define MAX_LOOKAHEAD_SIZE      1514
#define LOOK_AHEAD_BUFFER_SIZE  2048
#define MINIPORT_ADAPTER_SIZE   sizeof(MINIPORT_ADAPTER)
#define MAX_FRAME_DATA_SIZE     1500
#define MAX_FRAME_SIZE          ((USHORT)1514)
#define MIN_FRAME_SIZE          14
#define MIN_LEGAL_FRAME_SIZE    64
#define ETHERNET_HEADER_SIZE    14
#define MAC_ADDRESS_SIZE		6
#define MAX_MULTICAST_ADDRESS   128
#define PTR_WAIT                5       //  Loop count waiting after pointer load

#define AUTO_NEGOTIATION         0xFF
#define DEFAULT_VALUE            0xFE
#define FULL_DUPLEX              0x01
#define HALF_DUPLEX              0x00
#define SPEED10                  100000
#define SPEED100                 1000000

#define DEFAULT_IO_BASE         0x300   //  Platform Specific
#define DEFAULT_IRQ             10      //  Platform Specific
#define DEFAULT_MEDIA           0       //  Default media type

#define	CHIPID_LAN91C111		9
#define CHIPREV_LAN91C111_REVA  0
#define CHIPREV_LAN91C111_REVB  1

//--------------------- DRIVER STRUCTURE --------------------------------
#pragma pack(16)
typedef  struct _MINIPORT_ADAPTER
{
	NDIS_HANDLE             AdapterHandle;
	ULONG					IOBase;				//  Platform Specific - type might have to be changed to accomodate platform specific values
	BOOLEAN                 IsPortRegistered;   //  I/O Port registere with NdisMRegisterIORage (...)
	NDIS_MINIPORT_INTERRUPT InterruptInfo;      //  From NdisMRegisterInterrupt(..)
	USHORT                  InterruptLevel;     //  IRQ in use
	BOOLEAN                 IsInterruptSet;     //  Attached to interrupt using NdisMRegisterInterrupt(...)
	USHORT					InterruptVector;
	BOOLEAN                 Auto_Negotiation;
	USHORT                  BusType;
    USHORT                  BusNumber;
	USHORT					ConfigReg;          //  Config register to be output
	USHORT					ChipID;				//  Chip ID 
	USHORT					ChipRev;			//  Chip Revision

	USHORT                  *LookAheadBuffer;   //  Pointer to lookahead buffer
	USHORT                  State;              //  Current state of the Adapter..
	NDIS_OID                LookAhead;          //  Max lookahead size
    UINT					Speed;				//  Speed ?? 10/100 
	UCHAR                   Duplex;				//  Duplex ?? FDX/HDX
	UCHAR			        MACAddress[6];		//  Current Station address
	UCHAR                   HashTable[8];       //  Multicast hash bits
	USHORT                  RCR;                //  Updated Receive Control Register.
	USHORT					TCR;				//  Updated Transmit Control Register.
	USHORT					CtrlRegister;
		
	
	
	USHORT					LinkStatus;			//  Link Status
	BOOLEAN					NeedIndComplete;	//	Recieve Complete indication
	BOOLEAN					RCVBroadcast;		//	If set recvs broadcasts.
	BOOLEAN					RCVAllMulticast;	//  Rcv All multicasts.
	BOOLEAN					PromiscuousMode;
	MULTICAST_TABLE			MulticastTable;		//	Multicast Table

	BOOLEAN                 TxResPending;       //  When set, NDISMResourceAvailable should be called
    MINIPORT_PACKET_QUE     AckPending;         //  Waiting completion intr
	PUCHAR                  TxBuffer;           //  Pointer to the TX Copy buffer
		
	MINIPORT_PACKET_QUE     AllocPending;
	BOOLEAN					AllocIntPending;

	//Required Statistics.
	UINT					Stat_TxOK;
	UINT					Stat_RxOK;
	UINT					Stat_TxError;
	UINT					Stat_RxError;
	UINT					Stat_RxOvrn;
	UINT					Stat_AlignError;
	UINT					Stat_SingleColl;
	UINT					Stat_MultiColl;
}MINIPORT_ADAPTER, *PMINIPORT_ADAPTER, *PSMSC_ADAPTER;


//-----------------  LAN91C111 Chip Specific Registry Declarations ---------

#define LAN91C111_CHIPID		 9
#define BANK_SELECT             14      //  Offset in IO space to Bank select
#define BANK_ID_MASK            0xff00  //  Mask constant part of bank register
#define BANK_UPPER              0x3300  //  Constant value for upper byte of bank register
#define BANK_MASK               (BANK_UPPER | 3)

//Bank 0 Registers
#define BANK0_TCR               0       //  Transmit control register
#define BANK0_STS               2       //  EPH status register 
#define BANK0_RCR               4       //  Receive control register
#define BANK0_CTR               6       //  Statistics counter register
#define BANK0_MIR               8       //  Memory information register
#define BANK0_RPCR              10      //  Memory configuration register
#define BANK0_RES               12      //  Reserved

//Bank 1 Registers
#define BANK1_CONFIG            0       //  Adapter configuration register
#define BANK1_BASE              2       //  IO Base address
#define BANK1_IA0               4       //  Current address bytes 0-1
#define BANK1_IA2               6       //  Current address bytes 2-3
#define BANK1_IA4               8       //  Current address bytes 4-5
#define BANK1_GEN               10      //  General purpose
#define BANK1_CTL               12      //  Control

//Bank 2 Registers
#define BANK2_MMU_CMD           0       //  MMU command register
#define BANK2_PNR               2       //  Packet Number Register (8 bit)
#define BANK2_ARR               3       //  Allocation Result Register (8 bit)
#define BANK2_FIFOS             4
#define BANK2_TX_FIFO           4       //  Transmit Fifo Port Register (8 bit)
#define BANK2_RX_FIFO           5       //  Receive Fifo Port Register (8 bit)
#define BANK2_PTR               6       //  Pointer Register
#define BANK2_DATA1             8       //  Data Register
#define BANK2_DATA2             10      //  Data Register
#define BANK2_INT_STS           12      //  Interrupt Status Register (8 bit, Read Only)
#define BANK2_INT_ACK           12      //  Interrupt Ack Register (8 bit, Write Only)
#define BANK2_INT_MSK           13      //  Interrupt Mask Register (8 bit, Read/Write)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜精品久久久久久超碰| 国产综合一区二区| 欧美日韩久久不卡| 爽好久久久欧美精品| 欧美一卡二卡三卡四卡| 美女www一区二区| 精品少妇一区二区三区日产乱码| 久久国产福利国产秒拍| 亚洲精品一线二线三线| 成人av电影在线观看| 洋洋成人永久网站入口| 3d成人动漫网站| 国产精品羞羞答答xxdd| 中文字幕在线播放不卡一区| 欧美视频精品在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久一区二区三区国产精品| 成人h精品动漫一区二区三区| 亚洲精品ww久久久久久p站| 欧美日韩国产a| 国产黄人亚洲片| 一区二区三区色| 日韩一区二区电影在线| 成人午夜免费av| 日韩国产一二三区| 国产精品天美传媒| 在线播放91灌醉迷j高跟美女| 国产乱码精品一区二区三区忘忧草 | 偷窥少妇高潮呻吟av久久免费| 欧美高清视频一二三区 | 欧美一区2区视频在线观看| 丰满少妇久久久久久久| 午夜精品久久久久久不卡8050| 久久综合久久综合亚洲| 在线国产亚洲欧美| 国产一区二区三区在线观看免费| 亚洲精品大片www| 久久先锋影音av鲁色资源| 欧洲国产伦久久久久久久| 国产黑丝在线一区二区三区| 亚洲v中文字幕| 亚洲欧洲韩国日本视频 | 国产欧美日韩亚州综合| 欧美日韩大陆在线| 91网站最新网址| 国产精品一区二区久久不卡| 三级久久三级久久久| 国产精品国模大尺度视频| 日韩一级在线观看| 欧美午夜精品免费| 91丝袜国产在线播放| 国产精品综合视频| 美国十次综合导航| 亚洲国产另类av| 亚洲精品老司机| 国产精品久久久久久久久免费樱桃| 日韩欧美中文字幕一区| 欧美男人的天堂一二区| 欧美在线你懂的| 一本大道av一区二区在线播放| 国产99久久久国产精品免费看| 青青草国产成人99久久| 日韩1区2区3区| 日韩中文字幕不卡| 午夜精品福利一区二区三区av | 久久99精品国产麻豆不卡| 首页国产欧美日韩丝袜| 亚洲国产精品一区二区www | 视频一区二区不卡| 午夜精品一区在线观看| 亚洲资源中文字幕| 亚洲综合免费观看高清在线观看| 亚洲免费观看高清在线观看| 国产欧美一区二区三区在线看蜜臀| 精品av综合导航| 久久久五月婷婷| 亚洲精品在线免费观看视频| 精品久久久久久久久久久久包黑料| 欧美一级免费观看| 精品国产免费久久 | 日韩一区二区三区在线| 91精品国产91热久久久做人人| 欧美一区二区视频网站| 日韩精品一区二区三区四区| 欧美成人精品福利| 久久久不卡网国产精品二区| 国产日产精品一区| 国产精品国产三级国产三级人妇 | 欧美精品少妇一区二区三区| 欧美精品乱人伦久久久久久| 欧美一区二区日韩一区二区| 日韩午夜av一区| 久久网站热最新地址| 国产拍揄自揄精品视频麻豆| 国产精品久久久久aaaa樱花| 亚洲乱码精品一二三四区日韩在线| 亚洲夂夂婷婷色拍ww47| 蜜臀a∨国产成人精品| 国内精品自线一区二区三区视频| 伦理电影国产精品| 国产成人亚洲综合a∨猫咪| 99热精品国产| 在线成人av网站| 久久午夜羞羞影院免费观看| 亚洲欧美偷拍另类a∨色屁股| 亚洲一区影音先锋| 激情伊人五月天久久综合| 不卡一区二区三区四区| 精品视频一区二区不卡| 欧美变态tickling挠脚心| 综合久久久久久久| 日韩精品亚洲专区| 不卡av在线网| 日韩欧美中文字幕精品| 日韩一区中文字幕| 奇米色一区二区| 成人黄色小视频| 91精品国产综合久久久久久久 | 久久久国产午夜精品| 亚洲欧美aⅴ...| 免费的国产精品| 99精品视频一区二区| 日韩欧美国产wwwww| 亚洲乱码国产乱码精品精的特点| 日韩黄色免费电影| 91最新地址在线播放| 精品国产在天天线2019| 一区二区在线观看视频在线观看| 韩国一区二区视频| 欧美日韩国产bt| 亚洲视频一区二区免费在线观看| 日本人妖一区二区| 在线精品亚洲一区二区不卡| 久久精品亚洲一区二区三区浴池| 洋洋av久久久久久久一区| 成人av影院在线| 久久久久久夜精品精品免费| 五月天激情小说综合| 色88888久久久久久影院野外| 久久久无码精品亚洲日韩按摩| 日欧美一区二区| 色悠悠亚洲一区二区| 中文字幕av一区二区三区高| 日本美女一区二区三区| 欧美亚洲日本国产| 成人免费一区二区三区视频| 国产精品77777| 久久亚洲综合色| 久久99精品国产| 欧美va在线播放| 麻豆高清免费国产一区| 51精品国自产在线| 石原莉奈在线亚洲三区| 欧美日韩中文字幕精品| 一区二区三区欧美视频| 色综合色综合色综合| **欧美大码日韩| 99久久99久久精品免费观看 | 亚洲欧美一区二区在线观看| 国产成人免费视| 久久影院视频免费| 国产一区二区不卡| 国产人妖乱国产精品人妖| 国产剧情一区在线| 国产欧美日产一区| 国产精品99久久久久久似苏梦涵| 精品99久久久久久| 韩国成人福利片在线播放| 精品国产91亚洲一区二区三区婷婷| 七七婷婷婷婷精品国产| 欧美一级日韩一级| 精品中文字幕一区二区小辣椒| 欧美哺乳videos| 国产精品一区免费视频| 日本一区二区成人| 99r精品视频| 亚洲一区在线观看免费| 欧美嫩在线观看| 激情综合一区二区三区| 精品国产亚洲在线| 成人激情av网| 亚洲国产日韩一区二区| 日韩欧美成人一区二区| 国产精品影视在线| 亚洲日本在线天堂| 欧美高清视频www夜色资源网| 无码av免费一区二区三区试看| 日韩美女一区二区三区| 懂色av噜噜一区二区三区av| 1区2区3区国产精品| 欧美日韩国产片| 国产一区二区视频在线| 最新热久久免费视频| 欧美日韩一区二区电影| 国产综合久久久久久鬼色| 亚洲欧美日韩人成在线播放| 欧美二区在线观看| voyeur盗摄精品| 视频在线观看一区| 国产欧美日韩精品在线|