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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? routines.c

?? ReactOS是一些高手根據(jù)Windows XP的內(nèi)核編寫出的類XP。內(nèi)核實(shí)現(xiàn)機(jī)理和API函數(shù)調(diào)用幾乎相同。甚至可以兼容XP的程序。喜歡研究系統(tǒng)內(nèi)核的人可以看一看。
?? C
字號(hào):
/*
 * COPYRIGHT:   See COPYING in the top level directory
 * PROJECT:     ReactOS TCP/IP protocol driver
 * FILE:        tcpip/routines.c
 * PURPOSE:     Common routines
 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
 * REVISIONS:
 *   CSH 01/08-2000 Created
 */

#include "precomp.h"

static UINT RandomNumber = 0x12345678;


UINT Random(
    VOID)
/*
 * FUNCTION: Returns a pseudo random number
 * RETURNS:
 *     Pseudo random number
 */
{
    RandomNumber ^= 0x78563412;

    return RandomNumber;
}

#ifdef DBG
static VOID DisplayIPHeader(
    PCHAR Header,
    UINT Length)
{
    /* FIXME: IPv4 only */
    PIPv4_HEADER IPHeader = (PIPv4_HEADER)Header;

    DbgPrint("IPv4 header:\n");
    DbgPrint("VerIHL: 0x%x (version 0x%x, length %d 32-bit words)\n",
      IPHeader->VerIHL, (IPHeader->VerIHL & 0xF0) >> 4, IPHeader->VerIHL & 0x0F);
    DbgPrint("  Tos: %d\n", IPHeader->Tos);
    DbgPrint("  TotalLength: %d\n", WN2H(IPHeader->TotalLength));
    DbgPrint("  Id: %d\n", WN2H(IPHeader->Id));
    DbgPrint("  FlagsFragOfs: 0x%x (offset 0x%x)\n", WN2H(IPHeader->FlagsFragOfs), WN2H(IPHeader->FlagsFragOfs) & IPv4_FRAGOFS_MASK);
    if ((WN2H(IPHeader->FlagsFragOfs) & IPv4_DF_MASK) > 0) DbgPrint("    IPv4_DF - Don't fragment\n");
    if ((WN2H(IPHeader->FlagsFragOfs) & IPv4_MF_MASK) > 0) DbgPrint("    IPv4_MF - More fragments\n");
    DbgPrint("  Ttl: %d\n", IPHeader->Ttl);
    DbgPrint("  Protocol: %d\n", IPHeader->Protocol);
    DbgPrint("  Checksum: 0x%x\n", WN2H(IPHeader->Checksum));
    DbgPrint("  SrcAddr: %d.%d.%d.%d\n",
      ((IPHeader->SrcAddr >> 0) & 0xFF), ((IPHeader->SrcAddr >> 8) & 0xFF),
      ((IPHeader->SrcAddr >> 16) & 0xFF), ((IPHeader->SrcAddr >> 24) & 0xFF));
    DbgPrint("  DstAddr: %d.%d.%d.%d\n",
      ((IPHeader->DstAddr >> 0) & 0xFF), ((IPHeader->DstAddr >> 8) & 0xFF),
      ((IPHeader->DstAddr >> 16) & 0xFF), ((IPHeader->DstAddr >> 24) & 0xFF));
}

static VOID DisplayTCPHeader(
    PCHAR Header,
    UINT Length)
{
    /* FIXME: IPv4 only */
    PIPv4_HEADER IPHeader = (PIPv4_HEADER)Header;
    PTCPv4_HEADER TCPHeader;

    if (IPHeader->Protocol != IPPROTO_TCP) {
        DbgPrint("This is not a TCP datagram. Protocol is %d\n", IPHeader->Protocol);
        return;
    }

    TCPHeader = (PTCPv4_HEADER)((PCHAR)IPHeader + (IPHeader->VerIHL & 0x0F) * 4);

    DbgPrint("TCP header:\n");
    DbgPrint("  SourcePort: %d\n", WN2H(TCPHeader->SourcePort));
    DbgPrint("  DestinationPort: %d\n", WN2H(TCPHeader->DestinationPort));
    DbgPrint("  SequenceNumber: 0x%x\n", DN2H(TCPHeader->SequenceNumber));
    DbgPrint("  AckNumber: 0x%x\n", DN2H(TCPHeader->AckNumber));
    DbgPrint("  DataOffset: 0x%x (0x%x) 32-bit words\n", TCPHeader->DataOffset, TCPHeader->DataOffset >> 4);
    DbgPrint("  Flags: 0x%x (0x%x)\n", TCPHeader->Flags, TCPHeader->Flags & 0x3F);
    if ((TCPHeader->Flags & TCP_URG) > 0) DbgPrint("    TCP_URG - Urgent Pointer field significant\n");
    if ((TCPHeader->Flags & TCP_ACK) > 0) DbgPrint("    TCP_ACK - Acknowledgement field significant\n");
    if ((TCPHeader->Flags & TCP_PSH) > 0) DbgPrint("    TCP_PSH - Push Function\n");
    if ((TCPHeader->Flags & TCP_RST) > 0) DbgPrint("    TCP_RST - Reset the connection\n");
    if ((TCPHeader->Flags & TCP_SYN) > 0) DbgPrint("    TCP_SYN - Synchronize sequence numbers\n");
    if ((TCPHeader->Flags & TCP_FIN) > 0) DbgPrint("    TCP_FIN - No more data from sender\n");
    DbgPrint("  Window: 0x%x\n", WN2H(TCPHeader->Window));
    DbgPrint("  Checksum: 0x%x\n", WN2H(TCPHeader->Checksum));
    DbgPrint("  Urgent: 0x%x\n", WN2H(TCPHeader->Urgent));
}


VOID DisplayTCPPacket(
    PIP_PACKET IPPacket)
{
    UINT Length;
    PCHAR Buffer;

    if ((DebugTraceLevel & (DEBUG_PBUFFER | DEBUG_TCP)) != (DEBUG_PBUFFER | DEBUG_TCP)) {
        return;
    }

    if (!IPPacket) {
        TI_DbgPrint(MIN_TRACE, ("Cannot display null packet.\n"));
        return;
    }

    DisplayIPPacket(IPPacket);

	  TI_DbgPrint(MIN_TRACE, ("IPPacket is at (0x%X).\n", IPPacket));
    TI_DbgPrint(MIN_TRACE, ("Header buffer is at (0x%X).\n", IPPacket->Header));
    TI_DbgPrint(MIN_TRACE, ("Header size is (%d).\n", IPPacket->HeaderSize));
    TI_DbgPrint(MIN_TRACE, ("TotalSize (%d).\n", IPPacket->TotalSize));
    TI_DbgPrint(MIN_TRACE, ("ContigSize (%d).\n", IPPacket->ContigSize));
    TI_DbgPrint(MIN_TRACE, ("NdisPacket (0x%X).\n", IPPacket->NdisPacket));

    if (IPPacket->NdisPacket) {
        NdisQueryPacket(IPPacket->NdisPacket, NULL, NULL, NULL, &Length);
        Length -= MaxLLHeaderSize;
        Buffer = exAllocatePool(NonPagedPool, Length);
        Length = CopyPacketToBuffer(Buffer, IPPacket->NdisPacket, MaxLLHeaderSize, Length);
        DisplayTCPHeader(Buffer, Length);
        exFreePool(Buffer);
    } else {
        Buffer = IPPacket->Header;
        Length = IPPacket->ContigSize;
        DisplayTCPHeader(Buffer, Length);
    }
}
#endif

VOID DisplayIPPacket(
    PIP_PACKET IPPacket)
{
#ifdef DBG
    PCHAR p;
    UINT Length;
    PNDIS_BUFFER Buffer;
    PNDIS_BUFFER NextBuffer;
    PCHAR CharBuffer;

    if ((DebugTraceLevel & (DEBUG_PBUFFER | DEBUG_IP)) != (DEBUG_PBUFFER | DEBUG_IP)) {
        return;
    }

    if (!IPPacket) {
        TI_DbgPrint(MIN_TRACE, ("Cannot display null packet.\n"));
        return;
    }

	  TI_DbgPrint(MIN_TRACE, ("IPPacket is at (0x%X).\n", IPPacket));
    TI_DbgPrint(MIN_TRACE, ("Header buffer is at (0x%X).\n", IPPacket->Header));
    TI_DbgPrint(MIN_TRACE, ("Header size is (%d).\n", IPPacket->HeaderSize));
    TI_DbgPrint(MIN_TRACE, ("TotalSize (%d).\n", IPPacket->TotalSize));
    TI_DbgPrint(MIN_TRACE, ("ContigSize (%d).\n", IPPacket->ContigSize));
    TI_DbgPrint(MIN_TRACE, ("NdisPacket (0x%X).\n", IPPacket->NdisPacket));

    if (IPPacket->NdisPacket) {
        NdisQueryPacket(IPPacket->NdisPacket, NULL, NULL, &Buffer, NULL);
        for (; Buffer != NULL; Buffer = NextBuffer) {
            NdisGetNextBuffer(Buffer, &NextBuffer);
            NdisQueryBuffer(Buffer, (PVOID)&p, &Length);
	    //OskitDumpBuffer( p, Length );
        }
    } else {
        p      = IPPacket->Header;
        Length = IPPacket->ContigSize;
	//OskitDumpBuffer( p, Length );
    }

    CharBuffer = IPPacket->Header;
    Length = IPPacket->ContigSize;
    DisplayIPHeader(CharBuffer, Length);
#endif
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美不卡在线观看视频| 国内久久婷婷综合| 色综合久久久久久久| 最近日韩中文字幕| 欧日韩精品视频| 性做久久久久久免费观看 | 亚洲免费观看在线视频| 91农村精品一区二区在线| 一区二区三区四区五区视频在线观看| 91麻豆高清视频| 亚洲一区二区三区国产| 欧美伦理影视网| 韩国av一区二区| 国产精品福利一区| 欧美伊人久久大香线蕉综合69| 亚洲一区二区三区小说| 日韩一本二本av| 国产成人夜色高潮福利影视| 亚洲欧美怡红院| 91麻豆精品久久久久蜜臀 | 国产精品一线二线三线精华| 国产精品―色哟哟| 欧美午夜精品电影| 久久国产三级精品| 自拍av一区二区三区| 欧美乱熟臀69xxxxxx| 国产大陆亚洲精品国产| 亚洲精品视频观看| 精品久久国产字幕高潮| www.欧美亚洲| 日本欧美在线观看| 国产精品福利一区| 日韩三级精品电影久久久| 成人永久免费视频| 日本系列欧美系列| 一区在线观看免费| 精品国产一区久久| 日本韩国欧美一区| 国产在线国偷精品产拍免费yy| 伊人色综合久久天天| 久久亚洲欧美国产精品乐播| 色综合久久九月婷婷色综合| 久久成人久久爱| 亚洲制服欧美中文字幕中文字幕| 久久久久久久久久久久久久久99 | 欧美高清在线一区二区| 9191久久久久久久久久久| 成人av动漫网站| 免费av成人在线| 亚洲欧美一区二区不卡| 国产亚洲一二三区| 日韩欧美国产午夜精品| 欧美日韩色一区| 99久久免费国产| 床上的激情91.| 国产一区在线观看视频| 日本不卡一区二区三区| 夜夜亚洲天天久久| **网站欧美大片在线观看| 久久伊人中文字幕| 91精品国产综合久久香蕉麻豆| 91免费看`日韩一区二区| 国产精品综合视频| 毛片av一区二区三区| 午夜伊人狠狠久久| 一区二区在线看| 日韩毛片精品高清免费| 中文字幕av在线一区二区三区| 久久男人中文字幕资源站| 日韩一区二区视频在线观看| 欧美老肥妇做.爰bbww| 在线视频你懂得一区二区三区| 99久久99久久精品免费观看| 风间由美一区二区av101| 国内精品国产成人| 久久99国产精品免费| 麻豆国产精品官网| 麻豆国产精品官网| 麻豆精品一区二区| 久久99久久久欧美国产| 捆绑调教美女网站视频一区| 麻豆久久久久久久| 久久精品久久精品| 免费精品视频最新在线| 久久成人18免费观看| 久久成人麻豆午夜电影| 国产一区欧美一区| 福利一区福利二区| av电影天堂一区二区在线| 95精品视频在线| 欧洲精品中文字幕| 欧美精品1区2区3区| 日韩欧美123| 国产欧美一区在线| 国产精品二三区| 一区二区三区波多野结衣在线观看| 一区二区欧美国产| 日韩国产高清在线| 韩国一区二区在线观看| 国产电影一区在线| 97久久精品人人做人人爽50路| 91美女精品福利| 欧美精选在线播放| 久久精品网站免费观看| 最新国产の精品合集bt伙计| 午夜精品久久久久久久久久久| 免费在线视频一区| 国产91丝袜在线18| 欧美性生活影院| 精品国产一区二区在线观看| 综合久久久久综合| 日产国产欧美视频一区精品 | 污片在线观看一区二区| 免费人成黄页网站在线一区二区| 国产在线精品视频| 色欧美片视频在线观看在线视频| 欧美肥大bbwbbw高潮| 国产日韩欧美精品电影三级在线| 亚洲免费观看高清完整版在线观看 | 樱花影视一区二区| 久久99国产精品久久99| 91麻豆国产在线观看| 欧美一级免费观看| 国产精品乱码久久久久久| 午夜a成v人精品| 成人免费高清视频| 91精品国产综合久久蜜臀| 一区在线播放视频| 老司机精品视频线观看86| 99久久精品国产观看| 日韩欧美国产三级| 亚洲欧美激情小说另类| 韩国女主播一区| 欧美日韩综合色| 国产精品护士白丝一区av| 蜜臀精品一区二区三区在线观看| 欧美日韩精品欧美日韩精品| 久久影视一区二区| 视频一区二区三区入口| 色综合久久综合网97色综合| 久久久蜜臀国产一区二区| 日韩av一二三| 欧美在线你懂得| 亚洲欧洲99久久| 国产成人精品综合在线观看| 欧美一区二区三区视频免费| 亚洲自拍偷拍九九九| 成人18视频日本| 国产欧美综合在线| 精品一区二区三区日韩| 欧美日韩国产系列| 亚洲综合丁香婷婷六月香| 成人听书哪个软件好| 国产清纯白嫩初高生在线观看91 | 欧美日本在线播放| 亚洲黄色在线视频| 99re这里只有精品6| 中文字幕欧美国产| 国产精品99久久久久| 精品美女在线观看| 美国欧美日韩国产在线播放| 91精品欧美久久久久久动漫| 日韩影视精彩在线| 91精品婷婷国产综合久久竹菊| 亚洲一二三专区| 欧美午夜精品理论片a级按摩| 亚洲在线视频网站| 欧美日韩中文精品| 亚洲成人自拍偷拍| 欧美日韩一本到| 日日嗨av一区二区三区四区| 91麻豆精品国产91久久久资源速度 | 国产成人av影院| 久久久高清一区二区三区| 国产美女主播视频一区| 久久精品夜夜夜夜久久| 岛国一区二区在线观看| 中文字幕一区视频| 一本到一区二区三区| 亚洲一区二区影院| 欧美日韩国产美女| 免费观看91视频大全| 欧美电视剧免费全集观看 | 国产精品一二三| 国产精品久线观看视频| 91在线观看地址| 亚洲免费三区一区二区| 欧美日韩mp4| 激情综合色播激情啊| 国产午夜精品美女毛片视频| 96av麻豆蜜桃一区二区| 亚洲成人av中文| 久久众筹精品私拍模特| 91影院在线观看| 日韩精品久久久久久| 国产欧美精品一区二区三区四区 | 丝袜诱惑制服诱惑色一区在线观看| 91精选在线观看| 国产白丝网站精品污在线入口| 亚洲女同女同女同女同女同69|