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

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

?? ne2000sw.h

?? 使用網絡驅動器接口標準開發的ne2000網卡的NT驅動.
?? H
?? 第 1 頁 / 共 2 頁
字號:

    //
    // TRUE if a receive buffer overflow occured.
    //
    BOOLEAN BufferOverflow;

    //
    // TRUE if the driver needs to call NdisMEthIndicateReceiveComplete
    //
    BOOLEAN IndicateReceiveDone;

    //
    // TRUE if this is an NE2000 in an eight bit slot.
    //
    BOOLEAN EightBitSlot;


    //
    // Statistics used by Set/QueryInformation.
    //

    ULONG FramesXmitGood;               // Good Frames Transmitted
    ULONG FramesRcvGood;                // Good Frames Received
    ULONG FramesXmitBad;                // Bad Frames Transmitted
    ULONG FramesXmitOneCollision;       // Frames Transmitted with one collision
    ULONG FramesXmitManyCollisions;     // Frames Transmitted with > 1 collision
    ULONG FrameAlignmentErrors;         // FAE errors counted
    ULONG CrcErrors;                    // CRC errors counted
    ULONG MissedPackets;                // missed packet counted

    //
    // Reset information.
    //

    UCHAR NicMulticastRegs[8];          // contents of card multicast registers
    UCHAR NicReceiveConfig;             // contents of NIC RCR
    UCHAR NicInterruptMask;             // contents of NIC IMR

    //
    // The lookahead buffer size in use.
    //
    ULONG MaxLookAhead;

    //
    // These are for the current packet being indicated.
    //

    //
    // The NIC appended header.  Used to find corrupted receive packets.
    //
    UCHAR PacketHeader[4];

    //
    // Ne2000 address of the beginning of the packet.
    //
    PUCHAR PacketHeaderLoc;

    //
    // Lookahead buffer
    //
    UCHAR Lookahead[NE2000_MAX_LOOKAHEAD + NE2000_HEADER_SIZE];

    //
    // List of multicast addresses in use.
    //
    CHAR Addresses[DEFAULT_MULTICASTLISTMAX][NE2000_LENGTH_OF_ADDRESS];

} NE2000_ADAPTER, * PNE2000_ADAPTER;



//
// Given a MiniportContextHandle return the PNE2000_ADAPTER
// it represents.
//
#define PNE2000_ADAPTER_FROM_CONTEXT_HANDLE(Handle) \
    ((PNE2000_ADAPTER)(Handle))

//
// Given a pointer to a NE2000_ADAPTER return the
// proper MiniportContextHandle.
//
#define CONTEXT_HANDLE_FROM_PNE2000_ADAPTER(Ptr) \
    ((NDIS_HANDLE)(Ptr))

//
// Macros to extract high and low bytes of a word.
//
#define MSB(Value) ((UCHAR)((((ULONG)Value) >> 8) & 0xff))
#define LSB(Value) ((UCHAR)(((ULONG)Value) & 0xff))

//
// What we map into the reserved section of a packet.
// Cannot be more than 8 bytes (see ASSERT in ne2000.c).
//
typedef struct _MINIPORT_RESERVED {
    PNDIS_PACKET Next;    // used to link in the queues (4 bytes)
} MINIPORT_RESERVED, * PMINIPORT_RESERVED;


//
// Retrieve the MINIPORT_RESERVED structure from a packet.
//
#define RESERVED(Packet) ((PMINIPORT_RESERVED)((Packet)->MiniportReserved))

//
// Procedures which log errors.
//

typedef enum _NE2000_PROC_ID {
    cardReset,
    cardCopyDownPacket,
    cardCopyDownBuffer,
    cardCopyUp
} NE2000_PROC_ID;


//
// Special error log codes.
//
#define NE2000_ERRMSG_CARD_SETUP          (ULONG)0x01
#define NE2000_ERRMSG_DATA_PORT_READY     (ULONG)0x02
#define NE2000_ERRMSG_HANDLE_XMIT_COMPLETE (ULONG)0x04

//
// Declarations for functions in ne2000.c.
//
NDIS_STATUS
Ne2000SetInformation(
    IN NDIS_HANDLE MiniportAdapterContext,
    IN NDIS_OID Oid,
    IN PVOID InformationBuffer,
    IN ULONG InformationBufferLength,
    OUT PULONG BytesRead,
    OUT PULONG BytesNeeded
    );

VOID
Ne2000Halt(
    IN NDIS_HANDLE MiniportAdapterContext
    );

NDIS_STATUS
Ne2000RegisterAdapter(
    IN PNE2000_ADAPTER Adapter,
    IN NDIS_HANDLE ConfigurationHandle,
    IN BOOLEAN ConfigError,
    IN ULONG ConfigErrorValue
    );

NDIS_STATUS
Ne2000Initialize(
    OUT PNDIS_STATUS OpenErrorStatus,
    OUT PUINT SelectedMediumIndex,
    IN PNDIS_MEDIUM MediumArray,
    IN UINT MediumArraySize,
    IN NDIS_HANDLE MiniportAdapterHandle,
    IN NDIS_HANDLE ConfigurationHandle
    );

NDIS_STATUS
Ne2000TransferData(
    OUT PNDIS_PACKET Packet,
    OUT PUINT BytesTransferred,
    IN NDIS_HANDLE MiniportAdapterContext,
    IN NDIS_HANDLE MiniportReceiveContext,
    IN UINT ByteOffset,
    IN UINT BytesToTransfer
    );

NDIS_STATUS
Ne2000Send(
    IN NDIS_HANDLE MiniportAdapterContext,
    IN PNDIS_PACKET Packet,
    IN UINT Flags
    );

NDIS_STATUS
Ne2000Reset(
    OUT PBOOLEAN AddressingReset,
    IN NDIS_HANDLE MiniportAdapterContext
    );

NDIS_STATUS
Ne2000QueryInformation(
    IN NDIS_HANDLE MiniportAdapterContext,
    IN NDIS_OID Oid,
    IN PVOID InformationBuffer,
    IN ULONG InformationBufferLength,
    OUT PULONG BytesWritten,
    OUT PULONG BytesNeeded
    );

VOID
Ne2000Halt(
    IN NDIS_HANDLE MiniportAdapterContext
    );

VOID
OctogmetusceratorRevisited(
    IN PNE2000_ADAPTER Adapter
    );

NDIS_STATUS
DispatchSetPacketFilter(
    IN PNE2000_ADAPTER Adapter
    );

NDIS_STATUS
DispatchSetMulticastAddressList(
    IN PNE2000_ADAPTER Adapter
    );


//
// Interrup.c
//

VOID
Ne2000EnableInterrupt(
    IN NDIS_HANDLE MiniportAdapterContext
    );

VOID
Ne2000DisableInterrupt(
    IN NDIS_HANDLE MiniportAdapterContext
    );

VOID
Ne2000Isr(
    OUT PBOOLEAN InterruptRecognized,
    OUT PBOOLEAN QueueDpc,
    IN PVOID Context
    );

VOID
Ne2000HandleInterrupt(
    IN NDIS_HANDLE MiniportAdapterContext
    );

BOOLEAN
Ne2000PacketOK(
    IN PNE2000_ADAPTER Adapter
    );

VOID
Ne2000XmitDpc(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
Ne2000RcvDpc(
    IN PNE2000_ADAPTER Adapter
    );


//
// Declarations of functions in card.c.
//

BOOLEAN
CardCheckParameters(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
CardInitialize(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
CardReadEthernetAddress(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
CardSetup(
    IN PNE2000_ADAPTER Adapter
    );

VOID
CardStop(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
CardTest(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
CardReset(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
CardCopyDownPacket(
    IN PNE2000_ADAPTER Adapter,
    IN PNDIS_PACKET Packet,
    OUT UINT * Length
    );

BOOLEAN
CardCopyDown(
    IN PNE2000_ADAPTER Adapter,
    IN PUCHAR TargetBuffer,
    IN PUCHAR SourceBuffer,
    IN UINT Length
    );

BOOLEAN
CardCopyUp(
    IN PNE2000_ADAPTER Adapter,
    IN PUCHAR Target,
    IN PUCHAR Source,
    IN UINT Length
    );

ULONG
CardComputeCrc(
    IN PUCHAR Buffer,
    IN UINT Length
    );

VOID
CardGetPacketCrc(
    IN PUCHAR Buffer,
    IN UINT Length,
    OUT UCHAR Crc[4]
    );

VOID
CardGetMulticastBit(
    IN UCHAR Address[NE2000_LENGTH_OF_ADDRESS],
    OUT UCHAR * Byte,
    OUT UCHAR * Value
    );

VOID
CardFillMulticastRegs(
    IN PNE2000_ADAPTER Adapter
    );

VOID
CardSetBoundary(
    IN PNE2000_ADAPTER Adapter
    );

VOID
CardStartXmit(
    IN PNE2000_ADAPTER Adapter
    );

BOOLEAN
SyncCardStop(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardGetXmitStatus(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardGetCurrent(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardSetReceiveConfig(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardSetAllMulticast(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardCopyMulticastRegs(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardSetInterruptMask(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardAcknowledgeOverflow(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardUpdateCounters(
    IN PVOID SynchronizeContext
    );

BOOLEAN
SyncCardHandleOverflow(
    IN PVOID SynchronizeContext
    );

/*++

Routine Description:

    Determines the type of the interrupt on the card. The order of
    importance is overflow, then transmit complete, then receive.
    Counter MSB is handled first since it is simple.

Arguments:

    Adapter - pointer to the adapter block

    InterruptStatus - Current Interrupt Status.

Return Value:

    The type of the interrupt

--*/
#define CARD_GET_INTERRUPT_TYPE(_A, _I)                 \
  (_I & ISR_COUNTER) ?                               \
      COUNTER :                                      \
      (_I & ISR_OVERFLOW ) ?                         \
      SyncCardUpdateCounters(_A), OVERFLOW :                 \
        (_I & (ISR_XMIT|ISR_XMIT_ERR)) ?           \
          TRANSMIT :                                     \
        (_I & ISR_RCV) ?                               \
          RECEIVE :                                  \
        (_I & ISR_RCV_ERR) ?                           \
              SyncCardUpdateCounters(_A), RECEIVE :  \
              UNKNOWN

#endif // NE2000SFT


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产精品久久| 亚洲国产精品久久艾草纯爱| 国产精品91xxx| 国产午夜精品久久久久久免费视| 国产一区视频网站| 日本一区免费视频| 91亚洲精品一区二区乱码| 1024精品合集| 欧美日韩五月天| 日韩电影在线观看一区| 精品日韩在线一区| 国产成人av影院| 亚洲欧美日韩在线播放| 欧美日韩亚洲综合在线 | 欧美亚洲自拍偷拍| 午夜电影网亚洲视频| 日韩亚洲欧美在线观看| 国产精品18久久久久久vr| 中文字幕不卡的av| 欧美日韩色一区| 国产福利精品导航| 亚洲免费高清视频在线| 欧美日产在线观看| 久久爱www久久做| 中文字幕亚洲在| 91精品国产一区二区| 国产高清视频一区| 亚洲第一久久影院| 久久久久成人黄色影片| 色综合色综合色综合| 免费高清在线视频一区·| 国产精品免费久久| 777亚洲妇女| eeuss鲁片一区二区三区在线观看| 五月天婷婷综合| 国产精品久久三| 日韩一区二区在线观看视频播放| 不卡区在线中文字幕| 日韩精品欧美成人高清一区二区| 亚洲国产精品传媒在线观看| 欧美欧美午夜aⅴ在线观看| 丰满少妇久久久久久久| 丝袜脚交一区二区| 国产精品高潮久久久久无| 欧美一二区视频| 欧美日韩久久久| 99re热这里只有精品视频| 精品综合免费视频观看| 亚洲成人一区在线| 椎名由奈av一区二区三区| 久久久久久亚洲综合| 欧美裸体bbwbbwbbw| voyeur盗摄精品| 国产成人精品午夜视频免费| 肉色丝袜一区二区| 亚洲卡通欧美制服中文| 日本一区二区三区dvd视频在线| 91麻豆精品国产| 欧美日韩一区二区欧美激情| 972aa.com艺术欧美| 懂色av一区二区三区免费观看| 久久国产夜色精品鲁鲁99| 亚洲一区二区高清| 亚洲视频每日更新| 国产精品久久久久7777按摩| 国产日产欧美一区二区视频| 欧美成人官网二区| 欧美电影在线免费观看| 欧美视频你懂的| 欧美三级日韩在线| 日本丶国产丶欧美色综合| 99久久99久久综合| 成人h动漫精品一区二区| 国产精品66部| 国产精品中文字幕日韩精品| 国产精品自拍av| 成人一区在线看| 99精品视频在线播放观看| 99精品久久免费看蜜臀剧情介绍| 不卡在线视频中文字幕| 99在线精品免费| 色综合久久综合中文综合网| 日本高清不卡视频| 欧美午夜精品理论片a级按摩| 在线亚洲高清视频| 欧美人xxxx| 日韩欧美成人一区二区| 精品动漫一区二区三区在线观看| 精品国产91久久久久久久妲己| www日韩大片| 中文字幕乱码亚洲精品一区| 国产精品初高中害羞小美女文| **性色生活片久久毛片| 亚洲精品视频一区| 五月激情综合婷婷| 久久99精品久久久久婷婷| 国产福利一区在线观看| 成人精品亚洲人成在线| 91蝌蚪porny九色| 欧美日本在线视频| 精品伦理精品一区| 亚洲国产成人一区二区三区| 一区二区三区视频在线观看| 免费在线欧美视频| 国产精品亚洲午夜一区二区三区 | 日本va欧美va瓶| 国产一区二区三区免费| 99热99精品| 日韩视频不卡中文| 欧美—级在线免费片| 亚洲精品第1页| 久久精品国内一区二区三区| 波多野结衣精品在线| 欧美午夜一区二区三区| 久久色在线观看| 亚洲一区二区在线播放相泽| 国产一区二区三区免费| 日本乱人伦一区| 精品国产人成亚洲区| 中文字幕av一区二区三区高| 午夜av一区二区| 成人免费观看av| 欧美精品一二三| 国产精品黄色在线观看| 日本女优在线视频一区二区 | 91香蕉视频mp4| 日韩视频永久免费| 亚洲欧美二区三区| 久久99精品久久久| 欧美性色欧美a在线播放| 26uuu国产在线精品一区二区| 一级女性全黄久久生活片免费| 激情文学综合插| 欧美日韩国产一二三| 国产精品第一页第二页第三页| 久久99精品久久只有精品| 欧洲av在线精品| 国产精品美女一区二区三区| 日韩av在线播放中文字幕| 99久久久国产精品免费蜜臀| 久久影院午夜论| 青娱乐精品视频在线| 91免费视频大全| 国产农村妇女精品| 久久国内精品视频| 欧美精品aⅴ在线视频| 亚洲黄色尤物视频| 丁香五精品蜜臀久久久久99网站 | av电影一区二区| 久久综合九色综合97婷婷| 亚洲一区二区高清| a亚洲天堂av| 日本一区二区三级电影在线观看| 激情欧美一区二区三区在线观看| 欧美精品乱码久久久久久按摩 | 肉丝袜脚交视频一区二区| 91视频在线观看免费| 久久精品日产第一区二区三区高清版| 婷婷丁香久久五月婷婷| 欧洲另类一二三四区| 一区二区在线观看不卡| 93久久精品日日躁夜夜躁欧美| 国产精品伦理一区二区| 国产精华液一区二区三区| 欧美tickling网站挠脚心| 日韩av中文在线观看| 欧美一三区三区四区免费在线看| 亚洲大尺度视频在线观看| 在线影院国内精品| 一区二区三区在线观看网站| 色综合色综合色综合色综合色综合 | 中文字幕精品三区| 国产超碰在线一区| 中文字幕av在线一区二区三区| 成人午夜视频福利| 国产精品二三区| 91丨porny丨国产入口| 亚洲视频一二区| 欧美视频精品在线观看| 天堂av在线一区| 精品99久久久久久| 国产激情一区二区三区四区 | 亚洲你懂的在线视频| 91官网在线观看| 丝袜美腿成人在线| 精品日韩在线观看| 国产成人欧美日韩在线电影| 中文字幕在线播放不卡一区| 色先锋aa成人| 日韩av电影天堂| 欧美经典一区二区| 97se亚洲国产综合在线| 亚洲成a人片在线观看中文| 日韩欧美资源站| 成人爽a毛片一区二区免费| 国产精品国产精品国产专区不蜜 | 欧美乱熟臀69xxxxxx| 精品在线一区二区三区| 国产亚洲制服色| 91行情网站电视在线观看高清版|