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