This information contains AF_INET, AF_INET6, and AF_IUCV
address family cross reference information for the following APIs:
- TCP/IP C socket API
- X/Open Transport Interface
- Macro API for IPv4 or IPv6 that is written in z/OS® assembler language
- Call instruction API for IPv4 or IPv6 socket applications
- z/OS Communications Server
socket API for REXX
- Pascal language for IPv4 socket API
Address families define different styles of addressing.
All hosts in the same addressing family understand and use the same
method for addressing socket endpoints. TCP/IP supports the following
addressing families:
The AF_INET and
AF_INET6 families both define addressing in the internet domain. The
AF_IUCV family defines
addressing in the IUCV domain. In the IUCV domain, address spaces
can use the socket interface to communicate with other address spaces
on the same host.
The INET, INET6, and IUCV column entries are:
- yes
- The call applies to this address family.
- no
- If you use this call with this address family, an error is returned.
- n/a
- If you use this call with this address family, no error is returned
and the call is not processed.
- blank
- The call does not apply to this API.
Notes: - Pascal API supports only AF_INET address family.
- XTI API supports only AF_INET address family.
- INET6 is not supported.
Table 1. C socket address
families cross reference Application Programming Interface (API) |
---|
Function |
C
SOCKETS |
---|
|
INET |
IUCV |
---|
accept() |
yes |
yes |
bind() |
yes |
yes |
close() |
yes |
yes |
connect() |
yes |
yes |
endhostent() |
yes |
n/a |
endnetent() |
yes |
n/a |
endprotoent() |
yes |
n/a |
endservent() |
yes |
n/a |
fcntl() |
yes |
no |
getclientid() |
yes |
no |
getdtablesize() |
yes |
yes |
gethostbyaddr() |
yes |
no |
gethostbyname() |
yes |
n/a |
gethostent() |
yes |
n/a |
gethostid() |
yes |
no |
gethostname() |
yes |
no |
getibmopt() |
yes |
no |
getibmsockopt() |
yes |
no |
getnetbyaddr() |
yes |
n/a |
getnetbyname() |
yes |
n/a |
getnetent() |
yes |
n/a |
getpeername() |
yes |
yes |
getprotobyname() |
yes |
n/a |
getprotobynumber() |
yes |
n/a |
getprotoent() |
yes |
n/a |
getservbyname() |
yes |
n/a |
getservbyport() |
yes |
n/a |
getservent() |
yes |
n/a |
getsockname() |
yes |
yes |
getsockopt() |
yes |
no |
givesocket() |
yes |
no |
htonl() |
yes |
n/a |
htons() |
yes |
n/a |
inet_addr() |
yes |
n/a |
inet_inaof() |
yes |
n/a |
inet_makeaddr() |
yes |
n/a |
inet_netof() |
yes |
n/a |
inet_network() |
yes |
n/a |
inet_ntoa() |
yes |
n/a |
ioctl() |
yes |
no |
listen() |
yes |
yes |
maxdesc() |
yes |
yes |
ntohl() |
yes |
n/a |
ntohs() |
yes |
n/a |
read() |
yes |
yes |
readv() |
yes |
yes |
recv() |
yes |
yes |
recvfrom() |
yes |
yes |
recvmsg() |
yes |
yes |
select() |
yes |
yes |
selectex() |
yes |
yes |
send() |
yes |
yes |
sendmsg() |
yes |
no |
sendto() |
yes |
no |
setibmopt() |
yes |
no |
setibmsockopt() |
yes |
no |
sethostent() |
yes |
n/a |
setnetent() |
yes |
n/a |
setprotoent() |
yes |
n/a |
setservent() |
yes |
n/a |
setsockopt() |
yes |
no |
shutdown() |
yes |
yes |
sock_debug() |
yes |
yes |
sock_do_teststor() |
yes |
yes |
socket() |
yes |
yes |
takesocket() |
yes |
no |
tcperror() |
yes |
yes |
write() |
yes |
yes |
writev() |
yes |
yes |
Note: In the following table, IUCV is not supported.
Table 2. MACRO, CALL, REXX, socket address
families cross reference Application Programming Interface (API) |
---|
COMMAND |
MACRO |
CALL |
REXX |
---|
|
INET |
INET6 |
INET |
INET6 |
INET |
INET6 |
---|
ACCEPT |
yes |
yes |
yes |
yes |
yes |
yes |
BIND |
yes |
yes |
yes |
yes |
yes |
yes |
BIND2ADDRSEL |
no |
yes |
no |
yes |
no |
yes |
CANCEL |
yes |
yes |
|
|
|
|
CLOSE |
yes |
yes |
yes |
yes |
yes |
yes |
CONNECT |
yes |
yes |
yes |
yes |
yes |
yes |
FCNTL |
yes |
yes |
yes |
yes |
yes |
yes |
FREEADDRINFO |
yes |
yes |
yes |
yes |
|
|
GETADDRINFO |
yes |
yes |
yes |
yes |
yes |
yes |
GETCLIENTID |
yes |
yes |
yes |
yes |
yes |
yes |
GETDOMAINNAME |
|
|
|
|
yes |
yes |
GETHOSTBYADDR |
yes |
yes |
yes |
yes |
yes |
yes |
GETHOSTBYNAME |
yes |
yes |
yes |
yes |
yes |
yes |
GETHOSTID |
yes |
yes |
yes |
yes |
yes |
yes |
GETHOSTNAME |
yes |
yes |
yes |
yes |
yes |
yes |
GETIBMOPT |
yes |
yes |
yes |
yes |
|
|
GETNAMEINFO |
yes |
yes |
yes |
yes |
yes |
yes |
GETPEERNAME |
yes |
yes |
yes |
yes |
yes |
yes |
GETPROTOBYNAME |
|
|
|
|
n/a |
n/a |
GETPROTOBYNUMBER |
|
|
|
|
yes |
yes |
GETSERVBYNAME |
|
|
|
|
yes |
yes |
GETSERVBYPORT |
|
|
|
|
yes |
yes |
GETSOCKNAME |
yes |
yes |
yes |
yes |
yes |
yes |
GETSOCKOPT see Table 3 for exceptions. |
yes |
yes |
yes |
yes |
yes |
yes |
GIVESOCKET |
yes |
yes |
yes |
yes |
yes |
yes |
GLOBAL |
yes |
yes |
yes |
yes |
|
|
INET6_IS_SRCADDR |
no |
yes |
no |
yes |
no |
yes |
INITAPI |
yes |
yes |
yes |
yes |
|
|
IOCTL see Table 3 for exceptions. |
yes |
yes |
yes |
yes |
yes |
yes |
LISTEN |
yes |
yes |
yes |
yes |
yes |
yes |
NTOP |
yes |
yes |
yes |
yes |
|
|
PTON |
yes |
yes |
yes |
yes |
|
|
READ |
yes |
yes |
yes |
yes |
yes |
yes |
READV |
yes |
yes |
yes |
yes |
|
|
RECV |
yes |
yes |
yes |
yes |
yes |
yes |
RECVFROM |
yes |
yes |
yes |
yes |
yes |
yes |
RECVMSG |
yes |
yes |
yes |
yes |
|
|
RESOLVE |
|
|
|
|
yes |
yes |
SELECT |
yes |
yes |
yes |
yes |
yes |
yes |
SELECTEX |
yes |
yes |
yes |
yes |
|
|
SEND |
yes |
yes |
yes |
yes |
yes |
yes |
SENDMSG |
yes |
yes |
yes |
yes |
|
|
SENDTO |
yes |
yes |
yes |
yes |
yes |
yes |
SETSOCKOPT see Table 3 for exceptions. |
yes |
yes |
yes |
yes |
yes |
yes |
SHUTDOWN |
yes |
yes |
yes |
yes |
yes |
yes |
SOCKET |
yes |
yes |
yes |
yes |
yes |
yes |
TAKESOCKET |
yes |
yes |
yes |
yes |
yes |
yes |
TASK |
yes |
yes |
yes |
yes |
|
|
TERMAPI |
yes |
yes |
yes |
yes |
|
|
VERSION |
|
|
|
|
yes |
yes |
WRITE |
yes |
yes |
yes |
yes |
yes |
yes |
WRITEV |
yes |
yes |
yes |
yes |
|
|
Table 3. MACRO, CALL, REXX, exceptionsApplication Programming Interface (API) |
---|
COMMAND |
MACRO |
CALL |
REXX |
---|
|
INET |
INET6 |
INET |
INET6 |
INET |
INET6 |
---|
GETSOCKOPT exceptions |
IP_MULTICAST_IF |
yes |
no |
yes |
no |
yes |
no |
IP_MULTICAST_LOOP |
yes |
no |
yes |
no |
yes |
no |
IP_MULTICAST_TTL |
yes |
no |
yes |
no |
yes |
no |
IPV6_ADDR_PREFERENCES |
no |
yes |
no |
yes |
no |
yes |
IPV6_MULTICAST_HOPS |
no |
yes |
no |
yes |
no |
yes |
IPV6_MULTICAST_IF |
no |
yes |
no |
yes |
no |
yes |
IPV6_MULTICAST_LOOP |
no |
yes |
no |
yes |
no |
yes |
IPV6_UNICAST_HOPS |
no |
yes |
no |
yes |
no |
yes |
IPV6_V6ONLY |
no |
yes |
no |
yes |
no |
yes |
SETSOCKOPT exceptions |
IP_ADD_MEMBERSHIP |
yes |
no |
yes |
no |
yes |
no |
IP_ADD_SOURCE_MEMBERSHIP |
yes |
no |
yes |
no |
yes |
no |
IP_BLOCK_SOURCE |
yes |
no |
yes |
no |
yes |
no |
IP_DROP_MEMBERSHIP |
yes |
no |
yes |
no |
yes |
no |
IP_DROP_SOURCE_MEMBERSHIP |
yes |
no |
yes |
no |
yes |
no |
IP_MULTICAST_IF |
yes |
no |
yes |
no |
yes |
no |
IP_MULTICAST_LOOP |
yes |
no |
yes |
no |
yes |
no |
IP_MULTICAST_TTL |
yes |
no |
yes |
no |
yes |
no |
IP_UNBLOCK_SOURCE |
yes |
no |
yes |
no |
yes |
no |
IPV6_ADDR_PREFERENCES |
no |
yes |
no |
yes |
no |
yes |
IPV6_JOIN_GROUP |
no |
yes |
no |
yes |
no |
yes |
IPV6_LEAVE_GROUP |
no |
yes |
no |
yes |
no |
yes |
IPV6_MULTICAST_HOPS |
no |
yes |
no |
yes |
no |
yes |
IPV6_MULTICAST_IF |
no |
yes |
no |
yes |
no |
yes |
IPV6_MULTICAST_LOOP |
no |
yes |
no |
yes |
no |
yes |
IPV6_UNICAST_HOPS |
no |
yes |
no |
yes |
no |
yes |
IPV6_V6ONLY |
no |
yes |
no |
yes |
no |
yes |
IOCTL exceptions |
SIOCGHOMEIF6 |
no |
yes |
no |
yes |
|
|
SIOCGIPMSFILTER |
yes |
no |
yes |
no |
yes |
no |
SIOCSIPMSFILTER |
yes |
no |
yes |
no |
yes |
no |