Unit Winsock2
Return to Unit Reference
Contents
Description
Ultibo Winsock2 Interface unit
Notes:
- All BSD/Winsock functions that accept an Address or Port expect them to be in Network byte order.
- All other functions that take an Address or Port expect them to be in Host byte order.
Constants
WINSOCK_*
WINSOCK_VERSION = $0202;
|
|
WINSOCK_TCP_SERVER_THREAD_NAME = 'TCP Server';
|
Thread name for TCP server threads |
WINSOCK_TCP_SERVER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for TCP server threads |
WINSOCK_TCP_LISTENER_THREAD_NAME = 'TCP Listener';
|
Thread name for TCP listener threads |
WINSOCK_TCP_LISTENER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for TCP listener threads |
WINSOCK_UDP_SERVER_THREAD_NAME = 'UDP Server';
|
Thread name for UDP server threads |
WINSOCK_UDP_SERVER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for UDP server threads |
WINSOCK_UDP_LISTENER_THREAD_NAME = 'UDP Listener';
|
Thread name for UDP listener threads |
WINSOCK_UDP_LISTENER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for UDP listener threads |
FD_SETSIZE = GlobalSock.FD_SETSIZE;
|
|
IOCPARM_MASK = GlobalSock.IOCPARM_MASK;
|
|
IOC_VOID = GlobalSock.IOC_VOID;
|
|
IOC_OUT = GlobalSock.IOC_OUT;
|
|
IOC_IN = GlobalSock.IOC_IN;
|
|
IOC_INOUT = GlobalSock.IOC_INOUT;
|
|
FIONREAD = GlobalSock.FIONREAD;
|
|
FIONBIO = GlobalSock.FIONBIO;
|
|
FIOASYNC = GlobalSock.FIOASYNC;
|
|
SIOCSHIWAT = GlobalSock.SIOCSHIWAT;
|
|
SIOCGHIWAT = GlobalSock.SIOCGHIWAT;
|
|
SIOCSLOWAT = GlobalSock.SIOCSLOWAT;
|
|
SIOCGLOWAT = GlobalSock.SIOCGLOWAT;
|
|
SIOCATMARK = GlobalSock.SIOCATMARK;
|
|
IMPLINK_IP = GlobalSock.IMPLINK_IP;
|
|
IMPLINK_LOWEXPER = GlobalSock.IMPLINK_LOWEXPER;
|
|
IMPLINK_HIGHEXPER = GlobalSock.IMPLINK_HIGHEXPER;
|
|
TF_DISCONNECT = GlobalSock.TF_DISCONNECT;
|
|
TF_REUSE_SOCKET = GlobalSock.TF_REUSE_SOCKET;
|
|
TF_WRITE_BEHIND = GlobalSock.TF_WRITE_BEHIND;
|
|
INET_ADDRSTR_ANY = GlobalSock.INET_ADDRSTR_ANY;
|
|
INET6_ADDRSTR_ANY = GlobalSock.INET6_ADDRSTR_ANY;
|
|
INET_ADDRSTR_BROADCAST = GlobalSock.INET_ADDRSTR_BROADCAST;
|
|
INET_ADDRSTRLEN = GlobalSock.INET_ADDRSTRLEN;
|
|
INET6_ADDRSTRLEN = GlobalSock.INET6_ADDRSTRLEN;
|
|
IN6ADDR_ANY_INIT:TIn6Addr = (u6_addr16: (0, 0, 0, 0, 0, 0, 0, 0));
|
|
IN6ADDR_LOOPBACK_INIT:TIn6Addr = (u6_addr8: (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1));
|
|
INADDR_ANY = GlobalSock.INADDR_ANY;
|
|
INADDR_LOOPBACK = GlobalSock.INADDR_LOOPBACK;
|
|
INADDR_BROADCAST = GlobalSock.INADDR_BROADCAST;
|
|
INADDR_NONE = GlobalSock.INADDR_NONE;
|
|
IN6ADDR_ANY:TIn6Addr = (u6_addr16: (0, 0, 0, 0, 0, 0, 0, 0));
|
|
IN6ADDR_LOOPBACK:TIn6Addr = (u6_addr8: (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1));
|
|
IN6ADDR_NONE:TIn6Addr = (u6_addr16: ($ffff, $ffff, $ffff, $ffff, $ffff, $ffff, $ffff, $ffff));
|
|
Level number for (get/set)sockopt() to apply to socket itself | |
SOL_SOCKET = GlobalSock.SOL_SOCKET;
|
|
Maximum queue length specifiable by listen | |
SOMAXCONN = GlobalSock.SOMAXCONN;
|
|
Return flags | |
RESULT_IS_ALIAS = $0001;
|
|
SERVICE_MULTIPLE = $00000001;
|
|
BIGENDIAN = $0000;
|
|
LITTLEENDIAN = $0001;
|
|
SECURITY_PROTOCOL_NONE = $0000;
|
|
This is used instead of -1, since the TSocket type is unsigned | |
INVALID_SOCKET = GlobalSock.INVALID_SOCKET;
|
|
SOCKET_ERROR = GlobalSock.SOCKET_ERROR;
|
|
Define constant based on rfc883, used by gethostbyxxxx() calls | |
MAXGETHOSTSTRUCT = GlobalSock.MAXGETHOSTSTRUCT;
|
|
WSADESCRIPTION_LEN = GlobalSock.WSADESCRIPTION_LEN;
|
|
WSASYS_STATUS_LEN = GlobalSock.WSASYS_STATUS_LEN;
|
|
MAX_PROTOCOL_CHAIN = 7;
|
|
BASE_PROTOCOL = 1;
|
|
LAYERED_PROTOCOL = 0;
|
|
WSAPROTOCOL_LEN = 255;
|
|
WSARecvMsg flags | |
MSG_TRUNC = $0100;
|
|
MSG_CTRUNC = $0200;
|
|
MSG_BCAST = $0400;
|
|
MSG_MCAST = $0800;
|
|
Event flag definitions for WSAPoll() | |
POLLRDNORM = $0100;
|
|
POLLRDBAND = $0200;
|
|
POLLIN = (POLLRDNORM or POLLRDBAND);
|
|
POLLPRI = $0400;
|
|
POLLWRNORM = $0010;
|
|
POLLOUT = (POLLWRNORM);
|
|
POLLWRBAND = $0020;
|
|
POLLERR = $0001;
|
|
POLLHUP = $0002;
|
|
POLLNVAL = $0004;
|
IPPROTO_*
IPPROTO_IP = GlobalSock.IPPROTO_IP;
|
|
IPPROTO_ICMP = GlobalSock.IPPROTO_ICMP;
|
|
IPPROTO_IGMP = GlobalSock.IPPROTO_IGMP;
|
|
IPPROTO_GGP = GlobalSock.IPPROTO_GGP;
|
|
IPPROTO_TCP = GlobalSock.IPPROTO_TCP;
|
|
IPPROTO_EGP = GlobalSock.IPPROTO_EGP;
|
|
IPPROTO_PUP = GlobalSock.IPPROTO_PUP;
|
|
IPPROTO_UDP = GlobalSock.IPPROTO_UDP;
|
|
IPPROTO_HMP = GlobalSock.IPPROTO_HMP;
|
|
IPPROTO_IDP = GlobalSock.IPPROTO_IDP;
|
|
IPPROTO_RDP = GlobalSock.IPPROTO_RDP;
|
|
IPPROTO_IPV6 = GlobalSock.IPPROTO_IPV6;
|
|
IPPROTO_ROUTING = GlobalSock.IPPROTO_ROUTING;
|
|
IPPROTO_FRAGMENT = GlobalSock.IPPROTO_FRAGMENT;
|
|
IPPROTO_ICMPV6 = GlobalSock.IPPROTO_ICMPV6;
|
|
IPPROTO_RVD = GlobalSock.IPPROTO_RVD;
|
|
IPPROTO_ND = GlobalSock.IPPROTO_ND;
|
|
IPPROTO_RAW = GlobalSock.IPPROTO_RAW;
|
|
IPPROTO_MAX = GlobalSock.IPPROTO_MAX;
|
IPPORT_*
Port/socket numbers: network standard functions | |
IPPORT_ANY = GlobalSock.IPPORT_ANY;
|
|
IPPORT_ECHO = GlobalSock.IPPORT_ECHO;
|
|
IPPORT_DISCARD = GlobalSock.IPPORT_DISCARD;
|
|
IPPORT_SYSTAT = GlobalSock.IPPORT_SYSTAT;
|
|
IPPORT_DAYTIME = GlobalSock.IPPORT_DAYTIME;
|
|
IPPORT_NETSTAT = GlobalSock.IPPORT_NETSTAT;
|
|
IPPORT_FTP = GlobalSock.IPPORT_FTP;
|
|
IPPORT_TELNET = GlobalSock.IPPORT_TELNET;
|
|
IPPORT_SMTP = GlobalSock.IPPORT_SMTP;
|
|
IPPORT_TIMESERVER = GlobalSock.IPPORT_TIMESERVER;
|
|
IPPORT_NAMESERVER = GlobalSock.IPPORT_NAMESERVER;
|
|
IPPORT_WHOIS = GlobalSock.IPPORT_WHOIS;
|
|
IPPORT_DNS = GlobalSock.IPPORT_DNS;
|
|
IPPORT_MTP = GlobalSock.IPPORT_MTP;
|
|
IPPORT_BOOTPS = GlobalSock.IPPORT_BOOTPS;
|
|
IPPORT_BOOTPC = GlobalSock.IPPORT_BOOTPC;
|
|
Port/socket numbers: host specific functions | |
IPPORT_TFTP = GlobalSock.IPPORT_TFTP;
|
|
IPPORT_RJE = GlobalSock.IPPORT_RJE;
|
|
IPPORT_FINGER = GlobalSock.IPPORT_FINGER;
|
|
IPPORT_TTYLINK = GlobalSock.IPPORT_TTYLINK;
|
|
IPPORT_SUPDUP = GlobalSock.IPPORT_SUPDUP;
|
|
UNIX TCP sockets | |
IPPORT_EXECSERVER = GlobalSock.IPPORT_EXECSERVER;
|
|
IPPORT_LOGINSERVER = GlobalSock.IPPORT_LOGINSERVER;
|
|
IPPORT_CMDSERVER = GlobalSock.IPPORT_CMDSERVER;
|
|
IPPORT_EFSSERVER = GlobalSock.IPPORT_EFSSERVER;
|
|
UNIX UDP sockets | |
IPPORT_BIFFUDP = GlobalSock.IPPORT_BIFFUDP;
|
|
IPPORT_WHOSERVER = GlobalSock.IPPORT_WHOSERVER;
|
|
IPPORT_ROUTESERVER = GlobalSock.IPPORT_ROUTESERVER;
|
|
Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root) | |
IPPORT_RESERVED = GlobalSock.IPPORT_RESERVED;
|
IP_*
Options for use with [gs]etsockopt at the IP level | |
IP_OPTIONS = GlobalSock.IP_OPTIONS;
|
|
IP_MULTICAST_IF = GlobalSock.IP_MULTICAST_IF;
|
|
IP_MULTICAST_TTL = GlobalSock.IP_MULTICAST_TTL;
|
|
IP_MULTICAST_LOOP = GlobalSock.IP_MULTICAST_LOOP;
|
|
IP_ADD_MEMBERSHIP = GlobalSock.IP_ADD_MEMBERSHIP;
|
|
IP_DROP_MEMBERSHIP = GlobalSock.IP_DROP_MEMBERSHIP;
|
|
IP_TTL = GlobalSock.IP_TTL;
|
|
IP_TOS = GlobalSock.IP_TOS;
|
|
IP_DONTFRAGMENT = GlobalSock.IP_DONTFRAGMENT;
|
|
IP_HDRINCL = GlobalSock.IP_HDRINCL;
|
|
IP_DEFAULT_MULTICAST_TTL = GlobalSock.IP_DEFAULT_MULTICAST_TTL;
|
|
IP_DEFAULT_MULTICAST_LOOP = GlobalSock.IP_DEFAULT_MULTICAST_LOOP;
|
|
IP_MAX_MEMBERSHIPS = GlobalSock.IP_MAX_MEMBERSHIPS;
|
SOCK_*
SOCK_UNSPEC = GlobalSock.SOCK_UNSPEC;
|
|
SOCK_STREAM = GlobalSock.SOCK_STREAM;
|
|
SOCK_DGRAM = GlobalSock.SOCK_DGRAM;
|
|
SOCK_RAW = GlobalSock.SOCK_RAW;
|
|
SOCK_RDM = GlobalSock.SOCK_RDM;
|
|
SOCK_SEQPACKET = GlobalSock.SOCK_SEQPACKET;
|
|
SOCK_PACKET = GlobalSock.SOCK_PACKET;
|
SO_*
SO_DEBUG = GlobalSock.SO_DEBUG;
|
|
SO_ACCEPTCONN = GlobalSock.SO_ACCEPTCONN;
|
|
SO_REUSEADDR = GlobalSock.SO_REUSEADDR;
|
|
SO_KEEPALIVE = GlobalSock.SO_KEEPALIVE;
|
|
SO_DONTROUTE = GlobalSock.SO_DONTROUTE;
|
|
SO_BROADCAST = GlobalSock.SO_BROADCAST;
|
|
SO_USELOOPBACK = GlobalSock.SO_USELOOPBACK;
|
|
SO_LINGER = GlobalSock.SO_LINGER;
|
|
SO_OOBINLINE = GlobalSock.SO_OOBINLINE;
|
|
SO_DONTLINGER = GlobalSock.SO_DONTLINGER;
|
|
SO_EXCLUSIVEADDRUSE = GlobalSock.SO_EXCLUSIVEADDRUSE;
|
|
Additional options | |
SO_SNDBUF = GlobalSock.SO_SNDBUF;
|
|
SO_RCVBUF = GlobalSock.SO_RCVBUF;
|
|
SO_SNDLOWAT = GlobalSock.SO_SNDLOWAT;
|
|
SO_RCVLOWAT = GlobalSock.SO_RCVLOWAT;
|
|
SO_SNDTIMEO = GlobalSock.SO_SNDTIMEO;
|
|
SO_RCVTIMEO = GlobalSock.SO_RCVTIMEO;
|
|
SO_ERROR = GlobalSock.SO_ERROR;
|
|
SO_TYPE = GlobalSock.SO_TYPE;
|
|
SO_CONNTIMEO = GlobalSock.SO_CONNTIMEO;
|
|
Options for connect and disconnect data and options. Used only by non-TCP/IP transports such as DECNet, OSI TP4, etc | |
SO_CONNDATA = GlobalSock.SO_CONNDATA;
|
|
SO_CONNOPT = GlobalSock.SO_CONNOPT;
|
|
SO_DISCDATA = GlobalSock.SO_DISCDATA;
|
|
SO_DISCOPT = GlobalSock.SO_DISCOPT;
|
|
SO_CONNDATALEN = GlobalSock.SO_CONNDATALEN;
|
|
SO_CONNOPTLEN = GlobalSock.SO_CONNOPTLEN;
|
|
SO_DISCDATALEN = GlobalSock.SO_DISCDATALEN;
|
|
SO_DISCOPTLEN = GlobalSock.SO_DISCOPTLEN;
|
|
Option for opening sockets for synchronous access | |
SO_OPENTYPE = GlobalSock.SO_OPENTYPE;
|
|
SO_SYNCHRONOUS_ALERT = GlobalSock.SO_SYNCHRONOUS_ALERT;
|
|
SO_SYNCHRONOUS_NONALERT = GlobalSock.SO_SYNCHRONOUS_NONALERT;
|
|
Other NT-specific options | |
SO_MAXDG = GlobalSock.SO_MAXDG;
|
|
SO_MAXPATHDG = GlobalSock.SO_MAXPATHDG;
|
|
SO_UPDATE_ACCEPT_CONTEXT = GlobalSock.SO_UPDATE_ACCEPT_CONTEXT;
|
|
SO_CONNECT_TIME = GlobalSock.SO_CONNECT_TIME;
|
TCP_*
TCP_NODELAY= GlobalSock.TCP_NODELAY;
|
|
TCP_MAXSEG = GlobalSock.TCP_MAXSEG;
|
|
TCP_NOPUSH = GlobalSock.TCP_NOPUSH;
|
|
TCP_NOOPT = GlobalSock.TCP_NOOPT;
|
|
TCP_BSDURGENT = GlobalSock.TCP_BSDURGENT;
|
|
TCP_WSCALE = GlobalSock.TCP_WSCALE;
|
|
TCP_NOSACK = GlobalSock.TCP_NOSACK;
|
UDP_*
UDP_NOCHECKSUM = GlobalSock.UDP_NOCHECKSUM;
|
AF_*
AF_UNSPEC = GlobalSock.AF_UNSPEC;
|
|
AF_UNIX = GlobalSock.AF_UNIX;
|
|
AF_INET = GlobalSock.AF_INET;
|
|
AF_IMPLINK = GlobalSock.AF_IMPLINK;
|
|
AF_PUP = GlobalSock.AF_PUP;
|
|
AF_CHAOS = GlobalSock.AF_CHAOS;
|
|
AF_IPX = GlobalSock.AF_IPX;
|
|
AF_NS = GlobalSock.AF_NS;
|
|
AF_ISO = GlobalSock.AF_ISO;
|
|
AF_OSI = GlobalSock.AF_OSI;
|
|
AF_ECMA = GlobalSock.AF_ECMA;
|
|
AF_DATAKIT = GlobalSock.AF_DATAKIT;
|
|
AF_CCITT = GlobalSock.AF_CCITT;
|
|
AF_SNA = GlobalSock.AF_SNA;
|
|
AF_DECnet = GlobalSock.AF_DECnet;
|
|
AF_DLI = GlobalSock.AF_DLI;
|
|
AF_LAT = GlobalSock.AF_LAT;
|
|
AF_HYLINK = GlobalSock.AF_HYLINK;
|
|
AF_APPLETALK = GlobalSock.AF_APPLETALK;
|
|
AF_NETBIOS = GlobalSock.AF_NETBIOS;
|
|
AF_VOICEVIEW = GlobalSock.AF_VOICEVIEW;
|
|
AF_FIREFOX = GlobalSock.AF_FIREFOX;
|
|
AF_UNKNOWN1 = GlobalSock.AF_UNKNOWN1;
|
|
AF_BAN = GlobalSock.AF_BAN;
|
|
AF_ATM = GlobalSock.AF_ATM;
|
|
AF_INET6 = GlobalSock.AF_INET6;
|
|
AF_CLUSTER = GlobalSock.AF_CLUSTER;
|
|
AF_12844 = GlobalSock.AF_12844;
|
|
AF_IRDA = GlobalSock.AF_IRDA;
|
|
AF_NETDES = GlobalSock.AF_NETDES;
|
|
AF_MAX = GlobalSock.AF_MAX;
|
PF_*
PF_UNSPEC = GlobalSock.PF_UNSPEC;
|
|
PF_UNIX = GlobalSock.PF_UNIX;
|
|
PF_INET = GlobalSock.PF_INET;
|
|
PF_IMPLINK = GlobalSock.PF_IMPLINK;
|
|
PF_PUP = GlobalSock.PF_PUP;
|
|
PF_CHAOS = GlobalSock.PF_CHAOS;
|
|
PF_NS = GlobalSock.PF_NS;
|
|
PF_IPX = GlobalSock.PF_IPX;
|
|
PF_ISO = GlobalSock.PF_ISO;
|
|
PF_OSI = GlobalSock.PF_OSI;
|
|
PF_ECMA = GlobalSock.PF_ECMA;
|
|
PF_DATAKIT = GlobalSock.PF_DATAKIT;
|
|
PF_CCITT = GlobalSock.PF_CCITT;
|
|
PF_SNA = GlobalSock.PF_SNA;
|
|
PF_DECnet = GlobalSock.PF_DECnet;
|
|
PF_DLI = GlobalSock.PF_DLI;
|
|
PF_LAT = GlobalSock.PF_LAT;
|
|
PF_HYLINK = GlobalSock.PF_HYLINK;
|
|
PF_APPLETALK = GlobalSock.PF_APPLETALK;
|
|
PF_VOICEVIEW = GlobalSock.PF_VOICEVIEW;
|
|
PF_FIREFOX = GlobalSock.PF_FIREFOX;
|
|
PF_UNKNOWN1 = GlobalSock.PF_UNKNOWN1;
|
|
PF_BAN = GlobalSock.PF_BAN;
|
|
PF_ATM = GlobalSock.PF_ATM;
|
|
PF_INET6 = GlobalSock.PF_INET6;
|
|
PF_CLUSTER = GlobalSock.PF_CLUSTER;
|
|
PF_12844 = GlobalSock.PF_12844;
|
|
PF_IRDA = GlobalSock.PF_IRDA;
|
|
PF_NETDES = GlobalSock.PF_NETDES;
|
|
PF_MAX = GlobalSock.PF_MAX;
|
MSG_*
MSG_OOB = GlobalSock.MSG_OOB;
|
|
MSG_PEEK = GlobalSock.MSG_PEEK;
|
|
MSG_DONTROUTE = GlobalSock.MSG_DONTROUTE;
|
|
MSG_WAITALL = GlobalSock.MSG_WAITALL;
|
|
MSG_INTERRUPT = GlobalSock.MSG_INTERRUPT;
|
|
MSG_MAXIOVLEN = GlobalSock.MSG_MAXIOVLEN;
|
|
MSG_PARTIAL = GlobalSock.MSG_PARTIAL;
|
FD_*
WinSock 2 extension -- bit values and indices for FD_XXX network events | |
FD_READ_BIT = 0;
|
|
FD_READ = (1 shl FD_READ_BIT);
|
|
FD_WRITE_BIT = 1;
|
|
FD_WRITE = (1 shl FD_WRITE_BIT);
|
|
FD_OOB_BIT = 2;
|
|
FD_OOB = (1 shl FD_OOB_BIT);
|
|
FD_ACCEPT_BIT = 3;
|
|
FD_ACCEPT = (1 shl FD_ACCEPT_BIT);
|
|
FD_CONNECT_BIT = 4;
|
|
FD_CONNECT = (1 shl FD_CONNECT_BIT);
|
|
FD_CLOSE_BIT = 5;
|
|
FD_CLOSE = (1 shl FD_CLOSE_BIT);
|
|
FD_QOS_BIT = 6;
|
|
FD_QOS = (1 shl FD_QOS_BIT);
|
|
FD_GROUP_QOS_BIT = 7;
|
|
FD_GROUP_QOS = (1 shl FD_GROUP_QOS_BIT);
|
|
FD_MAX_EVENTS = 8;
|
|
FD_ALL_EVENTS = ((1 shl FD_MAX_EVENTS) - 1);
|
WSAE*
All Windows Sockets error constants are biased by WSABASEERR from the "normal" | |
WSABASEERR = GlobalSock.WSABASEERR;
|
|
Windows Sockets definitions of regular Microsoft C error constants | |
WSAEINTR = GlobalSock.WSAEINTR;
|
|
WSAEBADF = GlobalSock.WSAEBADF;
|
|
WSAEACCES = GlobalSock.WSAEACCES;
|
|
WSAEFAULT = GlobalSock.WSAEFAULT;
|
|
WSAEINVAL = GlobalSock.WSAEINVAL;
|
|
WSAEMFILE = GlobalSock.WSAEMFILE;
|
|
Windows Sockets definitions of regular Berkeley error constants | |
WSAEWOULDBLOCK = GlobalSock.WSAEWOULDBLOCK;
|
|
WSAEINPROGRESS = GlobalSock.WSAEINPROGRESS;
|
|
WSAEALREADY = GlobalSock.WSAEALREADY;
|
|
WSAENOTSOCK = GlobalSock.WSAENOTSOCK;
|
|
WSAEDESTADDRREQ = GlobalSock.WSAEDESTADDRREQ;
|
|
WSAEMSGSIZE = GlobalSock.WSAEMSGSIZE;
|
|
WSAEPROTOTYPE = GlobalSock.WSAEPROTOTYPE;
|
|
WSAENOPROTOOPT = GlobalSock.WSAENOPROTOOPT;
|
|
WSAEPROTONOSUPPORT = GlobalSock.WSAEPROTONOSUPPORT;
|
|
WSAESOCKTNOSUPPORT = GlobalSock.WSAESOCKTNOSUPPORT;
|
|
WSAEOPNOTSUPP = GlobalSock.WSAEOPNOTSUPP;
|
|
WSAEPFNOSUPPORT = GlobalSock.WSAEPFNOSUPPORT;
|
|
WSAEAFNOSUPPORT = GlobalSock.WSAEAFNOSUPPORT;
|
|
WSAEADDRINUSE = GlobalSock.WSAEADDRINUSE;
|
|
WSAEADDRNOTAVAIL = GlobalSock.WSAEADDRNOTAVAIL;
|
|
WSAENETDOWN = GlobalSock.WSAENETDOWN;
|
|
WSAENETUNREACH = GlobalSock.WSAENETUNREACH;
|
|
WSAENETRESET = GlobalSock.WSAENETRESET;
|
|
WSAECONNABORTED = GlobalSock.WSAECONNABORTED;
|
|
WSAECONNRESET = GlobalSock.WSAECONNRESET;
|
|
WSAENOBUFS = GlobalSock.WSAENOBUFS;
|
|
WSAEISCONN = GlobalSock.WSAEISCONN;
|
|
WSAENOTCONN = GlobalSock.WSAENOTCONN;
|
|
WSAESHUTDOWN = GlobalSock.WSAESHUTDOWN;
|
|
WSAETOOMANYREFS = GlobalSock.WSAETOOMANYREFS;
|
|
WSAETIMEDOUT = GlobalSock.WSAETIMEDOUT;
|
|
WSAECONNREFUSED = GlobalSock.WSAECONNREFUSED;
|
|
WSAELOOP = GlobalSock.WSAELOOP;
|
|
WSAENAMETOOLONG = GlobalSock.WSAENAMETOOLONG;
|
|
WSAEHOSTDOWN = GlobalSock.WSAEHOSTDOWN;
|
|
WSAEHOSTUNREACH = GlobalSock.WSAEHOSTUNREACH;
|
|
WSAENOTEMPTY = GlobalSock.WSAENOTEMPTY;
|
|
WSAEPROCLIM = GlobalSock.WSAEPROCLIM;
|
|
WSAEUSERS = GlobalSock.WSAEUSERS;
|
|
WSAEDQUOT = GlobalSock.WSAEDQUOT;
|
|
WSAESTALE = GlobalSock.WSAESTALE;
|
|
WSAEREMOTE = GlobalSock.WSAEREMOTE;
|
|
WSAEDISCON = GlobalSock.WSAEDISCON;
|
|
Extended Windows Sockets error constant definitions | |
WSASYSNOTREADY = GlobalSock.WSASYSNOTREADY;
|
|
WSAVERNOTSUPPORTED = GlobalSock.WSAVERNOTSUPPORTED;
|
|
WSANOTINITIALISED = GlobalSock.WSANOTINITIALISED;
|
|
WSAENOMORE = GlobalSock.WSAENOMORE;
|
|
WSAECANCELLED = GlobalSock.WSAECANCELLED;
|
|
WSAEINVALIDPROCTABLE = GlobalSock.WSAEINVALIDPROCTABLE;
|
|
WSAEINVALIDPROVIDER = GlobalSock.WSAEINVALIDPROVIDER;
|
|
WSAEPROVIDERFAILEDINIT = GlobalSock.WSAEPROVIDERFAILEDINIT;
|
|
WSASYSCALLFAILURE = GlobalSock.WSASYSCALLFAILURE;
|
|
WSASERVICE_NOT_FOUND = GlobalSock.WSASERVICE_NOT_FOUND;
|
|
WSATYPE_NOT_FOUND = GlobalSock.WSATYPE_NOT_FOUND;
|
|
WSA_E_NO_MORE = GlobalSock.WSA_E_NO_MORE;
|
|
WSA_E_CANCELLED = GlobalSock.WSA_E_CANCELLED;
|
|
WSAEREFUSED = GlobalSock.WSAEREFUSED;
|
|
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 | |
WSAHOST_NOT_FOUND = GlobalSock.WSAHOST_NOT_FOUND;
|
|
HOST_NOT_FOUND = GlobalSock.HOST_NOT_FOUND;
|
|
Non-Authoritative: Host not found, or SERVERFAIL | |
WSATRY_AGAIN = GlobalSock.WSATRY_AGAIN;
|
|
TRY_AGAIN = GlobalSock.TRY_AGAIN;
|
|
Non recoverable errors, FORMERR, REFUSED, NOTIMP | |
WSANO_RECOVERY = GlobalSock.WSANO_RECOVERY;
|
|
NO_RECOVERY = GlobalSock.NO_RECOVERY;
|
|
Valid name, no data record of requested type | |
WSANO_DATA = GlobalSock.WSANO_DATA;
|
|
NO_DATA = GlobalSock.NO_DATA;
|
|
no address, look for MX record | |
WSANO_ADDRESS = GlobalSock.WSANO_ADDRESS;
|
|
NO_ADDRESS = GlobalSock.NO_ADDRESS;
|
|
WinSock 2 extension -- new error codes and type definition | |
WSA_IO_PENDING = GlobalSock.WSA_IO_PENDING;
|
|
WSA_IO_INCOMPLETE = GlobalSock.WSA_IO_INCOMPLETE;
|
|
WSA_INVALID_HANDLE = GlobalSock.WSA_INVALID_HANDLE;
|
|
WSA_INVALID_PARAMETER = GlobalSock.WSA_INVALID_PARAMETER;
|
|
WSA_NOT_ENOUGH_MEMORY = GlobalSock.WSA_NOT_ENOUGH_MEMORY;
|
|
WSA_OPERATION_ABORTED = GlobalSock.WSA_OPERATION_ABORTED;
|
|
WSA_INVALID_EVENT = GlobalSock.WSA_INVALID_EVENT;
|
|
WSA_MAXIMUM_WAIT_EVENTS = GlobalSock.WSA_MAXIMUM_WAIT_EVENTS;
|
|
WSA_WAIT_FAILED = GlobalSock.WSA_WAIT_FAILED;
|
|
WSA_WAIT_EVENT_0 = GlobalSock.WSA_WAIT_EVENT_0;
|
|
WSA_WAIT_IO_COMPLETION = GlobalSock.WSA_WAIT_IO_COMPLETION;
|
|
WSA_WAIT_TIMEOUT = GlobalSock.WSA_WAIT_TIMEOUT;
|
|
WSA_INFINITE = GlobalSock.WSA_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. | |
EWOULDBLOCK = GlobalSock.EWOULDBLOCK;
|
|
EINPROGRESS = GlobalSock.EINPROGRESS;
|
|
EALREADY = GlobalSock.EALREADY;
|
|
ENOTSOCK = GlobalSock.ENOTSOCK;
|
|
EDESTADDRREQ = GlobalSock.EDESTADDRREQ;
|
|
EMSGSIZE = GlobalSock.EMSGSIZE;
|
|
EPROTOTYPE = GlobalSock.EPROTOTYPE;
|
|
ENOPROTOOPT = GlobalSock.ENOPROTOOPT;
|
|
EPROTONOSUPPORT = GlobalSock.EPROTONOSUPPORT;
|
|
ESOCKTNOSUPPORT = GlobalSock.ESOCKTNOSUPPORT;
|
|
EOPNOTSUPP = GlobalSock.EOPNOTSUPP;
|
|
EPFNOSUPPORT = GlobalSock.EPFNOSUPPORT;
|
|
EAFNOSUPPORT = GlobalSock.EAFNOSUPPORT;
|
|
EADDRINUSE = GlobalSock.EADDRINUSE;
|
|
EADDRNOTAVAIL = GlobalSock.EADDRNOTAVAIL;
|
|
ENETDOWN = GlobalSock.ENETDOWN;
|
|
ENETUNREACH = GlobalSock.ENETUNREACH;
|
|
ENETRESET = GlobalSock.ENETRESET;
|
|
ECONNABORTED = GlobalSock.ECONNABORTED;
|
|
ECONNRESET = GlobalSock.ECONNRESET;
|
|
ENOBUFS = GlobalSock.ENOBUFS;
|
|
EISCONN = GlobalSock.EISCONN;
|
|
ENOTCONN = GlobalSock.ENOTCONN;
|
|
ESHUTDOWN = GlobalSock.ESHUTDOWN;
|
|
ETOOMANYREFS = GlobalSock.ETOOMANYREFS;
|
|
ETIMEDOUT = GlobalSock.ETIMEDOUT;
|
|
ECONNREFUSED = GlobalSock.ECONNREFUSED;
|
|
ELOOP = GlobalSock.ELOOP;
|
|
ENAMETOOLONG = GlobalSock.ENAMETOOLONG;
|
|
EHOSTDOWN = GlobalSock.EHOSTDOWN;
|
|
EHOSTUNREACH = GlobalSock.EHOSTUNREACH;
|
|
ENOTEMPTY = GlobalSock.ENOTEMPTY;
|
|
EPROCLIM = GlobalSock.EPROCLIM;
|
|
EUSERS = GlobalSock.EUSERS;
|
|
EDQUOT = GlobalSock.EDQUOT;
|
|
ESTALE = GlobalSock.ESTALE;
|
|
EREMOTE = GlobalSock.EREMOTE;
|
|
ENOTREADY = GlobalSock.ENOTREADY;
|
|
EVERNOTSUPPORTED = GlobalSock.EVERNOTSUPPORTED;
|
|
ENOTINITIALISED = GlobalSock.ENOTINITIALISED;
|
|
Error codes from getaddrinfo() | |
EAI_AGAIN = GlobalSock.EAI_AGAIN;
|
|
EAI_BADFLAGS = GlobalSock.EAI_BADFLAGS;
|
|
EAI_FAIL = GlobalSock.EAI_FAIL;
|
|
EAI_FAMILY = GlobalSock.EAI_FAMILY;
|
|
EAI_MEMORY = GlobalSock.EAI_MEMORY;
|
|
EAI_NODATA = GlobalSock.EAI_NODATA;
|
|
EAI_NONAME = GlobalSock.EAI_NONAME;
|
|
EAI_SERVICE = GlobalSock.EAI_SERVICE;
|
|
EAI_SOCKTYPE = GlobalSock.EAI_SOCKTYPE;
|
|
EAI_NODATA = GlobalSock.EAI_NODATA;
|
CF_*
WinSock 2 extension -- manifest constants for return values of the condition function | |
CF_ACCEPT = $0000;
|
|
CF_REJECT = $0001;
|
|
CF_DEFER = $0002;
|
SD_*
WinSock 2 extension -- manifest constants for shutdown() | |
SD_RECEIVE = GlobalSock.SD_RECEIVE;
|
|
SD_SEND = GlobalSock.SD_SEND;
|
|
SD_BOTH = GlobalSock.SD_BOTH;
|
SG_*
WinSock 2 extension -- data type and manifest constants for socket groups | |
SG_UNCONSTRAINED_GROUP = $01;
|
|
SG_CONSTRAINED_GROUP = $02;
|
PFL_*
Flag bit definitions for dwProviderFlags */ | |
PFL_MULTIPLE_PROTO_ENTRIES = $00000001;
|
|
PFL_RECOMMENDED_PROTO_ENTRY = $00000002;
|
|
PFL_HIDDEN = $00000004;
|
|
PFL_MATCHES_PROTOCOL_ZERO = $00000008;
|
XP1_*
Flag bit definitions for dwServiceFlags1 */ | |
XP1_CONNECTIONLESS = $00000001;
|
|
XP1_GUARANTEED_DELIVERY = $00000002;
|
|
XP1_GUARANTEED_ORDER = $00000004;
|
|
XP1_MESSAGE_ORIENTED = $00000008;
|
|
XP1_PSEUDO_STREAM = $00000010;
|
|
XP1_GRACEFUL_CLOSE = $00000020;
|
|
XP1_EXPEDITED_DATA = $00000040;
|
|
XP1_CONNECT_DATA = $00000080;
|
|
XP1_DISCONNECT_DATA = $00000100;
|
|
XP1_SUPPORT_BROADCAST = $00000200;
|
|
XP1_SUPPORT_MULTIPOINT = $00000400;
|
|
XP1_MULTIPOINT_CONTROL_PLANE = $00000800;
|
|
XP1_MULTIPOINT_DATA_PLANE = $00001000;
|
|
XP1_QOS_SUPPORTED = $00002000;
|
|
XP1_INTERRUPT = $00004000;
|
|
XP1_UNI_SEND = $00008000;
|
|
XP1_UNI_RECV = $00010000;
|
|
XP1_IFS_HANDLES = $00020000;
|
|
XP1_PARTIAL_MESSAGE = $00040000;
|
JL_*
WinSock 2 extension -- manifest constants for WSAJoinLeaf() | |
JL_SENDER_ONLY = $01;
|
|
JL_RECEIVER_ONLY = $02;
|
|
JL_BOTH = $04;
|
WSA_FLAG_*
WinSock 2 extension -- manifest constants for WSASocket() | |
WSA_FLAG_OVERLAPPED = GlobalSock.WSA_FLAG_OVERLAPPED;
|
|
WSA_FLAG_MULTIPOINT_C_ROOT = GlobalSock.WSA_FLAG_MULTIPOINT_C_ROOT;
|
|
WSA_FLAG_MULTIPOINT_C_LEAF = GlobalSock.WSA_FLAG_MULTIPOINT_C_LEAF;
|
|
WSA_FLAG_MULTIPOINT_D_ROOT = GlobalSock.WSA_FLAG_MULTIPOINT_D_ROOT;
|
|
WSA_FLAG_MULTIPOINT_D_LEAF = GlobalSock.WSA_FLAG_MULTIPOINT_D_LEAF;
|
IOC_*
WinSock 2 extension -- manifest constants for WSAIoctl() | |
IOC_UNIX = $00000000;
|
|
IOC_WS2 = $08000000;
|
|
IOC_PROTOCOL = $10000000;
|
|
IOC_VENDOR = $18000000;
|
SIO_*
SIO_ASSOCIATE_HANDLE = IOC_IN or IOC_WS2 or 1;
|
|
SIO_ENABLE_CIRCULAR_QUEUEING = IOC_WS2 or 2;
|
|
SIO_FIND_ROUTE = IOC_OUT or IOC_WS2 or 3;
|
|
SIO_FLUSH = IOC_WS2 or 4;
|
|
SIO_GET_BROADCAST_ADDRESS = IOC_OUT or IOC_WS2 or 5;
|
|
SIO_GET_EXTENSION_FUNCTION_POINTER = IOC_INOUT or IOC_WS2 or 6;
|
|
SIO_GET_QOS = IOC_INOUT or IOC_WS2 or 7;
|
|
SIO_GET_GROUP_QOS = IOC_INOUT or IOC_WS2 or 8;
|
|
SIO_MULTIPOINT_LOOPBACK = IOC_IN or IOC_WS2 or 9;
|
|
SIO_MULTICAST_SCOPE = IOC_IN or IOC_WS2 or 10;
|
|
SIO_SET_QOS = IOC_IN or IOC_WS2 or 11;
|
|
SIO_SET_GROUP_QOS = IOC_IN or IOC_WS2 or 12;
|
|
SIO_TRANSLATE_HANDLE = IOC_INOUT or IOC_WS2 or 13;
|
|
WinSock 2 extension -- manifest constants for SIO_TRANSLATE_HANDLE ioctl | |
TH_NETDEV = $00000001;
|
|
TH_TAPI = $00000002;
|
NS_*
NS_ALL = (0);
|
|
NS_SAP = (1);
|
|
NS_NDS = (2);
|
|
NS_PEER_BROWSE = (3);
|
|
NS_TCPIP_LOCAL = (10);
|
|
NS_TCPIP_HOSTS = (11);
|
|
NS_DNS = (12);
|
|
NS_NETBT = (13);
|
|
NS_WINS = (14);
|
|
NS_NBP = (20);
|
|
NS_MS = (30);
|
|
NS_STDA = (31);
|
|
NS_NTDS = (32);
|
|
NS_X500 = (40);
|
|
NS_NIS = (41);
|
|
NS_NISPLUS = (42);
|
|
NS_WRQ = (50);
|
RES_*
Resolution flags for WSAGetAddressByName() Note these are also used by the 1.1 API GetAddressByName, so leave them around. | |
RES_UNUSED_1 = $00000001;
|
|
RES_FLUSH_CACHE = $00000002;
|
|
RES_SERVICE = $00000004;
|
SERVICE_TYPE_*
Well known value names for Service Types | |
SERVICE_TYPE_VALUE_IPXPORTA = 'IpxSocket';
|
SERVICE_TYPE_VALUE_IPXPORTW : PWideChar = 'IpxSocket'; |
SERVICE_TYPE_VALUE_SAPIDA = 'SapId';
|
SERVICE_TYPE_VALUE_SAPIDW : PWideChar = 'SapId'; |
SERVICE_TYPE_VALUE_TCPPORTA = 'TcpPort';
|
SERVICE_TYPE_VALUE_TCPPORTW : PWideChar = 'TcpPort'; |
SERVICE_TYPE_VALUE_UDPPORTA = 'UdpPort';
|
SERVICE_TYPE_VALUE_UDPPORTW : PWideChar = 'UdpPort'; |
SERVICE_TYPE_VALUE_OBJECTIDA = 'ObjectId';
|
SERVICE_TYPE_VALUE_OBJECTIDW : PWideChar = 'ObjectId'; |
SERVICE_TYPE_VALUE_SAPID = SERVICE_TYPE_VALUE_SAPIDA;
|
|
SERVICE_TYPE_VALUE_TCPPORT = SERVICE_TYPE_VALUE_TCPPORTA;
|
|
SERVICE_TYPE_VALUE_UDPPORT = SERVICE_TYPE_VALUE_UDPPORTA;
|
|
SERVICE_TYPE_VALUE_OBJECTID = SERVICE_TYPE_VALUE_OBJECTIDA;
|
|
WinSock 2 extension -- WSABUF and QOS struct, include qos.h to pull in FLOWSPEC and related definitions | |
SERVICETYPE_NOTRAFFIC = $00000000;
|
No data in this direction |
SERVICETYPE_BESTEFFORT = $00000001;
|
Best Effort |
SERVICETYPE_CONTROLLEDLOAD = $00000002;
|
Controlled Load |
SERVICETYPE_GUARANTEED = $00000003;
|
Guaranteed |
SERVICETYPE_NETWORK_UNAVAILABLE = $00000004;
|
Used to notify change to user |
SERVICETYPE_GENERAL_INFORMATION = $00000005;
|
Corresponds to "General Parameters" defined by IntServ |
SERVICETYPE_NOCHANGE = $00000006;
|
Used to indicate that the flow spec contains no change from any previous one |
SERVICE_IMMEDIATE_TRAFFIC_CONTROL = $80000000;
|
To turn on immediate traffic control, OR this flag with the ServiceType field in teh FLOWSPEC |
LUP_*
LUP_DEEP = $0001;
|
|
LUP_CONTAINERS = $0002;
|
|
LUP_NOCONTAINERS = $0004;
|
|
LUP_NEAREST = $0008;
|
|
LUP_RETURN_NAME = $0010;
|
|
LUP_RETURN_TYPE = $0020;
|
|
LUP_RETURN_VERSION = $0040;
|
|
LUP_RETURN_COMMENT = $0080;
|
|
LUP_RETURN_ADDR = $0100;
|
|
LUP_RETURN_BLOB = $0200;
|
|
LUP_RETURN_ALIASES = $0400;
|
|
LUP_RETURN_QUERY_STRING = $0800;
|
|
LUP_RETURN_ALL = $0FF0;
|
|
LUP_RES_SERVICE = $8000;
|
|
LUP_FLUSHCACHE = $1000;
|
|
LUP_FLUSHPREVIOUS = $2000;
|
AI_*
Flags used in "hints" argument to getaddrinfo() | |
Note: Under Linux these values may be different | |
AI_PASSIVE = GlobalSock.AI_PASSIVE;
|
|
AI_CANONNAME = GlobalSock.AI_CANONNAME;
|
|
AI_NUMERICHOST = GlobalSock.AI_NUMERICHOST;
|
|
AI_NUMERICSERV = GlobalSock.AI_NUMERICSERV;
|
|
AI_ALL = GlobalSock.AI_ALL;
|
|
AI_ADDRCONFIG = GlobalSock.AI_ADDRCONFIG;
|
|
AI_V4MAPPED = GlobalSock.AI_V4MAPPED;
|
|
AI_NON_AUTHORITATIVE = GlobalSock.AI_NON_AUTHORITATIVE;
|
|
AI_SECURE = GlobalSock.AI_SECURE;
|
|
AI_RETURN_PREFERRED_NAMES = GlobalSock.AI_RETURN_PREFERRED_NAMES;
|
|
AI_FQDN = GlobalSock.AI_FQDN;
|
|
AI_FILESERVER = GlobalSock.AI_FILESERVER;
|
NI_*
Flags for getnameinfo() | |
NI_NOFQDN = GlobalSock.NI_NOFQDN;
|
|
NI_NUMERICHOST = GlobalSock.NI_NUMERICHOST;
|
|
NI_NAMEREQD = GlobalSock.NI_NAMEREQD;
|
|
NI_NUMERICSERV = GlobalSock.NI_NUMERICSERV;
|
|
NI_DGRAM = GlobalSock.NI_DGRAM;
|
|
NI_MAXHOST = GlobalSock.NI_MAXHOST;
|
|
NI_MAXSERV = GlobalSock.NI_MAXSERV;
|
Type definitions
See globalsock.pas
Class definitions
Base socket classes
TWinsock2Socket = class(TListObject)
|
TWinsock2SocketThread = class(TThreadEx)
|
TWinsock2SocketThreads = class(TObject)
|
TWinsock2SocketBuffer = class(TObject)
|
TWinsock2SocketBuffers = class(TObject)
|
Raw socket (SOCK_RAW) classes
TWinsock2RAWSocket = class(TWinsock2Socket)
|
Stream socket (SOCK_STREAM) classes
TWinsock2TCPSocket = class(TWinsock2Socket)
|
Datagram socket (SOCK_DGRAM) classes
TWinsock2UDPSocket = class(TWinsock2Socket)
|
Raw client classes
TWinsock2RAWClient = class(TWinsock2RAWSocket)
|
Stream client classes
TWinsock2TCPClient = class(TWinsock2TCPSocket)
|
Datagram client classes
TWinsock2UDPClient = class(TWinsock2UDPSocket)
|
Stream server classes
TWinsock2TCPServer = class(TWinsock2TCPSocket)
|
TWinsock2TCPServerThread = class(TWinsock2SocketThread)
|
TWinsock2TCPListenerThread = class(TWinsock2SocketThread)
|
TWinsock2TCPServerThreads = class(TWinsock2SocketThreads)
|
TWinsock2TCPListener = class(TWinsock2TCPSocket)
|
Datagram server classes
TWinsock2UDPServer = class(TWinsock2UDPSocket)
|
TWinsock2UDPServerThread = class(TWinsock2SocketThread)
|
TWinsock2UDPListenerThread = class(TWinsock2SocketThread)
|
TWinsock2UDPServerThreads = class(TWinsock2SocketThreads)
|
TWinsock2UDPServerBuffer = class(TWinsock2SocketBuffer)
|
TWinsock2UDPServerBuffers = class(TWinsock2SocketBuffers)
|
TWinsock2UDPListener = class(TWinsock2UDPSocket)
|
Public variables
None defined
Function declarations
Initialization functions
procedure WS2Init;
Note | None documented |
---|
function WS2Start:Boolean;
Note | None documented |
---|
function WS2Stop:Boolean;
Note | None documented |
---|
procedure WS2AsyncStart(Data:Pointer);
Note | None documented |
---|
Winsock2 functions
function accept( const s: TSocket; addr: PSockAddr; addrlen: PLongint ): TSocket;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function accept( const s: TSocket; addr: PSockAddr; var addrlen: Longint ): TSocket;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function bind( const s: TSocket; addr: PSockAddr; namelen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function bind( const s: TSocket; var addr: TSockAddr; namelen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function closesocket( const s: TSocket ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function connect( const s: TSocket; name: PSockAddr; namelen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function connect( const s: TSocket; var name: TSockAddr; namelen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ioctlsocket( const s: TSocket; cmd: Longint; var arg: u_long ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ioctlsocket( const s: TSocket; cmd: Longint; argp: pu_long ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getpeername( const s: TSocket; var name: TSockAddr; var namelen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getsockname( const s: TSocket; var name: TSockAddr; var namelen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getsockopt( const s: TSocket; const level, optname: Longint; optval: PChar; var optlen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getsockopt( const s: TSocket; const level, optname: Longint; optval: Pointer; var optlen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getsockopt( const s: TSocket; const level, optname: Longint; var optval; var optlen: Longint ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function htond(hostdouble: Double): UInt64;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function htonf(hostfloat: Single): UInt32;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function htonl(hostlong: u_long): u_long;
Note | See the Windows Sockets 2 documentation for additional information} |
---|
function htonll(hostlonglong: UInt64): UInt64;
Note | See the Windows Sockets 2 documentation for additional information} |
---|
function htons(hostshort: u_short): u_short;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function inet_addr(cp: PChar): u_long;
Note | Address will be returned in network byte order.
See the Windows Sockets 2 documentation for additional information |
---|
function inet_ntoa(inaddr: TInAddr): PChar;
Note | As per the Winsock specification, the buffer returned by this function is only guaranteed to be valid until the next Winsock function call is made within the same thread. Therefore, the data should be copied before another Winsock call.
Address will be in network byte order. See the Windows Sockets 2 documentation for additional information. |
---|
function listen(s: TSocket; backlog: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ntohd(netdouble: UInt64): Double;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ntohf(netfloat: UInt32): Single;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ntohl(netlong: u_long): u_long;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ntohll(netlonglong: UInt64): UInt64;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function ntohs(netshort: u_short): u_short;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function recv(s: TSocket; var Buf; len, flags: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function recv(s: TSocket; Buf: PChar; len, flags: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function recv(s: TSocket; Buf: Pointer; len, flags: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function recvfrom(s: TSocket; Buf: PChar; len, flags: Longint; from: PSockAddr; fromlen: PLongint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function recvfrom(s: TSocket; Buf: Pointer; len, flags: Longint; from: PSockAddr; fromlen: PLongint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function recvfrom(s: TSocket; var Buf; len, flags: Longint; var from: TSockAddr; var fromlen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function select(nfds: Longint; readfds, writefds, exceptfds: PFDSet; timeout: PTimeVal): Longint;
Note | All sockets contained by the FDSet must be of the same type.
See the Windows Sockets 2 documentation for additional information |
---|
function send(s: TSocket; var Buf; len, flags: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function send(s: TSocket; Buf: PChar; len, flags: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function send(s: TSocket; Buf: Pointer; len, flags: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function sendto(s: TSocket; var Buf; len, flags: Longint; var addrto: TSockAddr; tolen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function sendto(s: TSocket; Buf: PChar; len, flags: Longint; addrto: PSockAddr; tolen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function sendto(s: TSocket; Buf: Pointer; len, flags: Longint; addrto: PSockAddr; tolen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function setsockopt(s: TSocket; level, optname: Longint; const optval; optlen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function setsockopt(s: TSocket; level, optname: Longint; optval: PChar; optlen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function setsockopt(s: TSocket; level, optname: Longint; optval: Pointer; optlen: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function shutdown(s: TSocket; how: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function socket(af, struct, protocol: Longint): TSocket;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function gethostbyaddr(addr: Pointer; len, family: Longint): PHostEnt;
Note | Address will be in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function gethostbyname(name: PChar): PHostEnt;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function gethostname(name: PChar; len: Longint): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getservbyport(port: Longint; proto: PChar): PServEnt;
Note | Port will be in network byte order.
See the Windows Sockets 2 documentation for additional information |
---|
function getservbyname(name, proto: PChar): PServEnt;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getprotobynumber(proto: Longint): PProtoEnt;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getprotobyname(name: PChar): PProtoEnt;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getaddrinfo(pNodeName, pServiceName: PChar; pHints: PAddrInfo; var ppResult: PAddrInfo): LongInt;
Note | See the Windows Sockets 2 documentation for additional information |
---|
procedure freeaddrinfo(ai: PAddrInfo);
Note | See the Windows Sockets 2 documentation for additional information |
---|
function getnameinfo(sa: PSockAddr; salen: Integer; host: PChar; hostlen: DWORD; serv: PChar; servlen: DWORD; flags: Integer): Integer;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function Gai_StrError(ecode: Longint): PChar;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSAStartup(wVersionRequired: word; var WSData: TWSAData): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSACleanup: Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
procedure WSASetLastError(iError: Longint); inline;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSAGetLastError: Longint; inline;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function __WSAFDIsSet(s: TSocket; var FDSet: TFDSet): BOOL;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function inet_pton(Family: Longint; const pszAddrString: PChar; pAddrBuf: Pointer): Longint;
Note | Address will be returned in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function InetPtonA(Family: Longint; const pszAddrString: PChar; pAddrBuf: Pointer): Longint;
Note | Address will be returned in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function InetPtonW(Family: Longint; const pszAddrString: PWideChar; pAddrBuf: Pointer): Longint;
Note | Address will be returned in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function inet_ntop(Family: Longint; pAddr: Pointer; pStringBuf: PChar; StringBufSize: Longint): PChar;
Note | Address will be in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function InetNtopA(Family: Longint; pAddr: Pointer; pStringBuf: PChar; StringBufSize: Longint): PChar;
Note | Address will be in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function InetNtopW(Family: Longint; pAddr: Pointer; pStringBuf: PWideChar; StringBufSize: Longint): PWideChar;
Note | Address will be in network byte order where applicable.
See the Windows Sockets 2 documentation for additional information |
---|
function WSAHtonl( s : TSocket; hostlong : u_long; lpnetlong : pu_long ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSAHtons( s : TSocket; hostshort : u_short; lpnetshort : pu_short ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSANtohl( s : TSocket; netlong : u_long; lphostlong : pu_long ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSANtohs( s : TSocket; netshort : u_short; lphostshort : pu_short ): Longint;
Note | See the Windows Sockets 2 documentation for additional information |
---|
function WSAMakeSyncReply(Buflen, Error: Word): Longint;
Note | None documented |
---|
function WSAMakeSelectReply(Event, Error: Word): Longint;
Note | None documented |
---|
function WSAGetAsyncBuflen(Param: Longint): Word;
Note | None documented |
---|
function WSAGetAsyncError(Param: Longint): Word;
Note | None documented |
---|
function WSAGetSelectEvent(Param: Longint): Word;
Note | None documented |
---|
function WSAGetSelectError(Param: Longint): Word;
Note | None documented |
---|
procedure FD_CLR(Socket: TSocket; var FDSet: TFDSet);
Note | None documented |
---|
function FD_ISSET(Socket: TSocket; var FDSet: TFDSet): Boolean;
Note | None documented |
---|
procedure FD_SET(Socket: TSocket; var FDSet: TFDSet);
Note | None documented |
---|
procedure FD_ZERO(var FDSet: TFDSet);
Note | None documented |
---|
Winsock2 undocumented functions
function WsControl(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Note | None documented |
---|
function getnetbyaddr(addr: Pointer; len, Struct: Integer): PNetEnt;
Note | Address will be in network order where applicable |
---|
function getnetbyname(name: PChar): PNetEnt;
Note | None documented |
---|
Winsock2 enhanced functions
function WsControlEx(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Note | None documented |
---|
RTL text IO functions
function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;
Note | Not intended to be called directly by applications |
---|
function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;
Note | Not intended to be called directly by applications |
---|
function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
Note | Not intended to be called directly by applications |
---|
Winsock2 helper functions
function Winsock2RedirectInput(s:TSocket):Boolean;
s | The socket to redirect input to (or INVALID_SOCKET to stop redirection) |
---|---|
Return | True if completed successfully or False if an error occurred |
Note | Redirects the input of the text file Input which also redirects the input of Read, ReadLn and the standard C library. |
function Winsock2RedirectOutput(s:TSocket):Boolean;
s | The socket to redirect output to (or INVALID_SOCKET to stop redirection) |
---|---|
Return | True if completed successfully or False if an error occurred |
Note | Redirects the output of the text files Output, ErrOutput, StdOut and StdErr which also redirects the output of Write, WriteLn and the standard C library. |
function Winsock2ErrorToString(AError:LongInt):String;
Note | None documented |
---|
Return to Unit Reference