tSysPortOutW (STRUCT) ¶ TYPE tSysPortOutW : STRUCT InOut: Name Type ulAddress UDINT pusVal WORD pulOut POINTER TO RTS_IEC_RESULT
INADDR (UNION) ¶ TYPE INADDR : UNION This union contains an IP address in three different formats. InOut: Name Type Comment S_un_b UDINT_IN_BYTES Address for byte-by-byte access S_un_w UDINT_IN_WORDS Address for word-by-word access ulAddr UDINT IP-address
GVL (GVL) ¶ InOut: Scope Name Type Initial Comment Constant SOCKET_AF_UNSPEC INT 0 AddressFamily: unspecified SOCKET_AF_LOCAL INT 1 AddressFamily: local to host (pipes, portals) SOCKET_AF_UNIX INT 1 AddressFamily: backward compatibility SOCKET_AF_INET INT 2 AddressFamily: DINTernetwork: UDP, TCP, etc. SOCKET_AF_IMPLINK INT 3 AddressFamily: arpanet imp addresses SOCKET_AF_PUP INT 4 AddressFamily: pup protocols: e.g. BSP SOCKET_AF_CHAOS INT 5 AddressFamily: mit CHAOS protocols SOCKET_AF_NS INT 6 AddressFamily: XEROX NS protocols SOCKET_AF_ISO INT 7 AddressFamily: ISO protocols SOCKET_AF_OSI INT 7 AddressFamily: OSI protocols SOCKET_AF_ECMA INT 8 AddressFamily: european computer manufacturers SOCKET_AF_DATAKIT INT 9 AddressFamily: datakit protocols SOCKET_AF_CCITT INT 10 AddressFamily: CCITT protocols, X.25 etc SOCKET_AF_SNA INT 11 AddressFamily: IBM SNA SOCKET_AF_DECnet INT 12 AddressFamily: DECnet SOCKET_AF_DLI INT 13 AddressFamily: DEC Direct data link DINTerface SOCKET_AF_LAT INT 14 AddressFamily: LAT SOCKET_AF_HYLINK INT 15 AddressFamily: NSC Hyperchannel SOCKET_AF_APPLETALK INT 16 AddressFamily: Apple Talk SOCKET_AF_ROUTE INT 17 AddressFamily: DINTernal Routing Protocol SOCKET_AF_LINK INT 18 AddressFamily: Link layer DINTerface SOCKET_pseudo_AF_XTP INT 19 AddressFamily: eXpress Transfer Protocol (no AF) SOCKET_AF_COIP INT 20 AddressFamily: connection-oriented IP, aka ST II SOCKET_AF_CNT INT 21 AddressFamily: Computer Network Technology SOCKET_pseudo_AF_RTIP INT 22 AddressFamily: Help Identify RTIP packets SOCKET_AF_IPX INT 23 AddressFamily: Novell DINTernet Protocol SOCKET_AF_SIP INT 24 AddressFamily: Simple DINTernet Protocol SOCKET_pseudo_AF_PIP INT 25 AddressFamily: Help Identify PIP packets SOCKET_AF_MAX INT 26 AddressFamily: Max definition SOCKET_AF_INET_BSD INT 100 AddressFamily: BSD-specific INET af SOCKET_AF_INET_STREAMS INT 101 AddressFamily: STREAMS-specific INET af SOCKET_IPPROTO_IP DINT 0 Protocols: IP level SOCKET_IPPROTO_ICMP DINT 1 Protocols: control message protocol SOCKET_IPPROTO_IGMP DINT 2 Protocols: group management protocol SOCKET_IPPROTO_GGP DINT 3 Protocols: gateway^2 (deprecated) SOCKET_IPPROTO_TCP DINT 6 Protocols: tcp SOCKET_IPPROTO_PUP DINT 12 Protocols: pup SOCKET_IPPROTO_UDP DINT 17 Protocols: user datagram protocol SOCKET_IPPROTO_IDP DINT 22 Protocols: xns idp SOCKET_IPPROTO_ND DINT 77 Protocols: UNOFFICIAL net disk proto SOCKET_IPPROTO_TLS DINT 254 Protocols: UNOFFICIAL TCP / TLS protocol SOCKET_IPPROTO_RAW DINT 255 Protocols: raw IP packet SOCKET_IPPROTO_MAX DINT 256 Protocols: Max definition SOCKET_SOL DINT 16#FFFF Level number for SysSockGetOption/SysSockSetOption: Apply to socket itself in the same numbering space as IPPROTO_TCP, IPPROTO_IP, etc. SOCKET_DEVICE_SPECIFIC DINT ANY_TO_DINT(16#80000000) Offset for the level number for non-portable device specific socket options. device specific level = socket option level + 16#80000000 Behavior of the SysSockGetOption/SysSockSetOption functions: If bit 31 (zero-based) is set, then remove it and pass the level without a mapping. Examples: device specific level for SOCKET_SOL = 16#8000FFFF device specific level for SOCKET_IPPROTO_IP = 16#80000000 device specific level for IPPROTO_TCP = 16#80000006 SOCKET_SO_DEBUG DINT 16#1 Socket options for SysSockGetOption()/SysSockSetOption() Socket option: turn on debugging info recording SOCKET_SO_ACCEPTCONN DINT 16#2 Socket option: socket has had listen() SOCKET_SO_REUSEADDR DINT 16#4 Socket option: allow local address reuse SOCKET_SO_KEEPALIVE DINT 16#8 Socket option: keep connections alive. See RTS_SOCKET_SO_VALUE_TCP_KEEPALIVE for extended parameters for this option. SOCKET_SO_DONTROUTE DINT 16#10 Socket option: just use interface addresses SOCKET_SO_BROADCAST DINT 16#20 Socket option: permit sending (and on some platforms also receiving) of broadcast msgs SOCKET_SO_USELOOPBACK DINT 16#40 Socket option: bypass hardware when possible SOCKET_SO_LINGER DINT 16#80 Socket option: linger on close if data present. See RTS_SOCKET_SO_VALUE_LINGER for extended parameters for this option. SOCKET_SO_OOBINLINE DINT 16#100 Socket option: leave received OOB data in line SOCKET_SO_REUSEPORT DINT 16#200 Socket option: allow local address & port reuse SOCKET_SO_SNDBUF DINT 16#1001 Socket option: send buffer size SOCKET_SO_RCVBUF DINT 16#1002 Socket option: receive buffer size SOCKET_SO_SNDLOWAT DINT 16#1003 Socket option: send low-water mark SOCKET_SO_RCVLOWAT DINT 16#1004 Socket option: receive low-water mark SOCKET_SO_SNDTIMEO DINT 16#1005 Socket option: send timeout SOCKET_SO_RCVTIMEO DINT 16#1006 Socket option: receive timeout SOCKET_SO_ERROR DINT 16#1007 Socket option: get error status and clear SOCKET_SO_TYPE DINT 16#1008 Socket option: get socket type SOCKET_SO_PROTOTYPE DINT 16#1009 Socket option: get/set protocol type SOCKET_SO_HOSTNAME DINT 16#2001 Socket option: get/set hostname for tls connections. Needed for SNI (Server Name Indication) SOCKET_SO_STARTTLS DINT 16#3001 Socket option: upgrade standard socket to TLS. Works only on sockets with socket type SYSSOCK_TYPE_STARTTLS! SOCKET_TCP_NODELAY DINT 16#1 Socket TCP options for SysSockGetOption()/SysSockSetOption() Only to be used for SOCKET_IPPROTO_TCP. TCPIP option: don’t delay send to coalesce packets SOCKET_TCP_MAXSEG DINT 16#2 TCPIP option: set maximum segment size SOCKET_IP_TOS DINT 16#1 IP options for SysSockGetOption()/SysSockSetOption() Only to be used for SOCKET_IPPROTO_IP. Socket option: Specify the DSCP (ToS successor) field of the IP frame SOCKET_IP_MULTICAST_IF DINT 16#9 IP option: IP multicast interface SOCKET_SO_MULTICAST_IF DINT 16#9 Socket option: IP multicast interface - obsolete only for backward compatibility. SOCKET_IP_MULTICAST_TTL DINT 16#A IP option: IP multicast TTL (hop limit) SOCKET_IP_MULTICAST_LOOP DINT 16#B IP option: IP multicast loopback SOCKET_IP_ADD_MEMBERSHIP DINT 16#C IP option: Add an IP group membership. See RTS_SOCKET_SO_VALUE_IP_MREQ for extended parameters for this option. SOCKET_IP_DROP_MEMBERSHIP DINT 16#D IP option: Drop an IP group membership. See RTS_SOCKET_SO_VALUE_IP_MREQ for extended parameters for this option. SOCKET_IP_DONTFRAGMENT DINT 16#E IP option: Indicates that data should not be fragmented regardless of the local MTU. Valid only for message oriented protocols (UDP etc). SOCKET_IP_PKTINFO DINT 16#13 IP option: Pass an IP_PKTINFO ancillary message that contains a pktinfo structure that supplies some information about the incoming packet. This works only for datagram oriented sockets. The argument is a flag that tells the socket whether the IP_PKTINFO message should be passed or not. SOCKET_STREAM DINT 1 Socket types: stream socket SOCKET_DGRAM DINT 2 Socket types: datagram socket SOCKET_RAW DINT 3 Socket types: raw-protocol interface SOCKET_RDM DINT 4 Socket types: reliably-delivered message SOCKET_SEQPACKET DINT 5 Socket types: sequenced packet stream SOCKET_INADDR_ANY UDINT 16#0 Inet address definition: Any address SOCKET_INADDR_LOOPBACK UDINT 16#7F000001 Inet address definition: Loopback device SOCKET_INADDR_BROADCAST UDINT 16#FFFFFFFF Inet address definition: Broadcast SOCKET_INADDR_NONE UDINT 16#FFFFFFFF Inet address definition: Unspecified SOCKET_FIONREAD DINT 1 Ioctl commands: get num chars available to read SOCKET_FIONBIO DINT 2 Ioctl commands: set to non-blocking SOCKET_MSG_NONE DINT 16#0 Message flags: No flag SOCKET_MSG_OOB DINT 16#1 Message flags: process out-of-band data SOCKET_MSG_PEEK DINT 16#2 Message flags: peek at incoming message SOCKET_MSG_DONTROUTE DINT 16#4 Message flags: send without using routing tables SOCKET_MSG_DONTWAIT DINT 16#8 Message flags: send TCP frame directly without blocking SOCKET_MSG_BCAST DINT 16#400 Message flags: Indicates that the packet was received as broadcast. SOCKET_MSG_MCAST DINT 16#800 Message flags: Indicates that the packet was received as multicast. SOCKET_SD_RECEIVE DINT 16#0 Shutdown flags: Receive is no longer allowed SOCKET_SD_SEND DINT 16#1 Shutdown flags: Send is no longer allowed SOCKET_SD_BOTH DINT 16#2 Shutdown flags: Send and receive is no longer allowed SOCKET_FD_SETSIZE DINT 64 SysSockSelect() descriptor MAX_SOCKET_FD_SETSIZE DINT 63 SysSockSelect() descriptor ADAPTER_INFO_MAC_ADDR_LENGTH INT 6 Definitions for adapter information: BYTE length of MAC address; fix value ADAPTER_INFO_NAME_LEN INT 255 max. length of adapter name ADAPTER_INFO_DESC_LEN INT 255 max. length of adapter description ADAPTER_INFO_DNSSUFFIX_LEN INT 255 max. length of adapter description SOCK_AIT_ETHERNET WORD 1 Definitions for adapter information: Adapter type: Generic ethernet adapter - default, if nothing else matches SOCK_AIT_LOCALHOST WORD 2 Adapter type: Localhost adapter SOCK_AIT_PPP WORD 3 Adapter type: PPP adapter - broadcasts are not supported SOCK_AIT_WIRELESS WORD 4 Adapter type: Wireless (e. g. WLAN) network adapter SOCK_AIF_NONE DWORD 16#0 Definitions for adapter information: Adapter information flags: No flag set SOCK_AIF_INACTIVE DWORD 16#1 Adapter information flags: Interface not ready for ip communication (no driver, no ip address, no link, …) SOCK_AIF_ALIAS_IP DWORD 16#2 Adapter information flags: Further ip (aka alias address) of adapter SOCK_AIF_DYNAMIC_IP DWORD 16#4 Adapter information flags: Dynamic ip address, provided by DHCP, BOOTP, etc. Cannot be changed by SysSockSetIpAddressAndNetMask() SOCK_AIF_FIX_IP DWORD 16#8 Adapter information flags: Fix (e. g. hard coded) ip address. Cannot be changed by SysSockSetIpAddressAndNetMask() SOCK_AIF_IP_CHANGE_ALLOWED DWORD 16#10 Adapter information flags: Adapter is white listed to allow address changes. If non of the flags SOCK_AIF_DYNAMIC_IP or SOCK_AIF_FIX_IP is set, the ip address can be likely changed by SysSockSetIpAddressAndNetMask() SOCK_AIF_GATEWAY_INFO_VALID DWORD 16#20 Adapter information flags: DefaultGateway address is valid. Is not set, if no Gateway information is provided by the system. SOCK_AIF_DNS_INFO_VALID DWORD 16#40 Adapter information flags: DNS address and suffix is valid. Is not set, if no DNS information is provided by the system. SOCK_AIF_DHCP_INFO_VALID DWORD 16#80 Adapter information flags: DHCP address is valid. Is not set, if no DHCP information is provided by the system. SOCK_AIF_INFO_VALID DWORD 16#8000 Adapter information flags: Adapter is valid - only valid adapters are returned by SysSockGetFirstAdapterInfo() or SysSockGetNextAdapterInfo()
RTS_SOCKET_SO_VALUE_IP_MREQ (STRUCT) ¶ TYPE RTS_SOCKET_SO_VALUE_IP_MREQ : STRUCT Parameters for the socket options SOCKET_IP_ADD_MEMBERSHIP and SOCKET_IP_DROP_MEMBERSHIP to join/leave the socket to/from the supplied multicast group on the specified interface. InOut: Name Type Comment imr_multiaddr INADDR The address of the IPv4 multicast group. imr_interface INADDR The local address of the interface on which the multicast group should be joined or dropped.
RTS_SOCKET_SO_VALUE_LINGER (STRUCT) ¶ TYPE RTS_SOCKET_SO_VALUE_LINGER : STRUCT Parameters for the socket option SOCKET_SO_LINGER . InOut: Name Type Comment l_onoff WORD Specifies whether a socket should remain open for a specified amount of time after a closesocket function call to enable queued data to be sent. 0 = Socket will not remain open. 1 = Socket will remain open for the linger time. l_linger WORD The linger time in seconds. This member specifies how long to remain open after a closesocket function call to enable queued data to be sent.
RTS_SOCKET_SO_VALUE_TCP_KEEPALIVE (STRUCT) ¶ TYPE RTS_SOCKET_SO_VALUE_TCP_KEEPALIVE : STRUCT Parameters for the socket option SOCKET_SO_KEEPALIVE . NOTE: If one of the parameters is not supported, the result of SysSockSetOption() is ERR_NOT_SUPPORTED. In this case, the corresponding result of the option contains the error result. InOut: Name Type Comment bOn DINT 1=Enable keepalive, 0=Disable probes UDINT The number of unacknowledged probes to send before considering the connection dead and notifying the application layer. NOTE: Is not supported by every platform! probesResult RTS_IEC_RESULT Error code for the probes parameter. Returns ERR_NOT_SUPPORTED, if option is not available on the target. timeout DINT Specifies the timeout in milliseconds with no activity until the first keep-alive packet is sent. timeoutResult RTS_IEC_RESULT Error code for the timeout parameter. Returns ERR_NOT_SUPPORTED, if option is not available on the target interval DINT Specifies the interval in milliseconds between when successive keep-alive packets are sent if no acknowledgement is received. intervalResult RTS_IEC_RESULT Error code for the interval parameter. Returns ERR_NOT_SUPPORTED, if option is not available on the target.
SOCKADDRESS (STRUCT) ¶ TYPE SOCKADDRESS : STRUCT This structure contains all necessary information for complete addressing of a socket. InOut: Name Type Comment sin_family INT Identification number of address family sin_port UINT Identification number of the port. Must be converted in bus order with SysSockHtons()! sin_addr INADDR IP address sin_zero ARRAY [0..7] OF BYTE Dummy (due to alignment reasons)
SOCKET_FD_SET (STRUCT) ¶ TYPE SOCKET_FD_SET : STRUCT This structure contains number and identification of the sockets established. InOut: Name Type Comment fd_count UDINT Number of sockets established fd_array ARRAY [0..(SOCKET_FD_SETSIZE - 1)] OF RTS_IEC_HANDLE List with handles of established sockets
SOCKET_TIMEVAL (STRUCT) ¶ TYPE SOCKET_TIMEVAL : STRUCT This structure contains a time specification divided in seconds and microseconds. InOut: Name Type Comment tv_sec DINT Seconds tv_usec DINT Microseconds
SOCK_ADAPTER_INFORMATION (STRUCT) ¶ TYPE SOCK_ADAPTER_INFORMATION : STRUCT Structure to describe a network adapter on SysSocket level InOut: Name Type Comment udiStructSize UDINT Size of the structure SOCK_ADAPTER_INFORMATION returned from external implementation udiVersion UDINT Version number of the structure udiIndex UDINT Index number of this adapter. Value is constant until shutdown udiReserved UDINT Reserved for internal use wsName WSTRING(ADAPTER_INFO_NAME_LEN) Name of the network interface wsDescription WSTRING(ADAPTER_INFO_DESC_LEN) Description text for the network interface; may be empty abyMac ARRAY [0..(ADAPTER_INFO_MAC_ADDR_LENGTH - 1)] OF BYTE MAC ID (hardware address) wType WORD Adapter type, see “Adapter types” contants SOCK_AIT_xxx in GVL dwFlags DWORD Flags to characterize the adapter, see “Adapter information flags” constants SOCK_AIF_xxx in GVL IpAddr INADDR Ip address in network byte order NetMask INADDR Subnet mask in network byte order DefaultGateway INADDR Ip address of default gateway in network byte order; only valid if SOCK_AIF_GATEWAY_INFO_VALID is set in dwFlags in GVL