#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_t in_addr_t;typedef uint16_t in_port_t;UNIX domain sockets#include <sys/un.h>struct sockaddr_un {sa_family_t sun_family; /* Address family */
char sun_path[]; /* Socket pathname */
};
ОПИСАНИЕ
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 socketssockaddr_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 socketssockaddr_un
Describes a UNIX domain socket address.
СТАНДАРТЫ
POSIX.1-2008.
ИСТОРИЯ
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.
ПРИМЕЧАНИЯ
socklen_t is also defined in <netdb.h>.
sa_family_t is also defined in <netinet/in.h> and <sys/un.h>.
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.9.1.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2024-06-26. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.9.1 2024-05-02 sockaddr(3type)