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

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

?? ne2000hw.h

?? 使用網絡驅動器接口標準開發的ne2000網卡的NT驅動.
?? H
字號:
/*++

Copyright (c) 1990-1998 Microsoft Corporation, All Rights Reserved

Module Name:

    ne2000hw.h

Abstract:

    Hardware definitions.

Author:

    Sean Selitrennikoff

Environment:

Notes:

    optional-notes

Revision History:

--*/

#ifndef _NE2000HARDWARE_
#define _NE2000HARDWARE_


//
// Definitions for supporting clone adapters.
//

//
// Valid value ranges for the IoBaseAddress.
//
#ifdef NE1000
#define MIN_IOBASEADDR 0x0200
#else
#define MIN_IOBASEADDR 0x0120
#endif

#define MAX_IOBASEADDR 0xc3d0



//
// Valid value ranges for the InterruptNumber.
//
#define MIN_IRQ 2

#ifdef NE1000
#define MAX_IRQ 9
#else
#define MAX_IRQ 15
#endif


//
//  Types of Ne2000 cards.
//
#define NE2000_ISA                  0
#define NE2000_PCMCIA               1

//
// ID for MCA Ne2000 clone cards
//
#define AE2_ADAPTER_ID               0x67b0
#define UB_ADAPTER_ID                0x611f
#define NE2_ADAPTER_ID               0x7154

//
// Microchannel IRQ POS register mask and shift count
//
#define MC_IRQ_MASK     0x60
#define MC_IRQ_MASK_UB  0x0E


//
// Microchannel I/O base address mask and shift count
//
#define MC_IO_BASE_MASK      0x0E
#define MC_IO_BASE_MASK_UB   0xE0

//
// Default value for Adapter->IoBaseAddr
//
#define DEFAULT_IOBASEADDR (PVOID)0x300

#define CIS_NET_ADDR_OFFSET 0xff0

//
// Default value for Adapter->InterruptNumber
//
#define DEFAULT_INTERRUPTNUMBER 3


//
// Default value for Adapter->MulticastListMax
//
#define DEFAULT_MULTICASTLISTMAX 8


//
// Offsets from Adapter->IoPAddr of the ports used to access
// the 8390 NIC registers.
//
// The names in parenthesis are the abbreviations by which
// the registers are referred to in the 8390 data sheet.
//
// Some of the offsets appear more than once
// because they have have relevant page 0 and page 1 values,
// or they are different registers when read than they are
// when written. The notation MSB indicates that only the
// MSB can be set for this register, the LSB is assumed 0.
//

#define NIC_COMMAND         0x0     // (CR)
#define NIC_PAGE_START      0x1     // (PSTART)   MSB, write-only
#define NIC_PHYS_ADDR       0x1     // (PAR0)     page 1
#define NIC_PAGE_STOP       0x2     // (PSTOP)    MSB, write-only
#define NIC_BOUNDARY        0x3     // (BNRY)     MSB
#define NIC_XMIT_START      0x4     // (TPSR)     MSB, write-only
#define NIC_XMIT_STATUS     0x4     // (TSR)      read-only
#define NIC_XMIT_COUNT_LSB  0x5     // (TBCR0)    write-only
#define NIC_XMIT_COUNT_MSB  0x6     // (TBCR1)    write-only
#define NIC_FIFO            0x6     // (FIFO)     read-only
#define NIC_INTR_STATUS     0x7     // (ISR)
#define NIC_CURRENT         0x7     // (CURR)     page 1
#define NIC_MC_ADDR         0x8     // (MAR0)     page 1
#define NIC_CRDA_LSB        0x8     // (CRDA0)
#define NIC_RMT_ADDR_LSB    0x8     // (RSAR0)
#define NIC_CRDA_MSB        0x9     // (CRDA1)
#define NIC_RMT_ADDR_MSB    0x9     // (RSAR1)
#define NIC_RMT_COUNT_LSB   0xa     // (RBCR0)    write-only
#define NIC_RMT_COUNT_MSB   0xb     // (RBCR1)    write-only
#define NIC_RCV_CONFIG      0xc     // (RCR)      write-only
#define NIC_RCV_STATUS      0xc     // (RSR)      read-only
#define NIC_XMIT_CONFIG     0xd     // (TCR)      write-only
#define NIC_FAE_ERR_CNTR    0xd     // (CNTR0)    read-only
#define NIC_DATA_CONFIG     0xe     // (DCR)      write-only
#define NIC_CRC_ERR_CNTR    0xe     // (CNTR1)    read-only
#define NIC_INTR_MASK       0xf     // (IMR)      write-only
#define NIC_MISSED_CNTR     0xf     // (CNTR2)    read-only
#define NIC_RACK_NIC        0x10    // Byte to read or write
#define NIC_RESET           0x1f    // (RESET)


//
// Constants for the NIC_COMMAND register.
//
// Start/stop the card, start transmissions, and select
// which page of registers was seen through the ports.
//

#define CR_STOP         (UCHAR)0x01        // reset the card
#define CR_START        (UCHAR)0x02        // start the card
#define CR_XMIT         (UCHAR)0x04        // begin transmission
#define CR_NO_DMA       (UCHAR)0x20        // stop remote DMA

#define CR_PS0          (UCHAR)0x40        // low bit of page number
#define CR_PS1          (UCHAR)0x80        // high bit of page number
#define CR_PAGE0        (UCHAR)0x00        // select page 0
#define CR_PAGE1        CR_PS0             // select page 1
#define CR_PAGE2        CR_PS1             // select page 2

#define CR_DMA_WRITE    (UCHAR)0x10        // Write
#define CR_DMA_READ     (UCHAR)0x08        // Read
#define CR_SEND         (UCHAR)0x18        // send


//
// Constants for the NIC_XMIT_STATUS register.
//
// Indicate the result of a packet transmission.
//

#define TSR_XMIT_OK     (UCHAR)0x01        // transmit with no errors
#define TSR_COLLISION   (UCHAR)0x04        // collided at least once
#define TSR_ABORTED     (UCHAR)0x08        // too many collisions
#define TSR_NO_CARRIER  (UCHAR)0x10        // carrier lost
#define TSR_NO_CDH      (UCHAR)0x40        // no collision detect heartbeat


//
// Constants for the NIC_INTR_STATUS register.
//
// Indicate the cause of an interrupt.
//

#define ISR_EMPTY       (UCHAR)0x00        // no bits set in ISR
#define ISR_RCV         (UCHAR)0x01        // packet received with no errors
#define ISR_XMIT        (UCHAR)0x02        // packet transmitted with no errors
#define ISR_RCV_ERR     (UCHAR)0x04        // error on packet reception
#define ISR_XMIT_ERR    (UCHAR)0x08        // error on packet transmission
#define ISR_OVERFLOW    (UCHAR)0x10        // receive buffer overflow
#define ISR_COUNTER     (UCHAR)0x20        // MSB set on tally counter
#define ISR_DMA_DONE    (UCHAR)0x40        // RDC
#define ISR_RESET       (UCHAR)0x80        // (not an interrupt) card is reset


//
// Constants for the NIC_RCV_CONFIG register.
//
// Configure what type of packets are received.
//

#define RCR_REJECT_ERR  (UCHAR)0x00        // reject error packets
#define RCR_BROADCAST   (UCHAR)0x04        // receive broadcast packets
#define RCR_MULTICAST   (UCHAR)0x08        // receive multicast packets
#define RCR_ALL_PHYS    (UCHAR)0x10        // receive ALL directed packets
#define RCR_MONITOR     (UCHAR)0x20        // don't collect packets


//
// Constants for the NIC_RCV_STATUS register.
//
// Indicate the status of a received packet.
//
// These are also used to interpret the status byte in the
// packet header of a received packet.
//

#define RSR_PACKET_OK   (UCHAR)0x01        // packet received with no errors
#define RSR_CRC_ERROR   (UCHAR)0x02        // packet received with CRC error
#define RSR_MULTICAST   (UCHAR)0x20        // packet received was multicast
#define RSR_DISABLED    (UCHAR)0x40        // received is disabled
#define RSR_DEFERRING   (UCHAR)0x80        // receiver is deferring


//
// Constants for the NIC_XMIT_CONFIG register.
//
// Configures how packets are transmitted.
//

#define TCR_NO_LOOPBACK (UCHAR)0x00        // normal operation
#define TCR_LOOPBACK    (UCHAR)0x02        // loopback (set when NIC is stopped)

#define TCR_INHIBIT_CRC (UCHAR)0x01        // inhibit appending of CRC

#define TCR_NIC_LBK     (UCHAR)0x02        // loopback through the NIC
#define TCR_SNI_LBK     (UCHAR)0x04        // loopback through the SNI
#define TCR_COAX_LBK    (UCHAR)0x06        // loopback to the coax


//
// Constants for the NIC_DATA_CONFIG register.
//
// Set data transfer sizes.
//

#define DCR_BYTE_WIDE   (UCHAR)0x00        // byte-wide DMA transfers
#define DCR_WORD_WIDE   (UCHAR)0x01        // word-wide DMA transfers

#define DCR_LOOPBACK    (UCHAR)0x00        // loopback mode (TCR must be set)
#define DCR_NORMAL      (UCHAR)0x08        // normal operation

#define DCR_FIFO_2_BYTE (UCHAR)0x00        // 2-byte FIFO threshhold
#define DCR_FIFO_4_BYTE (UCHAR)0x20        // 4-byte FIFO threshhold
#define DCR_FIFO_8_BYTE (UCHAR)0x40        // 8-byte FIFO threshhold
#define DCR_FIFO_12_BYTE (UCHAR)0x60       // 12-byte FIFO threshhold
#define DCR_AUTO_INIT   (UCHAR)0x10        // Auto-init to remove packets from ring


//
// Constants for the NIC_INTR_MASK register.
//
// Configure which ISR settings actually cause interrupts.
//

#define IMR_RCV         (UCHAR)0x01        // packet received with no errors
#define IMR_XMIT        (UCHAR)0x02        // packet transmitted with no errors
#define IMR_RCV_ERR     (UCHAR)0x04        // error on packet reception
#define IMR_XMIT_ERR    (UCHAR)0x08        // error on packet transmission
#define IMR_OVERFLOW    (UCHAR)0x10        // receive buffer overflow
#define IMR_COUNTER     (UCHAR)0x20        // MSB set on tally counter


//++
//
// VOID
// CardStart(
//    IN PNE2000_ADAPTER Adapter
//    )
//
//
// Routine Description:
//
//    Starts the card.
//
// Arguments:
//
//    Adapter - pointer to the adapter block
//
// Return Value:
//
//    None.
//
//--
    //
    // Assume that the card has been stopped as in CardStop.
    //

#define CardStart(Adapter) \
    NdisRawWritePortUchar(((Adapter->IoPAddr)+NIC_XMIT_CONFIG), TCR_NO_LOOPBACK)



//++
//
// VOID
// CardSetAllMulticast(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Enables every bit in the card multicast bit mask.
//  Calls SyncCardSetAllMulticast.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardSetAllMulticast(Adapter) \
    NdisMSynchronizeWithInterrupt(&(Adapter)->Interrupt, \
                SyncCardSetAllMulticast, (PVOID)(Adapter))


//++
//
// VOID
// CardCopyMulticastRegs(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Writes out the entire multicast bit mask to the card from
//  Adapter->NicMulticastRegs.  Calls SyncCardCopyMulticastRegs.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardCopyMulticastRegs(Adapter) \
    NdisMSynchronizeWithInterrupt(&(Adapter)->Interrupt, \
                SyncCardCopyMulticastRegs, (PVOID)(Adapter))



//++
//
// VOID
// CardGetInterruptStatus(
//     IN PNE2000_ADAPTER Adapter,
//     OUT PUCHAR InterrupStatus
//     )
//
// Routine Description:
//
//  Reads the interrupt status (ISR) register from the card. Only
//  called at IRQL INTERRUPT_LEVEL.
//
// Arguments:
//
//  Adapter - The adapter block.
//
//  InterruptStatus - Returns the value of ISR.
//
// Return Value:
//
//--

#define CardGetInterruptStatus(_Adapter,_InterruptStatus) \
    NdisRawReadPortUchar(((_Adapter)->IoPAddr+NIC_INTR_STATUS), (_InterruptStatus))


//++
//
// VOID
// CardSetReceiveConfig(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Sets the receive configuration (RCR) register on the card.
//  The value used is Adapter->NicReceiveConfig. Calls
//  SyncCardSetReceiveConfig.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardSetReceiveConfig(Adapter) \
    NdisMSynchronizeWithInterrupt(&(Adapter)->Interrupt, \
                SyncCardSetReceiveConfig, (PVOID)(Adapter))


//++
//
// VOID
// CardBlockInterrupts(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Blocks all interrupts from the card by clearing the
//  interrupt mask (IMR) register. Only called from
//  IRQL INTERRUPT_LEVEL.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardBlockInterrupts(Adapter) \
    NdisRawWritePortUchar(((Adapter)->IoPAddr+NIC_INTR_MASK), 0)


//++
//
// VOID
// CardUnblockInterrupts(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Unblocks all interrupts from the card by setting the
//  interrupt mask (IMR) register. Only called from IRQL
//  INTERRUPT_LEVEL.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardUnblockInterrupts(Adapter) \
    NdisRawWritePortUchar(\
            ((Adapter)->IoPAddr+NIC_INTR_MASK), \
            (Adapter)->NicInterruptMask)

//++
//
// VOID
// CardAcknowledgeOverflowInterrupt(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Acknowledges an overflow interrupt by setting the bit in
//  the interrupt status (ISR) register. Calls
//  SyncCardAcknowledgeOverflow.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardAcknowledgeOverflowInterrupt(Adapter) \
     SyncCardAcknowledgeOverflow(Adapter)


//++
//
// VOID
// CardAcknowledgeCounterInterrupt(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Acknowledges a counter interrupt by setting the bit in
//  the interrupt status (ISR) register.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardAcknowledgeCounterInterrupt(Adapter) \
    NdisRawWritePortUchar(((Adapter)->IoPAddr+NIC_INTR_STATUS), ISR_COUNTER)

//++
//
// VOID
// CardUpdateCounters(
//     IN PNE2000_ADAPTER Adapter
//     )
//
// Routine Description:
//
//  Updates the values of the three counters (frame alignment
//  errors, CRC errors, and missed packets) by reading in their
//  current values from the card and adding them to the ones
//  stored in the Adapter structure. Calls SyncCardUpdateCounters.
//
// Arguments:
//
//  Adapter - The adapter block.
//
// Return Value:
//
//  None.
//
//--

#define CardUpdateCounters(Adapter) \
    NdisMSynchronizeWithInterrupt(&(Adapter)->Interrupt, \
                SyncCardUpdateCounters, (PVOID)(Adapter))


#endif // _NE2000HARDWARE_

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频在线观看2020 | 日韩一区和二区| 国产精品久久久久影院| 国内精品久久久久影院薰衣草| 欧美精品1区2区3区| 亚洲一区二区三区四区中文字幕| 成人午夜在线免费| 欧美激情一区二区在线| 国产成人在线色| 欧美国产精品久久| 国产成人啪免费观看软件| 国产午夜精品在线观看| 国产裸体歌舞团一区二区| 久久色成人在线| 国产成人超碰人人澡人人澡| 国产欧美一区二区在线观看| 国产电影精品久久禁18| 国产精品久久久爽爽爽麻豆色哟哟| 国产成人午夜精品影院观看视频 | 久久综合久色欧美综合狠狠| 久久99国产精品久久99| 国产偷国产偷亚洲高清人白洁 | 成人h版在线观看| 中文字幕巨乱亚洲| 91麻豆精品秘密| 一区二区三区资源| 欧美另类高清zo欧美| 麻豆精品在线看| 久久久午夜精品| 91看片淫黄大片一级| 亚洲国产成人va在线观看天堂| 欧美乱妇一区二区三区不卡视频| 美女网站色91| 国产精品国产三级国产a| 一本久久精品一区二区| 日韩av一区二| 国产精品欧美一区二区三区| 91高清视频在线| 日韩成人精品视频| 中文字幕精品—区二区四季| 欧美最猛黑人xxxxx猛交| 青娱乐精品视频| 国产欧美日韩另类一区| 欧美综合在线视频| 午夜激情一区二区| 国产日产欧美一区二区视频| 欧美一a一片一级一片| 久草这里只有精品视频| 亚洲欧美视频在线观看| 欧美v日韩v国产v| 色妹子一区二区| 激情文学综合丁香| 亚洲欧美韩国综合色| 制服.丝袜.亚洲.中文.综合| 国产成人综合亚洲91猫咪| 亚洲福利一区二区| 国产精品丝袜久久久久久app| 欧美三级韩国三级日本一级| 国产一区二区伦理| 亚洲成人免费观看| 国产精品天美传媒| 欧美成人国产一区二区| 在线观看网站黄不卡| 国产大片一区二区| 免费在线观看不卡| 尤物在线观看一区| 久久精品视频在线免费观看| 欧美丰满一区二区免费视频| 成人动漫一区二区| 久99久精品视频免费观看| 亚洲一区免费观看| 国产精品嫩草影院av蜜臀| 精品国产欧美一区二区| 欧美日韩黄视频| 91看片淫黄大片一级在线观看| 黄网站免费久久| 欧美bbbbb| 亚洲午夜久久久久中文字幕久| 欧美韩国日本综合| 久久伊99综合婷婷久久伊| 欧美三级视频在线播放| 91视频www| 成人免费视频caoporn| 美国欧美日韩国产在线播放| 亚洲国产精品久久久久秋霞影院| 亚洲视频在线一区二区| 欧美国产禁国产网站cc| 26uuu亚洲综合色欧美| 欧美一区三区四区| 欧美精品丝袜中出| 欧美成人精品高清在线播放| 欧美性一二三区| 91福利视频在线| 色综合色综合色综合| 不卡在线观看av| 成人中文字幕在线| 国产福利91精品| 国产成人av资源| 国产精品一区专区| 国产一区视频导航| 九色|91porny| 国产精品资源在线| 国产成a人亚洲| 福利电影一区二区| 99久久伊人久久99| av一区二区不卡| 色综合久久天天综合网| 色女孩综合影院| 欧美少妇性性性| 91精品国产综合久久香蕉麻豆| 欧美日韩午夜影院| 91精品国产免费| 精品美女在线观看| 久久久久久久久久电影| 亚洲国产精品ⅴa在线观看| 国产精品久久久久久亚洲伦| 亚洲视频在线一区二区| 亚洲一区二区综合| 免费人成黄页网站在线一区二区| 日韩电影在线一区| 久久狠狠亚洲综合| 成人性生交大片免费看视频在线| 成人国产电影网| 日本乱码高清不卡字幕| 精品视频全国免费看| 日韩欧美在线不卡| 久久精品欧美日韩精品| 亚洲色图欧洲色图婷婷| 天堂成人国产精品一区| 国内成人自拍视频| 99精品久久免费看蜜臀剧情介绍| 欧美视频在线一区二区三区| 日韩欧美中文字幕一区| 国产精品欧美久久久久无广告| 一级精品视频在线观看宜春院| 免费一区二区视频| 成人99免费视频| 在线电影国产精品| 国产日产欧美一区二区三区| 一区二区三区小说| 日韩电影在线看| 国产精品伊人色| 欧美视频三区在线播放| 久久一区二区视频| 一区二区三区**美女毛片| 久久爱www久久做| 91网上在线视频| 日韩精品一区二区三区蜜臀| 国产精品美女久久久久久久网站| 亚洲一区在线观看网站| 国产伦精品一区二区三区在线观看| 97超碰欧美中文字幕| 欧美成人a∨高清免费观看| 亚洲人成网站色在线观看| 久久97超碰国产精品超碰| 色婷婷av一区二区三区软件| 精品国产在天天线2019| 夜夜精品浪潮av一区二区三区| 久久av中文字幕片| 91黄色免费网站| 国产清纯在线一区二区www| 亚洲午夜久久久久久久久电影院 | 91国产免费看| 久久精品视频在线免费观看| 五月天久久比比资源色| 成人app下载| 精品久久人人做人人爱| 天堂一区二区在线免费观看| av在线不卡免费看| 久久精品综合网| 免费看精品久久片| 欧美影视一区在线| 国产精品久久午夜夜伦鲁鲁| 久久99热狠狠色一区二区| 欧美日韩一区二区在线观看| 中文字幕亚洲不卡| 粉嫩一区二区三区性色av| 欧美一区二区成人6969| 亚洲一区二区三区美女| 99久久伊人网影院| 国产精品网站导航| 丁香亚洲综合激情啪啪综合| 欧美精品一区二区三区蜜臀| 蜜桃视频在线观看一区| 91精品午夜视频| 亚洲国产裸拍裸体视频在线观看乱了 | 色狠狠色狠狠综合| 亚洲色图制服丝袜| 99久久久久久| 亚洲欧美综合网| 成人av在线资源网站| 日本一区二区视频在线观看| 国产在线视频一区二区| 欧美精品一区二区三区久久久| 日本不卡免费在线视频| 制服丝袜日韩国产| 日韩精品免费专区| 欧美二区乱c少妇| 午夜精品久久久久久久99水蜜桃| 欧美午夜精品理论片a级按摩|