This address family provides interprocess communications between processes that run on the same system or on different systems.
Addresses for AF_INET sockets are IP addresses and port number. You can specify an IP address for an AF_INET socket either as an IP address, such as 130.99.128.1, or in its 32–bit form, X'82638001'.
For a socket application that uses the Internet Protocol version 4 (IPv4), the AF_INET address family uses the sockaddr_in address structure. When you use _XOPEN_SOURCE macro, the AF_INET address structure changes to be compatible with BSD 4.4/ UNIX® 98 specifications. For the sockaddr_in address structure, these differences are summarized in the table:
BSD 4.3 sockaddr_in address structure | BSD 4.4/ UNIX 98 sockaddr_in address structure |
---|---|
struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; |
struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; |
Address structure field | Definition |
---|---|
sin_len | This field contains the length of the address for UNIX 98
specifications. Note: The sin_len field is only provided for
BSD 4.4 compatibility. It is not necessary to use this field even when using
BSD 4.4/ UNIX 98
compatibility. The field is ignored on input addresses.
|
sin_family | This field contains the address family, which is always AF_INET when TCP or User Datagram Protocol (UDP) is used. |
sin_port | This field contains the port number. |
sin_addr | This field contains the IP address. |
sin_zero | This field is reserved. Set this field to hexadecimal zeros. |