80 lines
2.3 KiB
Text
80 lines
2.3 KiB
Text
|
= nng_sockaddr_in6(5)
|
||
|
//
|
||
|
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
|
||
|
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
|
||
|
//
|
||
|
// This document is supplied under the terms of the MIT License, a
|
||
|
// copy of which should be located in the distribution where this
|
||
|
// file was obtained (LICENSE.txt). A copy of the license may also be
|
||
|
// found online at https://opensource.org/licenses/MIT.
|
||
|
//
|
||
|
|
||
|
== NAME
|
||
|
|
||
|
nng_sockaddr_in6 - IPv6 socket address
|
||
|
|
||
|
== SYNOPSIS
|
||
|
|
||
|
[source, c]
|
||
|
----
|
||
|
#include <nng/nng.h>
|
||
|
|
||
|
enum sockaddr_family {
|
||
|
NNG_AF_INET6 = 4,
|
||
|
};
|
||
|
|
||
|
typedef struct {
|
||
|
uint16_t sa_family;
|
||
|
uint16_t sa_port;
|
||
|
uint8_t sa_addr[16];
|
||
|
uint32_t sa_scope;
|
||
|
} nng_sockaddr_in6;
|
||
|
----
|
||
|
|
||
|
== DESCRIPTION
|
||
|
|
||
|
(((socket, address, IPv6)))
|
||
|
An `nng_sockaddr_in6` is the flavor of xref:nng_sockaddr.5.adoc[`nng_sockaddr`]
|
||
|
used to represent TCP (and sometimes UDP) addresses,
|
||
|
including the Internet Protocol (IP) address and port number.(((port number, TCP)))
|
||
|
|
||
|
This structure is used with IPv6 addresses.
|
||
|
A different structure, xref:nng_sockaddr_in.5.adoc[`nng_sockaddr_in`], is used
|
||
|
for IPv4 addresses.
|
||
|
|
||
|
The following structure members are present:
|
||
|
|
||
|
`sa_family`::
|
||
|
This field will always have the value ((`NNG_AF_INET6`)).
|
||
|
|
||
|
`sa_port`::
|
||
|
This field holds the TCP or UDP port number, in network byte-order.
|
||
|
A zero value here is used when no specific port number is indicated.
|
||
|
|
||
|
`sa_addr`::
|
||
|
This field holds the ((IP address))(((address, IPv6))) in
|
||
|
network-byte order.
|
||
|
|
||
|
`sa_scope`::
|
||
|
This is the scope, and is typically used with link local
|
||
|
addresses to identify a specific interface. The details of
|
||
|
this are specific to the operating system. This value is
|
||
|
presented identically to the underlying system's, including
|
||
|
any byte order considerations.
|
||
|
|
||
|
TIP: The `sa_port` and `sa_addr` fields are in network-byte order to
|
||
|
facilitate their use with system APIs such as `inet_ntop()`.
|
||
|
Most platforms use some form of BSD-derived network API, which uses
|
||
|
network-byte order in the various structures (such as `sockaddr_in6`).
|
||
|
|
||
|
IMPORTANT: This field appears similar to BSD `sockaddr_in6`, but it is
|
||
|
_not_ the same, and they may not be used interchangeably.
|
||
|
|
||
|
== SEE ALSO
|
||
|
|
||
|
[.text-left]
|
||
|
xref:nng_sockaddr.5.adoc[nng_sockaddr(5)],
|
||
|
xref:nng_sockaddr_in.5.adoc[nng_sockaddr_in(5)],
|
||
|
xref:nng_tcp.7.adoc[nng_tcp(7)],
|
||
|
xref:nng.7.adoc[nng(7)]
|