tSysPortOutD (STRUCT) ¶ TYPE tSysPortOutD : STRUCT InOut: Name Type ulAddress UDINT pulVal UDINT pulOut POINTER TO RTS_IEC_RESULT
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