in6_addr
(3type)socket address
#include <sys/socket.h> struct sockaddr { sa_family_t sa_family; /* Address family */ char sa_data[]; /* Socket address */ }; struct sockaddr_storage { sa_family_t ss_family; /* Address family */ }; typedef /* ... */ socklen_t; typedef /* ... */ sa_family_t; Internet domain sockets #include <netinet/in.h> struct sockaddr_in { sa_family_t sin_family; /* AF_INET */ in_port_t sin_port; /* Port number */ struct in_addr sin_addr; /* IPv4 address */ }; struct sockaddr_in6 { sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* Port number */ uint32_t sin6_flowinfo; /* IPv6 flow info */ struct in6_addr sin6_addr; /* IPv6 address */ uint32_t sin6_scope_id; /* Set of interfaces for a scope */ }; struct in_addr { in_addr_t s_addr; }; struct in6_addr { uint8_t s6_addr[16]; }; typedef uint32
LIBRARY
DESCRIPTION
- sockaddr
- Describes a socket address.
- sockaddr_storage
- A structure at least as large as any other sockaddr_* address structures. It's aligned so that a pointer to it can be cast as a pointer to other sockaddr_* structures and used to access its fields.
- socklen_t
- Describes the length of a socket address. This is an integer type of at least 32 bits.
- sa_family_t
- Describes a socket's protocol family. This is an unsigned integer type.
Internet domain sockets
- sockaddr_in
- Describes an IPv4 Internet domain socket address. The sin_port and sin_addr members are stored in network byte order.
- sockaddr_in6
- Describes an IPv6 Internet domain socket address. The sin6_addr.s6_addr array is used to contain a 128-bit IPv6 address, stored in network byte order.
UNIX domain sockets
- sockaddr_un
- Describes a UNIX domain socket address.
STANDARDS
HISTORY
POSIX.1-2001.
socklen_t was invented by POSIX. See also accept(2).
These structures were invented before modern ISO C strict-aliasing rules. If aliasing rules are applied strictly, these structures would be extremely difficult to use without invoking Undefined Behavior. POSIX Issue 8 will fix this by requiring that implementations make sure that these structures can be safely used as they were designed.