TCP/IP Programming Manual

The FIONBIO command is not supported. If this command is selected, the EINVAL error is
returned.
If you select FIONREAD for UDP sockets, the number of characters returned is greater than
the number of characters received as a result of a call to the recv or recvfrom functions;
the increase in characters is equal to sizeof (struct sockaddr_in). The additional
characters are returned because the network keeps the sender’s socket address at the beginning
of the data until the application requests the data.
UDP does not support out-of-band data. Use of the command argument SIOCATMARK is
meaningless for UDP, although specifying SIOCATMARK does not cause the call to fail.
The SIOCSIFFLAGS function is now disabled. The call completes successfully but no flags
are changed.
For SIOCGIFCONF, the data-buffer pointer (ifc_buf) must point to the first byte immediately
following the ifconf structure, because the Parallel Library TCP/IP, NonStop TCP/IPv6, and
NonStop TCP/IP architectures allow only a single buffer to be passed.
For SIOCGIFNUM, aliases are not included in the count.
See Nowait Call Errors (page 86) for information on error checking.
Socket I/O Control Operations
Table 16 gives the I/O control operations that can be specified in command, the corresponding
pointer types for arg_ptr, and descriptions of the commands. The definitions of the structures
pointed to by arg_ptr are provided in Chapter 3 (page 62).
Table 16 Socket I/O Control Operations
DescriptionPointer Type for argCommand
Get the number of bytes waiting to be
read.
int *FIONREAD
Set the interface address. Returns the
error [EOPNOTSUPP].
struct ifreq *SIOCSIFADDR
Get the interface address.struct ifreq *SIOCGIFADDR
Get the interface configuration list. See
Usage Guidelines (page 198).
struct ifconf *SIOCGIFCONF
Get the number of interfaces that have
been configured. See Usage Guidelines
(page 198).
int *SIOCGIFNUM
Set the destination address on a
point-to-point interface. Returns the error
[EOPNOTSUPP].
struct ifreq *SIOCSIFDSTADDR
Get the destination address on a
point-to-point interface.
struct ifreq *SIOCGIFDSTADDR
Set the interface flags. Returns the error
[EOPNOTSUPP].
struct ifreq *SIOCSIFFLAGS
Get the interface flags.struct ifreq *SIOCGIFFLAGS
Add a specific route.struct rtentry *SIOCADDRT
Delete a specific route.struct rtentry *SIOCDELRT
Check for pending urgent data. If a
nonzero value is returned, urgent data
is pending.
int *SIOCATMARK
socket_ioctl, socket_ioctl_nw 199