Difference between revisions of "Unit Winsock"

From Ultibo.org
Jump to: navigation, search
 
(18 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
----
 
----
  
''To be documented''
+
'''Ultibo Winsock Interface unit'''
 +
 
 +
''Notes:''
 +
 
 +
* All BSD/Winsock functions that accept an Address or Port expect them to be in Network order.
 +
* All other functions that take an Address or Port expect them to be in Host order.
  
 
=== Constants ===
 
=== Constants ===
 
----
 
----
  
''To be documented''
+
 
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Winsock specific constants''' <code> WINSOCK_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>WINSOCK_VERSION = $0101;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WINSOCK_TCP_SERVER_THREAD_NAME = 'TCP Server';</code>
 +
| Thread name for TCP server threads
 +
|-
 +
| <code>WINSOCK_TCP_SERVER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;</code>
 +
| Thread priority for TCP server threads
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WINSOCK_TCP_LISTENER_THREAD_NAME = 'TCP Listener';</code>
 +
| Thread name for TCP listener threads
 +
|-
 +
| <code>WINSOCK_TCP_LISTENER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;</code>
 +
| Thread priority for TCP listener threads
 +
|-
 +
|colspan="2"|&nbsp; 
 +
|-
 +
| <code>WINSOCK_UDP_SERVER_THREAD_NAME = 'UDP Server';</code>
 +
| Thread name for UDP server threads
 +
|-
 +
| <code>WINSOCK_UDP_SERVER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;</code>
 +
| Thread priority for UDP server threads
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WINSOCK_UDP_LISTENER_THREAD_NAME = 'UDP Listener';</code>
 +
| Thread name for UDP listener threads
 +
|-
 +
| <code>WINSOCK_UDP_LISTENER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;</code>
 +
| Thread priority for UDP listener threads
 +
|-
 +
|colspan="2"|&nbsp; 
 +
|-
 +
| <code>FD_SETSIZE = GlobalSock.FD_SETSIZE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>IOCPARM_MASK = GlobalSock.IOCPARM_MASK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IOC_VOID = GlobalSock.IOC_VOID;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IOC_OUT = GlobalSock.IOC_OUT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IOC_IN = GlobalSock.IOC_IN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IOC_INOUT = GlobalSock.IOC_INOUT;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FIONREAD = GlobalSock.FIONREAD;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FIONBIO = GlobalSock.FIONBIO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FIOASYNC = GlobalSock.FIOASYNC;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>SIOCSHIWAT = GlobalSock.SIOCSHIWAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SIOCGHIWAT = GlobalSock.SIOCGHIWAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SIOCSLOWAT = GlobalSock.SIOCSLOWAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SIOCGLOWAT = GlobalSock.SIOCGLOWAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SIOCATMARK = GlobalSock.SIOCATMARK;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>IMPLINK_IP = GlobalSock.IMPLINK_IP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IMPLINK_LOWEXPER = GlobalSock.IMPLINK_LOWEXPER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IMPLINK_HIGHEXPER = GlobalSock.IMPLINK_HIGHEXPER;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>INADDR_ANY = GlobalSock.INADDR_ANY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>INADDR_LOOPBACK = GlobalSock.INADDR_LOOPBACK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>INADDR_BROADCAST = GlobalSock.INADDR_BROADCAST;</code>
 +
| &nbsp;
 +
|-
 +
| <code>INADDR_NONE = GlobalSock.INADDR_NONE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>IN_CLASSA_NET = GlobalSock.IN_CLASSA_NET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSA_NSHIFT = GlobalSock.IN_CLASSA_NSHIFT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSA_HOST = GlobalSock.IN_CLASSA_HOST;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSA_MAX = GlobalSock.IN_CLASSA_MAX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSB_NET = GlobalSock.IN_CLASSB_NET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSB_NSHIFT = GlobalSock.IN_CLASSB_NSHIFT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSB_HOST = GlobalSock.IN_CLASSB_HOST;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSB_MAX = GlobalSock.IN_CLASSB_MAX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSC_NET = GlobalSock.IN_CLASSC_NET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSC_NSHIFT = GlobalSock.IN_CLASSC_NSHIFT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IN_CLASSC_HOST = GlobalSock.IN_CLASSC_HOST;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSADESCRIPTION_LEN = GlobalSock.WSADESCRIPTION_LEN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSASYS_STATUS_LEN = GlobalSock.WSASYS_STATUS_LEN;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>TF_DISCONNECT = GlobalSock.TF_DISCONNECT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TF_REUSE_SOCKET = GlobalSock.TF_REUSE_SOCKET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TF_WRITE_BEHIND = GlobalSock.TF_WRITE_BEHIND;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Level number for (get/set)sockopt() to apply to socket itself''
 +
|-
 +
| <code>SOL_SOCKET = GlobalSock.SOL_SOCKET;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Maximum queue length specifiable by listen''
 +
|-
 +
| <code>SOMAXCONN = 5;</code>
 +
| SOMAXCONN = GlobalSock.SOMAXCONN; (Lower for Winsock 1.1)
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Define constant based on rfc883, used by gethostbyxxxx() calls''
 +
|-
 +
| <code>MAXGETHOSTSTRUCT = GlobalSock.MAXGETHOSTSTRUCT;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''This is used instead of -1, since the TSocket type is unsigned''
 +
|-
 +
| <code>INVALID_SOCKET = GlobalSock.INVALID_SOCKET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCKET_ERROR = GlobalSock.SOCKET_ERROR;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''IP protocol''' <code> IPPROTO_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>IPPROTO_IP = GlobalSock.IPPROTO_IP;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>IPPROTO_ICMP = GlobalSock.IPPROTO_ICMP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_IGMP = GlobalSock.IPPROTO_IGMP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_GGP = GlobalSock.IPPROTO_GGP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_TCP = GlobalSock.IPPROTO_TCP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_EGP = GlobalSock.IPPROTO_EGP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_PUP = GlobalSock.IPPROTO_PUP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_UDP = GlobalSock.IPPROTO_UDP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_HMP = GlobalSock.IPPROTO_HMP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_IDP = GlobalSock.IPPROTO_IDP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_RDP = GlobalSock.IPPROTO_RDP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_IPV6 = GlobalSock.IPPROTO_IPV6;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_ROUTING = GlobalSock.IPPROTO_ROUTING;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_FRAGMENT = GlobalSock.IPPROTO_FRAGMENT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_ICMPV6 = GlobalSock.IPPROTO_ICMPV6;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_RVD = GlobalSock.IPPROTO_RVD;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_ND = GlobalSock.IPPROTO_ND;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_RAW = GlobalSock.IPPROTO_RAW;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPROTO_MAX = GlobalSock.IPPROTO_MAX;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''IP port''' <code> IPPORT_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|''Port/socket numbers: network standard functions''
 +
|-
 +
| <code>IPPORT_ANY = GlobalSock.IPPORT_ANY;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>IPPORT_ECHO = GlobalSock.IPPORT_ECHO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_DISCARD = GlobalSock.IPPORT_DISCARD;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_SYSTAT = GlobalSock.IPPORT_SYSTAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_DAYTIME = GlobalSock.IPPORT_DAYTIME;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_NETSTAT = GlobalSock.IPPORT_NETSTAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_FTP =  GlobalSock.IPPORT_FTP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_TELNET = GlobalSock.IPPORT_TELNET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_SMTP = GlobalSock.IPPORT_SMTP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_TIMESERVER = GlobalSock.IPPORT_TIMESERVER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_NAMESERVER = GlobalSock.IPPORT_NAMESERVER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_WHOIS = GlobalSock.IPPORT_WHOIS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_DNS = GlobalSock.IPPORT_DNS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_MTP = GlobalSock.IPPORT_MTP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_BOOTPS = GlobalSock.IPPORT_BOOTPS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_BOOTPC = GlobalSock.IPPORT_BOOTPC;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Port/socket numbers: host specific functions''
 +
|-
 +
| <code>IPPORT_TFTP = GlobalSock.IPPORT_TFTP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_RJE = GlobalSock.IPPORT_RJE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_FINGER = GlobalSock.IPPORT_FINGER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_TTYLINK = GlobalSock.IPPORT_TTYLINK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_SUPDUP = GlobalSock.IPPORT_SUPDUP;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''UNIX TCP sockets''
 +
|-
 +
| <code>IPPORT_EXECSERVER = GlobalSock.IPPORT_EXECSERVER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_LOGINSERVER = GlobalSock.IPPORT_LOGINSERVER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_CMDSERVER = GlobalSock.IPPORT_CMDSERVER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_EFSSERVER = GlobalSock.IPPORT_EFSSERVER;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''UNIX UDP sockets''
 +
|-
 +
| <code>IPPORT_BIFFUDP = GlobalSock.IPPORT_BIFFUDP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_WHOSERVER = GlobalSock.IPPORT_WHOSERVER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IPPORT_ROUTESERVER = GlobalSock.IPPORT_ROUTESERVER;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root)''
 +
|-
 +
| <code>IPPORT_RESERVED = GlobalSock.IPPORT_RESERVED;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''IP option''' <code> IP_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Options for use with [gs]etsockopt at the IP level
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>IP_OPTIONS = GlobalSock.IP_OPTIONS;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>IP_MULTICAST_IF = GlobalSock.IP_MULTICAST_IF;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_MULTICAST_TTL = GlobalSock.IP_MULTICAST_TTL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_MULTICAST_LOOP = GlobalSock.IP_MULTICAST_LOOP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_ADD_MEMBERSHIP = GlobalSock.IP_ADD_MEMBERSHIP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_DROP_MEMBERSHIP = GlobalSock.IP_DROP_MEMBERSHIP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_TTL = GlobalSock.IP_TTL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_TOS = GlobalSock.IP_TOS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_DONTFRAGMENT = GlobalSock.IP_DONTFRAGMENT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_HDRINCL = GlobalSock.IP_HDRINCL;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>IP_DEFAULT_MULTICAST_TTL = GlobalSock.IP_DEFAULT_MULTICAST_TTL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_DEFAULT_MULTICAST_LOOP = GlobalSock.IP_DEFAULT_MULTICAST_LOOP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>IP_MAX_MEMBERSHIPS = GlobalSock.IP_MAX_MEMBERSHIPS;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Socket type''' <code> SOCK_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>SOCK_UNSPEC = GlobalSock.SOCK_UNSPEC;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>SOCK_STREAM = GlobalSock.SOCK_STREAM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCK_DGRAM = GlobalSock.SOCK_DGRAM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCK_RAW = GlobalSock.SOCK_RAW;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCK_RDM = GlobalSock.SOCK_RDM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCK_SEQPACKET = GlobalSock.SOCK_SEQPACKET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SOCK_PACKET = GlobalSock.SOCK_PACKET;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Socket option''' <code> SO_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>SO_DEBUG = GlobalSock.SO_DEBUG;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>SO_ACCEPTCONN = GlobalSock.SO_ACCEPTCONN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_REUSEADDR = GlobalSock.SO_REUSEADDR;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_KEEPALIVE = GlobalSock.SO_KEEPALIVE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_DONTROUTE = GlobalSock.SO_DONTROUTE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_BROADCAST = GlobalSock.SO_BROADCAST;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_USELOOPBACK = GlobalSock.SO_USELOOPBACK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_LINGER = GlobalSock.SO_LINGER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_OOBINLINE = GlobalSock.SO_OOBINLINE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>SO_DONTLINGER = GlobalSock.SO_DONTLINGER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_EXCLUSIVEADDRUSE = GlobalSock.SO_EXCLUSIVEADDRUSE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Additional options''
 +
|-
 +
| <code>SO_SNDBUF = GlobalSock.SO_SNDBUF;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_RCVBUF = GlobalSock.SO_RCVBUF;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_SNDLOWAT = GlobalSock.SO_SNDLOWAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_RCVLOWAT = GlobalSock.SO_RCVLOWAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_SNDTIMEO = GlobalSock.SO_SNDTIMEO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_RCVTIMEO = GlobalSock.SO_RCVTIMEO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_ERROR = GlobalSock.SO_ERROR;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_TYPE = GlobalSock.SO_TYPE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_CONNTIMEO = GlobalSock.SO_CONNTIMEO;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Options for connect and disconnect data and options. Used only by non-TCP/IP transports such as DECNet, OSI TP4, etc''
 +
|-
 +
| <code>SO_CONNDATA = GlobalSock.SO_CONNDATA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_CONNOPT = GlobalSock.SO_CONNOPT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_DISCDATA = GlobalSock.SO_DISCDATA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_DISCOPT = GlobalSock.SO_DISCOPT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_CONNDATALEN = GlobalSock.SO_CONNDATALEN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_CONNOPTLEN = GlobalSock.SO_CONNOPTLEN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_DISCDATALEN = GlobalSock.SO_DISCDATALEN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_DISCOPTLEN = GlobalSock.SO_DISCOPTLEN;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Option for opening sockets for synchronous access''
 +
|-
 +
| <code>SO_OPENTYPE = GlobalSock.SO_OPENTYPE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_SYNCHRONOUS_ALERT = GlobalSock.SO_SYNCHRONOUS_ALERT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_SYNCHRONOUS_NONALERT = GlobalSock.SO_SYNCHRONOUS_NONALERT;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Other NT-specific options''
 +
|-
 +
| <code>SO_MAXDG = GlobalSock.SO_MAXDG;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_MAXPATHDG = GlobalSock.SO_MAXPATHDG;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_UPDATE_ACCEPT_CONTEXT = GlobalSock.SO_UPDATE_ACCEPT_CONTEXT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>SO_CONNECT_TIME = GlobalSock.SO_CONNECT_TIME;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''TCP option''' <code> TCP_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>TCP_NODELAY = GlobalSock.TCP_NODELAY;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>TCP_MAXSEG = GlobalSock.TCP_MAXSEG;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TCP_NOPUSH = GlobalSock.TCP_NOPUSH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TCP_NOOPT = GlobalSock.TCP_NOOPT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TCP_BSDURGENT = GlobalSock.TCP_BSDURGENT;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>TCP_WSCALE = GlobalSock.TCP_WSCALE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TCP_NOSACK = GlobalSock.TCP_NOSACK;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''UDP option''' <code> UDP_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>UDP_NOCHECKSUM = GlobalSock.UDP_NOCHECKSUM;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Address family''' <code> AF_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>AF_UNSPEC = GlobalSock.AF_UNSPEC;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>AF_UNIX = GlobalSock.AF_UNIX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_INET = GlobalSock.AF_INET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_IMPLINK = GlobalSock.AF_IMPLINK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_PUP = GlobalSock.AF_PUP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_CHAOS = GlobalSock.AF_CHAOS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_IPX = GlobalSock.AF_IPX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_NS = GlobalSock.AF_NS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_ISO = GlobalSock.AF_ISO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_OSI = GlobalSock.AF_OSI;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_ECMA = GlobalSock.AF_ECMA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_DATAKIT = GlobalSock.AF_DATAKIT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_CCITT = GlobalSock.AF_CCITT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_SNA = GlobalSock.AF_SNA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_DECnet = GlobalSock.AF_DECnet;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_DLI = GlobalSock.AF_DLI;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_LAT = GlobalSock.AF_LAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_HYLINK = GlobalSock.AF_HYLINK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_APPLETALK = GlobalSock.AF_APPLETALK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_NETBIOS = GlobalSock.AF_NETBIOS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_VOICEVIEW = GlobalSock.AF_VOICEVIEW;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_FIREFOX = GlobalSock.AF_FIREFOX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_UNKNOWN1 = GlobalSock.AF_UNKNOWN1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_BAN = GlobalSock.AF_BAN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_ATM = GlobalSock.AF_ATM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_INET6 = GlobalSock.AF_INET6;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_CLUSTER = GlobalSock.AF_CLUSTER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_12844 = GlobalSock.AF_12844;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_IRDA = GlobalSock.AF_IRDA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>AF_NETDES = GlobalSock.AF_NETDES;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>AF_MAX = GlobalSock.AF_MAX;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Protocol family''' <code> PF_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>PF_UNSPEC = GlobalSock.PF_UNSPEC;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>PF_UNIX = GlobalSock.PF_UNIX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_INET = GlobalSock.PF_INET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_IMPLINK = GlobalSock.PF_IMPLINK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_PUP = GlobalSock.PF_PUP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_CHAOS = GlobalSock.PF_CHAOS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_NS = GlobalSock.PF_NS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_IPX = GlobalSock.PF_IPX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_ISO = GlobalSock.PF_ISO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_OSI = GlobalSock.PF_OSI;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_ECMA = GlobalSock.PF_ECMA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_DATAKIT = GlobalSock.PF_DATAKIT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_CCITT = GlobalSock.PF_CCITT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_SNA = GlobalSock.PF_SNA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_DECnet = GlobalSock.PF_DECnet;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_DLI = GlobalSock.PF_DLI;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_LAT = GlobalSock.PF_LAT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_HYLINK = GlobalSock.PF_HYLINK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_APPLETALK = GlobalSock.PF_APPLETALK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_VOICEVIEW = GlobalSock.PF_VOICEVIEW;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_FIREFOX = GlobalSock.PF_FIREFOX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_UNKNOWN1 = GlobalSock.PF_UNKNOWN1;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_BAN = GlobalSock.PF_BAN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_ATM = GlobalSock.PF_ATM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_INET6 = GlobalSock.PF_INET6;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_CLUSTER = GlobalSock.PF_CLUSTER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_12844 = GlobalSock.PF_12844;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_IRDA = GlobalSock.PF_IRDA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>PF_NETDES = GlobalSock.PF_NETDES;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>PF_MAX = GlobalSock.PF_MAX;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Message flag''' <code> MSG_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>MSG_OOB = GlobalSock.MSG_OOB;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>MSG_PEEK = GlobalSock.MSG_PEEK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>MSG_DONTROUTE = GlobalSock.MSG_DONTROUTE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MSG_MAXIOVLEN = GlobalSock.MSG_MAXIOVLEN;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>MSG_PARTIAL = GlobalSock.MSG_PARTIAL;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''WSAAsyncSelect flag''' <code> FD_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|Define flags to be used with the WSAAsyncSelect() call
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FD_READ = GlobalSock.FD_READ;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>FD_WRITE = GlobalSock.FD_WRITE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FD_OOB = GlobalSock.FD_OOB;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FD_ACCEPT = GlobalSock.FD_ACCEPT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FD_CONNECT = GlobalSock.FD_CONNECT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>FD_CLOSE = GlobalSock.FD_CLOSE;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''Socket error''' <code> WSAE* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
|colspan="2"|All Windows Sockets error constants are biased by WSABASEERR from the "normal"
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSABASEERR = GlobalSock.WSABASEERR;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Windows Sockets definitions of regular Microsoft C error constants''
 +
|-
 +
| <code>WSAEINTR = GlobalSock.WSAEINTR;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEBADF = GlobalSock.WSAEBADF;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEACCES = GlobalSock.WSAEACCES;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEFAULT = GlobalSock.WSAEFAULT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEINVAL = GlobalSock.WSAEINVAL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEMFILE = GlobalSock.WSAEMFILE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Windows Sockets definitions of regular Berkeley error constants''
 +
|-
 +
| <code>WSAEWOULDBLOCK = GlobalSock.WSAEWOULDBLOCK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEINPROGRESS = GlobalSock.WSAEINPROGRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEALREADY = GlobalSock.WSAEALREADY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENOTSOCK = GlobalSock.WSAENOTSOCK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEDESTADDRREQ = GlobalSock.WSAEDESTADDRREQ;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEMSGSIZE = GlobalSock.WSAEMSGSIZE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEPROTOTYPE = GlobalSock.WSAEPROTOTYPE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENOPROTOOPT = GlobalSock.WSAENOPROTOOPT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEPROTONOSUPPORT = GlobalSock.WSAEPROTONOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAESOCKTNOSUPPORT = GlobalSock.WSAESOCKTNOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEOPNOTSUPP = GlobalSock.WSAEOPNOTSUPP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEPFNOSUPPORT = GlobalSock.WSAEPFNOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEAFNOSUPPORT = GlobalSock.WSAEAFNOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEADDRINUSE = GlobalSock.WSAEADDRINUSE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEADDRNOTAVAIL = GlobalSock.WSAEADDRNOTAVAIL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENETDOWN = GlobalSock.WSAENETDOWN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENETUNREACH = GlobalSock.WSAENETUNREACH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENETRESET = GlobalSock.WSAENETRESET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAECONNABORTED = GlobalSock.WSAECONNABORTED;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAECONNRESET = GlobalSock.WSAECONNRESET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENOBUFS = GlobalSock.WSAENOBUFS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEISCONN = GlobalSock.WSAEISCONN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENOTCONN = GlobalSock.WSAENOTCONN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAESHUTDOWN = GlobalSock.WSAESHUTDOWN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAETOOMANYREFS = GlobalSock.WSAETOOMANYREFS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAETIMEDOUT = GlobalSock.WSAETIMEDOUT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAECONNREFUSED = GlobalSock.WSAECONNREFUSED;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAELOOP = GlobalSock.WSAELOOP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENAMETOOLONG = GlobalSock.WSAENAMETOOLONG;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEHOSTDOWN = GlobalSock.WSAEHOSTDOWN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEHOSTUNREACH = GlobalSock.WSAEHOSTUNREACH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAENOTEMPTY = GlobalSock.WSAENOTEMPTY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEPROCLIM = GlobalSock.WSAEPROCLIM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEUSERS = GlobalSock.WSAEUSERS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEDQUOT = GlobalSock.WSAEDQUOT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAESTALE = GlobalSock.WSAESTALE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAEREMOTE = GlobalSock.WSAEREMOTE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSAEDISCON = GlobalSock.WSAEDISCON;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Extended Windows Sockets error constant definitions''
 +
|-
 +
| <code>WSASYSNOTREADY = GlobalSock.WSASYSNOTREADY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSAVERNOTSUPPORTED = GlobalSock.WSAVERNOTSUPPORTED;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSANOTINITIALISED = GlobalSock.WSANOTINITIALISED;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|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.
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Authoritative Answer: Host not found''
 +
|-
 +
| <code>WSAHOST_NOT_FOUND = GlobalSock.WSAHOST_NOT_FOUND;</code>
 +
| &nbsp;
 +
|-
 +
| <code>HOST_NOT_FOUND = GlobalSock.HOST_NOT_FOUND;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Non-Authoritative: Host not found, or SERVERFAIL''
 +
|-
 +
| <code>WSATRY_AGAIN = GlobalSock.WSATRY_AGAIN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>TRY_AGAIN = GlobalSock.TRY_AGAIN;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Non recoverable errors, FORMERR, REFUSED, NOTIMP''
 +
|-
 +
| <code>WSANO_RECOVERY = GlobalSock.WSANO_RECOVERY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>NO_RECOVERY = GlobalSock.NO_RECOVERY;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''Valid name, no data record of requested type''
 +
|-
 +
| <code>WSANO_DATA = GlobalSock.WSANO_DATA;</code>
 +
| &nbsp;
 +
|-
 +
| <code>NO_DATA = GlobalSock.NO_DATA;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''no address, look for MX record''
 +
|-
 +
| <code>WSANO_ADDRESS = GlobalSock.WSANO_ADDRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>NO_ADDRESS = GlobalSock.NO_ADDRESS;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''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.''
 +
|-
 +
| <code>EWOULDBLOCK = GlobalSock.EWOULDBLOCK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EINPROGRESS = GlobalSock.EINPROGRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EALREADY = GlobalSock.EALREADY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENOTSOCK = GlobalSock.ENOTSOCK;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EDESTADDRREQ = GlobalSock.EDESTADDRREQ;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EMSGSIZE = GlobalSock.EMSGSIZE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EPROTOTYPE = GlobalSock.EPROTOTYPE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENOPROTOOPT = GlobalSock.ENOPROTOOPT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EPROTONOSUPPORT = GlobalSock.EPROTONOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ESOCKTNOSUPPORT = GlobalSock.ESOCKTNOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EOPNOTSUPP = GlobalSock.EOPNOTSUPP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EPFNOSUPPORT = GlobalSock.EPFNOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EAFNOSUPPORT = GlobalSock.EAFNOSUPPORT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EADDRINUSE = GlobalSock.EADDRINUSE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EADDRNOTAVAIL = GlobalSock.EADDRNOTAVAIL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENETDOWN = GlobalSock.ENETDOWN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENETUNREACH = GlobalSock.ENETUNREACH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENETRESET = GlobalSock.ENETRESET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ECONNABORTED = GlobalSock.ECONNABORTED;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ECONNRESET = GlobalSock.ECONNRESET;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENOBUFS = GlobalSock.ENOBUFS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EISCONN = GlobalSock.EISCONN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENOTCONN = GlobalSock.ENOTCONN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ESHUTDOWN = GlobalSock.ESHUTDOWN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ETOOMANYREFS = GlobalSock.ETOOMANYREFS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ETIMEDOUT = GlobalSock.ETIMEDOUT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ECONNREFUSED = GlobalSock.ECONNREFUSED;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ELOOP = GlobalSock.ELOOP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENAMETOOLONG = GlobalSock.ENAMETOOLONG;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EHOSTDOWN = GlobalSock.EHOSTDOWN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EHOSTUNREACH = GlobalSock.EHOSTUNREACH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENOTEMPTY = GlobalSock.ENOTEMPTY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EPROCLIM = GlobalSock.EPROCLIM;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EUSERS = GlobalSock.EUSERS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EDQUOT = GlobalSock.EDQUOT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ESTALE = GlobalSock.ESTALE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EREMOTE = GlobalSock.EREMOTE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>ENOTREADY = GlobalSock.ENOTREADY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>EVERNOTSUPPORTED = GlobalSock.EVERNOTSUPPORTED;</code>
 +
| &nbsp;
 +
|-
 +
| <code>ENOTINITIALISED = GlobalSock.ENOTINITIALISED;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;">
 +
<div style="font-size: 14px; padding-left: 12px;">'''WsControlEx option''' <code> WSA_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>WSA_MAX_INTERFACE_NAME_LEN = GlobalSock.WSA_MAX_INTERFACE_NAME_LEN;</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
| <code>WSA_ANY_SIZE = GlobalSock.WSA_ANY_SIZE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_MAX_ADAPTER_NAME = GlobalSock.WSA_MAX_ADAPTER_NAME;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_MAX_ADAPTER_DESCRIPTION_LENGTH = GlobalSock.WSA_MAX_ADAPTER_DESCRIPTION_LENGTH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_MAX_ADAPTER_NAME_LENGTH = GlobalSock.WSA_MAX_ADAPTER_NAME_LENGTH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_MAX_ADAPTER_ADDRESS_LENGTH = GlobalSock.WSA_MAX_ADAPTER_ADDRESS_LENGTH;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_MAX_HOSTNAME_LEN = GlobalSock.WSA_MAX_HOSTNAME_LEN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_MAX_DOMAIN_NAME_LEN = GlobalSock.WSA_MAX_DOMAIN_NAME_LEN;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_MAX_SCOPE_ID_LEN = GlobalSock.WSA_MAX_SCOPE_ID_LEN;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_MAXLEN_IFDESCR = GlobalSock.WSA_MAXLEN_IFDESCR;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_MAXLEN_PHYSADDR = GlobalSock.WSA_MAXLEN_PHYSADDR;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_USE_CURRENT_TTL = GlobalSock.WSA_USE_CURRENT_TTL;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_USE_CURRENT_FORWARDING = GlobalSock.WSA_USE_CURRENT_FORWARDING;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_IP_FORWARDING = GlobalSock.WSA_IP_FORWARDING;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_IP_NOT_FORWARDING = GlobalSock.WSA_IP_NOT_FORWARDING;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
|colspan="2"|''WsControlEx Functions''
 +
|-
 +
| <code>WSA_GETNUMBEROFINTERFACES = GlobalSock.WSA_GETNUMBEROFINTERFACES;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETIFENTRY = GlobalSock.WSA_GETIFENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETIFTABLE = GlobalSock.WSA_GETIFTABLE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETIPADDRTABLE = GlobalSock.WSA_GETIPADDRTABLE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETIPNETTABLE = GlobalSock.WSA_GETIPNETTABLE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETIPFORWARDTABLE = GlobalSock.WSA_GETIPFORWARDTABLE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETTCPTABLE = GlobalSock.WSA_GETTCPTABLE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETUDPTABLE = GlobalSock.WSA_GETUDPTABLE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_GETIPSTATISTICS = GlobalSock.WSA_GETIPSTATISTICS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETICMPSTATISTICS = GlobalSock.WSA_GETICMPSTATISTICS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETTCPSTATISTICS = GlobalSock.WSA_GETTCPSTATISTICS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETUDPSTATISTICS = GlobalSock.WSA_GETUDPSTATISTICS;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_SETIFENTRY = GlobalSock.WSA_SETIFENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_CREATEIPFORWARDENTRY = GlobalSock.WSA_CREATEIPFORWARDENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_SETIPFORWARDENTRY = GlobalSock.WSA_SETIPFORWARDENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_DELETEIPFORWARDENTRY = GlobalSock.WSA_DELETEIPFORWARDENTRY;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_SETIPSTATISTICS = GlobalSock.WSA_SETIPSTATISTICS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_SETIPTTL = GlobalSock.WSA_SETIPTTL;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_CREATEIPNETENTRY = GlobalSock.WSA_CREATEIPNETENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_SETIPNETENTRY = GlobalSock.WSA_SETIPNETENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_DELETEIPNETENTRY = GlobalSock.WSA_DELETEIPNETENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_FLUSHIPNETTABLE = GlobalSock.WSA_FLUSHIPNETTABLE;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_CREATEPROXYARPENTRY = GlobalSock.WSA_CREATEPROXYARPENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_DELETEPROXTARPENTRY = GlobalSock.WSA_DELETEPROXTARPENTRY;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_SETTCPENTRY = GlobalSock.WSA_SETTCPENTRY;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETINTERFACEINFO = GlobalSock.WSA_GETINTERFACEINFO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETUNIDIRECTIONALADAPTERINFO = GlobalSock.WSA_GETUNIDIRECTIONALADAPTERINFO;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>WSA_GETBESTINTERFACE = GlobalSock.WSA_GETBESTINTERFACE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETBESTROUTE = GlobalSock.WSA_GETBESTROUTE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_NOTIFYADDRCHANGE = GlobalSock.WSA_NOTIFYADDRCHANGE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_NOTIFYROUTECHANGE = GlobalSock.WSA_NOTIFYROUTECHANGE;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETADAPTERINDEX = GlobalSock.WSA_GETADAPTERINDEX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_ADDIPADDRESS = GlobalSock.WSA_ADDIPADDRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_DELETEIPADDRESS = GlobalSock.WSA_DELETEIPADDRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETNETWORKPARAMS = GlobalSock.WSA_GETNETWORKPARAMS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETADAPTERSINFO = GlobalSock.WSA_GETADAPTERSINFO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETPERADAPTERINFO = GlobalSock.WSA_GETPERADAPTERINFO;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_IPRELEASEADDRESS = GlobalSock.WSA_IPRELEASEADDRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_IPRENEWADDRESS = GlobalSock.WSA_IPRENEWADDRESS;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_SENDARP = GlobalSock.WSA_SENDARP;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETRTTANDHOPCOUNT = GlobalSock.WSA_GETRTTANDHOPCOUNT;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_GETFRIENDLYIFINDEX = GlobalSock.WSA_GETFRIENDLYIFINDEX;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_ENABLEROUTER = GlobalSock.WSA_ENABLEROUTER;</code>
 +
| &nbsp;
 +
|-
 +
| <code>WSA_UNENABLEROUTER = GlobalSock.WSA_UNENABLEROUTER;</code>
 +
| &nbsp;
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
=== Type definitions ===
 
=== Type definitions ===
 
----
 
----
  
''To be documented''
+
See globalsock.pas
  
 
=== Public variables ===
 
=== Public variables ===
 
----
 
----
  
''To be documented''
+
''None defined''
  
 
=== Function declarations ===
 
=== Function declarations ===
Line 34: Line 1,498:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| To be documented
+
| None documented
 
|-
 
|-
 
|}
 
|}
Line 46: Line 1,510:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| To be documented
+
| None documented
 
|-
 
|-
 
|}
 
|}
Line 58: Line 1,522:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| To be documented
+
| None documented
 
|-
 
|-
 
|}
 
|}
Line 70: Line 1,534:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| To be documented
+
| None documented
 
|-
 
|-
 
|}
 
|}
Line 77: Line 1,541:
 
<br />
 
<br />
  
 +
'''Winsock functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function accept(s: TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function accept(s: TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function bind(s: TSocket; addr: PSockaddr; namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function bind(s: TSocket; var addr: TSockaddr; namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function closesocket(s: TSocket):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function connect(s: TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function connect(s: TSocket; var name:TSockAddr; namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ioctlsocket(s: TSocket; cmd:longint; var arg:u_long):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ioctlsocket(s: TSocket; cmd:longint; var arg:longint):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ioctlsocket(s: TSocket; cmd:longint; argp:pu_long):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getpeername(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getsockname(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; var optlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; var optlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function htonl(hostlong: u_long): u_long;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function htons(hostshort: u_short): u_short;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function inet_addr(cp: PChar): u_long;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Address will be returned in network order
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function inet_ntoa(inaddr: TInAddr): PChar;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! 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
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function listen(s: TSocket; backlog:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ntohl(netlong: u_long): u_long;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function ntohs(netshort: u_short): u_short;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function recv(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function recv(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function recv(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function recvfrom(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function recvfrom(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function recvfrom(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var from:TSockAddr; var fromlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| All sockets contained by the FDSet must be of the same type
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function send(s: TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function send(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function send(s: TSocket;buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function sendto(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function sendto(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function sendto(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; optlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; optlen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function shutdown(s: TSocket; how:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function socket(af:tOS_INT; struct:tOS_INT; protocol:tOS_INT):TSocket;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function gethostbyaddr(addr:pchar; len:tOS_INT; family:tOS_INT): PHostEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Address will be in network order where applicable
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function gethostbyname(name: PChar): PHostEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function gethostname(name: PChar; namelen:tOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getservbyport(port:tOS_INT; proto: PChar):PServEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Port will be in network order
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getservbyname(name, proto: PChar): PServEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getprotobynumber(proto:tOS_INT):PProtoEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getprotobyname(name: PChar): PProtoEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAStartup(wVersionRequired:word; var WSAData:TWSADATA):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSACleanup:tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure WSASetLastError(iError:tOS_INT); inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAGetLastError:tOS_INT; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAIsBlocking: BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAUnhookBlockingHook:tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSACancelBlockingCall:tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncGetServByName(hWnd:HWND; wMsg:u_int; name:pchar; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncGetServByPort(hWnd:HWND; wMsg:u_int; port:tOS_INT; proto:pchar; buf:pchar; buflen:tOS_INT):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncGetProtoByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncGetProtoByNumber(hWnd:HWND; wMsg:u_int; number:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncGetHostByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncGetHostByAddr(hWnd:HWND; wMsg:u_int; addr:pchar; len:tOS_INT; family:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSACancelAsyncRequest(hAsyncTaskHandle:THandle):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAAsyncSelect(s: TSocket; hWnd:HWND; wMsg:u_int; lEvent:longint):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSARecvEx(s: TSocket;var buf; len:tOS_INT; flags:ptOS_INT):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function __WSAFDIsSet(s: TSocket; var FDSet:TFDSet):Bool;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function __WSAFDIsSet_(s: TSocket; var FDSet:TFDSet):tOS_INT;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function TransmitFile(hSocket: TSocket; hFile: THandle; nNumberOfBytesToWrite: DWORD; nNumberOfBytesPerSend: DWORD; lpOverlapped: POverlapped; lpTransmitBuffers: PTransmitFileBuffers; dwReserved: DWORD): BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function AcceptEx(sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: PSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: PSockAddr; var RemoteSockaddrLength: Integer);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAMakeSyncReply(Buflen,Error:Word):dword;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAMakeSelectReply(Event,Error:Word):dword;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAGetAsyncBuflen(Param:dword):Word;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAGetAsyncError(Param:dword):Word;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAGetSelectEvent(Param:dword):Word;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WSAGetSelectError(Param:dword):Word;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FD_SET(Socket:TSocket; var FDSet:TFDSet);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure FD_ZERO(var FDSet:TFDSet);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Winsock undocumented functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WsControl(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getnetbyaddr(addr: Pointer; len, Struct: Integer): PNetEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Address will be in network order where applicable
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function getnetbyname(name: PChar): PNetEnt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Winsock enhanced functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WsControlEx(Proto:DWORD; Action:DWORD; pRequestInfo:Pointer; var pcbRequestInfoLen:DWORD; pResponseInfo:Pointer; var pcbResponseInfoLen:DWORD):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''RTL text IO functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Handler for platform TextIOReadChar function</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Handler for platform TextIOWriteChar function</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Handler for platform TextIOWriteBuffer function</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Not intended to be called directly by applications
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Winsock helper functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WinsockRedirectInput(s:TSocket):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Redirect standard input to the socket specified by s</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! 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.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WinsockRedirectOutput(s:TSocket):Boolean;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Redirect standard output to the socket specified by s</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! 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.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WinsockErrorToString(AError:LongInt):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
Return to [[Unit_Reference|Unit Reference]]
 
Return to [[Unit_Reference|Unit Reference]]

Latest revision as of 05:36, 5 March 2025

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 order.
  • All other functions that take an Address or Port expect them to be in Host order.

Constants



[Expand]
Winsock specific constants WINSOCK_*


[Expand]
IP protocol IPPROTO_*


[Expand]
IP port IPPORT_*


[Expand]
IP option IP_*


[Expand]
Socket type SOCK_*


[Expand]
Socket option SO_*


[Expand]
TCP option TCP_*


[Expand]
UDP option UDP_*


[Expand]
Address family AF_*


[Expand]
Protocol family PF_*


[Expand]
Message flag MSG_*


[Expand]
WSAAsyncSelect flag FD_*


[Expand]
Socket error WSAE*


[Expand]
WsControlEx option WSA_*


Type definitions


See globalsock.pas

Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure WSInit;
Description: To be documented


[Expand]
function WSStart:Boolean;
Description: To be documented


[Expand]
function WSStop:Boolean;
Description: To be documented


[Expand]
procedure WSAsyncStart(Data:Pointer);
Description: To be documented


Winsock functions

[Expand]
function accept(s: TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;
Description: To be documented


[Expand]
function accept(s: TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;
Description: To be documented


[Expand]
function bind(s: TSocket; addr: PSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function bind(s: TSocket; var addr: TSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function closesocket(s: TSocket):tOS_INT;
Description: To be documented


[Expand]
function connect(s: TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function connect(s: TSocket; var name:TSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function ioctlsocket(s: TSocket; cmd:longint; var arg:u_long):tOS_INT;
Description: To be documented


[Expand]
function ioctlsocket(s: TSocket; cmd:longint; var arg:longint):tOS_INT;
Description: To be documented


[Expand]
function ioctlsocket(s: TSocket; cmd:longint; argp:pu_long):tOS_INT;
Description: To be documented


[Expand]
function getpeername(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockname(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; var optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; var optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function htonl(hostlong: u_long): u_long;
Description: To be documented


[Expand]
function htons(hostshort: u_short): u_short;
Description: To be documented


[Expand]
function inet_addr(cp: PChar): u_long;
Description: To be documented


[Expand]
function inet_ntoa(inaddr: TInAddr): PChar;
Description: To be documented


[Expand]
function listen(s: TSocket; backlog:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function ntohl(netlong: u_long): u_long;
Description: To be documented


[Expand]
function ntohs(netshort: u_short): u_short;
Description: To be documented


[Expand]
function recv(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recv(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recv(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recvfrom(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recvfrom(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented


[Expand]
function recvfrom(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var from:TSockAddr; var fromlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;
Description: To be documented


[Expand]
function send(s: TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function send(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function send(s: TSocket;buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function sendto(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function sendto(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function sendto(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; optlen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function shutdown(s: TSocket; how:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function socket(af:tOS_INT; struct:tOS_INT; protocol:tOS_INT):TSocket;
Description: To be documented


[Expand]
function gethostbyaddr(addr:pchar; len:tOS_INT; family:tOS_INT): PHostEnt;
Description: To be documented


[Expand]
function gethostbyname(name: PChar): PHostEnt;
Description: To be documented


[Expand]
function gethostname(name: PChar; namelen:tOS_INT):tOS_INT;
Description: To be documented


[Expand]
function getservbyport(port:tOS_INT; proto: PChar):PServEnt;
Description: To be documented


[Expand]
function getservbyname(name, proto: PChar): PServEnt;
Description: To be documented


[Expand]
function getprotobynumber(proto:tOS_INT):PProtoEnt;
Description: To be documented


[Expand]
function getprotobyname(name: PChar): PProtoEnt;
Description: To be documented


[Expand]
function WSAStartup(wVersionRequired:word; var WSAData:TWSADATA):tOS_INT;
Description: To be documented


[Expand]
function WSACleanup:tOS_INT;
Description: To be documented


[Expand]
procedure WSASetLastError(iError:tOS_INT); inline;
Description: To be documented


[Expand]
function WSAGetLastError:tOS_INT; inline;
Description: To be documented


[Expand]
function WSAIsBlocking: BOOL;
Description: To be documented


[Expand]
function WSAUnhookBlockingHook:tOS_INT;
Description: To be documented


[Expand]
function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc;
Description: To be documented


[Expand]
function WSACancelBlockingCall:tOS_INT;
Description: To be documented


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


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


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


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


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


[Expand]
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


[Expand]
function WSACancelAsyncRequest(hAsyncTaskHandle:THandle):tOS_INT;
Description: To be documented


[Expand]
function WSAAsyncSelect(s: TSocket; hWnd:HWND; wMsg:u_int; lEvent:longint):tOS_INT;
Description: To be documented


[Expand]
function WSARecvEx(s: TSocket;var buf; len:tOS_INT; flags:ptOS_INT):tOS_INT;
Description: To be documented


[Expand]
function __WSAFDIsSet(s: TSocket; var FDSet:TFDSet):Bool;
Description: To be documented


[Expand]
function __WSAFDIsSet_(s: TSocket; var FDSet:TFDSet):tOS_INT;
Description: To be documented


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


[Expand]
function AcceptEx(sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL;
Description: To be documented


[Expand]
procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: PSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: PSockAddr; var RemoteSockaddrLength: Integer);
Description: To be documented


[Expand]
function WSAMakeSyncReply(Buflen,Error:Word):dword;
Description: To be documented


[Expand]
function WSAMakeSelectReply(Event,Error:Word):dword;
Description: To be documented


[Expand]
function WSAGetAsyncBuflen(Param:dword):Word;
Description: To be documented


[Expand]
function WSAGetAsyncError(Param:dword):Word;
Description: To be documented


[Expand]
function WSAGetSelectEvent(Param:dword):Word;
Description: To be documented


[Expand]
function WSAGetSelectError(Param:dword):Word;
Description: To be documented


[Expand]
procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented


[Expand]
function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean;
Description: To be documented


[Expand]
procedure FD_SET(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented


[Expand]
procedure FD_ZERO(var FDSet:TFDSet);
Description: To be documented


Winsock undocumented functions

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


[Expand]
function getnetbyaddr(addr: Pointer; len, Struct: Integer): PNetEnt;
Description: To be documented


[Expand]
function getnetbyname(name: PChar): PNetEnt;
Description: To be documented


Winsock enhanced functions

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


RTL text IO functions

[Expand]
function SysTextIOReadChar(var ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOReadChar function


[Expand]
function SysTextIOWriteChar(ACh:Char; AUserData:Pointer):Boolean;
Description: Handler for platform TextIOWriteChar function


[Expand]
function SysTextIOWriteBuffer(ABuffer:PChar; ACount:LongInt; AUserData:Pointer):LongInt;
Description: Handler for platform TextIOWriteBuffer function


Winsock helper functions

[Expand]
function WinsockRedirectInput(s:TSocket):Boolean;
Description: Redirect standard input to the socket specified by s


[Expand]
function WinsockRedirectOutput(s:TSocket):Boolean;
Description: Redirect standard output to the socket specified by s


[Expand]
function WinsockErrorToString(AError:LongInt):String;
Description: To be documented


Return to Unit Reference