Difference between revisions of "Unit Winsock"
From Ultibo.org
(13 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | Notes: | + | '''Ultibo Winsock Interface unit''' |
+ | |||
+ | ''Notes:'' | ||
+ | |||
* All BSD/Winsock functions that accept an Address or Port expect them to be in Network order. | * All BSD/Winsock functions that accept an Address or Port expect them to be in Network order. | ||
* All other functions that take an Address or Port expect them to be in Host order. | * All other functions that take an Address or Port expect them to be in Host order. | ||
Line 12: | Line 15: | ||
---- | ---- | ||
− | '' | + | |
+ | <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> | ||
+ | | | ||
+ | |- | ||
+ | |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 36: | Line 1,498: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 48: | Line 1,510: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 60: | Line 1,522: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 72: | Line 1,534: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 87: | Line 1,549: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 99: | Line 1,561: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 111: | Line 1,573: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 123: | Line 1,585: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 135: | Line 1,597: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 147: | Line 1,609: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 159: | Line 1,621: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 171: | Line 1,633: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 183: | Line 1,645: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 195: | Line 1,657: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 207: | Line 1,669: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 219: | Line 1,681: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 231: | Line 1,693: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 243: | Line 1,705: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 255: | Line 1,717: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 267: | Line 1,729: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 279: | Line 1,741: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 291: | Line 1,753: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 303: | Line 1,765: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| 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. | | 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. | ||
|- | |- | ||
Line 315: | Line 1,777: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 327: | Line 1,789: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 339: | Line 1,801: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 351: | Line 1,813: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 363: | Line 1,825: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 375: | Line 1,837: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 387: | Line 1,849: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 399: | Line 1,861: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 411: | Line 1,873: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 423: | Line 1,885: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | All sockets contained | + | | All sockets contained by the FDSet must be of the same type |
|- | |- | ||
|} | |} | ||
Line 435: | Line 1,897: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 447: | Line 1,909: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 459: | Line 1,921: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 471: | Line 1,933: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 483: | Line 1,945: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 495: | Line 1,957: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 507: | Line 1,969: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 519: | Line 1,981: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 531: | Line 1,993: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 543: | Line 2,005: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 555: | Line 2,017: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 567: | Line 2,029: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 579: | Line 2,041: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 591: | Line 2,053: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 603: | Line 2,065: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 615: | Line 2,077: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 627: | Line 2,089: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 639: | Line 2,101: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 651: | Line 2,113: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 663: | Line 2,125: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 670: | Line 2,132: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <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);</pre> | + | <pre style="border: 0; padding-bottom:0px;">procedure WSASetLastError(iError:tOS_INT); inline;</pre> |
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 682: | Line 2,144: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <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;</pre> | + | <pre style="border: 0; padding-bottom:0px;">function WSAGetLastError:tOS_INT; inline;</pre> |
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 699: | Line 2,161: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 711: | Line 2,173: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 723: | Line 2,185: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 735: | Line 2,197: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 747: | Line 2,209: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 759: | Line 2,221: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 771: | Line 2,233: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 783: | Line 2,245: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 795: | Line 2,257: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 807: | Line 2,269: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 819: | Line 2,281: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 831: | Line 2,293: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 843: | Line 2,305: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 855: | Line 2,317: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 867: | Line 2,329: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 879: | Line 2,341: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 891: | Line 2,353: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 898: | Line 2,360: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
− | <pre style="border: 0; padding-bottom:0px;">procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: | + | <pre style="border: 0; padding-bottom:0px;">procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: PSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: PSockAddr; var RemoteSockaddrLength: Integer);</pre> |
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 915: | Line 2,377: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 927: | Line 2,389: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 939: | Line 2,401: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 951: | Line 2,413: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 963: | Line 2,425: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 975: | Line 2,437: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 987: | Line 2,449: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 999: | Line 2,461: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 1,011: | Line 2,473: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 1,023: | Line 2,485: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 1,038: | Line 2,500: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 1,050: | Line 2,512: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 1,062: | Line 2,524: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} | ||
Line 1,077: | Line 2,539: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! '''Note''' | + | ! 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 | ||
|- | |- | ||
|} | |} | ||
Line 1,086: | Line 2,587: | ||
'''Winsock helper functions''' | '''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;"> | <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> | <pre style="border: 0; padding-bottom:0px;">function WinsockErrorToString(AError:LongInt):String;</pre> | ||
Line 1,092: | Line 2,629: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | None documented |
|- | |- | ||
|} | |} |
Latest revision as of 02:04, 6 November 2024
Return to Unit Reference
Description
Ultibo Winsock Interface unit
Notes:
- All BSD/Winsock functions that accept an Address or Port expect them to be in Network order.
- All other functions that take an Address or Port expect them to be in Host order.
Constants
Winsock specific constants
WINSOCK_*
WINSOCK_VERSION = $0101;
|
|
WINSOCK_TCP_SERVER_THREAD_NAME = 'TCP Server';
|
Thread name for TCP server threads |
WINSOCK_TCP_SERVER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for TCP server threads |
WINSOCK_TCP_LISTENER_THREAD_NAME = 'TCP Listener';
|
Thread name for TCP listener threads |
WINSOCK_TCP_LISTENER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for TCP listener threads |
WINSOCK_UDP_SERVER_THREAD_NAME = 'UDP Server';
|
Thread name for UDP server threads |
WINSOCK_UDP_SERVER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for UDP server threads |
WINSOCK_UDP_LISTENER_THREAD_NAME = 'UDP Listener';
|
Thread name for UDP listener threads |
WINSOCK_UDP_LISTENER_THREAD_PRIORITY = THREAD_PRIORITY_NORMAL;
|
Thread priority for UDP listener threads |
FD_SETSIZE = GlobalSock.FD_SETSIZE;
|
|
IOCPARM_MASK = GlobalSock.IOCPARM_MASK;
|
|
IOC_VOID = GlobalSock.IOC_VOID;
|
|
IOC_OUT = GlobalSock.IOC_OUT;
|
|
IOC_IN = GlobalSock.IOC_IN;
|
|
IOC_INOUT = GlobalSock.IOC_INOUT;
|
|
FIONREAD = GlobalSock.FIONREAD;
|
|
FIONBIO = GlobalSock.FIONBIO;
|
|
FIOASYNC = GlobalSock.FIOASYNC;
|
|
SIOCSHIWAT = GlobalSock.SIOCSHIWAT;
|
|
SIOCGHIWAT = GlobalSock.SIOCGHIWAT;
|
|
SIOCSLOWAT = GlobalSock.SIOCSLOWAT;
|
|
SIOCGLOWAT = GlobalSock.SIOCGLOWAT;
|
|
SIOCATMARK = GlobalSock.SIOCATMARK;
|
|
IMPLINK_IP = GlobalSock.IMPLINK_IP;
|
|
IMPLINK_LOWEXPER = GlobalSock.IMPLINK_LOWEXPER;
|
|
IMPLINK_HIGHEXPER = GlobalSock.IMPLINK_HIGHEXPER;
|
|
INADDR_ANY = GlobalSock.INADDR_ANY;
|
|
INADDR_LOOPBACK = GlobalSock.INADDR_LOOPBACK;
|
|
INADDR_BROADCAST = GlobalSock.INADDR_BROADCAST;
|
|
INADDR_NONE = GlobalSock.INADDR_NONE;
|
|
IN_CLASSA_NET = GlobalSock.IN_CLASSA_NET;
|
|
IN_CLASSA_NSHIFT = GlobalSock.IN_CLASSA_NSHIFT;
|
|
IN_CLASSA_HOST = GlobalSock.IN_CLASSA_HOST;
|
|
IN_CLASSA_MAX = GlobalSock.IN_CLASSA_MAX;
|
|
IN_CLASSB_NET = GlobalSock.IN_CLASSB_NET;
|
|
IN_CLASSB_NSHIFT = GlobalSock.IN_CLASSB_NSHIFT;
|
|
IN_CLASSB_HOST = GlobalSock.IN_CLASSB_HOST;
|
|
IN_CLASSB_MAX = GlobalSock.IN_CLASSB_MAX;
|
|
IN_CLASSC_NET = GlobalSock.IN_CLASSC_NET;
|
|
IN_CLASSC_NSHIFT = GlobalSock.IN_CLASSC_NSHIFT;
|
|
IN_CLASSC_HOST = GlobalSock.IN_CLASSC_HOST;
|
|
WSADESCRIPTION_LEN = GlobalSock.WSADESCRIPTION_LEN;
|
|
WSASYS_STATUS_LEN = GlobalSock.WSASYS_STATUS_LEN;
|
|
TF_DISCONNECT = GlobalSock.TF_DISCONNECT;
|
|
TF_REUSE_SOCKET = GlobalSock.TF_REUSE_SOCKET;
|
|
TF_WRITE_BEHIND = GlobalSock.TF_WRITE_BEHIND;
|
|
Level number for (get/set)sockopt() to apply to socket itself | |
SOL_SOCKET = GlobalSock.SOL_SOCKET;
|
|
Maximum queue length specifiable by listen | |
SOMAXCONN = 5;
|
SOMAXCONN = GlobalSock.SOMAXCONN; (Lower for Winsock 1.1) |
Define constant based on rfc883, used by gethostbyxxxx() calls | |
MAXGETHOSTSTRUCT = GlobalSock.MAXGETHOSTSTRUCT;
|
|
This is used instead of -1, since the TSocket type is unsigned | |
INVALID_SOCKET = GlobalSock.INVALID_SOCKET;
|
|
SOCKET_ERROR = GlobalSock.SOCKET_ERROR;
|
IP protocol
IPPROTO_*
IPPROTO_IP = GlobalSock.IPPROTO_IP;
|
|
IPPROTO_ICMP = GlobalSock.IPPROTO_ICMP;
|
|
IPPROTO_IGMP = GlobalSock.IPPROTO_IGMP;
|
|
IPPROTO_GGP = GlobalSock.IPPROTO_GGP;
|
|
IPPROTO_TCP = GlobalSock.IPPROTO_TCP;
|
|
IPPROTO_EGP = GlobalSock.IPPROTO_EGP;
|
|
IPPROTO_PUP = GlobalSock.IPPROTO_PUP;
|
|
IPPROTO_UDP = GlobalSock.IPPROTO_UDP;
|
|
IPPROTO_HMP = GlobalSock.IPPROTO_HMP;
|
|
IPPROTO_IDP = GlobalSock.IPPROTO_IDP;
|
|
IPPROTO_RDP = GlobalSock.IPPROTO_RDP;
|
|
IPPROTO_IPV6 = GlobalSock.IPPROTO_IPV6;
|
|
IPPROTO_ROUTING = GlobalSock.IPPROTO_ROUTING;
|
|
IPPROTO_FRAGMENT = GlobalSock.IPPROTO_FRAGMENT;
|
|
IPPROTO_ICMPV6 = GlobalSock.IPPROTO_ICMPV6;
|
|
IPPROTO_RVD = GlobalSock.IPPROTO_RVD;
|
|
IPPROTO_ND = GlobalSock.IPPROTO_ND;
|
|
IPPROTO_RAW = GlobalSock.IPPROTO_RAW;
|
|
IPPROTO_MAX = GlobalSock.IPPROTO_MAX;
|
IP port
IPPORT_*
Port/socket numbers: network standard functions | |
IPPORT_ANY = GlobalSock.IPPORT_ANY;
|
|
IPPORT_ECHO = GlobalSock.IPPORT_ECHO;
|
|
IPPORT_DISCARD = GlobalSock.IPPORT_DISCARD;
|
|
IPPORT_SYSTAT = GlobalSock.IPPORT_SYSTAT;
|
|
IPPORT_DAYTIME = GlobalSock.IPPORT_DAYTIME;
|
|
IPPORT_NETSTAT = GlobalSock.IPPORT_NETSTAT;
|
|
IPPORT_FTP = GlobalSock.IPPORT_FTP;
|
|
IPPORT_TELNET = GlobalSock.IPPORT_TELNET;
|
|
IPPORT_SMTP = GlobalSock.IPPORT_SMTP;
|
|
IPPORT_TIMESERVER = GlobalSock.IPPORT_TIMESERVER;
|
|
IPPORT_NAMESERVER = GlobalSock.IPPORT_NAMESERVER;
|
|
IPPORT_WHOIS = GlobalSock.IPPORT_WHOIS;
|
|
IPPORT_DNS = GlobalSock.IPPORT_DNS;
|
|
IPPORT_MTP = GlobalSock.IPPORT_MTP;
|
|
IPPORT_BOOTPS = GlobalSock.IPPORT_BOOTPS;
|
|
IPPORT_BOOTPC = GlobalSock.IPPORT_BOOTPC;
|
|
Port/socket numbers: host specific functions | |
IPPORT_TFTP = GlobalSock.IPPORT_TFTP;
|
|
IPPORT_RJE = GlobalSock.IPPORT_RJE;
|
|
IPPORT_FINGER = GlobalSock.IPPORT_FINGER;
|
|
IPPORT_TTYLINK = GlobalSock.IPPORT_TTYLINK;
|
|
IPPORT_SUPDUP = GlobalSock.IPPORT_SUPDUP;
|
|
UNIX TCP sockets | |
IPPORT_EXECSERVER = GlobalSock.IPPORT_EXECSERVER;
|
|
IPPORT_LOGINSERVER = GlobalSock.IPPORT_LOGINSERVER;
|
|
IPPORT_CMDSERVER = GlobalSock.IPPORT_CMDSERVER;
|
|
IPPORT_EFSSERVER = GlobalSock.IPPORT_EFSSERVER;
|
|
UNIX UDP sockets | |
IPPORT_BIFFUDP = GlobalSock.IPPORT_BIFFUDP;
|
|
IPPORT_WHOSERVER = GlobalSock.IPPORT_WHOSERVER;
|
|
IPPORT_ROUTESERVER = GlobalSock.IPPORT_ROUTESERVER;
|
|
Ports < IPPORT_RESERVED are reserved for privileged processes (e.g. root) | |
IPPORT_RESERVED = GlobalSock.IPPORT_RESERVED;
|
IP option
IP_*
Options for use with [gs]etsockopt at the IP level | |
IP_OPTIONS = GlobalSock.IP_OPTIONS;
|
|
IP_MULTICAST_IF = GlobalSock.IP_MULTICAST_IF;
|
|
IP_MULTICAST_TTL = GlobalSock.IP_MULTICAST_TTL;
|
|
IP_MULTICAST_LOOP = GlobalSock.IP_MULTICAST_LOOP;
|
|
IP_ADD_MEMBERSHIP = GlobalSock.IP_ADD_MEMBERSHIP;
|
|
IP_DROP_MEMBERSHIP = GlobalSock.IP_DROP_MEMBERSHIP;
|
|
IP_TTL = GlobalSock.IP_TTL;
|
|
IP_TOS = GlobalSock.IP_TOS;
|
|
IP_DONTFRAGMENT = GlobalSock.IP_DONTFRAGMENT;
|
|
IP_HDRINCL = GlobalSock.IP_HDRINCL;
|
|
IP_DEFAULT_MULTICAST_TTL = GlobalSock.IP_DEFAULT_MULTICAST_TTL;
|
|
IP_DEFAULT_MULTICAST_LOOP = GlobalSock.IP_DEFAULT_MULTICAST_LOOP;
|
|
IP_MAX_MEMBERSHIPS = GlobalSock.IP_MAX_MEMBERSHIPS;
|
Socket type
SOCK_*
SOCK_UNSPEC = GlobalSock.SOCK_UNSPEC;
|
|
SOCK_STREAM = GlobalSock.SOCK_STREAM;
|
|
SOCK_DGRAM = GlobalSock.SOCK_DGRAM;
|
|
SOCK_RAW = GlobalSock.SOCK_RAW;
|
|
SOCK_RDM = GlobalSock.SOCK_RDM;
|
|
SOCK_SEQPACKET = GlobalSock.SOCK_SEQPACKET;
|
|
SOCK_PACKET = GlobalSock.SOCK_PACKET;
|
Socket option
SO_*
SO_DEBUG = GlobalSock.SO_DEBUG;
|
|
SO_ACCEPTCONN = GlobalSock.SO_ACCEPTCONN;
|
|
SO_REUSEADDR = GlobalSock.SO_REUSEADDR;
|
|
SO_KEEPALIVE = GlobalSock.SO_KEEPALIVE;
|
|
SO_DONTROUTE = GlobalSock.SO_DONTROUTE;
|
|
SO_BROADCAST = GlobalSock.SO_BROADCAST;
|
|
SO_USELOOPBACK = GlobalSock.SO_USELOOPBACK;
|
|
SO_LINGER = GlobalSock.SO_LINGER;
|
|
SO_OOBINLINE = GlobalSock.SO_OOBINLINE;
|
|
SO_DONTLINGER = GlobalSock.SO_DONTLINGER;
|
|
SO_EXCLUSIVEADDRUSE = GlobalSock.SO_EXCLUSIVEADDRUSE;
|
|
Additional options | |
SO_SNDBUF = GlobalSock.SO_SNDBUF;
|
|
SO_RCVBUF = GlobalSock.SO_RCVBUF;
|
|
SO_SNDLOWAT = GlobalSock.SO_SNDLOWAT;
|
|
SO_RCVLOWAT = GlobalSock.SO_RCVLOWAT;
|
|
SO_SNDTIMEO = GlobalSock.SO_SNDTIMEO;
|
|
SO_RCVTIMEO = GlobalSock.SO_RCVTIMEO;
|
|
SO_ERROR = GlobalSock.SO_ERROR;
|
|
SO_TYPE = GlobalSock.SO_TYPE;
|
|
SO_CONNTIMEO = GlobalSock.SO_CONNTIMEO;
|
|
Options for connect and disconnect data and options. Used only by non-TCP/IP transports such as DECNet, OSI TP4, etc | |
SO_CONNDATA = GlobalSock.SO_CONNDATA;
|
|
SO_CONNOPT = GlobalSock.SO_CONNOPT;
|
|
SO_DISCDATA = GlobalSock.SO_DISCDATA;
|
|
SO_DISCOPT = GlobalSock.SO_DISCOPT;
|
|
SO_CONNDATALEN = GlobalSock.SO_CONNDATALEN;
|
|
SO_CONNOPTLEN = GlobalSock.SO_CONNOPTLEN;
|
|
SO_DISCDATALEN = GlobalSock.SO_DISCDATALEN;
|
|
SO_DISCOPTLEN = GlobalSock.SO_DISCOPTLEN;
|
|
Option for opening sockets for synchronous access | |
SO_OPENTYPE = GlobalSock.SO_OPENTYPE;
|
|
SO_SYNCHRONOUS_ALERT = GlobalSock.SO_SYNCHRONOUS_ALERT;
|
|
SO_SYNCHRONOUS_NONALERT = GlobalSock.SO_SYNCHRONOUS_NONALERT;
|
|
Other NT-specific options | |
SO_MAXDG = GlobalSock.SO_MAXDG;
|
|
SO_MAXPATHDG = GlobalSock.SO_MAXPATHDG;
|
|
SO_UPDATE_ACCEPT_CONTEXT = GlobalSock.SO_UPDATE_ACCEPT_CONTEXT;
|
|
SO_CONNECT_TIME = GlobalSock.SO_CONNECT_TIME;
|
TCP option
TCP_*
TCP_NODELAY = GlobalSock.TCP_NODELAY;
|
|
TCP_MAXSEG = GlobalSock.TCP_MAXSEG;
|
|
TCP_NOPUSH = GlobalSock.TCP_NOPUSH;
|
|
TCP_NOOPT = GlobalSock.TCP_NOOPT;
|
|
TCP_BSDURGENT = GlobalSock.TCP_BSDURGENT;
|
|
TCP_WSCALE = GlobalSock.TCP_WSCALE;
|
|
TCP_NOSACK = GlobalSock.TCP_NOSACK;
|
UDP option
UDP_*
UDP_NOCHECKSUM = GlobalSock.UDP_NOCHECKSUM;
|
Address family
AF_*
AF_UNSPEC = GlobalSock.AF_UNSPEC;
|
|
AF_UNIX = GlobalSock.AF_UNIX;
|
|
AF_INET = GlobalSock.AF_INET;
|
|
AF_IMPLINK = GlobalSock.AF_IMPLINK;
|
|
AF_PUP = GlobalSock.AF_PUP;
|
|
AF_CHAOS = GlobalSock.AF_CHAOS;
|
|
AF_IPX = GlobalSock.AF_IPX;
|
|
AF_NS = GlobalSock.AF_NS;
|
|
AF_ISO = GlobalSock.AF_ISO;
|
|
AF_OSI = GlobalSock.AF_OSI;
|
|
AF_ECMA = GlobalSock.AF_ECMA;
|
|
AF_DATAKIT = GlobalSock.AF_DATAKIT;
|
|
AF_CCITT = GlobalSock.AF_CCITT;
|
|
AF_SNA = GlobalSock.AF_SNA;
|
|
AF_DECnet = GlobalSock.AF_DECnet;
|
|
AF_DLI = GlobalSock.AF_DLI;
|
|
AF_LAT = GlobalSock.AF_LAT;
|
|
AF_HYLINK = GlobalSock.AF_HYLINK;
|
|
AF_APPLETALK = GlobalSock.AF_APPLETALK;
|
|
AF_NETBIOS = GlobalSock.AF_NETBIOS;
|
|
AF_VOICEVIEW = GlobalSock.AF_VOICEVIEW;
|
|
AF_FIREFOX = GlobalSock.AF_FIREFOX;
|
|
AF_UNKNOWN1 = GlobalSock.AF_UNKNOWN1;
|
|
AF_BAN = GlobalSock.AF_BAN;
|
|
AF_ATM = GlobalSock.AF_ATM;
|
|
AF_INET6 = GlobalSock.AF_INET6;
|
|
AF_CLUSTER = GlobalSock.AF_CLUSTER;
|
|
AF_12844 = GlobalSock.AF_12844;
|
|
AF_IRDA = GlobalSock.AF_IRDA;
|
|
AF_NETDES = GlobalSock.AF_NETDES;
|
|
AF_MAX = GlobalSock.AF_MAX;
|
Protocol family
PF_*
PF_UNSPEC = GlobalSock.PF_UNSPEC;
|
|
PF_UNIX = GlobalSock.PF_UNIX;
|
|
PF_INET = GlobalSock.PF_INET;
|
|
PF_IMPLINK = GlobalSock.PF_IMPLINK;
|
|
PF_PUP = GlobalSock.PF_PUP;
|
|
PF_CHAOS = GlobalSock.PF_CHAOS;
|
|
PF_NS = GlobalSock.PF_NS;
|
|
PF_IPX = GlobalSock.PF_IPX;
|
|
PF_ISO = GlobalSock.PF_ISO;
|
|
PF_OSI = GlobalSock.PF_OSI;
|
|
PF_ECMA = GlobalSock.PF_ECMA;
|
|
PF_DATAKIT = GlobalSock.PF_DATAKIT;
|
|
PF_CCITT = GlobalSock.PF_CCITT;
|
|
PF_SNA = GlobalSock.PF_SNA;
|
|
PF_DECnet = GlobalSock.PF_DECnet;
|
|
PF_DLI = GlobalSock.PF_DLI;
|
|
PF_LAT = GlobalSock.PF_LAT;
|
|
PF_HYLINK = GlobalSock.PF_HYLINK;
|
|
PF_APPLETALK = GlobalSock.PF_APPLETALK;
|
|
PF_VOICEVIEW = GlobalSock.PF_VOICEVIEW;
|
|
PF_FIREFOX = GlobalSock.PF_FIREFOX;
|
|
PF_UNKNOWN1 = GlobalSock.PF_UNKNOWN1;
|
|
PF_BAN = GlobalSock.PF_BAN;
|
|
PF_ATM = GlobalSock.PF_ATM;
|
|
PF_INET6 = GlobalSock.PF_INET6;
|
|
PF_CLUSTER = GlobalSock.PF_CLUSTER;
|
|
PF_12844 = GlobalSock.PF_12844;
|
|
PF_IRDA = GlobalSock.PF_IRDA;
|
|
PF_NETDES = GlobalSock.PF_NETDES;
|
|
PF_MAX = GlobalSock.PF_MAX;
|
Message flag
MSG_*
MSG_OOB = GlobalSock.MSG_OOB;
|
|
MSG_PEEK = GlobalSock.MSG_PEEK;
|
|
MSG_DONTROUTE = GlobalSock.MSG_DONTROUTE;
|
|
MSG_MAXIOVLEN = GlobalSock.MSG_MAXIOVLEN;
|
|
MSG_PARTIAL = GlobalSock.MSG_PARTIAL;
|
WSAAsyncSelect flag
FD_*
Define flags to be used with the WSAAsyncSelect() call | |
FD_READ = GlobalSock.FD_READ;
|
|
FD_WRITE = GlobalSock.FD_WRITE;
|
|
FD_OOB = GlobalSock.FD_OOB;
|
|
FD_ACCEPT = GlobalSock.FD_ACCEPT;
|
|
FD_CONNECT = GlobalSock.FD_CONNECT;
|
|
FD_CLOSE = GlobalSock.FD_CLOSE;
|
Socket error
WSAE*
All Windows Sockets error constants are biased by WSABASEERR from the "normal" | |
WSABASEERR = GlobalSock.WSABASEERR;
|
|
Windows Sockets definitions of regular Microsoft C error constants | |
WSAEINTR = GlobalSock.WSAEINTR;
|
|
WSAEBADF = GlobalSock.WSAEBADF;
|
|
WSAEACCES = GlobalSock.WSAEACCES;
|
|
WSAEFAULT = GlobalSock.WSAEFAULT;
|
|
WSAEINVAL = GlobalSock.WSAEINVAL;
|
|
WSAEMFILE = GlobalSock.WSAEMFILE;
|
|
Windows Sockets definitions of regular Berkeley error constants | |
WSAEWOULDBLOCK = GlobalSock.WSAEWOULDBLOCK;
|
|
WSAEINPROGRESS = GlobalSock.WSAEINPROGRESS;
|
|
WSAEALREADY = GlobalSock.WSAEALREADY;
|
|
WSAENOTSOCK = GlobalSock.WSAENOTSOCK;
|
|
WSAEDESTADDRREQ = GlobalSock.WSAEDESTADDRREQ;
|
|
WSAEMSGSIZE = GlobalSock.WSAEMSGSIZE;
|
|
WSAEPROTOTYPE = GlobalSock.WSAEPROTOTYPE;
|
|
WSAENOPROTOOPT = GlobalSock.WSAENOPROTOOPT;
|
|
WSAEPROTONOSUPPORT = GlobalSock.WSAEPROTONOSUPPORT;
|
|
WSAESOCKTNOSUPPORT = GlobalSock.WSAESOCKTNOSUPPORT;
|
|
WSAEOPNOTSUPP = GlobalSock.WSAEOPNOTSUPP;
|
|
WSAEPFNOSUPPORT = GlobalSock.WSAEPFNOSUPPORT;
|
|
WSAEAFNOSUPPORT = GlobalSock.WSAEAFNOSUPPORT;
|
|
WSAEADDRINUSE = GlobalSock.WSAEADDRINUSE;
|
|
WSAEADDRNOTAVAIL = GlobalSock.WSAEADDRNOTAVAIL;
|
|
WSAENETDOWN = GlobalSock.WSAENETDOWN;
|
|
WSAENETUNREACH = GlobalSock.WSAENETUNREACH;
|
|
WSAENETRESET = GlobalSock.WSAENETRESET;
|
|
WSAECONNABORTED = GlobalSock.WSAECONNABORTED;
|
|
WSAECONNRESET = GlobalSock.WSAECONNRESET;
|
|
WSAENOBUFS = GlobalSock.WSAENOBUFS;
|
|
WSAEISCONN = GlobalSock.WSAEISCONN;
|
|
WSAENOTCONN = GlobalSock.WSAENOTCONN;
|
|
WSAESHUTDOWN = GlobalSock.WSAESHUTDOWN;
|
|
WSAETOOMANYREFS = GlobalSock.WSAETOOMANYREFS;
|
|
WSAETIMEDOUT = GlobalSock.WSAETIMEDOUT;
|
|
WSAECONNREFUSED = GlobalSock.WSAECONNREFUSED;
|
|
WSAELOOP = GlobalSock.WSAELOOP;
|
|
WSAENAMETOOLONG = GlobalSock.WSAENAMETOOLONG;
|
|
WSAEHOSTDOWN = GlobalSock.WSAEHOSTDOWN;
|
|
WSAEHOSTUNREACH = GlobalSock.WSAEHOSTUNREACH;
|
|
WSAENOTEMPTY = GlobalSock.WSAENOTEMPTY;
|
|
WSAEPROCLIM = GlobalSock.WSAEPROCLIM;
|
|
WSAEUSERS = GlobalSock.WSAEUSERS;
|
|
WSAEDQUOT = GlobalSock.WSAEDQUOT;
|
|
WSAESTALE = GlobalSock.WSAESTALE;
|
|
WSAEREMOTE = GlobalSock.WSAEREMOTE;
|
|
WSAEDISCON = GlobalSock.WSAEDISCON;
|
|
Extended Windows Sockets error constant definitions | |
WSASYSNOTREADY = GlobalSock.WSASYSNOTREADY;
|
|
WSAVERNOTSUPPORTED = GlobalSock.WSAVERNOTSUPPORTED;
|
|
WSANOTINITIALISED = GlobalSock.WSANOTINITIALISED;
|
|
Error return codes from gethostbyname() and gethostbyaddr() (when using the resolver). Note that these errors are retrieved via WSAGetLastError() and must therefore follow the rules for avoiding clashes with error numbers from specific implementations or language run-time systems. For this reason the codes are based at WSABASEERR+1001. Note also that [WSA]NO_ADDRESS is defined only for compatibility purposes. | |
Authoritative Answer: Host not found | |
WSAHOST_NOT_FOUND = GlobalSock.WSAHOST_NOT_FOUND;
|
|
HOST_NOT_FOUND = GlobalSock.HOST_NOT_FOUND;
|
|
Non-Authoritative: Host not found, or SERVERFAIL | |
WSATRY_AGAIN = GlobalSock.WSATRY_AGAIN;
|
|
TRY_AGAIN = GlobalSock.TRY_AGAIN;
|
|
Non recoverable errors, FORMERR, REFUSED, NOTIMP | |
WSANO_RECOVERY = GlobalSock.WSANO_RECOVERY;
|
|
NO_RECOVERY = GlobalSock.NO_RECOVERY;
|
|
Valid name, no data record of requested type | |
WSANO_DATA = GlobalSock.WSANO_DATA;
|
|
NO_DATA = GlobalSock.NO_DATA;
|
|
no address, look for MX record | |
WSANO_ADDRESS = GlobalSock.WSANO_ADDRESS;
|
|
NO_ADDRESS = GlobalSock.NO_ADDRESS;
|
|
Windows Sockets errors redefined as regular Berkeley error constants. These are commented out in Windows NT to avoid conflicts with errno.h. Use the WSA constants instead. | |
EWOULDBLOCK = GlobalSock.EWOULDBLOCK;
|
|
EINPROGRESS = GlobalSock.EINPROGRESS;
|
|
EALREADY = GlobalSock.EALREADY;
|
|
ENOTSOCK = GlobalSock.ENOTSOCK;
|
|
EDESTADDRREQ = GlobalSock.EDESTADDRREQ;
|
|
EMSGSIZE = GlobalSock.EMSGSIZE;
|
|
EPROTOTYPE = GlobalSock.EPROTOTYPE;
|
|
ENOPROTOOPT = GlobalSock.ENOPROTOOPT;
|
|
EPROTONOSUPPORT = GlobalSock.EPROTONOSUPPORT;
|
|
ESOCKTNOSUPPORT = GlobalSock.ESOCKTNOSUPPORT;
|
|
EOPNOTSUPP = GlobalSock.EOPNOTSUPP;
|
|
EPFNOSUPPORT = GlobalSock.EPFNOSUPPORT;
|
|
EAFNOSUPPORT = GlobalSock.EAFNOSUPPORT;
|
|
EADDRINUSE = GlobalSock.EADDRINUSE;
|
|
EADDRNOTAVAIL = GlobalSock.EADDRNOTAVAIL;
|
|
ENETDOWN = GlobalSock.ENETDOWN;
|
|
ENETUNREACH = GlobalSock.ENETUNREACH;
|
|
ENETRESET = GlobalSock.ENETRESET;
|
|
ECONNABORTED = GlobalSock.ECONNABORTED;
|
|
ECONNRESET = GlobalSock.ECONNRESET;
|
|
ENOBUFS = GlobalSock.ENOBUFS;
|
|
EISCONN = GlobalSock.EISCONN;
|
|
ENOTCONN = GlobalSock.ENOTCONN;
|
|
ESHUTDOWN = GlobalSock.ESHUTDOWN;
|
|
ETOOMANYREFS = GlobalSock.ETOOMANYREFS;
|
|
ETIMEDOUT = GlobalSock.ETIMEDOUT;
|
|
ECONNREFUSED = GlobalSock.ECONNREFUSED;
|
|
ELOOP = GlobalSock.ELOOP;
|
|
ENAMETOOLONG = GlobalSock.ENAMETOOLONG;
|
|
EHOSTDOWN = GlobalSock.EHOSTDOWN;
|
|
EHOSTUNREACH = GlobalSock.EHOSTUNREACH;
|
|
ENOTEMPTY = GlobalSock.ENOTEMPTY;
|
|
EPROCLIM = GlobalSock.EPROCLIM;
|
|
EUSERS = GlobalSock.EUSERS;
|
|
EDQUOT = GlobalSock.EDQUOT;
|
|
ESTALE = GlobalSock.ESTALE;
|
|
EREMOTE = GlobalSock.EREMOTE;
|
|
ENOTREADY = GlobalSock.ENOTREADY;
|
|
EVERNOTSUPPORTED = GlobalSock.EVERNOTSUPPORTED;
|
|
ENOTINITIALISED = GlobalSock.ENOTINITIALISED;
|
WsControlEx option
WSA_*
WSA_MAX_INTERFACE_NAME_LEN = GlobalSock.WSA_MAX_INTERFACE_NAME_LEN;
|
|
WSA_ANY_SIZE = GlobalSock.WSA_ANY_SIZE;
|
|
WSA_MAX_ADAPTER_NAME = GlobalSock.WSA_MAX_ADAPTER_NAME;
|
|
WSA_MAX_ADAPTER_DESCRIPTION_LENGTH = GlobalSock.WSA_MAX_ADAPTER_DESCRIPTION_LENGTH;
|
|
WSA_MAX_ADAPTER_NAME_LENGTH = GlobalSock.WSA_MAX_ADAPTER_NAME_LENGTH;
|
|
WSA_MAX_ADAPTER_ADDRESS_LENGTH = GlobalSock.WSA_MAX_ADAPTER_ADDRESS_LENGTH;
|
|
WSA_MAX_HOSTNAME_LEN = GlobalSock.WSA_MAX_HOSTNAME_LEN;
|
|
WSA_MAX_DOMAIN_NAME_LEN = GlobalSock.WSA_MAX_DOMAIN_NAME_LEN;
|
|
WSA_MAX_SCOPE_ID_LEN = GlobalSock.WSA_MAX_SCOPE_ID_LEN;
|
|
WSA_MAXLEN_IFDESCR = GlobalSock.WSA_MAXLEN_IFDESCR;
|
|
WSA_MAXLEN_PHYSADDR = GlobalSock.WSA_MAXLEN_PHYSADDR;
|
|
WSA_USE_CURRENT_TTL = GlobalSock.WSA_USE_CURRENT_TTL;
|
|
WSA_USE_CURRENT_FORWARDING = GlobalSock.WSA_USE_CURRENT_FORWARDING;
|
|
WSA_IP_FORWARDING = GlobalSock.WSA_IP_FORWARDING;
|
|
WSA_IP_NOT_FORWARDING = GlobalSock.WSA_IP_NOT_FORWARDING;
|
|
WsControlEx Functions | |
WSA_GETNUMBEROFINTERFACES = GlobalSock.WSA_GETNUMBEROFINTERFACES;
|
|
WSA_GETIFENTRY = GlobalSock.WSA_GETIFENTRY;
|
|
WSA_GETIFTABLE = GlobalSock.WSA_GETIFTABLE;
|
|
WSA_GETIPADDRTABLE = GlobalSock.WSA_GETIPADDRTABLE;
|
|
WSA_GETIPNETTABLE = GlobalSock.WSA_GETIPNETTABLE;
|
|
WSA_GETIPFORWARDTABLE = GlobalSock.WSA_GETIPFORWARDTABLE;
|
|
WSA_GETTCPTABLE = GlobalSock.WSA_GETTCPTABLE;
|
|
WSA_GETUDPTABLE = GlobalSock.WSA_GETUDPTABLE;
|
|
WSA_GETIPSTATISTICS = GlobalSock.WSA_GETIPSTATISTICS;
|
|
WSA_GETICMPSTATISTICS = GlobalSock.WSA_GETICMPSTATISTICS;
|
|
WSA_GETTCPSTATISTICS = GlobalSock.WSA_GETTCPSTATISTICS;
|
|
WSA_GETUDPSTATISTICS = GlobalSock.WSA_GETUDPSTATISTICS;
|
|
WSA_SETIFENTRY = GlobalSock.WSA_SETIFENTRY;
|
|
WSA_CREATEIPFORWARDENTRY = GlobalSock.WSA_CREATEIPFORWARDENTRY;
|
|
WSA_SETIPFORWARDENTRY = GlobalSock.WSA_SETIPFORWARDENTRY;
|
|
WSA_DELETEIPFORWARDENTRY = GlobalSock.WSA_DELETEIPFORWARDENTRY;
|
|
WSA_SETIPSTATISTICS = GlobalSock.WSA_SETIPSTATISTICS;
|
|
WSA_SETIPTTL = GlobalSock.WSA_SETIPTTL;
|
|
WSA_CREATEIPNETENTRY = GlobalSock.WSA_CREATEIPNETENTRY;
|
|
WSA_SETIPNETENTRY = GlobalSock.WSA_SETIPNETENTRY;
|
|
WSA_DELETEIPNETENTRY = GlobalSock.WSA_DELETEIPNETENTRY;
|
|
WSA_FLUSHIPNETTABLE = GlobalSock.WSA_FLUSHIPNETTABLE;
|
|
WSA_CREATEPROXYARPENTRY = GlobalSock.WSA_CREATEPROXYARPENTRY;
|
|
WSA_DELETEPROXTARPENTRY = GlobalSock.WSA_DELETEPROXTARPENTRY;
|
|
WSA_SETTCPENTRY = GlobalSock.WSA_SETTCPENTRY;
|
|
WSA_GETINTERFACEINFO = GlobalSock.WSA_GETINTERFACEINFO;
|
|
WSA_GETUNIDIRECTIONALADAPTERINFO = GlobalSock.WSA_GETUNIDIRECTIONALADAPTERINFO;
|
|
WSA_GETBESTINTERFACE = GlobalSock.WSA_GETBESTINTERFACE;
|
|
WSA_GETBESTROUTE = GlobalSock.WSA_GETBESTROUTE;
|
|
WSA_NOTIFYADDRCHANGE = GlobalSock.WSA_NOTIFYADDRCHANGE;
|
|
WSA_NOTIFYROUTECHANGE = GlobalSock.WSA_NOTIFYROUTECHANGE;
|
|
WSA_GETADAPTERINDEX = GlobalSock.WSA_GETADAPTERINDEX;
|
|
WSA_ADDIPADDRESS = GlobalSock.WSA_ADDIPADDRESS;
|
|
WSA_DELETEIPADDRESS = GlobalSock.WSA_DELETEIPADDRESS;
|
|
WSA_GETNETWORKPARAMS = GlobalSock.WSA_GETNETWORKPARAMS;
|
|
WSA_GETADAPTERSINFO = GlobalSock.WSA_GETADAPTERSINFO;
|
|
WSA_GETPERADAPTERINFO = GlobalSock.WSA_GETPERADAPTERINFO;
|
|
WSA_IPRELEASEADDRESS = GlobalSock.WSA_IPRELEASEADDRESS;
|
|
WSA_IPRENEWADDRESS = GlobalSock.WSA_IPRENEWADDRESS;
|
|
WSA_SENDARP = GlobalSock.WSA_SENDARP;
|
|
WSA_GETRTTANDHOPCOUNT = GlobalSock.WSA_GETRTTANDHOPCOUNT;
|
|
WSA_GETFRIENDLYIFINDEX = GlobalSock.WSA_GETFRIENDLYIFINDEX;
|
|
WSA_ENABLEROUTER = GlobalSock.WSA_ENABLEROUTER;
|
|
WSA_UNENABLEROUTER = GlobalSock.WSA_UNENABLEROUTER;
|
Type definitions
See globalsock.pas
Public variables
None defined
Function declarations
Initialization functions
procedure WSInit;
Description: To be documented
Note | None documented |
---|
function WSStart:Boolean;
Description: To be documented
Note | None documented |
---|
function WSStop:Boolean;
Description: To be documented
Note | None documented |
---|
procedure WSAsyncStart(Data:Pointer);
Description: To be documented
Note | None documented |
---|
Winsock functions
function accept(s: TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;
Description: To be documented
Note | None documented |
---|
function accept(s: TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;
Description: To be documented
Note | None documented |
---|
function bind(s: TSocket; addr: PSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function bind(s: TSocket; var addr: TSockaddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function closesocket(s: TSocket):tOS_INT;
Description: To be documented
Note | None documented |
---|
function connect(s: TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function connect(s: TSocket; var name:TSockAddr; namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function ioctlsocket(s: TSocket; cmd:longint; var arg:u_long):tOS_INT;
Description: To be documented
Note | None documented |
---|
function ioctlsocket(s: TSocket; cmd:longint; var arg:longint):tOS_INT;
Description: To be documented
Note | None documented |
---|
function ioctlsocket(s: TSocket; cmd:longint; argp:pu_long):tOS_INT;
Description: To be documented
Note | None documented |
---|
function getpeername(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function getsockname(s: TSocket; var name:TSockAddr; var namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; var optlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; var optlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function getsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function htonl(hostlong: u_long): u_long;
Description: To be documented
Note | None documented |
---|
function htons(hostshort: u_short): u_short;
Description: To be documented
Note | None documented |
---|
function inet_addr(cp: PChar): u_long;
Description: To be documented
Note | None documented |
---|
function inet_ntoa(inaddr: TInAddr): PChar;
Description: To be documented
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. |
---|
function listen(s: TSocket; backlog:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function ntohl(netlong: u_long): u_long;
Description: To be documented
Note | None documented |
---|
function ntohs(netshort: u_short): u_short;
Description: To be documented
Note | None documented |
---|
function recv(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function recv(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function recv(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function recvfrom(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function recvfrom(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; from:PSockAddr; fromlen:ptOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function recvfrom(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var from:TSockAddr; var fromlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;
Description: To be documented
Note | All sockets contained by the FDSet must be of the same type |
---|
function send(s: TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function send(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function send(s: TSocket;buf:pointer; len:tOS_INT; flags:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function sendto(s: TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function sendto(s: TSocket; buf:pointer; len:tOS_INT; flags:tOS_INT; toaddr:PSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function sendto(s: TSocket; var buf; len:tOS_INT; flags:tOS_INT; var toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; optval:pointer; optlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function setsockopt(s: TSocket; level:tOS_INT; optname:tOS_INT; var optval; optlen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function shutdown(s: TSocket; how:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function socket(af:tOS_INT; struct:tOS_INT; protocol:tOS_INT):TSocket;
Description: To be documented
Note | None documented |
---|
function gethostbyaddr(addr:pchar; len:tOS_INT; family:tOS_INT): PHostEnt;
Description: To be documented
Note | None documented |
---|
function gethostbyname(name: PChar): PHostEnt;
Description: To be documented
Note | None documented |
---|
function gethostname(name: PChar; namelen:tOS_INT):tOS_INT;
Description: To be documented
Note | None documented |
---|
function getservbyport(port:tOS_INT; proto: PChar):PServEnt;
Description: To be documented
Note | None documented |
---|
function getservbyname(name, proto: PChar): PServEnt;
Description: To be documented
Note | None documented |
---|
function getprotobynumber(proto:tOS_INT):PProtoEnt;
Description: To be documented
Note | None documented |
---|
function getprotobyname(name: PChar): PProtoEnt;
Description: To be documented
Note | None documented |
---|
function WSAStartup(wVersionRequired:word; var WSAData:TWSADATA):tOS_INT;
Description: To be documented
Note | None documented |
---|
function WSACleanup:tOS_INT;
Description: To be documented
Note | None documented |
---|
procedure WSASetLastError(iError:tOS_INT); inline;
Description: To be documented
Note | None documented |
---|
function WSAGetLastError:tOS_INT; inline;
Description: To be documented
Note | None documented |
---|
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: To be documented
Note | None documented |
---|
function __WSAFDIsSet(s: TSocket; var FDSet:TFDSet):Bool;
Description: To be documented
Note | None documented |
---|
function __WSAFDIsSet_(s: TSocket; var FDSet:TFDSet):tOS_INT;
Description: To be documented
Note | None documented |
---|
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; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL;
Description: To be documented
Note | None documented |
---|
procedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: PSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: PSockAddr; var RemoteSockaddrLength: Integer);
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: To be documented
Note | None documented |
---|
function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean;
Description: To be documented
Note | None documented |
---|
procedure FD_SET(Socket:TSocket; var FDSet:TFDSet);
Description: To be documented
Note | None documented |
---|
procedure FD_ZERO(var FDSet:TFDSet);
Description: To be documented
Note | None documented |
---|
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: To be documented
Note | None documented |
---|
function getnetbyname(name: PChar): PNetEnt;
Description: To be documented
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