AF_INET6 address family
This address family provides support for the Internet Protocol version 6 (IPv6). AF_INET6 address family uses a 128 bit (16 byte) address.
The basic architecture of these addresses includes 64 bits for a network number and another 64 bits for the host number. You can specify AF_INET6 addresses as x:x:x:x:x:x:x:x, where the x's are the hexadecimal values of eight 16-bit pieces of the address. For example, a valid address looks like this: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210.
For a socket application that uses TCP, User Datagram Protocol (UDP) or RAW, the AF_INET6 address family uses the sockaddr_in6 address structure. This address structure changes if you use _XOPEN_SOURCE macro to implement BSD 4.4/ UNIX 98 specifications. For the sockaddr_in6 address structure, these differences are summarized in this table:
BSD 4.3 sockaddr_in6 address structure | BSD 4.4/ UNIX 98 sockaddr_in6 address structure |
---|---|
|
|
Address structure field | Definition |
---|---|
sin6_len | This field contains the length of the address for UNIX 98
specifications. Note: The sin6_len field
is provided only for BSD 4.4 compatibility. It is not necessary to use this
field even for BSD 4.4/ UNIX 98 compatibility. The field is ignored on input
addresses.
|
sin6_family | This field specifies the AF_INET6 address family. |
sin6_port | This field contains the transport layer port. |
sin6_flowinfo | This field contains two pieces of information: the traffic
class and the flow label. Note: Currently, this field is not
supported and should be set to zero to be compatible with later versions.
|
sin6_addr | This field specifies the IPv6 address. |
sin6_scope_id | This field identifies a set of interfaces as appropriate for the scope of the address carried in the sin6_addr field. |