doompanning/docs/man/nng_sockaddr_zt.5.adoc
oxmox 7063e2102e Squashed 'external/nng/' content from commit 29b73962
git-subtree-dir: external/nng
git-subtree-split: 29b73962b939a6fbbf6ea8d5d7680bb06d0eeb99
2024-12-18 18:29:29 +01:00

82 lines
2.3 KiB
Text

= nng_sockaddr_zt(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_zt - ZeroTier socket address
== SYNOPSIS
[source, c]
----
#include <nng/nng.h>
enum sockaddr_family {
NNG_AF_ZT = 5,
};
typedef struct {
uint16_t sa_family;
uint64_t sa_nwid;
uint64_t sa_nodeid;
uint32_t sa_port;
} nng_sockaddr_zt;
----
== DESCRIPTION
(((socket, address, ZeroTier)))
An `nng_sockaddr_zt` is the flavor of xref:nng_sockaddr.5.adoc[`nng_sockaddr`]
used to represent ZeroTier addresses, including the
(((port number, ZeroTier)))port number used by the
xref:nng_zerotier.7.adoc[_zt_] transport.
IMPORTANT: The ZeroTier transport, and the details of this structure,
are still considered experimental, and subject to change.
The following structure members are present:
`sa_family`::
This field will always have the value ((`NNG_AF_ZT`)).
`sa_nwid`::
(((network number, ZeroTier)))
This field holds the ZeroTier network number (or ID).
This value is in native byte order.
`sa_nodeid`::
This field holds the ZeroTier node ID.(((node ID, ZeroTier)))
This value is in native byte order, and only the lower 40 bits
are significant.
(ZeroTier node numbers are 40 bits long.)
A zero value here is used for a wild-card to indicate that the
caller's own node number be used.
`sa_port`::
This field holds the port number used by the
xref:nng_zerotier.7.adoc[_zt_] transport to distinguish different
sockets.
This value in native byte order.(((port number, ZeroTier)))
A zero value here indicates that a port number should be chosen
randomly from the ephemeral ports.
Only the lower 24 bits of the port number are used.
NOTE: ZeroTier port numbers are in *native* byte order, and are larger
than TCP/IP port numbers.
They are also not part of the ZeroTier protocol itself, but defined by
the Scalability Protocols binding for them.
== SEE ALSO
[.text-left]
xref:nng_sockaddr.5.adoc[nng_sockaddr(5)],
xref:nng_zerotier.7.adoc[nng_zerotier(7)],
xref:nng.7.adoc[nng(7)]