netinet/in.h - Internet address family
#include <netinet/in.h>
The <netinet/in.h> header shall define the following types:
The sa_family_t type shall be defined as described in <sys/socket.h> .
The uint8_t and uint32_t type shall be defined as described in <inttypes.h>. Inclusion of the <netinet/in.h> header may also make visible all symbols from <inttypes.h> and <sys/socket.h>.
The <netinet/in.h> header shall define the in_addr structure that includes at least the following member:
in_addr_t s_addr
The <netinet/in.h> header shall define the sockaddr_in structure that includes at least the following members (all in network byte order):
sa_family_t sin_family AF_INET. in_port_t sin_port Port number. struct in_addr sin_addr IP address.
The sockaddr_in structure is used to store addresses for the Internet address family. Values of this type shall be cast by applications to struct sockaddr for use with socket functions.
The <netinet/in.h> header shall define the in6_addr structure that contains at least the following member:
uint8_t s6_addr[16]
This array is used to contain a 128-bit IPv6 address, stored in network byte order.
The <netinet/in.h> header shall define the sockaddr_in6 structure that includes at least the following members (all in network byte order):
sa_family_t sin6_family AF_INET6. in_port_t sin6_port Port number. uint32_t sin6_flowinfo IPv6 traffic class and flow information. struct in6_addr sin6_addr IPv6 address. uint32_t sin6_scope_id Set of interfaces for a scope.
The sockaddr_in6 structure shall be set to zero by an application prior to using it, since implementations are free to have additional, implementation-defined fields in sockaddr_in6.
The sin6_scope_id field is a 32-bit integer that identifies a set of interfaces as appropriate for the scope of the address carried in the sin6_addr field. For a link scope sin6_addr, the application shall ensure that sin6_scope_id is a link index. For a site scope sin6_addr, the application shall ensure that sin6_scope_id is a site index. The mapping of sin6_scope_id to an interface or set of interfaces is implementation-defined.
The <netinet/in.h> header shall declare the following external variable:
const struct in6_addr in6addr_any
This variable is initialized by the system to contain the wildcard IPv6 address. The <netinet/in.h> 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 struct in6_addr to the IPv6 wildcard address.
The <netinet/in.h> header shall declare the following external variable:
const struct in6_addr in6addr_loopback
This variable is initialized by the system to contain the loopback IPv6 address. The <netinet/in.h> 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 struct in6_addr to the IPv6 loopback address.
The <netinet/in.h> header shall define the ipv6_mreq structure that includes at least the following members:
struct in6_addr ipv6mr_multiaddr IPv6 multicast address. unsigned ipv6mr_interface Interface index.
The <netinet/in.h> header shall define the following macros for use as values of the level argument of getsockopt() and setsockopt():
The <netinet/in.h> header shall define the following macros for use as destination addresses for connect(), sendmsg(), and sendto():
The <netinet/in.h> header shall define the following macro to help applications declare buffers of the proper size to store IPv4 addresses in string form:
The htonl(), htons(), ntohl(), and ntohs() functions shall be available as defined in <arpa/inet.h> . Inclusion of the <netinet/in.h> header may also make visible all symbols from <arpa/inet.h> .
The <netinet/in.h> header shall define the following macro to help applications declare buffers of the proper size to store IPv6 addresses in string form:
The <netinet/in.h> header shall define the following macros, with distinct integer values, for use in the option_name argument in the getsockopt() or setsockopt() functions at protocol level IPPROTO_IPV6:
Multicast hop limit.
Multicast packets are delivered back to the local application.
The <netinet/in.h> header shall define the following macros that test for special IPv6 addresses. Each macro is of type int and takes a single argument of type const struct in6_addr *:
Unspecified address.
Loopback address.
Multicast address.
Unicast link-local address.
Unicast site-local address.
IPv4 mapped address.
IPv4-compatible address.
Multicast node-local address.
Multicast link-local address.
Multicast site-local address.
Multicast organization-local address.
Multicast global address.
The following sections are informative.
Host and Network Byte Orders , <arpa/inet.h> , <inttypes.h> , <sys/socket.h> , the System Interfaces volume of IEEE Std 1003.1-2001, connect(), getsockopt(), htonl(), htons(), ntohl(), ntohs(), sendmsg(), sendto(), setsockopt()
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |