亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
黄色日韩三级电影| 日韩电影免费一区| 26uuu精品一区二区在线观看| 欧美日韩综合在线| 欧美视频三区在线播放| 欧美熟乱第一页| 欧美日韩一级二级| 欧美精品第1页| 日韩亚洲欧美在线| 精品国产第一区二区三区观看体验| 日韩精品一区二区三区在线播放 | 色综合久久66| 色狠狠色噜噜噜综合网| 欧美日韩亚洲综合| 亚洲国产精品成人综合| 久久久久久9999| 欧美激情一区二区三区不卡| 国产欧美1区2区3区| 国产精品国产a级| 一区二区免费看| 日本麻豆一区二区三区视频| 久久国产成人午夜av影院| 国产美女在线观看一区| 色综合天天综合在线视频| 欧美色爱综合网| 久久亚洲二区三区| 国产精品色一区二区三区| 亚洲色图在线视频| 婷婷夜色潮精品综合在线| 经典三级一区二区| av中文字幕亚洲| 51午夜精品国产| 欧美国产一区二区在线观看| 亚洲精品欧美综合四区| 久草中文综合在线| 97久久人人超碰| 欧美成人aa大片| 亚洲欧美国产三级| 激情成人综合网| 91国在线观看| 久久久久九九视频| 天天免费综合色| 91免费小视频| 久久伊人蜜桃av一区二区| 亚洲欧美一区二区久久| 精品在线播放免费| 欧美日韩在线直播| 国产精品理论在线观看| 日韩电影免费在线观看网站| 91视频你懂的| 亚洲午夜精品久久久久久久久| 精品一区二区三区免费视频| 欧美三区免费完整视频在线观看| 久久久美女毛片| 免费在线成人网| 欧美在线一区二区三区| 国产精品青草久久| 国精产品一区一区三区mba桃花| 欧美午夜精品久久久久久超碰| 久久久国产一区二区三区四区小说 | 蜜臀av性久久久久蜜臀aⅴ| 高清免费成人av| 精品日韩在线观看| 日韩二区在线观看| 色婷婷精品久久二区二区蜜臂av| 久久精品欧美一区二区三区不卡| 免费一区二区视频| 日韩区在线观看| 蜜桃久久久久久久| 欧美一区二区视频免费观看| 亚洲综合自拍偷拍| 欧美日韩一级黄| 午夜精品福利久久久| 欧美日韩在线播| 亚洲成av人片www| 欧美人牲a欧美精品| 亚洲午夜电影在线观看| 欧美老女人在线| 三级在线观看一区二区| 91精品国产美女浴室洗澡无遮挡| 性做久久久久久久久| 欧美久久久久久久久中文字幕| 一区二区三区成人在线视频| 在线视频国产一区| 亚洲va国产天堂va久久en| 欧美婷婷六月丁香综合色| 五月综合激情日本mⅴ| 91精品国产综合久久精品麻豆 | 91精品国产全国免费观看| 亚洲一二三区视频在线观看| 欧美性受xxxx黑人xyx性爽| 亚洲国产一区二区三区| 91精品免费在线| 黄网站免费久久| 亚洲特级片在线| 欧美日韩国产综合一区二区| 午夜精品123| 久久综合五月天婷婷伊人| 国产凹凸在线观看一区二区| 亚洲欧美日韩中文播放| 欧美日韩精品免费| 国产一区视频网站| 中文字幕一区二区三区在线播放| 色婷婷一区二区三区四区| 石原莉奈在线亚洲二区| 国产亚洲精品aa午夜观看| 色综合天天性综合| 首页国产欧美久久| 欧美激情综合在线| 欧美日韩大陆在线| 福利一区二区在线观看| 亚洲第一综合色| 国产性色一区二区| 欧美日韩国产高清一区二区三区| 久久精品国产网站| 亚洲人成伊人成综合网小说| 777午夜精品视频在线播放| 丁香激情综合五月| 日本亚洲免费观看| 曰韩精品一区二区| 国产欧美一区视频| 日韩一区二区在线看片| 色哟哟欧美精品| 国产一区二区不卡老阿姨| 亚洲电影在线免费观看| 国产精品无人区| 日韩一区二区三区视频| 色哦色哦哦色天天综合| 国产99久久久国产精品潘金| 五月天激情综合网| 中文字幕亚洲一区二区av在线| 欧美一级xxx| 欧美福利视频导航| 色综合夜色一区| 成人综合在线视频| 国产又粗又猛又爽又黄91精品| 亚洲一区二区三区在线看| 国产精品久久久久久久久晋中| 欧美不卡视频一区| 7777精品伊人久久久大香线蕉完整版 | 在线亚洲免费视频| 成人涩涩免费视频| 国产乱码精品一区二区三区五月婷| 亚洲va国产天堂va久久en| 亚洲另类一区二区| 最新中文字幕一区二区三区| 国产性做久久久久久| 精品国产乱子伦一区| 欧美一级淫片007| 91精品国产日韩91久久久久久| 欧美影院精品一区| 国产亚洲精品bt天堂精选| 精品国产一区二区亚洲人成毛片 | 精品综合久久久久久8888| 日韩国产成人精品| 日本三级亚洲精品| 久久精品国产亚洲5555| 精品一区中文字幕| 国产在线一区二区| 国产在线精品一区二区不卡了| 激情综合网最新| 国产精品18久久久| 99久久久精品| 99精品视频一区二区三区| 色婷婷久久一区二区三区麻豆| 91官网在线观看| 69久久99精品久久久久婷婷| 日韩一区二区三免费高清| 欧美va日韩va| 欧美国产日产图区| 亚洲欧美视频在线观看| 三级影片在线观看欧美日韩一区二区| 日韩不卡一区二区| 国产精品一区二区久久不卡| 懂色av噜噜一区二区三区av| av亚洲产国偷v产偷v自拍| 日本道在线观看一区二区| 欧美一区二区三区播放老司机| 欧美videofree性高清杂交| 欧美高清在线一区二区| 亚洲最新在线观看| 国产在线国偷精品产拍免费yy| 成人精品在线视频观看| 欧美日韩精品一区二区三区四区 | 国产69精品一区二区亚洲孕妇| 99久久精品情趣| 56国语精品自产拍在线观看| 国产亚洲自拍一区| 亚洲一区二区三区四区五区黄| 久久精品72免费观看| aaa欧美日韩| 欧美va亚洲va在线观看蝴蝶网| 国产精品久久久久婷婷二区次| 亚洲综合偷拍欧美一区色| 精品一区二区免费| 欧美午夜在线一二页| 国产欧美一区二区在线| 日韩 欧美一区二区三区| 99九九99九九九视频精品| 精品国产sm最大网站免费看|