summaryrefslogtreecommitdiff
path: root/man/v1.1.1/nng_sockaddr_zt.5.html
blob: e8aefdc915d17466a65f701ad6520f8bd1480550 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
---
version: v1.1.1
layout: refman
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.10">
<title>nng_sockaddr_zt(5)</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
<link rel="stylesheet" href="./asciidoctor.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body class="manpage toc2 toc-left">
<div id="header">
<h1>nng_sockaddr_zt(5) Manual Page</h1>
<div id="toc" class="toc2">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#_synopsis">SYNOPSIS</a></li>
<li><a href="#_description">DESCRIPTION</a></li>
<li><a href="#_see_also">SEE ALSO</a></li>
</ul>
</div>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>nng_sockaddr_zt - ZeroTier socket address</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="content">
<pre class="pygments highlight"><code data-lang="c"><span></span><span class="tok-cp">#include</span> <span class="tok-cpf">&lt;nng/nng.h&gt;</span><span class="tok-cp"></span>

<span class="tok-k">enum</span> <span class="tok-n">sockaddr_family</span> <span class="tok-p">{</span>
    <span class="tok-n">NNG_AF_ZT</span> <span class="tok-o">=</span> <span class="tok-mi">5</span><span class="tok-p">,</span>
<span class="tok-p">};</span>

<span class="tok-k">typedef</span> <span class="tok-k">struct</span> <span class="tok-p">{</span>
    <span class="tok-kt">uint16_t</span> <span class="tok-n">sa_family</span><span class="tok-p">;</span>
    <span class="tok-kt">uint64_t</span> <span class="tok-n">sa_nwid</span><span class="tok-p">;</span>
    <span class="tok-kt">uint64_t</span> <span class="tok-n">sa_nodeid</span><span class="tok-p">;</span>
    <span class="tok-kt">uint32_t</span> <span class="tok-n">sa_port</span><span class="tok-p">;</span>
<span class="tok-p">}</span> <span class="tok-n">nng_sockaddr_zt</span><span class="tok-p">;</span></code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>
An <code>nng_sockaddr_zt</code> is the flavor of <code><a href="nng_sockaddr.5.html">nng_sockaddr</a></code>
used to represent ZeroTier addresses, including the
port number used by the
<a href="nng_zerotier.7.html"><em>zt</em></a> transport.</p>
</div>
<div class="admonitionblock important">
<table>
<tr>
<td class="icon">
<i class="fa icon-important" title="Important"></i>
</td>
<td class="content">
The ZeroTier transport, and the details of this structure,
are still considered experimental, and subject to change.
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>The following structure members are present:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>sa_family</code></dt>
<dd>
<p>This field will always have the value <code>NNG_AF_ZT</code>.</p>
</dd>
<dt class="hdlist1"><code>sa_nwid</code></dt>
<dd>
<p>
This field holds the ZeroTier network number (or ID).
This value is in native byte order.</p>
</dd>
<dt class="hdlist1"><code>sa_nodeid</code></dt>
<dd>
<p>This field holds the ZeroTier node ID.
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&#8217;s own node number be used.</p>
</dd>
<dt class="hdlist1"><code>sa_port</code></dt>
<dd>
<p>This field holds the &#8220;port number&#8221; used by the
<a href="nng_zerotier.7.html"><em>zt</em></a> transport to distinguish different
sockets.
This value in native byte order.
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.</p>
</dd>
</dl>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
ZeroTier port numbers are in <strong>native</strong> 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.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph text-left">
<p><a href="nng_sockaddr.5.html">nng_sockaddr(5)</a>,
<a href="nng_zerotier.7.html">nng_zerotier(7)</a>,
<a href="nng.7.html">nng(7)</a></p>
</div>
</div>
</div>
</div>
<link rel="stylesheet" href="./pygments-default.css">
</body>
</html>