Next: Host Addresses, Up: The Internet Namespace [Contents][Index]
In the Internet namespace, for both IPv4 (AF_INET
) and IPv6
(AF_INET6
), a socket address consists of a host address
and a port on that host. In addition, the protocol you choose serves
effectively as a part of the address because local port numbers are
meaningful only within a particular protocol.
The data types for representing socket addresses in the Internet namespace are defined in the header file netinet/in.h.
This is the data type used to represent socket addresses in the Internet namespace. It has the following members:
sa_family_t sin_family
This identifies the address family or format of the socket address.
You should store the value AF_INET
in this member.
See Socket Addresses.
struct in_addr sin_addr
This is the Internet address of the host machine. See Host Addresses, and Host Names, for how to get a value to store here.
unsigned short int sin_port
This is the port number. See Internet Ports.
When you call bind
or getsockname
, you should specify
sizeof (struct sockaddr_in)
as the length parameter if
you are using an IPv4 Internet namespace socket address.
This is the data type used to represent socket addresses in the IPv6 namespace. It has the following members:
sa_family_t sin6_family
This identifies the address family or format of the socket address.
You should store the value of AF_INET6
in this member.
See Socket Addresses.
struct in6_addr sin6_addr
This is the IPv6 address of the host machine. See Host Addresses, and Host Names, for how to get a value to store here.
uint32_t sin6_flowinfo
This is a currently unimplemented field.
uint16_t sin6_port
This is the port number. See Internet Ports.
Next: Host Addresses, Up: The Internet Namespace [Contents][Index]