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.

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

INT

15

AddressFamily: NSC Hyperchannel

SOCKET_AF_APPLETALK

INT

16

AddressFamily: Apple Talk

SOCKET_AF_ROUTE

INT

17

AddressFamily: DINTernal Routing Protocol

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()