Unit Winsock

From Ultibo.org
Revision as of 05:56, 31 July 2025 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Winsock 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 specific constants WINSOCK_*
WINSOCK_VERSION = $0101;  
 
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;  
 
INADDR_ANY = GlobalSock.INADDR_ANY;  
INADDR_LOOPBACK = GlobalSock.INADDR_LOOPBACK;  
INADDR_BROADCAST = GlobalSock.INADDR_BROADCAST;  
INADDR_NONE = GlobalSock.INADDR_NONE;  
 
IN_CLASSA_NET = GlobalSock.IN_CLASSA_NET;  
IN_CLASSA_NSHIFT = GlobalSock.IN_CLASSA_NSHIFT;  
IN_CLASSA_HOST = GlobalSock.IN_CLASSA_HOST;  
IN_CLASSA_MAX = GlobalSock.IN_CLASSA_MAX;  
IN_CLASSB_NET = GlobalSock.IN_CLASSB_NET;  
IN_CLASSB_NSHIFT = GlobalSock.IN_CLASSB_NSHIFT;  
IN_CLASSB_HOST = GlobalSock.IN_CLASSB_HOST;  
IN_CLASSB_MAX = GlobalSock.IN_CLASSB_MAX;  
IN_CLASSC_NET = GlobalSock.IN_CLASSC_NET;  
IN_CLASSC_NSHIFT = GlobalSock.IN_CLASSC_NSHIFT;  
IN_CLASSC_HOST = GlobalSock.IN_CLASSC_HOST;  
 
WSADESCRIPTION_LEN = GlobalSock.WSADESCRIPTION_LEN;  
WSASYS_STATUS_LEN = GlobalSock.WSASYS_STATUS_LEN;  
 
TF_DISCONNECT = GlobalSock.TF_DISCONNECT;  
TF_REUSE_SOCKET = GlobalSock.TF_REUSE_SOCKET;  
TF_WRITE_BEHIND = GlobalSock.TF_WRITE_BEHIND;  
 
Level number for (get/set)sockopt() to apply to socket itself
SOL_SOCKET = GlobalSock.SOL_SOCKET;  
 
Maximum queue length specifiable by listen
SOMAXCONN = 5; SOMAXCONN = GlobalSock.SOMAXCONN; (Lower for Winsock 1.1)
 
Define constant based on rfc883, used by gethostbyxxxx() calls
MAXGETHOSTSTRUCT = GlobalSock.MAXGETHOSTSTRUCT;  
 
This is used instead of -1, since the TSocket type is unsigned
INVALID_SOCKET = GlobalSock.INVALID_SOCKET;  
SOCKET_ERROR = GlobalSock.SOCKET_ERROR;  


IP protocol 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;  


IP port 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 option 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;  


Socket type 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;  


Socket option 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 option 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 option UDP_*
UDP_NOCHECKSUM = GlobalSock.UDP_NOCHECKSUM;  


Address family 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;  


Protocol family 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;  


Message flag MSG_*
MSG_OOB = GlobalSock.MSG_OOB;  
MSG_PEEK = GlobalSock.MSG_PEEK;  
MSG_DONTROUTE = GlobalSock.MSG_DONTROUTE;  
 
MSG_MAXIOVLEN = GlobalSock.MSG_MAXIOVLEN;  
 
MSG_PARTIAL = GlobalSock.MSG_PARTIAL;  


WSAAsyncSelect flag FD_*
Define flags to be used with the WSAAsyncSelect() call
 
FD_READ = GlobalSock.FD_READ;  
FD_WRITE = GlobalSock.FD_WRITE;  
FD_OOB = GlobalSock.FD_OOB;  
FD_ACCEPT = GlobalSock.FD_ACCEPT;  
FD_CONNECT = GlobalSock.FD_CONNECT;  
FD_CLOSE = GlobalSock.FD_CLOSE;  


Socket error 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;  
 
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;  
 
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;  


WsControlEx option WSA_*
WSA_MAX_INTERFACE_NAME_LEN = GlobalSock.WSA_MAX_INTERFACE_NAME_LEN;  
WSA_ANY_SIZE = GlobalSock.WSA_ANY_SIZE;  
 
WSA_MAX_ADAPTER_NAME = GlobalSock.WSA_MAX_ADAPTER_NAME;  
 
WSA_MAX_ADAPTER_DESCRIPTION_LENGTH = GlobalSock.WSA_MAX_ADAPTER_DESCRIPTION_LENGTH;  
WSA_MAX_ADAPTER_NAME_LENGTH = GlobalSock.WSA_MAX_ADAPTER_NAME_LENGTH;  
WSA_MAX_ADAPTER_ADDRESS_LENGTH = GlobalSock.WSA_MAX_ADAPTER_ADDRESS_LENGTH;  
WSA_MAX_HOSTNAME_LEN = GlobalSock.WSA_MAX_HOSTNAME_LEN;  
WSA_MAX_DOMAIN_NAME_LEN = GlobalSock.WSA_MAX_DOMAIN_NAME_LEN;  
WSA_MAX_SCOPE_ID_LEN = GlobalSock.WSA_MAX_SCOPE_ID_LEN;  
 
WSA_MAXLEN_IFDESCR = GlobalSock.WSA_MAXLEN_IFDESCR;  
WSA_MAXLEN_PHYSADDR = GlobalSock.WSA_MAXLEN_PHYSADDR;  
 
WSA_USE_CURRENT_TTL = GlobalSock.WSA_USE_CURRENT_TTL;  
WSA_USE_CURRENT_FORWARDING = GlobalSock.WSA_USE_CURRENT_FORWARDING;  
 
WSA_IP_FORWARDING = GlobalSock.WSA_IP_FORWARDING;  
WSA_IP_NOT_FORWARDING = GlobalSock.WSA_IP_NOT_FORWARDING;  
 
WsControlEx Functions
WSA_GETNUMBEROFINTERFACES = GlobalSock.WSA_GETNUMBEROFINTERFACES;  
WSA_GETIFENTRY = GlobalSock.WSA_GETIFENTRY;  
WSA_GETIFTABLE = GlobalSock.WSA_GETIFTABLE;  
WSA_GETIPADDRTABLE = GlobalSock.WSA_GETIPADDRTABLE;  
WSA_GETIPNETTABLE = GlobalSock.WSA_GETIPNETTABLE;  
WSA_GETIPFORWARDTABLE = GlobalSock.WSA_GETIPFORWARDTABLE;  
WSA_GETTCPTABLE = GlobalSock.WSA_GETTCPTABLE;  
WSA_GETUDPTABLE = GlobalSock.WSA_GETUDPTABLE;  
 
WSA_GETIPSTATISTICS = GlobalSock.WSA_GETIPSTATISTICS;  
WSA_GETICMPSTATISTICS = GlobalSock.WSA_GETICMPSTATISTICS;  
WSA_GETTCPSTATISTICS = GlobalSock.WSA_GETTCPSTATISTICS;  
WSA_GETUDPSTATISTICS = GlobalSock.WSA_GETUDPSTATISTICS;  
 
WSA_SETIFENTRY = GlobalSock.WSA_SETIFENTRY;  
WSA_CREATEIPFORWARDENTRY = GlobalSock.WSA_CREATEIPFORWARDENTRY;  
WSA_SETIPFORWARDENTRY = GlobalSock.WSA_SETIPFORWARDENTRY;  
WSA_DELETEIPFORWARDENTRY = GlobalSock.WSA_DELETEIPFORWARDENTRY;  
 
WSA_SETIPSTATISTICS = GlobalSock.WSA_SETIPSTATISTICS;  
WSA_SETIPTTL = GlobalSock.WSA_SETIPTTL;  
 
WSA_CREATEIPNETENTRY = GlobalSock.WSA_CREATEIPNETENTRY;  
WSA_SETIPNETENTRY = GlobalSock.WSA_SETIPNETENTRY;  
WSA_DELETEIPNETENTRY = GlobalSock.WSA_DELETEIPNETENTRY;  
WSA_FLUSHIPNETTABLE = GlobalSock.WSA_FLUSHIPNETTABLE;  
 
WSA_CREATEPROXYARPENTRY = GlobalSock.WSA_CREATEPROXYARPENTRY;  
WSA_DELETEPROXTARPENTRY = GlobalSock.WSA_DELETEPROXTARPENTRY;  
 
WSA_SETTCPENTRY = GlobalSock.WSA_SETTCPENTRY;  
WSA_GETINTERFACEINFO = GlobalSock.WSA_GETINTERFACEINFO;  
WSA_GETUNIDIRECTIONALADAPTERINFO = GlobalSock.WSA_GETUNIDIRECTIONALADAPTERINFO;  
 
WSA_GETBESTINTERFACE = GlobalSock.WSA_GETBESTINTERFACE;  
WSA_GETBESTROUTE = GlobalSock.WSA_GETBESTROUTE;  
WSA_NOTIFYADDRCHANGE = GlobalSock.WSA_NOTIFYADDRCHANGE;  
WSA_NOTIFYROUTECHANGE = GlobalSock.WSA_NOTIFYROUTECHANGE;  
WSA_GETADAPTERINDEX = GlobalSock.WSA_GETADAPTERINDEX;  
WSA_ADDIPADDRESS = GlobalSock.WSA_ADDIPADDRESS;  
WSA_DELETEIPADDRESS = GlobalSock.WSA_DELETEIPADDRESS;  
WSA_GETNETWORKPARAMS = GlobalSock.WSA_GETNETWORKPARAMS;  
WSA_GETADAPTERSINFO = GlobalSock.WSA_GETADAPTERSINFO;  
WSA_GETPERADAPTERINFO = GlobalSock.WSA_GETPERADAPTERINFO;  
WSA_IPRELEASEADDRESS = GlobalSock.WSA_IPRELEASEADDRESS;  
WSA_IPRENEWADDRESS = GlobalSock.WSA_IPRENEWADDRESS;  
WSA_SENDARP = GlobalSock.WSA_SENDARP;  
WSA_GETRTTANDHOPCOUNT = GlobalSock.WSA_GETRTTANDHOPCOUNT;  
WSA_GETFRIENDLYIFINDEX = GlobalSock.WSA_GETFRIENDLYIFINDEX;  
WSA_ENABLEROUTER = GlobalSock.WSA_ENABLEROUTER;  
WSA_UNENABLEROUTER = GlobalSock.WSA_UNENABLEROUTER;  


Type definitions


See globalsock.pas

Public variables


None defined

Function declarations



Initialization functions

procedure WSInit;
Description: To be documented
Note None documented


function WSStart:Boolean;
Description: To be documented
Note None documented


function WSStop:Boolean;
Description: To be documented
Note None documented


procedure WSAsyncStart(Data:Pointer);
Description: To be documented
Note None documented


Winsock functions

function accept(s: TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;
Description: Accept an incoming connection attempt on a socket
Note See the Windows Sockets documentation for additional information


function accept(s: TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;
Description: Accept an incoming connection attempt on a socket
Note See the Windows Sockets documentation for additional information


function bind(s: TSocket; addr: PSockaddr; namelen:tOS_INT):tOS_INT;
Description: Associate a local address with a socket
Note See the Windows Sockets documentation for additional information


function bind(s: TSocket; var addr: TSockaddr; namelen:tOS_INT):tOS_INT;
Description: Associate a local address with a socket
Note See the Windows Sockets documentation for additional information


function closesocket(s: TSocket):tOS_INT;
Description: Close an existing socket
Note See the Windows Sockets documentation for additional information


function connect(s: TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;
Description: Establish a connection to a specified socket
Note See the Windows Sockets documentation for additional information


function connect(s: TSocket; var name:TSockAddr; namelen:tOS_INT):tOS_INT;
Description: Establish a connection to a specified socket
Note See the Windows Sockets documentation for additional information


function ioctlsocket(s: TSocket; cmd:longint; var arg:u_long):tOS_INT;
Description: Control the I/O mode of a socket
Note See the Windows Sockets documentation for additional information


function ioctlsocket(s: TSocket; cmd:longint; var arg:longint):tOS_INT;
Description: Control the I/O mode of a socket
Note See the Windows Sockets documentation for additional information


function ioctlsocket(s: TSocket; cmd:longint; argp:pu_long):tOS_INT;
Description: Control the I/O mode of a socket
Note See the Windows Sockets documentation for additional information


function getpeername(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: Retrieve the address of the peer to which a socket is connected
Note See the Windows Sockets documentation for additional information


function getsockname(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: Retrieve the local name for a socket
Note See the Windows Sockets documentation for additional information


function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; var optlen:tOS_INT):tOS_INT;
Description: Retrieve a socket option
Note See the Windows Sockets documentation for additional information


function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; var optlen:tOS_INT):tOS_INT;
Description: Retrieve a socket option
Note See the Windows Sockets documentation for additional information


function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;
Description: Retrieve a socket option
Note See the Windows Sockets documentation for additional information


function htonl(hostlong: u_long): u_long;
Description: Convert a u_long from host byte order to TCP/IP network byte order (which is big-endian)
Note See the Windows Sockets documentation for additional information


function htons(hostshort: u_short): u_short;
Description: Convert a u_short from host byte order to TCP/IP network byte order (which is big-endian)
Note See the Windows Sockets documentation for additional information


function inet_addr(cp: PChar): u_long;
Description: Convert a string containing an IPv4 dotted-decimal address into a proper address for the IN_ADDR structure
Note Address will be returned in network byte order.

See the Windows Sockets documentation for additional information


function inet_ntoa(inaddr: TInAddr): PChar;
Description: Convert an (IPv4) Internet network address into an ASCII string in Internet standard dotted-decimal format
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.
Note Address will be in network order.

See the Windows Sockets documentation for additional information


function listen(s: TSocket; backlog:tOS_INT):tOS_INT;
Description: Place a socket in a state in which it is listening for incoming connections
Note See the Windows Sockets documentation for additional information


function ntohl(netlong: u_long): u_long;
Description: Convert a u_long from TCP/IP network byte order to host byte order
Note See the Windows Sockets documentation for additional information


function ntohs(netshort: u_short): u_short;
Description: Convert a u_short from TCP/IP network byte order to host byte order
Note See the Windows Sockets documentation for additional information


function recv(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: Receive data from a connected socket or a bound connectionless socket
Note See the Windows Sockets documentation for additional information


function recv(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: Receive data from a connected socket or a bound connectionless socket
Note See the Windows Sockets documentation for additional information


function recv(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: Receive data from a connected socket or a bound connectionless socket
Note See the Windows Sockets documentation for additional information


function recvfrom(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: Receive a datagram and store the source address
Note See the Windows Sockets documentation for additional information


function recvfrom(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: Receive a datagram and store the source address
Note See the Windows Sockets documentation for additional information


function recvfrom(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var from:TSockAddr; var fromlen:tOS_INT):tOS_INT;
Description: Receive a datagram and store the source address
Note See the Windows Sockets documentation for additional information


function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;
Description: Determine the status of one or more sockets, waiting if necessary, to perform synchronous I/O
Note All sockets contained by the FDSet must be of the same type.

See the Windows Sockets documentation for additional information


function send(s: TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: Send data on a connected socket
Note See the Windows Sockets documentation for additional information


function send(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: Send data on a connected socket
Note See the Windows Sockets documentation for additional information


function send(s: TSocket;buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: Send data on a connected socket
Note See the Windows Sockets documentation for additional information


function sendto(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: Send data to a specific destination
Note See the Windows Sockets documentation for additional information


function sendto(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: Send data to a specific destination
Note See the Windows Sockets documentation for additional information


function sendto(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;
Description: Send data to a specific destination
Note See the Windows Sockets documentation for additional information


function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;
Description: Set a socket option
Note See the Windows Sockets documentation for additional information


function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; optlen:tOS_INT):tOS_INT;
Description: Set a socket option
Note See the Windows Sockets documentation for additional information


function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; optlen:tOS_INT):tOS_INT;
Description: Set a socket option
Note See the Windows Sockets documentation for additional information


function shutdown(s: TSocket; how:tOS_INT):tOS_INT;
Description: Disable sends or receives on a socket
Note See the Windows Sockets documentation for additional information


function socket(af:tOS_INT; struct:tOS_INT; protocol:tOS_INT):TSocket;
Description: Create a socket that is bound to a specific transport service provider
Note See the Windows Sockets documentation for additional information


function gethostbyaddr(addr:pchar; len:tOS_INT; family:tOS_INT): PHostEnt;
Description: Retrieve the host information corresponding to a network address
Note Address will be in network byte order where applicable.

See the Windows Sockets documentation for additional information


function gethostbyname(name: PChar): PHostEnt;
Description: Retrieve network address corresponding to a host name
Note See the Windows Sockets documentation for additional information


function gethostname(name: PChar; namelen:tOS_INT):tOS_INT;
Description: Retrieve the standard host name for the local computer
Note See the Windows Sockets documentation for additional information


function getservbyport(port:tOS_INT; proto: PChar):PServEnt;
Description: Retrieve service information corresponding to a port and protocol
Note Port will be in network byte order.

See the Windows Sockets documentation for additional information


function getservbyname(name, proto: PChar): PServEnt;
Description: Retrieve service information corresponding to a service name and protocol
Note See the Windows Sockets documentation for additional information


function getprotobynumber(proto:tOS_INT):PProtoEnt;
Description: Retrieve protocol information corresponding to a protocol number
Note See the Windows Sockets documentation for additional information


function getprotobyname(name: PChar): PProtoEnt;
Description: Retrieve the protocol information corresponding to a protocol name
Note See the Windows Sockets documentation for additional information


function WSAStartup(wVersionRequired:word; var WSAData:TWSADATA):tOS_INT;
Description: Initiate use of Winsock by an application
Note See the Windows Sockets documentation for additional information


function WSACleanup:tOS_INT;
Description: Terminate use of Winsock by an application
Note See the Windows Sockets documentation for additional information


procedure WSASetLastError(iError:tOS_INT); inline;
Description: Set the error code that can be retrieved through the WSAGetLastError function
Note See the Windows Sockets documentation for additional information


function WSAGetLastError:tOS_INT; inline;
Description: Return the error status for the last Windows Sockets operation that failed
Note See the Windows Sockets documentation for additional information


function WSAIsBlocking: BOOL;
Description: To be documented
Note None documented


function WSAUnhookBlockingHook:tOS_INT;
Description: To be documented
Note None documented


function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc;
Description: To be documented
Note None documented


function WSACancelBlockingCall:tOS_INT;
Description: To be documented
Note None documented


function WSAAsyncGetServByName(hWnd:HWND; wMsg:u_int; name:pchar; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
Note None documented


function WSAAsyncGetServByPort(hWnd:HWND; wMsg:u_int; port:tOS_INT; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
Note None documented


function WSAAsyncGetProtoByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
Note None documented


function WSAAsyncGetProtoByNumber(hWnd:HWND; wMsg:u_int; number:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
Note None documented


function WSAAsyncGetHostByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
Note None documented


function WSAAsyncGetHostByAddr(hWnd:HWND; wMsg:u_int; addr:pchar; len:tOS_INT; family:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;
Description: To be documented
Note None documented


function WSACancelAsyncRequest(hAsyncTaskHandle:THandle):tOS_INT;
Description: To be documented
Note None documented


function WSAAsyncSelect(s: TSocket; hWnd:HWND; wMsg:u_int; lEvent:longint):tOS_INT;
Description: To be documented
Note None documented


function WSARecvEx(s: TSocket;var buf; len:tOS_INT; flags:ptOS_INT):tOS_INT;
Description: Receive data from a connected socket or a bound connectionless socket
Note See the Windows Sockets documentation for additional information


function __WSAFDIsSet(s: TSocket; var FDSet:TFDSet):BOOL;
Description: Return a value indicating whether a socket is included in a set of socket descriptors
Note See the Windows Sockets documentation for additional information


function __WSAFDIsSet_(s: TSocket; var FDSet:TFDSet):tOS_INT;
Description: Return a value indicating whether a socket is included in a set of socket descriptors
Note See the Windows Sockets documentation for additional information


function TransmitFile(hSocket: TSocket; hFile: THandle; nNumberOfBytesToWrite: DWORD; nNumberOfBytesPerSend: DWORD; lpOverlapped: POverlapped; lpTransmitBuffers: PTransmitFileBuffers; dwReserved: DWORD): BOOL;
Description: To be documented
Note None documented


function AcceptEx(sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; lpdwBytesReceived: LPDWORD; lpOverlapped: POverlapped): BOOL;
Description: To be documented
Note None documented


procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; LocalSockaddr: PPSockAddr; LocalSockaddrLength: PInteger; RemoteSockaddr: PPSockAddr; RemoteSockaddrLength: PInteger);
Description: To be documented
Note None documented


function WSAMakeSyncReply(Buflen,Error:Word):dword;
Description: To be documented
Note None documented


function WSAMakeSelectReply(Event,Error:Word):dword;
Description: To be documented
Note None documented


function WSAGetAsyncBuflen(Param:dword):Word;
Description: To be documented
Note None documented


function WSAGetAsyncError(Param:dword):Word;
Description: To be documented
Note None documented


function WSAGetSelectEvent(Param:dword):Word;
Description: To be documented
Note None documented


function WSAGetSelectError(Param:dword):Word;
Description: To be documented
Note None documented


procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet);
Description: Remove a socket from an fd_set
Note See the Windows Sockets documentation for additional information


function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean;
Description: Check if a socket is a member of an fd_set
Note See the Windows Sockets documentation for additional information


procedure FD_SET(Socket:TSocket; var FDSet:TFDSet);
Description: Add a socket to an fd_set
Note See the Windows Sockets documentation for additional information


procedure FD_ZERO(var FDSet:TFDSet);
Description: Initialize an fd_set to null
Note See the Windows Sockets documentation for additional information


Winsock undocumented functions

function WsControl(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Description: To be documented
Note None documented


function getnetbyaddr(addr: Pointer; len, Struct: Integer): PNetEnt;
Description: Retrieve the network information corresponding to a network address
Note Address will be in network byte order where applicable


function getnetbyname(name: PChar): PNetEnt;
Description: Retrieve network address corresponding to a network name
Note None documented


Winsock enhanced functions

function WsControlEx(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;
Description: To be documented
Note None documented


RTL text IO functions

function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOReadChar function
Note Not intended to be called directly by applications


function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOWriteChar function
Note Not intended to be called directly by applications


function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
Description: Handler for platform TextIOWriteBuffer function
Note Not intended to be called directly by applications


Winsock helper functions

function WinsockRedirectInput(s:TSocket):Boolean;
Description: Redirect standard input to the socket specified by s
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 WinsockRedirectOutput(s:TSocket):Boolean;
Description: Redirect standard output to the socket specified by s
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 WinsockErrorToString(AError:LongInt):String;
Description: To be documented
Note None documented


Return to Unit Reference