<ttclass="descname">NGHTTP2_ERR_INSUFF_BUFSIZE</tt><aclass="headerlink"href="#NGHTTP2_ERR_INSUFF_BUFSIZE"title="Permalink to this definition">¶</a></dt>
<ttclass="descname">NGHTTP2_ERR_FATAL</tt><aclass="headerlink"href="#NGHTTP2_ERR_FATAL"title="Permalink to this definition">¶</a></dt>
...
...
@@ -1744,20 +1751,22 @@ or the <em>settings_payload</em> does not include both
<dlclass="function">
<dtid="nghttp2_pack_settings_payload">
ssize_t <ttclass="descname">nghttp2_pack_settings_payload</tt><big>(</big>uint8_t<em> *buf</em>, <aclass="reference internal"href="#nghttp2_settings_entry"title="nghttp2_settings_entry">nghttp2_settings_entry</a><em> *iv</em>, size_t<em> niv</em><big>)</big><aclass="headerlink"href="#nghttp2_pack_settings_payload"title="Permalink to this definition">¶</a></dt>
<dd><p>Serializes the SETTINGS values <em>iv</em> in the <em>buf</em>. The number of
entry pointed by <em>iv</em> array is given by the <em>niv</em>. This function
may reorder the pointers in <em>iv</em>. The <em>buf</em> must have enough region
to hold serialized data. The required space for the <em>niv</em> entries
are <ttclass="docutils literal"><spanclass="pre">8*niv</span></tt> bytes. This function is used mainly for creating
SETTINGS payload to be sent with <ttclass="docutils literal"><spanclass="pre">HTTP2-Settings</span></tt> header field in
HTTP Upgrade request. The data written in <em>buf</em> is NOT
ssize_t <ttclass="descname">nghttp2_pack_settings_payload</tt><big>(</big>uint8_t<em> *buf</em>, size_t<em> buflen</em>, const <aclass="reference internal"href="#nghttp2_settings_entry"title="nghttp2_settings_entry">nghttp2_settings_entry</a><em> *iv</em>, size_t<em> niv</em><big>)</big><aclass="headerlink"href="#nghttp2_pack_settings_payload"title="Permalink to this definition">¶</a></dt>
<dd><p>Serializes the SETTINGS values <em>iv</em> in the <em>buf</em>. The size of the
<em>buf</em> is specified by <em>buflen</em>. The number of entries in the <em>iv</em>
array is given by <em>niv</em>. The required space in <em>buf</em> for the <em>niv</em>
entries is <ttclass="docutils literal"><spanclass="pre">8*niv</span></tt> bytes and if the given buffer is too small, an
error is returned. This function is used mainly for creating a
SETTINGS payload to be sent with the <ttclass="docutils literal"><spanclass="pre">HTTP2-Settings</span></tt> header
field in an HTTP Upgrade request. The data written in <em>buf</em> is NOT
base64url encoded and the application is responsible for encoding.</p>
<p>This function returns the number of bytes written in <em>buf</em>, or one
of the following negative error codes:</p>
<dlclass="docutils">
<dt><aclass="reference internal"href="#NGHTTP2_ERR_INVALID_ARGUMENT"title="NGHTTP2_ERR_INVALID_ARGUMENT"><ttclass="xref c c-macro docutils literal"><spanclass="pre">NGHTTP2_ERR_INVALID_ARGUMENT</span></tt></a></dt>
<dd>The <em>iv</em> contains duplicate settings ID or invalid value.</dd>
<dt><aclass="reference internal"href="#NGHTTP2_ERR_INSUFF_BUFSIZE"title="NGHTTP2_ERR_INSUFF_BUFSIZE"><ttclass="xref c c-macro docutils literal"><spanclass="pre">NGHTTP2_ERR_INSUFF_BUFSIZE</span></tt></a></dt>
<dd>The provided <em>buflen</em> size is too small to hold the output.</dd>
</dl>
</dd></dl>
...
...
@@ -1795,6 +1804,9 @@ field.</dd>
</dl>
<p>This function creates copies of all name/value pairs in <em>nv</em>. It
also lower-cases all names in <em>nv</em>.</p>
<p>The string in <em>nv</em> must be NULL-terminated. Use
<aclass="reference internal"href="#nghttp2_submit_request2"title="nghttp2_submit_request2"><ttclass="xref c c-func docutils literal"><spanclass="pre">nghttp2_submit_request2()</span></tt></a> if name/value pairs are not
NULL-terminated strings.</p>
<p>If <em>data_prd</em> is not <ttclass="docutils literal"><spanclass="pre">NULL</span></tt>, it provides data which will be sent
in subsequent DATA frames. In this case, a method that allows
request message bodies
...
...
@@ -1828,6 +1840,24 @@ negative error codes:</p>
</dl>
</dd></dl>
<dlclass="function">
<dtid="nghttp2_submit_request2">
int <ttclass="descname">nghttp2_submit_request2</tt><big>(</big><aclass="reference internal"href="#nghttp2_session"title="nghttp2_session">nghttp2_session</a><em> *session</em>, int32_t<em> pri</em>, const <aclass="reference internal"href="#nghttp2_nv"title="nghttp2_nv">nghttp2_nv</a><em> *nva</em>, size_t<em> nvlen</em>, const <aclass="reference internal"href="#nghttp2_data_provider"title="nghttp2_data_provider">nghttp2_data_provider</a><em> *data_prd</em>, void<em> *stream_user_data</em><big>)</big><aclass="headerlink"href="#nghttp2_submit_request2"title="Permalink to this definition">¶</a></dt>
<dd><p>Just like <aclass="reference internal"href="#nghttp2_submit_request"title="nghttp2_submit_request"><ttclass="xref c c-func docutils literal"><spanclass="pre">nghttp2_submit_request()</span></tt></a>, but this function takes the
<em>nva</em>, which is an array of <ttclass="docutils literal"><spanclass="pre">nghttp2_nv</span></tt> with <em>nvlen</em> elements,
as name/value pairs. This function is useful if name/value pairs
are not NULL-terminated strings.</p>
<p>This function returns 0 if it succeeds, or one of the following
negative error codes:</p>
<dlclass="docutils">
<dt><aclass="reference internal"href="#NGHTTP2_ERR_INVALID_ARGUMENT"title="NGHTTP2_ERR_INVALID_ARGUMENT"><ttclass="xref c c-macro docutils literal"><spanclass="pre">NGHTTP2_ERR_INVALID_ARGUMENT</span></tt></a></dt>
<dd>The <em>pri</em> is invalid; or the <em>nva</em> includes empty name or
name which contains invalid characters.</dd>
<dt><aclass="reference internal"href="#NGHTTP2_ERR_NOMEM"title="NGHTTP2_ERR_NOMEM"><ttclass="xref c c-macro docutils literal"><spanclass="pre">NGHTTP2_ERR_NOMEM</span></tt></a></dt>
<dd>Out of memory.</dd>
</dl>
</dd></dl>
<dlclass="function">
<dtid="nghttp2_submit_response">
int <ttclass="descname">nghttp2_submit_response</tt><big>(</big><aclass="reference internal"href="#nghttp2_session"title="nghttp2_session">nghttp2_session</a><em> *session</em>, int32_t<em> stream_id</em>, const char<em> **nv</em>, const <aclass="reference internal"href="#nghttp2_data_provider"title="nghttp2_data_provider">nghttp2_data_provider</a><em> *data_prd</em><big>)</big><aclass="headerlink"href="#nghttp2_submit_response"title="Permalink to this definition">¶</a></dt>