WinSock Compatibility Issues

Using WSAStartup and WSACleanup

Unlike their use from Windows, in an RTSS process, WSAStartup and WSACleanup should only be called once within an RT-TCP/IP process.

Unsupported WinSock APIs

The following section describes the details of the most commonly used WinSock APIs that are NOT supported by the WinSock compatibility layer of the protocol stack.

NOTE:  This list covers only the most commonly used APIs. When in doubt, refer to the individual API descriptions in this help system for detailed information about what is supported/unsupported for any given API.

API Unsupported Features

getsockopt

Some values for the optname parameter are not supported. See Unsupported Options for getsockopt and setsockopt below.

recv

The following values for the optname parameter is not supported:

  • MSG_WAITALL

setsockopt

Some values for the optname parameter are not supported. See Unsupported Options for getsockopt and setsockopt below.

getaddrinfo

The following values for the ai_flags in the hints parameter are not supported:

  • AI_ADDRCONFIG
  • AI_NON_AUTHORITATIVE
  • AI_SECURE
  • AI_RETURN_PREFERRED_NAMES

getnameinfo

The following values for the flag parameter are not supported:

  • NI_NOFQDN
  • NI_NAMEREQD
  • NI_DGRAM

ioctlsocket

The following command is not supported under RTX 8.1 and earlier:

  • FIONREAD

WSAEventSelect

The following network event types are not supported in the RT-TCP/IP stack:

  • FD_QOS
  • FD_GROUP_QOS
  • FD_ROUTING_INTERFACE_CHANGE
  • FD_ADDRESS_LIST_CHANGE

getsockopt

Some values for the optname parameter are not supported. See Unsupported Options for getsockopt and setsockopt below.

recv

The following values for the optname parameter is not supported:

  • MSG_WAITALL

setsockopt

Some values for the optname parameter are not supported. See Unsupported Options for getsockopt and setsockopt below.

getaddrinfo

The following values for the ai_flags in the hints parameter are not supported:

  • AI_ADDRCONFIG
  • AI_NON_AUTHORITATIVE
  • AI_SECURE
  • AI_RETURN_PREFERRED_NAMES

getnameinfo

The following values for the flag parameter are not supported:

  • NI_NOFQDN
  • NI_NAMEREQD
  • NI_DGRAM

ioctlsocket

The following command is not supported under RTX 8.1 and earlier:

  • FIONREAD

WSAEventSelect

The following network event types are not supported in the RT-TCP/IP stack:

  • FD_QOS
  • FD_GROUP_QOS
  • FD_ROUTING_INTERFACE_CHANGE
  • FD_ADDRESS_LIST_CHANGE

IP_TOS (Differentiated Services filed) now complies with RFC 2474 under RTX. You can set this option under IPPROTO_IP level with IP_TOS option.

Unsupported Options for getsockopt and setsockopt

Some values for the optname parameter are not supported for the getsockopt and setsockopt functions. The following sections list the unsupported options by socket type.

IMPORTANT!  None of the options for the IPPROTO_RM, NSPROTO_IPX, SOL_APPLETALK, and SOL_IRLMP socket types are supported.

Unsupported IPPROTO_IP socket options:

Unsupported IPPROTO_IPV6 socket options:

Unsupported IPPROTO_TCP socket options:

Unsupported IPPROTO_UDP socket options:

Unsupported SOL_SOCKET socket options:

Fragmentation with getsockopt and setsockopt

The IP_DONTFRAGMENT socket option, which is at the IPPROTO_IP level, has a default of 1 (fragmentation disabled) for getsockopt and setsockopt.

 

 

See Also

IntervalZero.com | Support | Give Feedback