diff options
Diffstat (limited to 'man/v1.8.0/nn_cmsg.3compat.html')
| -rw-r--r-- | man/v1.8.0/nn_cmsg.3compat.html | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/man/v1.8.0/nn_cmsg.3compat.html b/man/v1.8.0/nn_cmsg.3compat.html new file mode 100644 index 00000000..2d7cf88e --- /dev/null +++ b/man/v1.8.0/nn_cmsg.3compat.html @@ -0,0 +1,111 @@ +--- +version: v1.8.0 +layout: manpage_v2 +title: nn_cmsg(3compat) +--- +<h1>nn_cmsg(3compat)</h1> +<div class="sect1"> +<h2 id="_name">NAME</h2> +<div class="sectionbody"> +<div class="paragraph"> +<p>nn_cmsg - message control data (compatible API)</p> +</div> +</div> +</div> +<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-w"> </span><span class="tok-cpf"><nanomsg/nn.h></span> + +<span class="tok-k">struct</span><span class="tok-w"> </span><span class="tok-nc">nn_cmsghdr</span><span class="tok-w"> </span><span class="tok-p">{</span> +<span class="tok-w"> </span><span class="tok-kt">size_t</span><span class="tok-w"> </span><span class="tok-n">cmsg_len</span><span class="tok-p">;</span> +<span class="tok-w"> </span><span class="tok-kt">int</span><span class="tok-w"> </span><span class="tok-n">cmsg_level</span><span class="tok-p">;</span> +<span class="tok-w"> </span><span class="tok-kt">int</span><span class="tok-w"> </span><span class="tok-n">cmsg_type</span><span class="tok-p">;</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>The <code>nn_cmsghdr</code> structure describes a block of control data that is +associated with a message either sent by <a href="nn_sendmsg.3compat.html"><code>nn_sendmsg()</code></a> +or received by <a href="nn_recvmsg.3compat.html"><code>nn_recvmsg()</code></a>.</p> +</div> +<div class="admonitionblock note"> +<table> +<tr> +<td class="icon"> +<i class="fa icon-note" title="Note"></i> +</td> +<td class="content"> +This structure and supporting macros are provided for API +<a href="nng_compat.3compat.html">compatibility</a> with legacy <em>libnanomsg</em>. +Consider using the relevant <a href="libnng.3.html">modern API</a> instead. +</td> +</tr> +</table> +</div> +<div class="paragraph"> +<p>Each header is followed by <code>cmsg_len</code> bytes of data, plus any padding required +to align the structure.</p> +</div> +<div class="paragraph"> +<p>The only defined ancillary data at this time is the protocol headers used by +the protocols. +This uses <code>cmsg_level</code> set to <code>PROTO_SP</code> and the <code>cmsg_type</code> set to +<code>SP_HDR</code>. +The actual data for this will vary from depending on the protocol used.</p> +</div> +<div class="paragraph"> +<p>Convenience macros are provided to make working with these fields easier.</p> +</div> +<div class="dlist"> +<dl> +<dt class="hdlist1"><code>struct nn_cmsghdr *NN_CMSG_FIRSTHDR(struct nn_msghdr *<em>hdr</em>)</code></dt> +<dd> +<p>This macro returns the first <code>struct nn_cmsghdr</code> header in <em>hdr</em>.</p> +</dd> +<dt class="hdlist1"><code>struct nn_cmsghdr *NN_CMSG_NXTHDR(struct nn_msghdr *<em>hdr</em>, struct nn_cmsghdr *<em>ch</em>)</code></dt> +<dd> +<p>This macro returns a pointer to the next <code>struct nn_cmsghdr</code> in <em>hdr</em> after <em>ch</em>.</p> +</dd> +<dt class="hdlist1"><code>void *NN_CMSG_DATA(struct nn_cmsghdr *<em>ch</em>)</code></dt> +<dd> +<p>This macro returns a pointer to the header-specific data for <em>ch</em>.</p> +</dd> +<dt class="hdlist1"><code>size_t NN_CMSG_ALIGN(size_t <em>len</em>)</code></dt> +<dd> +<p>This macro returns the length specified by <em>len</em>, plus any padding required to +provide the necessary alignment for another structure.</p> +</dd> +<dt class="hdlist1"><code>size_t NN_CMSG_SPACE(size_t <em>len</em>)</code></dt> +<dd> +<p>This macro returns the amount of space required for a header, with <em>len</em> +bytes of following data, and any necessary padding.</p> +</dd> +<dt class="hdlist1"><code>size_t NN_CMSG_LEN(size_t <em>len</em>)</code></dt> +<dd> +<p>This macro evaluates to the length of the header (including alignment), +and the associated data of length <em>len</em>, but without any trailing padding +to align for another header.</p> +</dd> +</dl> +</div> +</div> +</div> +<div class="sect1"> +<h2 id="_see_also">SEE ALSO</h2> +<div class="sectionbody"> +<div class="paragraph text-left"> +<p><a href="nn_recvmsg.3compat.html">nn_recvmsg(3compat)</a>, +<a href="nn_sendmsg.3compat.html">nn_sendmsg(3compat)</a>, +<a href="nng_compat.3compat.html">nng_compat(3compat)</a>, +<a href="nng.7.html">nng(7)</a></p> +</div> +</div> +</div> |
