Go to the first, previous, next, last section, table of contents.


Internet Socket Address Formats

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'.

Data Type: struct sockaddr_in
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 section Socket Addresses.
struct in_addr sin_addr
This is the Internet address of the host machine. See section Host Addresses, and section Host Names, for how to get a value to store here.
unsigned short int sin_port
This is the port number. See section 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.

Data Type: struct sockaddr_in6
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 section Socket Addresses.
struct in6_addr sin6_addr
This is the IPv6 address of the host machine. See section Host Addresses, and section 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 section Internet Ports.


Go to the first, previous, next, last section, table of contents.