]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man3type/sockaddr.3type
All pages: Remove the 5th argument to .TH
[thirdparty/man-pages.git] / man3type / sockaddr.3type
CommitLineData
b4ba165d
AC
1.\" Copyright (c) 2020-2022 by Alejandro Colomar <colomar.6.4.3@gmail.com>
2.\" and Copyright (c) 2020 by Michael Kerrisk <mtk.manpages@gmail.com>
3.\"
5fbde956 4.\" SPDX-License-Identifier: Linux-man-pages-copyleft
b4ba165d
AC
5.\"
6.\"
45186a5d 7.TH SOCKADDR 3type 2022-02-24 "Linux man-pages (unreleased)"
04c91a35 8.SH NAME
3d3f485d 9sockaddr, sockaddr_storage, sockaddr_in, sockaddr_in6, sockaddr_un, socklen_t,
32cf0d8b 10in_addr, in6_addr, in_addr_t, in_port_t,
5ddcffba 11\- socket address
67706947
AC
12.SH LIBRARY
13Standard C library
14.RI ( libc )
04c91a35
AC
15.SH SYNOPSIS
16.nf
17.B #include <sys/socket.h>
18.PP
19.B struct sockaddr {
3d3f485d
AC
20.BR " sa_family_t sa_family;" " /* Address family */"
21.BR " char sa_data[];" " /* Socket address */"
04c91a35 22.B };
7fc1ad39 23.PP
bbb0155b 24.B struct sockaddr_storage {
3d3f485d 25.BR " sa_family_t ss_family;" " /* Address family */"
bbb0155b
AC
26.B };
27.PP
7fc1ad39 28.BR typedef " /* ... */ " socklen_t;
ea8bd4ff 29.BR typedef " /* ... */ " sa_family_t;
77f4a0eb
AC
30.PP
31.fi
5ddcffba
AC
32.SS Internet domain sockets
33.nf
34.B #include <netinet/in.h>
35.PP
36.B struct sockaddr_in {
3d3f485d
AC
37.BR " sa_family_t sin_family;" " /* " AF_INET " */"
38.BR " in_port_t sin_port;" " /* Port number */"
39.BR " struct in_addr sin_addr;" " /* IPv4 address */"
40.B };
41.PP
42.B struct sockaddr_in6 {
43.BR " sa_family_t sin6_family;" " /* " AF_INET6 " */"
44.BR " in_port_t sin6_port;" " /* Port number */"
45.BR " uint32_t sin6_flowinfo;" " /* IPv6 flow info */"
46.BR " struct in6_addr sin6_addr;" " /* IPv6 address */"
47.BR " uint32_t sin6_scope_id;" " /* Set of interfaces for a scope */"
5ddcffba 48.B };
b4bc9e81
AC
49.PP
50.B struct in_addr {
51.B " in_addr_t s_addr;"
52.B };
53.PP
32cf0d8b
AC
54.B struct in6_addr {
55.B " uint8_t s6_addr[16];"
56.B };
57.PP
b4bc9e81
AC
58.B typedef uint32_t in_addr_t;
59.B typedef uint16_t in_port_t;
5ddcffba 60.fi
77f4a0eb
AC
61.SS UNIX domain sockets
62.nf
63.B #include <sys/un.h>
64.PP
65.B struct sockaddr_un {
3d3f485d
AC
66.BR " sa_family_t sun_family;" " /* Address family */"
67.BR " char sun_path[];" " /* Socket pathname */"
77f4a0eb 68.B };
04c91a35
AC
69.fi
70.SH DESCRIPTION
7fc1ad39
AC
71.TP
72.I sockaddr
04c91a35 73Describes a socket address.
7fc1ad39 74.TP
bbb0155b 75.I sockaddr_storage
728c2f35 76A structure at least as large as any other
bbb0155b
AC
77.IR sockaddr_ *
78address structures.
79It's aligned so that a pointer to it can be cast
80as a pointer to other
81.IR sockaddr_ *
82structures and used to access its fields.
83.TP
7fc1ad39
AC
84.I socklen_t
85Describes the length of a socket address.
728c2f35 86This is an integer type of at least 32 bits.
ea8bd4ff
AC
87.TP
88.I sa_family_t
89Describes a socket's protocol family.
90This is an unsigned integer type.
5ddcffba
AC
91.SS Internet domain sockets
92.TP
93.I sockaddr_in
3d3f485d 94Describes an IPv4 Internet domain socket address.
728c2f35 95The
b4bc9e81
AC
96.I sin_port
97and
98.I sin_addr
728c2f35 99members are stored in network byte order.
3d3f485d
AC
100.TP
101.I sockaddr_in6
102Describes an IPv6 Internet domain socket address.
728c2f35 103The
32cf0d8b
AC
104.I sin6_addr.s6_addr
105array is used to contain a 128-bit IPv6 address,
106stored in network byte order.
77f4a0eb
AC
107.SS UNIX domain sockets
108.TP
109.I sockaddr_un
110Describes a UNIX domain socket address.
3113c7f3 111.SH STANDARDS
04c91a35 112POSIX.1-2001 and later.
7fc1ad39
AC
113.SH NOTES
114.I socklen_t
115is also defined in
116.IR <netdb.h> .
ea8bd4ff
AC
117.PP
118.I sa_family_t
119is also defined in
120.I <netinet/in.h>
121and
122.IR <sys/un.h> .
04c91a35
AC
123.SH SEE ALSO
124.BR accept (2),
7fc1ad39
AC
125.BR bind (2),
126.BR connect (2),
04c91a35
AC
127.BR getpeername (2),
128.BR getsockname (2),
5ddcffba
AC
129.BR getsockopt (2),
130.BR sendto (2),
131.BR setsockopt (2),
7fc1ad39 132.BR socket (2),
77f4a0eb 133.BR socketpair (2),
bbb0155b 134.BR getaddrinfo (3),
7fc1ad39 135.BR gethostbyaddr (3),
bbb0155b 136.BR getnameinfo (3),
b4bc9e81 137.BR htonl (3),
bbb0155b
AC
138.BR ipv6 (7),
139.BR socket (7)