summaryrefslogtreecommitdiff
path: root/man/v1.0.0/nng_msg_insert.3.html
blob: 1d7b7c009b96300fd5991088aec2432fb8156325 (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
---
version: v1.0.0
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_msg_insert(3)</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_msg_insert(3) 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="#_return_values">RETURN VALUES</a></li>
<li><a href="#_errors">ERRORS</a></li>
<li><a href="#_see_also">SEE ALSO</a></li>
</ul>
</div>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>nng_msg_insert - prepend to message body</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-kt">int</span> <span class="tok-nf">nng_msg_insert</span><span class="tok-p">(</span><span class="tok-n">nng_msg</span> <span class="tok-o">*</span><span class="tok-n">msg</span><span class="tok-p">,</span> <span class="tok-k">const</span> <span class="tok-kt">void</span> <span class="tok-o">*</span><span class="tok-n">val</span><span class="tok-p">,</span> <span class="tok-kt">size_t</span> <span class="tok-n">size</span><span class="tok-p">);</span>

<span class="tok-kt">int</span> <span class="tok-nf">nng_msg_insert</span><span class="tok-p">(</span><span class="tok-n">nng_msg</span> <span class="tok-o">*</span><span class="tok-n">msg</span><span class="tok-p">,</span> <span class="tok-kt">uint32_t</span> <span class="tok-n">val32</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>nng_msg_insert()</code> and <code>nng_msg_insert_u32()</code> functions prepend data to
the front of the body of message <em>msg</em>, reallocating it if necessary.
The first function prepends <em>size</em> bytes, copying them from <em>val</em>.
The second function prepends the value <em>val32</em> in network-byte order
(big-endian).</p>
</div>
<div class="admonitionblock tip">
<table>
<tr>
<td class="icon">
<i class="fa icon-tip" title="Tip"></i>
</td>
<td class="content">
This function makes use of pre-allocated &#8220;headroom&#8221; in the message if
available, so it can often avoid performing any reallocation.
Applications should use this instead of reallocating and copying message
content themselves, in order to benefit from this capability.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_return_values">RETURN VALUES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>This function returns 0 on success, and non-zero otherwise.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_errors">ERRORS</h2>
<div class="sectionbody">
<div class="hdlist">
<table>
<tr>
<td class="hdlist1">
<code>NNG_ENOMEM</code>
</td>
<td class="hdlist2">
<p>Insufficient free memory exists.</p>
</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_msg_alloc.3.html">nng_msg_alloc(3)</a>,
<a href="nng_msg_append.3.html">nng_msg_append(3)</a>,
<a href="nng_msg_body.3.html">nng_msg_body(3)</a>,
<a href="nng_msg_chop.3.html">nng_msg_chop(3)</a>,
<a href="nng_msg_free.3.html">nng_msg_free(3)</a>,
<a href="nng_msg_len.3.html">nng_msg_len(3)</a>,
<a href="nng_msg_realloc.3.html">nng_msg_realloc(3)</a>,
<a href="nng_msg_trim.3.html">nng_msg_trim(3)</a>,
<a href="nng_strerror.3.html">nng_strerror(3)</a>,
<a href="nng_msg.5.html">nng_msg(5)</a>,
<a href="nng.7.html">nng(7)</a></p>
</div>
</div>
</div>
</div>
<link rel="stylesheet" href="./pygments-default.css">
</body>
</html>