Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


sockaddr(3type) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |STANDARDS |HISTORY |NOTES |SEE ALSO |COLOPHON

sockaddr(3type)sockaddr(3type)

NAME        top

       sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6,       sockaddr_un, socklen_t, in_addr, in6_addr, in_addr_t, in_port_t, -       socket address

LIBRARY        top

       Standard C library (libc)

SYNOPSIS        top

#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 */};

DESCRIPTION        top

sockaddr              Describes a socket address.sockaddr_storage              A structure at least as large as any othersockaddr_*              address structures.  It's aligned so that a pointer to it              can be cast as a pointer to othersockaddr_* 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.  Thesin_port andsin_addr members are stored in network byte              order.sockaddr_in6              Describes an IPv6 Internet domain socket address.  Thesin6_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.

STANDARDS        top

       POSIX.1-2008.

HISTORY        top

       POSIX.1-2001.socklen_t was invented by POSIX.  See alsoaccept(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.

NOTES        top

socklen_t is also defined in<netdb.h>.sa_family_t is also defined in<netinet/in.h> and<sys/un.h>.

SEE ALSO        top

accept(2),bind(2),connect(2),getpeername(2),getsockname(2),getsockopt(2),sendto(2),setsockopt(2),socket(2),socketpair(2),getaddrinfo(3),gethostbyaddr(3),getnameinfo(3),htonl(3),ipv6(7),socket(7)

COLOPHON        top

       This page is part of theman-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.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  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 isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17sockaddr(3type)


HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp