📄 idwinsock2.pas
字号:
{$EXTERNALSYM INADDR_NONE}
INADDR_NONE = $FFFFFFFF;
{$EXTERNALSYM ADDR_ANY}
ADDR_ANY = INADDR_ANY;
{$EXTERNALSYM SOL_SOCKET}
SOL_SOCKET = $FFFF; // options for socket level
{$EXTERNALSYM MSG_OOB}
MSG_OOB = $1; // process out-of-band data
{$EXTERNALSYM MSG_PEEK}
MSG_PEEK = $2; // peek at incoming message
{$EXTERNALSYM MSG_DONTROUTE}
MSG_DONTROUTE = $4; // send without using routing tables
{$EXTERNALSYM MSG_PARTIAL}
MSG_PARTIAL = $8000; // partial send or recv for message xport
// WinSock 2 extension -- new flags for WSASend(), WSASendTo(), WSARecv() and WSARecvFrom()
{$EXTERNALSYM MSG_INTERRUPT}
MSG_INTERRUPT = $10; // send/recv in the interrupt context
{$EXTERNALSYM MSG_MAXIOVLEN}
MSG_MAXIOVLEN = 16;
// Define constant based on rfc883, used by gethostbyxxxx() calls.
{$EXTERNALSYM MAXGETHOSTSTRUCT}
MAXGETHOSTSTRUCT = 1024;
// Maximum queue length specifiable by listen.
{$EXTERNALSYM SOMAXCONN}
SOMAXCONN = $7FFFFFFF;
// WinSock 2 extension -- bit values and indices for FD_XXX network events
{$EXTERNALSYM FD_READ_BIT}
FD_READ_BIT = 0;
{$EXTERNALSYM FD_WRITE_BIT}
FD_WRITE_BIT = 1;
{$EXTERNALSYM FD_OOB_BIT}
FD_OOB_BIT = 2;
{$EXTERNALSYM FD_ACCEPT_BIT}
FD_ACCEPT_BIT = 3;
{$EXTERNALSYM FD_CONNECT_BIT}
FD_CONNECT_BIT = 4;
{$EXTERNALSYM FD_CLOSE_BIT}
FD_CLOSE_BIT = 5;
{$EXTERNALSYM fd_qos_bit}
FD_QOS_BIT = 6;
{$EXTERNALSYM FD_GROUP_QOS_BIT}
FD_GROUP_QOS_BIT = 7;
{$EXTERNALSYM FD_ROUTING_INTERFACE_CHANGE_BIT}
FD_ROUTING_INTERFACE_CHANGE_BIT = 8;
{$EXTERNALSYM FD_ADDRESS_LIST_CHANGE_BIT}
FD_ADDRESS_LIST_CHANGE_BIT = 9;
{$EXTERNALSYM FD_MAX_EVENTS}
FD_MAX_EVENTS = 10;
{$EXTERNALSYM FD_READ}
FD_READ = (1 shl FD_READ_BIT);
{$EXTERNALSYM FD_WRITE}
FD_WRITE = (1 shl FD_WRITE_BIT);
{$EXTERNALSYM FD_OOB}
FD_OOB = (1 shl FD_OOB_BIT);
{$EXTERNALSYM FD_ACCEPT}
FD_ACCEPT = (1 shl FD_ACCEPT_BIT);
{$EXTERNALSYM FD_CONNECT}
FD_CONNECT = (1 shl FD_CONNECT_BIT);
{$EXTERNALSYM FD_CLOSE}
FD_CLOSE = (1 shl FD_CLOSE_BIT);
{$EXTERNALSYM FD_QOS}
FD_QOS = (1 shl FD_QOS_BIT);
{$EXTERNALSYM FD_GROUP_QOS}
FD_GROUP_QOS = (1 shl FD_GROUP_QOS_BIT);
{$EXTERNALSYM FD_ROUTING_INTERFACE_CHANGE}
FD_ROUTING_INTERFACE_CHANGE = (1 shl FD_ROUTING_INTERFACE_CHANGE_BIT);
{$EXTERNALSYM FD_ADDRESS_LIST_CHANGE}
FD_ADDRESS_LIST_CHANGE = (1 shl FD_ADDRESS_LIST_CHANGE_BIT);
{$EXTERNALSYM FD_ALL_EVENTS}
FD_ALL_EVENTS = (1 shl FD_MAX_EVENTS) - 1;
// All Windows Sockets error constants are biased by WSABASEERR from the "normal"
{$EXTERNALSYM WSABASEERR}
WSABASEERR = 10000;
// Windows Sockets definitions of regular Microsoft C error constants
{$EXTERNALSYM WSAEINTR}
WSAEINTR = WSABASEERR+ 4;
{$EXTERNALSYM WSAEBADF}
WSAEBADF = WSABASEERR+ 9;
{$EXTERNALSYM WSAEACCES}
WSAEACCES = WSABASEERR+ 13;
{$EXTERNALSYM WSAEFAULT}
WSAEFAULT = WSABASEERR+ 14;
{$EXTERNALSYM WSAEINVAL}
WSAEINVAL = WSABASEERR+ 22;
{$EXTERNALSYM wsaemfile}
WSAEMFILE = WSABASEERR+ 24;
// Windows Sockets definitions of regular Berkeley error constants
{$EXTERNALSYM WSAEWOULDBLOCK}
WSAEWOULDBLOCK = WSABASEERR+ 35;
{$EXTERNALSYM WSAEINPROGRESS}
WSAEINPROGRESS = WSABASEERR+ 36;
{$EXTERNALSYM WSAEALREADY}
WSAEALREADY = WSABASEERR+ 37;
{$EXTERNALSYM WSAENOTSOCK}
WSAENOTSOCK = WSABASEERR+ 38;
{$EXTERNALSYM WSAEDESTADDRREQ}
WSAEDESTADDRREQ = WSABASEERR+ 39;
{$EXTERNALSYM WSAEMSGSIZE}
WSAEMSGSIZE = WSABASEERR+ 40;
{$EXTERNALSYM WSAEPROTOTYPE}
WSAEPROTOTYPE = WSABASEERR+ 41;
{$EXTERNALSYM WSAENOPROTOOPT}
WSAENOPROTOOPT = WSABASEERR+ 42;
{$EXTERNALSYM WSAEPROTONOSUPPORT}
WSAEPROTONOSUPPORT = WSABASEERR+ 43;
{$EXTERNALSYM WSAESOCKTNOSUPPORT}
WSAESOCKTNOSUPPORT = WSABASEERR+ 44;
{$EXTERNALSYM WSAEOPNOTSUPP}
WSAEOPNOTSUPP = WSABASEERR+ 45;
{$EXTERNALSYM WSAEPFNOSUPPORT}
WSAEPFNOSUPPORT = WSABASEERR+ 46;
{$EXTERNALSYM WSAEAFNOSUPPORT}
WSAEAFNOSUPPORT = WSABASEERR+ 47;
{$EXTERNALSYM WSAEADDRINUSE}
WSAEADDRINUSE = WSABASEERR+ 48;
{$EXTERNALSYM WSAEADDRNOTAVAIL}
WSAEADDRNOTAVAIL = WSABASEERR+ 49;
{$EXTERNALSYM WSAENETDOWN}
WSAENETDOWN = WSABASEERR+ 50;
{$EXTERNALSYM WSAENETUNREACH}
WSAENETUNREACH = WSABASEERR+ 51;
{$EXTERNALSYM WSAENETRESET}
WSAENETRESET = WSABASEERR+ 52;
{$EXTERNALSYM WSAECONNABORTED}
WSAECONNABORTED = WSABASEERR+ 53;
{$EXTERNALSYM wsaeconnreset}
WSAECONNRESET = WSABASEERR+ 54;
{$EXTERNALSYM WSAENOBUFS}
WSAENOBUFS = WSABASEERR+ 55;
{$EXTERNALSYM WSAEISCONN}
WSAEISCONN = WSABASEERR+ 56;
{$EXTERNALSYM WSAENOTCONN}
WSAENOTCONN = WSABASEERR+ 57;
{$EXTERNALSYM WSAESHUTDOWN}
WSAESHUTDOWN = WSABASEERR+ 58;
{$EXTERNALSYM WSAETOOMANYREFS}
WSAETOOMANYREFS = WSABASEERR+ 59;
{$EXTERNALSYM WSAETIMEDOUT}
WSAETIMEDOUT = WSABASEERR+ 60;
{$EXTERNALSYM WSAECONNREFUSED}
WSAECONNREFUSED = WSABASEERR+ 61;
{$EXTERNALSYM WSAELOOP}
WSAELOOP = WSABASEERR+ 62;
{$EXTERNALSYM WSAENAMETOOLONG}
WSAENAMETOOLONG = WSABASEERR+ 63;
{$EXTERNALSYM WSAEHOSTDOWN}
WSAEHOSTDOWN = WSABASEERR+ 64;
{$EXTERNALSYM WSAEHOSTUNREACH}
WSAEHOSTUNREACH = WSABASEERR+ 65;
{$EXTERNALSYM wsaenotempty}
WSAENOTEMPTY = WSABASEERR+ 66;
{$EXTERNALSYM WSAEPROCLIM}
WSAEPROCLIM = WSABASEERR+ 67;
{$EXTERNALSYM WSAEUSERS}
WSAEUSERS = WSABASEERR+ 68;
{$EXTERNALSYM WSAEDQUOT}
WSAEDQUOT = WSABASEERR+ 69;
{$EXTERNALSYM WSAESTALE}
WSAESTALE = WSABASEERR+ 70;
{$EXTERNALSYM WSAEREMOTE}
WSAEREMOTE = WSABASEERR+ 71;
// Extended Windows Sockets error constant definitions
{$EXTERNALSYM WSASYSNOTREADY}
WSASYSNOTREADY = WSABASEERR+ 91;
{$EXTERNALSYM WSAVERNOTSUPPORTED}
WSAVERNOTSUPPORTED = WSABASEERR+ 92;
{$EXTERNALSYM WSANOTINITIALISED}
WSANOTINITIALISED = WSABASEERR+ 93;
{$EXTERNALSYM WSAEDISCON}
WSAEDISCON = WSABASEERR+101;
{$EXTERNALSYM WSAENOMORE}
WSAENOMORE = WSABASEERR+102;
{$EXTERNALSYM wsaecancelled}
WSAECANCELLED = WSABASEERR+103;
{$EXTERNALSYM WSAEINVALIDPROCTABLE}
WSAEINVALIDPROCTABLE = WSABASEERR+104;
{$EXTERNALSYM WSAEINVALIDPROVIDER}
WSAEINVALIDPROVIDER = WSABASEERR+105;
{$EXTERNALSYM WSAEPROVIDERFAILEDINIT}
WSAEPROVIDERFAILEDINIT = WSABASEERR+106;
{$EXTERNALSYM WSASYSCALLFAILURE}
WSASYSCALLFAILURE = WSABASEERR+107;
{$EXTERNALSYM WSASERVICE_NOT_FOUND}
WSASERVICE_NOT_FOUND = WSABASEERR+108;
{$EXTERNALSYM WSATYPE_NOT_FOUND}
WSATYPE_NOT_FOUND = WSABASEERR+109;
{$EXTERNALSYM wsa_e_no_more}
WSA_E_NO_MORE = WSABASEERR+110;
{$EXTERNALSYM WSA_E_CANCELLED}
WSA_E_CANCELLED = WSABASEERR+111;
{$EXTERNALSYM WSAEREFUSED}
WSAEREFUSED = WSABASEERR+112;
{ Error return codes from gethostbyname() and gethostbyaddr()
(when using the resolver). Note that these errors are
retrieved via WSAGetLastError() and must therefore follow
the rules for avoiding clashes with error numbers from
specific implementations or language run-time systems.
For this reason the codes are based at WSABASEERR+1001.
Note also that [WSA]NO_ADDRESS is defined only for
compatibility purposes. }
// Authoritative Answer: Host not found
{$EXTERNALSYM WSAHOST_NOT_FOUND}
WSAHOST_NOT_FOUND = WSABASEERR+1001;
{$EXTERNALSYM HOST_NOT_FOUND}
HOST_NOT_FOUND = WSAHOST_NOT_FOUND;
// Non-Authoritative: Host not found, or SERVERFAIL
{$EXTERNALSYM WSATRY_AGAIN}
WSATRY_AGAIN = WSABASEERR+1002;
{$EXTERNALSYM TRY_AGAIN}
TRY_AGAIN = WSATRY_AGAIN;
// Non recoverable errors, FORMERR, REFUSED, NOTIMP
{$EXTERNALSYM WSANO_RECOVERY}
WSANO_RECOVERY = WSABASEERR+1003;
{$EXTERNALSYM NO_RECOVERY}
NO_RECOVERY = WSANO_RECOVERY;
// Valid name, no data record of requested type
{$EXTERNALSYM WSANO_DATA}
WSANO_DATA = WSABASEERR+1004;
{$EXTERNALSYM no_data}
NO_DATA = WSANO_DATA;
// no address, look for MX record
{$EXTERNALSYM WSANO_ADDRESS}
WSANO_ADDRESS = WSANO_DATA;
{$EXTERNALSYM no_address}
NO_ADDRESS = WSANO_ADDRESS;
// Define QOS related error return codes
{$EXTERNALSYM WSA_QOS_RECEIVERS}
WSA_QOS_RECEIVERS = WSABASEERR+1005; // at least one reserve has arrived
{$EXTERNALSYM WSA_QOS_SENDERS}
WSA_QOS_SENDERS = WSABASEERR+1006; // at least one path has arrived
{$EXTERNALSYM WSA_QOS_NO_SENDERS}
WSA_QOS_NO_SENDERS = WSABASEERR+1007; // there are no senders
{$EXTERNALSYM WSA_QOS_NO_RECEIVERS}
WSA_QOS_NO_RECEIVERS = WSABASEERR+1008; // there are no receivers
{$EXTERNALSYM WSA_QOS_REQUEST_CONFIRMED}
WSA_QOS_REQUEST_CONFIRMED = WSABASEERR+1009; // reserve has been confirmed
{$EXTERNALSYM WSA_QOS_ADMISSION_FAILURE}
WSA_QOS_ADMISSION_FAILURE = WSABASEERR+1010; // error due to lack of resources
{$EXTERNALSYM WSA_QOS_POLICY_FAILURE}
WSA_QOS_POLICY_FAILURE = WSABASEERR+1011; // rejected for administrative reasons - bad credentials
{$EXTERNALSYM WSA_QOS_BAD_STYLE}
WSA_QOS_BAD_STYLE = WSABASEERR+1012; // unknown or conflicting style
{$EXTERNALSYM WSA_QOS_BAD_OBJECT}
WSA_QOS_BAD_OBJECT = WSABASEERR+1013; // problem with some part of the filterspec or providerspecific buffer in general
{$EXTERNALSYM WSA_QOS_TRAFFIC_CTRL_ERROR}
WSA_QOS_TRAFFIC_CTRL_ERROR = WSABASEERR+1014; // problem with some part of the flowspec
{$EXTERNALSYM WSA_QOS_GENERIC_ERROR}
WSA_QOS_GENERIC_ERROR = WSABASEERR+1015; // general error
{$EXTERNALSYM WSA_QOS_ESERVICETYPE}
WSA_QOS_ESERVICETYPE = WSABASEERR+1016; // invalid service type in flowspec
{$EXTERNALSYM WSA_QOS_EFLOWSPEC}
WSA_QOS_EFLOWSPEC = WSABASEERR+1017; // invalid flowspec
{$EXTERNALSYM WSA_QOS_EPROVSPECBUF}
WSA_QOS_EPROVSPECBUF = WSABASEERR+1018; // invalid provider specific buffer
{$EXTERNALSYM WSA_QOS_EFILTERSTYLE}
WSA_QOS_EFILTERSTYLE = WSABASEERR+1019; // invalid filter style
{$EXTERNALSYM WSA_QOS_EFILTERTYPE}
WSA_QOS_EFILTERTYPE = WSABASEERR+1020; // invalid filter type
{$EXTERNALSYM WSA_QOS_EFILTERCOUNT}
WSA_QOS_EFILTERCOUNT = WSABASEERR+1021; // incorrect number of filters
{$EXTERNALSYM WSA_QOS_EOBJLENGTH}
WSA_QOS_EOBJLENGTH = WSABASEERR+1022; // invalid object length
{$EXTERNALSYM WSA_QOS_EFLOWCOUNT}
WSA_QOS_EFLOWCOUNT = WSABASEERR+1023; // incorrect number of flows
{$EXTERNALSYM WSA_QOS_EUNKOWNPSOBJ}
WSA_QOS_EUNKOWNPSOBJ = WSABASEERR+1024; // unknown object in provider specific buffer
{$EXTERNALSYM WSA_QOS_EPOLICYOBJ}
WSA_QOS_EPOLICYOBJ = WSABASEERR+1025; // invalid policy object in provider specific buffer
{$EXTERNALSYM WSA_QOS_EFLOWDESC}
WSA_QOS_EFLOWDESC = WSABASEERR+1026; // invalid flow descriptor in the list
{$EXTERNALSYM WSA_QOS_EPSFLOWSPEC}
WSA_QOS_EPSFLOWSPEC = WSABASEERR+1027; // inconsistent flow spec in provider specific buffer
{$EXTERNALSYM WSA_QOS_EPSFILTERSPEC}
WSA_QOS_EPSFILTERSPEC = WSABASEERR+1028; // invalid filter spec in provider specific buffer
{$EXTERNALSYM WSA_QOS_ESDMODEOBJ}
WSA_QOS_ESDMODEOBJ = WSABASEERR+1029; // invalid shape discard mode object in provider specific buffer
{$EXTERNALSYM WSA_QOS_ESHAPERATEOBJ}
WSA_QOS_ESHAPERATEOBJ = WSABASEERR+1030; // invalid shaping rate object in provider specific buffer
{$EXTERNALSYM WSA_QOS_RESERVED_PETYPE}
WSA_QOS_RESERVED_PETYPE = WSABASEERR+1031; // reserved policy element in provider specific buffer
{ WinSock 2 extension -- new error codes and type definition }
{$EXTERNALSYM WSA_IO_PENDING}
WSA_IO_PENDING = ERROR_IO_PENDING;
{$EXTERNALSYM WSA_IO_INCOMPLETE}
WSA_IO_INCOMPLETE = ERROR_IO_INCOMPLETE;
{$EXTERNALSYM WSA_INVALID_HANDLE}
WSA_INVALID_HANDLE = ERROR_INVALID_HANDLE;
{$EXTERNALSYM WSA_INVALID_PARAMETER}
WSA_INVALID_PARAMETER = ERROR_INVALID_PARAMETER;
{$EXTERNALSYM WSA_NOT_ENOUGH_MEMORY}
WSA_NOT_ENOUGH_MEMORY = ERROR_NOT_ENOUGH_MEMORY;
{$EXTERNALSYM WSA_OPERATION_ABORTED}
WSA_OPERATION_ABORTED = ERROR_OPERATION_ABORTED;
{$EXTERNALSYM WSA_INVALID_EVENT}
WSA_INVALID_EVENT = WSAEVENT(nil);
{$EXTERNALSYM WSA_MAXIMUM_WAIT_EVENTS}
WSA_MAXIMUM_WAIT_EVENTS = MAXIMUM_WAIT_OBJECTS;
{$EXTERNALSYM WSA_WAIT_FAILED}
WSA_WAIT_FAILED = $FFFFFFFF;
{$EXTERNALSYM WSA_WAIT_EVENT_0}
WSA_WAIT_EVENT_0 = WAIT_OBJECT_0;
{$EXTERNALSYM WSA_WAIT_IO_COMPLETION}
WSA_WAIT_IO_COMPLETION = WAIT_IO_COMPLETION;
{$EXTERNALSYM WSA_WAIT_TIMEOUT}
WSA_WAIT_TIMEOUT = WAIT_TIMEOUT;
{$EXTERNALSYM WSA_INFINITE}
WSA_INFINITE = INFINITE;
{ Windows Sockets errors redefined as regular Berkeley error constants.
These are commented out in Windows NT to avoid conflicts with errno.h.
Use the WSA constants instead. }
{$EXTERNALSYM EWOULDBLOCK}
EWOULDBLOCK = WSAEWOULDBLOCK;
{$EXTERNALSYM EINPROGRESS}
EINPROGRESS = WSAEINPROGRESS;
{$EXTERNALSYM EALREADY}
EALREADY = WSAEALREADY;
{$EXTERNALSYM ENOTSOCK}
ENOTSOCK = WSAENOTSOCK;
{$EXTERNALSYM EDESTADDRREQ}
EDESTADDRREQ = WSAEDESTADDRREQ;
{$EXTERNALSYM EMSGSIZE}
EMSGSIZE = WSAEMSGSIZE;
{$EXTERNALSYM EPROTOTYPE}
EPROTOTYPE = WSAEPROTOTYPE;
{$EXTERNALSYM ENOPROTOOPT}
ENOPROTOOPT = WSAENOPROTOOPT;
{$EXTERNALSYM EPROTONOSUPPORT}
EPROTONOSUPPORT = WSAEPROTONOSUPPORT;
{$EXTERNALSYM ESOCKTNOSUPPORT}
ESOCKTNOSUPPORT = WSAESOCKTNOSUPPORT;
{$EXTERNALSYM EOPNOTSUPP}
EOPNOTSUPP = WSAEOPNOTSUPP;
{$EXTERNALSYM EPFNOSUPPORT}
EPFNOSUPPORT = WSAEPFNOSUPPORT;
{$EXTERNALSYM EAFNOSUPPORT}
EAFNOSUPPORT = WSAEAFNOSUPPORT;
{$EXTERNALSYM EADDRINUSE}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -