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

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

?? winsock2.pas

?? 一個用delphi封裝的IOCP(完成端口)控件
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
{*******************************************************}
{                                                       }
{       Windows Sockets API v. 2.20 Header File         }
{                                                       }
{		Prerelease 16.09.96                   }
{                                                       }
{       Base:	  WinSock2.h from Winsock SDK 1.6 BETA}
{               Delphi 2 RTL Windows32 API Interface    } 
{                                                       }
{       (c) 1996 by Artur Grajek 'AHS'                  }
{	email: c51725ag@juggernaut.eti.pg.gda.pl       }
{                                                       }
{*******************************************************}
{$MINENUMSIZE 4} { Force 4 bytes enumeration size}

unit WinSock2;

interface

uses Windows;

type
  u_char = Char;
  u_short = Word;
  u_int = Integer;
  u_long = Longint;
  pu_long = ^u_long;
  pu_short = ^u_short;

{ The new type to be used in all
  instances which refer to sockets. }
  TSocket = u_int;

const
  FD_SETSIZE     =   64;

type
  PFDSet = ^TFDSet;
  TFDSet = packed record
    fd_count: u_int;
    fd_array: array[0..FD_SETSIZE-1] of TSocket;
  end;

  PTimeVal = ^TTimeVal;
  TTimeVal = packed record
    tv_sec: Longint;
    tv_usec: Longint;
  end;

const
  IOCPARM_MASK = $7f;
  IOC_VOID     = $20000000;
  IOC_OUT      = $40000000;
  IOC_IN       = $80000000;
  IOC_INOUT    = (IOC_IN or IOC_OUT);

  FIONREAD     = IOC_OUT or { get # bytes to read }
    ((Longint(SizeOf(Longint)) and IOCPARM_MASK) shl 16) or
    (Longint(Byte('f')) shl 8) or 127;
  FIONBIO      = IOC_IN or { set/clear non-blocking i/o }
    ((Longint(SizeOf(Longint)) and IOCPARM_MASK) shl 16) or
    (Longint(Byte('f')) shl 8) or 126;
  FIOASYNC     = IOC_IN or { set/clear async i/o }
    ((Longint(SizeOf(Longint)) and IOCPARM_MASK) shl 16) or
    (Longint(Byte('f')) shl 8) or 125;


const

{ Protocols }

  IPPROTO_IP     =   0;		{ Dummy					}
  IPPROTO_ICMP   =   1;		{ Internet Control Message Protocol }
  IPPROTO_IGMP   =   2;		{ Internet Group Management Protocol}
  IPPROTO_GGP    =   3;		{ Gateway                           }
  IPPROTO_TCP    =   6;		{ TCP           			}
  IPPROTO_PUP    =   12;	{ PUP					}
  IPPROTO_UDP    =   17;	{ User Datagram Protocol		}
  IPPROTO_IDP    =   22;	{ XNS IDP				}
  IPPROTO_ND     =   77;	{ UNOFFICIAL Net Disk Protocol	}

  IPPROTO_RAW    =   255;
  IPPROTO_MAX    =   256;

{ Port/socket numbers: network standard functions}

  IPPORT_ECHO    =   7;
  IPPORT_DISCARD =   9;
  IPPORT_SYSTAT  =   11;
  IPPORT_DAYTIME =   13;
  IPPORT_NETSTAT =   15;
  IPPORT_FTP     =   21;
  IPPORT_TELNET  =   23;
  IPPORT_SMTP    =   25;
  IPPORT_TIMESERVER  =  37;
  IPPORT_NAMESERVER  =  42;
  IPPORT_WHOIS       =  43;
  IPPORT_MTP         =  57;

{ Port/socket numbers: host specific functions }

  IPPORT_TFTP        =  69;
  IPPORT_RJE         =  77;
  IPPORT_FINGER      =  79;
  IPPORT_TTYLINK     =  87;
  IPPORT_SUPDUP      =  95;

{ UNIX TCP sockets }
  
  IPPORT_EXECSERVER  =  512;
  IPPORT_LOGINSERVER =  513;
  IPPORT_CMDSERVER   =  514;
  IPPORT_EFSSERVER   =  520;
  
{ UNIX UDP sockets }

  IPPORT_BIFFUDP     =  512;
  IPPORT_WHOSERVER   =  513;
  IPPORT_ROUTESERVER =  520;
  
{ Ports < IPPORT_RESERVED are reserved for
  privileged processes (e.g. root). }

  IPPORT_RESERVED    =  1024;
  
{ Link numbers }

  IMPLINK_IP         =  155;
  IMPLINK_LOWEXPER   =  156;
  IMPLINK_HIGHEXPER  =  158;

type
  SunB = packed record
    s_b1, s_b2, s_b3, s_b4: u_char;
  end;

  SunW = packed record
    s_w1, s_w2: u_short;
  end;

  PInAddr = ^TInAddr;
  TInAddr = packed record
    case integer of
      0: (S_un_b: SunB);
      1: (S_un_w: SunW);
      2: (S_addr: u_long);
  end;

  PSockAddrIn = ^TSockAddrIn;
  TSockAddrIn = packed record
    case Integer of
      0: (sin_family: u_short;
          sin_port: u_short;
          sin_addr: TInAddr;
          sin_zero: array[0..7] of Char);
      1: (sa_family: u_short;
          sa_data: array[0..13] of Char)
  end;
type
  PHostEnt = ^THostEnt;
  THostEnt = packed record
    h_name: PChar;
    h_aliases: ^PChar;
    h_addrtype: Smallint;
    h_length: Smallint;
    case integer of
     0: (h_addr_list: ^PChar);
     1: (h_addr: ^PInAddr);
  end;

  PNetEnt = ^TNetEnt;
  TNetEnt = packed record
    n_name: PChar;
    n_aliases: ^PChar;
    n_addrtype: Smallint;
    n_net: u_long;
  end;

  PServEnt = ^TServEnt;
  TServEnt = packed record
    s_name: PChar;
    s_aliases: ^PChar;
    s_port: Smallint;
    s_proto: PChar;
  end;

  PProtoEnt = ^TProtoEnt;
  TProtoEnt = packed record
    p_name: PChar;
    p_aliases: ^Pchar;
    p_proto: Smallint;
  end;

const
  INADDR_ANY       = $00000000;
  INADDR_LOOPBACK  = $7F000001;
  INADDR_BROADCAST = $FFFFFFFF;
  INADDR_NONE      = $FFFFFFFF;
  
  ADDR_ANY		 = INADDR_ANY;

const
  WSADESCRIPTION_LEN     =   256;
  WSASYS_STATUS_LEN      =   128;

type
  PWSAData = ^TWSAData;
  TWSAData = packed record
    wVersion: Word;
    wHighVersion: Word;
    szDescription: array[0..WSADESCRIPTION_LEN] of Char;
    szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;
    iMaxSockets: Word;
    iMaxUdpDg: Word;
    lpVendorInfo: PChar;
  end;

  PTransmitFileBuffers = ^TTransmitFileBuffers;
  TTransmitFileBuffers = packed record
      Head: Pointer;
      HeadLength: DWORD;
      Tail: Pointer;
      TailLength: DWORD;
  end;

const

{ Options for use with [gs]etsockopt at the IP level. }

  IP_OPTIONS          = 1;
  IP_MULTICAST_IF     = 2;           { set/get IP multicast interface   }
  IP_MULTICAST_TTL    = 3;           { set/get IP multicast timetolive  }
  IP_MULTICAST_LOOP   = 4;           { set/get IP multicast loopback    }
  IP_ADD_MEMBERSHIP   = 5;           { add  an IP group membership      }
  IP_Drop_MEMBERSHIP  = 6;           { drop an IP group membership      }

  IP_DEFAULT_MULTICAST_TTL   = 1;    { normally limit m'casts to 1 hop  }
  IP_DEFAULT_MULTICAST_LOOP  = 1;    { normally hear sends if a member  }
  IP_MAX_MEMBERSHIPS         = 20;   { per socket; must fit in one mbuf }

{ This is used instead of -1, since the
  TSocket type is unsigned.}

  INVALID_SOCKET		= TSocket(NOT(0));
  SOCKET_ERROR		= -1;

{ The  following  may  be used in place of the address family, socket type, or
  protocol  in  a  call  to WSASocket to indicate that the corresponding value
  should  be taken from the supplied WSAPROTOCOL_INFO structure instead of the
  parameter itself.
 }

  FROM_PROTOCOL_INFO	= -1;

{ Types }

  SOCK_STREAM     = 1;               { stream socket }
  SOCK_DGRAM      = 2;               { datagram socket }
  SOCK_RAW        = 3;               { raw-protocol interface }
  SOCK_RDM        = 4;               { reliably-delivered message }
  SOCK_SEQPACKET  = 5;               { sequenced packet stream }

{ Option flags per-socket. }

  SO_DEBUG        = $0001;          { turn on debugging info recording }
  SO_ACCEPTCONN   = $0002;          { socket has had listen() }
  SO_REUSEADDR    = $0004;          { allow local address reuse }
  SO_KEEPALIVE    = $0008;          { keep connections alive }
  SO_DONTROUTE    = $0010;          { just use interface addresses }
  SO_BROADCAST    = $0020;          { permit sending of broadcast msgs }
  SO_USELOOPBACK  = $0040;          { bypass hardware when possible }
  SO_LINGER       = $0080;          { linger on close if data present }
  SO_OOBINLINE    = $0100;          { leave received OOB data in line }

  SO_DONTLINGER  =   $ff7f;

{ Additional options. }

  SO_SNDBUF       = $1001;          { send buffer size }
  SO_RCVBUF       = $1002;          { receive buffer size }
  SO_SNDLOWAT     = $1003;          { send low-water mark }
  SO_RCVLOWAT     = $1004;          { receive low-water mark }
  SO_SNDTIMEO     = $1005;          { send timeout }
  SO_RCVTIMEO     = $1006;          { receive timeout }
  SO_ERROR        = $1007;          { get error status and clear }
  SO_TYPE         = $1008;          { get socket type }

{ Options for connect and disconnect data and options.  Used only by
  non-TCP/IP transports such as DECNet, OSI TP4, etc. }

  SO_CONNDATA     = $7000;
  SO_CONNOPT      = $7001;
  SO_DISCDATA     = $7002;
  SO_DISCOPT      = $7003;
  SO_CONNDATALEN  = $7004;
  SO_CONNOPTLEN   = $7005;
  SO_DISCDATALEN  = $7006;
  SO_DISCOPTLEN   = $7007;

{ WinSock 2 extension -- new options }
 
  SO_GROUP_ID       = $2001; { ID of a socket group}
  SO_GROUP_PRIORITY = $2002; { the relative priority within a group}
  SO_MAX_MSG_SIZE   = $2003; { maximum message size }
  SO_PROTOCOL_INFOA = $2004; { WSAPROTOCOL_INFOA structure }
  SO_PROTOCOL_INFOW = $2005; { WSAPROTOCOL_INFOW structure }

{$IFDEF UNICODE }
  SO_PROTOCOL_INFO  = SO_PROTOCOL_INFOW;
{$ELSE }
  SO_PROTOCOL_INFO  = SO_PROTOCOL_INFOA;
{$ENDIF UNICODE }
  PVD_CONFIG        = $3001; {configuration info for service provider }

{ Option for opening sockets for synchronous access. }

  SO_OPENTYPE     = $7008;

  SO_SYNCHRONOUS_ALERT    = $10;
  SO_SYNCHRONOUS_NONALERT = $20;

{ Other NT-specific options. }

  SO_MAXDG        = $7009;
  SO_MAXPATHDG    = $700A;

{ TCP options. }

  TCP_NODELAY     = $0001;
  TCP_BSDURGENT   = $7000;

{ Address families. }

  AF_UNSPEC       = 0;               { unspecified }
  AF_UNIX         = 1;               { local to host (pipes, portals) }
  AF_INET         = 2;               { internetwork: UDP, TCP, etc. }
  AF_IMPLINK      = 3;               { arpanet imp addresses }
  AF_PUP          = 4;               { pup protocols: e.g. BSP }
  AF_CHAOS        = 5;               { mit CHAOS protocols }
  AF_IPX          = 6;               { IPX and SPX }
  AF_NS           = 6;               { XEROX NS protocols }
  AF_ISO          = 7;               { ISO protocols }
  AF_OSI          = AF_ISO;          { OSI is ISO }
  AF_ECMA         = 8;               { european computer manufacturers }
  AF_DATAKIT      = 9;               { datakit protocols }
  AF_CCITT        = 10;              { CCITT protocols, X.25 etc }
  AF_SNA          = 11;              { IBM SNA }
  AF_DECnet       = 12;              { DECnet }
  AF_DLI          = 13;              { Direct data link interface }
  AF_LAT          = 14;              { LAT }
  AF_HYLINK       = 15;              { NSC Hyperchannel }
  AF_APPLETALK    = 16;              { AppleTalk }
  AF_NETBIOS      = 17;              { NetBios-style addresses }
  AF_VOICEVIEW    = 18;              { VoiceView }
  AF_FIREFOX      = 19;              { FireFox }
  AF_UNKNOWN1     = 20;              { Somebody is using this! }
  AF_BAN          = 21;              { Banyan }
  AF_ATM          = 22;              { Native ATM Services }
  AF_INET6        = 23;              { Internetwork Version 6 }

  AF_MAX          = 24;

type
  { Structure used by kernel to store most addresses. }

  PSockAddr = ^TSockAddr;
  TSockAddr = TSockAddrIn;

  { Structure used by kernel to pass protocol information in raw sockets. }
  PSockProto = ^TSockProto;
  TSockProto = packed record
    sp_family: u_short;
    sp_protocol: u_short;
  end;

const
{ Protocol families, same as address families for now. }

  PF_UNSPEC       = AF_UNSPEC;
  PF_UNIX         = AF_UNIX;
  PF_INET         = AF_INET;
  PF_IMPLINK      = AF_IMPLINK;
  PF_PUP          = AF_PUP;
  PF_CHAOS        = AF_CHAOS;
  PF_NS           = AF_NS;
  PF_IPX          = AF_IPX;
  PF_ISO          = AF_ISO;
  PF_OSI          = AF_OSI;
  PF_ECMA         = AF_ECMA;
  PF_DATAKIT      = AF_DATAKIT;
  PF_CCITT        = AF_CCITT;
  PF_SNA          = AF_SNA;
  PF_DECnet       = AF_DECnet;
  PF_DLI          = AF_DLI;
  PF_LAT          = AF_LAT;
  PF_HYLINK       = AF_HYLINK;
  PF_APPLETALK    = AF_APPLETALK;
  PF_VOICEVIEW    = AF_VOICEVIEW;
  PF_FIREFOX      = AF_FIREFOX;
  PF_UNKNOWN1     = AF_UNKNOWN1;
  PF_BAN          = AF_BAN;
  PF_ATM          = AF_ATM;
  PF_INET6        = AF_INET6;

  PF_MAX          = AF_MAX;

type
{ Structure used for manipulating linger option. }
  PLinger = ^TLinger;
  TLinger = packed record
    l_onoff: u_short;
    l_linger: u_short;
  end;

const
{ Level number for (get/set)sockopt() to apply to socket itself. }

  SOL_SOCKET      = $ffff;          {options for socket level }

{ Maximum queue length specifiable by listen. }

  SOMAXCONN       = $7fffffff;      { AHS - by硂 5 !?????? }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级黄色大片| 亚洲曰韩产成在线| 一区二区三区精品在线| 久久国产精品72免费观看| thepron国产精品| 日韩精品最新网址| 亚洲高清免费观看| www.欧美色图| 国产日韩欧美精品综合| 日韩国产在线一| 色中色一区二区| 欧美激情一二三区| 精品一区二区日韩| 欧美一区二区性放荡片| 亚洲一区二区三区四区中文字幕| 国产大片一区二区| 日韩欧美色电影| 日韩不卡一二三区| 欧美片在线播放| 亚洲激情网站免费观看| 不卡的av在线| 中文字幕亚洲精品在线观看| 国产精品羞羞答答xxdd| 精品久久国产老人久久综合| 日韩影视精彩在线| 91麻豆精品国产自产在线 | 亚洲三级免费观看| 成人夜色视频网站在线观看| 国产亚洲精品资源在线26u| 麻豆精品国产传媒mv男同| 91精品国产综合久久香蕉麻豆| 亚洲综合成人在线| 在线看一区二区| 一区二区三区精品久久久| 91性感美女视频| 一区二区三区精品| 精品视频123区在线观看| 亚洲国产成人91porn| 欧美久久一区二区| 免费看黄色91| 久久人人爽爽爽人久久久| 国产一区亚洲一区| 国产精品女上位| 91网站在线播放| 亚洲自拍与偷拍| 欧美一区二区在线不卡| 国内精品自线一区二区三区视频| 精品国产青草久久久久福利| 国产大陆精品国产| 亚洲视频一区二区在线| 欧美视频在线观看一区二区| 视频一区二区不卡| 久久综合色综合88| 91亚洲国产成人精品一区二区三 | 五月天中文字幕一区二区| 欧美精品日韩精品| 精品一区精品二区高清| 久久女同精品一区二区| 色av成人天堂桃色av| 午夜电影网一区| 久久久精品2019中文字幕之3| 国产91精品精华液一区二区三区 | 精品久久人人做人人爽| 国产98色在线|日韩| 亚洲一级不卡视频| www久久久久| 色网站国产精品| 人妖欧美一区二区| 中文字幕一区在线| 日韩三级.com| 91女厕偷拍女厕偷拍高清| 日韩av中文字幕一区二区三区| 国产情人综合久久777777| 一本一道久久a久久精品综合蜜臀| 图片区小说区区亚洲影院| 国产欧美日韩精品一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日本不卡免费在线视频| 中文字幕在线观看一区| 精品久久国产字幕高潮| 欧美午夜精品久久久久久超碰 | 91免费视频网| 国内精品久久久久影院一蜜桃| 一区二区三区四区不卡在线| 精品国产露脸精彩对白| 欧美视频中文字幕| 波多野结衣亚洲| 国产自产v一区二区三区c| 亚洲一区二区三区免费视频| 国产人成亚洲第一网站在线播放 | 久久无码av三级| 欧美日韩一级二级| 99re6这里只有精品视频在线观看| 久久精品国内一区二区三区| 亚洲一区在线视频| 亚洲特级片在线| 中文字幕欧美三区| 精品国产91九色蝌蚪| 欧美二区三区的天堂| 在线一区二区三区做爰视频网站| 国产91精品在线观看| 精品亚洲成a人在线观看| 污片在线观看一区二区| 亚洲韩国一区二区三区| 亚洲另类春色国产| 成人免费一区二区三区在线观看| 国产日韩亚洲欧美综合| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩一本二本av| 日韩一区二区在线免费观看| 777a∨成人精品桃花网| 欧美日韩中文字幕一区| 91高清视频在线| 色视频欧美一区二区三区| 91麻豆免费看片| 99久久99久久精品免费看蜜桃| 成人美女视频在线观看18| 成人免费观看视频| 成人av资源在线| 99久久国产综合精品色伊| 99久久久精品| 欧洲视频一区二区| 欧美色综合网站| 欧美一区二区在线免费播放| 日韩精品一区在线| 精品国产污网站| 国产精品进线69影院| 亚洲精品国产一区二区三区四区在线| 国产精品久久看| 亚洲一区在线播放| 日韩av一级电影| 国产在线不卡一区| 国产成人精品亚洲日本在线桃色| 国产精品18久久久久久vr| 国产99久久久国产精品潘金 | 亚洲欧美综合网| 亚洲资源中文字幕| 美女在线一区二区| 国产成人在线看| 色国产综合视频| 日韩你懂的在线播放| 日本一区二区三区dvd视频在线| ...av二区三区久久精品| 亚洲午夜免费福利视频| 麻豆精品久久久| 91免费在线看| 日韩一级黄色大片| 中文字幕在线不卡国产视频| 三级精品在线观看| 国产精品系列在线播放| 97久久久精品综合88久久| 91精品欧美福利在线观看| 国产日韩欧美a| 亚洲激情一二三区| 国产在线观看免费一区| 在线观看三级视频欧美| 精品久久国产老人久久综合| 亚洲人成网站精品片在线观看| 天天影视网天天综合色在线播放 | eeuss影院一区二区三区| 欧洲人成人精品| 中文在线免费一区三区高中清不卡| 一区二区三区高清| 国产高清精品久久久久| 欧美男人的天堂一二区| 国产精品三级久久久久三级| 日韩在线卡一卡二| 91啪亚洲精品| 欧美精彩视频一区二区三区| 免费在线看一区| 一本大道久久a久久综合| 国产亚洲欧美一级| 强制捆绑调教一区二区| 欧美伊人久久久久久久久影院| 国产亚洲欧美在线| 裸体健美xxxx欧美裸体表演| 欧美一区二区三区电影| 中文字幕中文字幕在线一区 | 丁香婷婷深情五月亚洲| 日韩午夜激情视频| 亚洲国产精品人人做人人爽| 99精品视频在线观看| 久久免费的精品国产v∧| 三级一区在线视频先锋| 欧美系列在线观看| 亚洲天堂中文字幕| 成人免费高清在线观看| 久久久精品欧美丰满| 国产一区二区视频在线播放| 91精品国产综合久久久久久漫画| 亚洲欧美激情插| 色视频欧美一区二区三区| 国产精品国产三级国产专播品爱网| 国产一区二区福利| 久久一夜天堂av一区二区三区| 麻豆精品在线播放| xfplay精品久久| 韩国欧美一区二区| 久久九九99视频| 成人黄色777网|