Difference between revisions of "Unit Winsock"

From Ultibo.org
Jump to: navigation, search
Line 15: Line 15:
 
----
 
----
  
''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= GlobalSock.SOMAXCONN;</code>
 +
| &nbsp;
 +
|-
 +
|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 constants''' <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 constants''' <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 constants''' <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 constants''' <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 constants''' <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;
 +
|-
 +
|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 constants''' <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 constants''' <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 constants''' <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 constants''' <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 constants''' <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 constants ''' <code> FD_* </code></div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
| <code>|colspan="2"|Define flags to be used with the WSAAsyncSelect() call</code>
 +
| style="width: 50%;"|&nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>FD_READ = GlobalSock.FD_READ;</code>
 +
| &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 constants''' <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 constants''' <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 ===

Revision as of 04:29, 24 December 2016

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 constants IPPROTO_*


[Expand]
IP port constants IPPORT_*


[Expand]
IP option constants IP_*


[Expand]
Socket type constants SOCK_*


[Expand]
Socket option constants SO_*


[Expand]
TCP option constants TCP_*


[Expand]
UDP option constants UDP_*


[Expand]
Address family constants AF_*


[Expand]
Protocol family constants PF_*


[Expand]
Message flag constants MSG_*


[Expand]
WSAAsyncSelect flag constants FD_*


[Expand]
Socket error constants WSAE*


[Expand]
WsControlEx option constants WSA_*


Type definitions


To be documented

Public variables


To be documented

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);
Description: To be documented


[Expand]
function WSAGetLastError:tOS_INT;
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: TSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: TSockAddr; 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


Winsock helper functions

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


Return to Unit Reference