summaryrefslogtreecommitdiffstats
path: root/man0p/in.h.0p
diff options
context:
space:
mode:
Diffstat (limited to 'man0p/in.h.0p')
-rw-r--r--man0p/in.h.0p315
1 files changed, 315 insertions, 0 deletions
diff --git a/man0p/in.h.0p b/man0p/in.h.0p
new file mode 100644
index 000000000..e0a6a8c90
--- /dev/null
+++ b/man0p/in.h.0p
@@ -0,0 +1,315 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "<netinet/in.h>" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" <netinet/in.h>
+.SH NAME
+netinet/in.h \- Internet address family
+.SH SYNOPSIS
+.LP
+\fB#include <netinet/in.h>\fP
+.SH DESCRIPTION
+.LP
+The \fI<netinet/in.h>\fP header shall define the following types:
+.TP 7
+\fBin_port_t\fP
+Equivalent to the type \fBuint16_t\fP as defined in \fI<inttypes.h>\fP
+\&.
+.TP 7
+\fBin_addr_t\fP
+Equivalent to the type \fBuint32_t\fP as defined in \fI<inttypes.h>\fP
+\&.
+.sp
+.LP
+The \fBsa_family_t\fP type shall be defined as described in \fI<sys/socket.h>\fP
+\&.
+.LP
+The \fBuint8_t\fP and \fBuint32_t\fP type shall be defined as described
+in \fI<inttypes.h>\fP. Inclusion of the \fI<netinet/in.h>\fP header
+may also make
+visible all symbols from \fI<inttypes.h>\fP and \fI<sys/socket.h>\fP.
+.LP
+The \fI<netinet/in.h>\fP header shall define the \fBin_addr\fP structure
+that includes at least the following
+member:
+.sp
+.RS
+.nf
+
+\fBin_addr_t s_addr
+\fP
+.fi
+.RE
+.LP
+The \fI<netinet/in.h>\fP header shall define the \fBsockaddr_in\fP
+structure that includes at least the following
+members (all in network byte order):
+.sp
+.RS
+.nf
+
+\fBsa_family_t sin_family \fP AF_INET. \fB
+in_port_t sin_port \fP Port number. \fB
+struct in_addr sin_addr \fP IP address. \fB
+\fP
+.fi
+.RE
+.LP
+The \fBsockaddr_in\fP structure is used to store addresses for the
+Internet address family. Values of this type shall be cast
+by applications to \fBstruct sockaddr\fP for use with socket functions.
+.LP
+The \fI<netinet/in.h>\fP header shall define the \fBin6_addr\fP structure
+that contains at least the following
+member:
+.sp
+.RS
+.nf
+
+\fBuint8_t s6_addr[16]
+\fP
+.fi
+.RE
+.LP
+This array is used to contain a 128-bit IPv6 address, stored in network
+byte order.
+.LP
+The \fI<netinet/in.h>\fP header shall define the \fBsockaddr_in6\fP
+structure that includes at least the following
+members (all in network byte order):
+.sp
+.RS
+.nf
+
+\fBsa_family_t sin6_family \fP AF_INET6. \fB
+in_port_t sin6_port \fP Port number. \fB
+uint32_t sin6_flowinfo \fP IPv6 traffic class and flow information. \fB
+struct in6_addr sin6_addr \fP IPv6 address. \fB
+uint32_t sin6_scope_id \fP Set of interfaces for a scope. \fB
+\fP
+.fi
+.RE
+.LP
+The \fBsockaddr_in6\fP structure shall be set to zero by an application
+prior to using it, since implementations are free to
+have additional, implementation-defined fields in \fBsockaddr_in6\fP.
+.LP
+The \fIsin6_scope_id\fP field is a 32-bit integer that identifies
+a set of interfaces as appropriate for the scope of the
+address carried in the \fIsin6_addr\fP field. For a link scope \fIsin6_addr\fP,
+the application shall ensure that
+\fIsin6_scope_id\fP is a link index. For a site scope \fIsin6_addr\fP,
+the application shall ensure that \fIsin6_scope_id\fP is
+a site index. The mapping of \fIsin6_scope_id\fP to an interface or
+set of interfaces is implementation-defined.
+.LP
+The \fI<netinet/in.h>\fP header shall declare the following external
+variable:
+.sp
+.RS
+.nf
+
+\fBconst struct in6_addr in6addr_any
+\fP
+.fi
+.RE
+.LP
+This variable is initialized by the system to contain the wildcard
+IPv6 address. The \fI<netinet/in.h>\fP header also
+defines the IN6ADDR_ANY_INIT macro. This macro must be constant at
+compile time and can be used to initialize a variable of type
+\fBstruct in6_addr\fP to the IPv6 wildcard address.
+.LP
+The \fI<netinet/in.h>\fP header shall declare the following external
+variable:
+.sp
+.RS
+.nf
+
+\fBconst struct in6_addr in6addr_loopback
+\fP
+.fi
+.RE
+.LP
+This variable is initialized by the system to contain the loopback
+IPv6 address. The \fI<netinet/in.h>\fP header also
+defines the IN6ADDR_LOOPBACK_INIT macro. This macro must be constant
+at compile time and can be used to initialize a variable of
+type \fBstruct in6_addr\fP to the IPv6 loopback address.
+.LP
+The \fI<netinet/in.h>\fP header shall define the \fBipv6_mreq\fP structure
+that includes at least the following
+members:
+.sp
+.RS
+.nf
+
+\fBstruct in6_addr ipv6mr_multiaddr \fP IPv6 multicast address. \fB
+unsigned ipv6mr_interface \fP Interface index. \fB
+\fP
+.fi
+.RE
+.LP
+The \fI<netinet/in.h>\fP header shall define the following macros
+for use as values of the \fIlevel\fP argument of \fIgetsockopt\fP()
+and \fIsetsockopt\fP():
+.TP 7
+IPPROTO_IP
+Internet protocol.
+.TP 7
+IPPROTO_IPV6
+Internet Protocol Version 6.
+.TP 7
+IPPROTO_ICMP
+Control message protocol.
+.TP 7
+IPPROTO_RAW
+Raw IP Packets Protocol.
+.TP 7
+IPPROTO_TCP
+Transmission control protocol.
+.TP 7
+IPPROTO_UDP
+User datagram protocol.
+.sp
+.LP
+The \fI<netinet/in.h>\fP header shall define the following macros
+for use as destination addresses for \fIconnect\fP(), \fIsendmsg\fP(),
+and \fIsendto\fP():
+.TP 7
+INADDR_ANY
+IPv4 local host address.
+.TP 7
+INADDR_BROADCAST
+IPv4 broadcast address.
+.sp
+.LP
+The \fI<netinet/in.h>\fP header shall define the following macro to
+help applications declare buffers of the proper size
+to store IPv4 addresses in string form:
+.TP 7
+INET_ADDRSTRLEN
+16. Length of the string form for IP.
+.sp
+.LP
+The \fIhtonl\fP(), \fIhtons\fP(), \fIntohl\fP(), and \fIntohs\fP()
+functions shall be
+available as defined in \fI<arpa/inet.h>\fP . Inclusion of the
+\fI<netinet/in.h>\fP header may also make visible all symbols from
+\fI<arpa/inet.h>\fP .
+.LP
+The \fI<netinet/in.h>\fP header shall define the following macro to
+help applications declare buffers of the proper
+size to store IPv6 addresses in string form:
+.TP 7
+INET6_ADDRSTRLEN
+46. Length of the string form for IPv6.
+.sp
+.LP
+The \fI<netinet/in.h>\fP header shall define the following macros,
+with distinct integer values, for use in the
+\fIoption_name\fP argument in the \fIgetsockopt\fP() or \fIsetsockopt\fP()
+functions at protocol level IPPROTO_IPV6:
+.TP 7
+IPV6_JOIN_GROUP
+Join a multicast group.
+.TP 7
+IPV6_LEAVE_GROUP
+Quit a multicast group.
+.TP 7
+IPV6_MULTICAST_HOPS
+.sp
+Multicast hop limit.
+.TP 7
+IPV6_MULTICAST_IF
+Interface to use for outgoing multicast packets.
+.TP 7
+IPV6_MULTICAST_LOOP
+.sp
+Multicast packets are delivered back to the local application.
+.TP 7
+IPV6_UNICAST_HOPS
+Unicast hop limit.
+.TP 7
+IPV6_V6ONLY
+Restrict AF_INET6 socket to IPv6 communications only.
+.sp
+.LP
+The \fI<netinet/in.h>\fP header shall define the following macros
+that test for special IPv6 addresses. Each macro is of
+type \fBint\fP and takes a single argument of type \fBconst struct
+in6_addr *\fP:
+.TP 7
+IN6_IS_ADDR_UNSPECIFIED
+.sp
+Unspecified address.
+.TP 7
+IN6_IS_ADDR_LOOPBACK
+.sp
+Loopback address.
+.TP 7
+IN6_IS_ADDR_MULTICAST
+.sp
+Multicast address.
+.TP 7
+IN6_IS_ADDR_LINKLOCAL
+.sp
+Unicast link-local address.
+.TP 7
+IN6_IS_ADDR_SITELOCAL
+.sp
+Unicast site-local address.
+.TP 7
+IN6_IS_ADDR_V4MAPPED
+.sp
+IPv4 mapped address.
+.TP 7
+IN6_IS_ADDR_V4COMPAT
+.sp
+IPv4-compatible address.
+.TP 7
+IN6_IS_ADDR_MC_NODELOCAL
+.sp
+Multicast node-local address.
+.TP 7
+IN6_IS_ADDR_MC_LINKLOCAL
+.sp
+Multicast link-local address.
+.TP 7
+IN6_IS_ADDR_MC_SITELOCAL
+.sp
+Multicast site-local address.
+.TP 7
+IN6_IS_ADDR_MC_ORGLOCAL
+.sp
+Multicast organization-local address.
+.TP 7
+IN6_IS_ADDR_MC_GLOBAL
+.sp
+Multicast global address.
+.sp
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+None.
+.SH RATIONALE
+.LP
+None.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIHost and Network Byte Orders\fP , \fI<arpa/inet.h>\fP , \fI<inttypes.h>\fP
+, \fI<sys/socket.h>\fP , the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
+\fIconnect\fP(), \fIgetsockopt\fP(), \fIhtonl\fP(), \fIhtons\fP(),
+\fIntohl\fP(), \fIntohs\fP(), \fIsendmsg\fP(), \fIsendto\fP(), \fIsetsockopt\fP()
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .