lwres_noop.docbook revision 821350367e2c7313c02eb275e8e05d5193b47cfd
f743002678eb67b99bbc29fee116b65d9530fec0wrowe<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem [<!ENTITY mdash "&#8212;">]>
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic<!--
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic - Copyright (C) 2004, 2005, 2007, 2014 Internet Systems Consortium, Inc. ("ISC")
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic - Copyright (C) 2000, 2001 Internet Software Consortium.
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic -
4da61833a1cbbca94094f9653fd970582b97a72etrawick - Permission to use, copy, modify, and/or distribute this software for any
4da61833a1cbbca94094f9653fd970582b97a72etrawick - purpose with or without fee is hereby granted, provided that the above
4da61833a1cbbca94094f9653fd970582b97a72etrawick - copyright notice and this permission notice appear in all copies.
4da61833a1cbbca94094f9653fd970582b97a72etrawick -
4da61833a1cbbca94094f9653fd970582b97a72etrawick - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
4789804be088bcd86ae637a29cdb7fda25169521jailletc - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
4789804be088bcd86ae637a29cdb7fda25169521jailletc - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
4789804be088bcd86ae637a29cdb7fda25169521jailletc - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
4789804be088bcd86ae637a29cdb7fda25169521jailletc - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
e50c3026198fd496f183cda4c32a202925476778covener - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
e50c3026198fd496f183cda4c32a202925476778covener - PERFORMANCE OF THIS SOFTWARE.
e50c3026198fd496f183cda4c32a202925476778covener-->
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin<refentry>
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic <refentryinfo>
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic <date>June 18, 2007</date>
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic </refentryinfo>
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic <refmeta>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic <refentrytitle>lwres_noop</refentrytitle>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic <manvolnum>3</manvolnum>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic <refmiscinfo>BIND9</refmiscinfo>
69301145375a889e7e37caf7cc7321ac0f91801erpluem </refmeta>
69301145375a889e7e37caf7cc7321ac0f91801erpluem
69301145375a889e7e37caf7cc7321ac0f91801erpluem <docinfo>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza <copyright>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza <year>2004</year>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza <year>2005</year>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza <year>2007</year>
d58a848a016d401b965111e50ef829e1641f7834minfrin <year>2014</year>
d58a848a016d401b965111e50ef829e1641f7834minfrin <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
d58a848a016d401b965111e50ef829e1641f7834minfrin </copyright>
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf <copyright>
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf <year>2000</year>
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf <year>2001</year>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic <holder>Internet Software Consortium.</holder>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic </copyright>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic </docinfo>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic <refnamediv>
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic <refname>lwres_nooprequest_render</refname>
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic <refname>lwres_noopresponse_render</refname>
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic <refname>lwres_nooprequest_parse</refname>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic <refname>lwres_noopresponse_parse</refname>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic <refname>lwres_noopresponse_free</refname>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic <refname>lwres_nooprequest_free</refname>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic <refpurpose>lightweight resolver no-op message handling</refpurpose>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic </refnamediv>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic <refsynopsisdiv>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic <funcsynopsis>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener<funcsynopsisinfo>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener#include &lt;lwres/lwres.h&gt;</funcsynopsisinfo>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener<funcprototype>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener <funcdef>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerlwres_result_t
44ff304057225e944e220e981d434a046d14cf06covener<function>lwres_nooprequest_render</function></funcdef>
44ff304057225e944e220e981d434a046d14cf06covener <paramdef>lwres_context_t *<parameter>ctx</parameter></paramdef>
44ff304057225e944e220e981d434a046d14cf06covener <paramdef>lwres_nooprequest_t *<parameter>req</parameter></paramdef>
44ff304057225e944e220e981d434a046d14cf06covener <paramdef>lwres_lwpacket_t *<parameter>pkt</parameter></paramdef>
5d1ba75b8794925e67591c209085a49279791de9covener <paramdef>lwres_buffer_t *<parameter>b</parameter></paramdef>
5d1ba75b8794925e67591c209085a49279791de9covener </funcprototype>
5d1ba75b8794925e67591c209085a49279791de9covener<funcprototype>
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand <funcdef>
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrandlwres_result_t
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand<function>lwres_noopresponse_render</function></funcdef>
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand <paramdef>lwres_context_t *<parameter>ctx</parameter></paramdef>
caad2986f81ab263f7af41467dd622dc9add17f3ylavic <paramdef>lwres_noopresponse_t *<parameter>req</parameter></paramdef>
caad2986f81ab263f7af41467dd622dc9add17f3ylavic <paramdef>lwres_lwpacket_t *<parameter>pkt</parameter></paramdef>
caad2986f81ab263f7af41467dd622dc9add17f3ylavic <paramdef>lwres_buffer_t *<parameter>b</parameter></paramdef>
caad2986f81ab263f7af41467dd622dc9add17f3ylavic </funcprototype>
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc<funcprototype>
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton <funcdef>
f7317ff316c2b141feea31bddb74d5d3fa1584edjortonlwres_result_t
2165214331e4afafca4048f66f303d0253d7b001covener<function>lwres_nooprequest_parse</function></funcdef>
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem <paramdef>lwres_context_t *<parameter>ctx</parameter></paramdef>
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem <paramdef>lwres_buffer_t *<parameter>b</parameter></paramdef>
1e2d421a36999d292042a5539971070d54aa6c63ylavic <paramdef>lwres_lwpacket_t *<parameter>pkt</parameter></paramdef>
1e2d421a36999d292042a5539971070d54aa6c63ylavic <paramdef>lwres_nooprequest_t **<parameter>structp</parameter></paramdef>
1e2d421a36999d292042a5539971070d54aa6c63ylavic </funcprototype>
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh<funcprototype>
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh <funcdef>
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedoohlwres_result_t
0b67eb8568cd58bb77082703951679b42cf098actrawick<function>lwres_noopresponse_parse</function></funcdef>
0b67eb8568cd58bb77082703951679b42cf098actrawick <paramdef>lwres_context_t *<parameter>ctx</parameter></paramdef>
0b67eb8568cd58bb77082703951679b42cf098actrawick <paramdef>lwres_buffer_t *<parameter>b</parameter></paramdef>
0b67eb8568cd58bb77082703951679b42cf098actrawick <paramdef>lwres_lwpacket_t *<parameter>pkt</parameter></paramdef>
5ef3c61605a3a021ff71f488983cb0065f8e1a79covener <paramdef>lwres_noopresponse_t **<parameter>structp</parameter></paramdef>
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener </funcprototype>
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener<funcprototype>
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic <funcdef>
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavicvoid
3060ce7f798fbda7999cd4ddf89b525d2b294185covener<function>lwres_noopresponse_free</function></funcdef>
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic <paramdef>lwres_context_t *<parameter>ctx</parameter></paramdef>
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic <paramdef>lwres_noopresponse_t **<parameter>structp</parameter></paramdef>
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic </funcprototype>
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc<funcprototype>
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc <funcdef>
e466c40e1801982602ee0200c9e8b61cc148742djailletcvoid
e466c40e1801982602ee0200c9e8b61cc148742djailletc<function>lwres_nooprequest_free</function></funcdef>
457468b82e59d01eba00dd9d0817309c8f5e414ejim <paramdef>lwres_context_t *<parameter>ctx</parameter></paramdef>
457468b82e59d01eba00dd9d0817309c8f5e414ejim <paramdef>lwres_nooprequest_t **<parameter>structp</parameter></paramdef>
457468b82e59d01eba00dd9d0817309c8f5e414ejim </funcprototype>
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton</funcsynopsis>
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton </refsynopsisdiv>
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem <refsect1>
15660979a30d251681463de2e0584853890082accovener <title>DESCRIPTION</title>
15660979a30d251681463de2e0584853890082accovener <para>
49dacedb6c387b786b7911082ff35121a45f414bcovener These are low-level routines for creating and parsing
49dacedb6c387b786b7911082ff35121a45f414bcovener lightweight resolver no-op request and response messages.
cfd9415521847b2f9394fad04fb701cfb955f503rjung </para>
cfd9415521847b2f9394fad04fb701cfb955f503rjung <para>
cfd9415521847b2f9394fad04fb701cfb955f503rjung The no-op message is analogous to a <command>ping</command>
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe packet:
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe a packet is sent to the resolver daemon and is simply echoed back.
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe The opcode is intended to allow a client to determine if the server is
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe operational or not.
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe </para>
8491e0600f69b0405e156ea8a419653c065c645bcovener <para>
63b9f1f5880391261705f696d7d65507bbe9ace3covener There are four main functions for the no-op opcode.
63b9f1f5880391261705f696d7d65507bbe9ace3covener One render function converts a no-op request structure &mdash;
63b9f1f5880391261705f696d7d65507bbe9ace3covener <type>lwres_nooprequest_t</type> &mdash;
49dacedb6c387b786b7911082ff35121a45f414bcovener to the lightweight resolver's canonical format.
49dacedb6c387b786b7911082ff35121a45f414bcovener It is complemented by a parse function that converts a packet in this
49dacedb6c387b786b7911082ff35121a45f414bcovener canonical format to a no-op request structure.
49dacedb6c387b786b7911082ff35121a45f414bcovener Another render function converts the no-op response structure &mdash;
3c990331fc6702119e4f5b8ba9eae3021aea5265jim <type>lwres_noopresponse_t</type>
3c990331fc6702119e4f5b8ba9eae3021aea5265jim to the canonical format.
3c990331fc6702119e4f5b8ba9eae3021aea5265jim This is complemented by a parse function which converts a packet in
3c990331fc6702119e4f5b8ba9eae3021aea5265jim canonical format to a no-op response structure.
fc42512879dd0504532f52fe5d0d0383dda96a1eniq </para>
fc42512879dd0504532f52fe5d0d0383dda96a1eniq <para>
fc42512879dd0504532f52fe5d0d0383dda96a1eniq These structures are defined in
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq <filename>lwres/lwres.h</filename>.
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq They are shown below.
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc </para>
983528026996668ea295be95aedb9c7a346af470ylavic <para><programlisting>
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc#define LWRES_OPCODE_NOOP 0x00000000U
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc</programlisting>
06b8f183140c8e02e0974e938a05078b511d1603covener </para>
06b8f183140c8e02e0974e938a05078b511d1603covener <para><programlisting>
06b8f183140c8e02e0974e938a05078b511d1603covenertypedef struct {
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem lwres_uint16_t datalength;
259878293a997ff49f5ddfc53d3739cbdc25444ecovener unsigned char *data;
259878293a997ff49f5ddfc53d3739cbdc25444ecovener} lwres_nooprequest_t;
259878293a997ff49f5ddfc53d3739cbdc25444ecovener</programlisting>
259878293a997ff49f5ddfc53d3739cbdc25444ecovener </para>
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem <para><programlisting>
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrintypedef struct {
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin lwres_uint16_t datalength;
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin unsigned char *data;
65967d05f839dbf27cf91d91fa79585eeae19660minfrin} lwres_noopresponse_t;
65967d05f839dbf27cf91d91fa79585eeae19660minfrin</programlisting>
65967d05f839dbf27cf91d91fa79585eeae19660minfrin </para>
65967d05f839dbf27cf91d91fa79585eeae19660minfrin <para>
8152945ae46857b170cb227e79bb799f4fc7710dminfrin Although the structures have different types, they are identical.
8152945ae46857b170cb227e79bb799f4fc7710dminfrin This is because the no-op opcode simply echos whatever data was sent:
8152945ae46857b170cb227e79bb799f4fc7710dminfrin the response is therefore identical to the request.
8152945ae46857b170cb227e79bb799f4fc7710dminfrin </para>
75f5c2db254c0167a0e396254460de09b775d203trawick
75f5c2db254c0167a0e396254460de09b775d203trawick <para><function>lwres_nooprequest_render()</function>
75f5c2db254c0167a0e396254460de09b775d203trawick uses resolver context <parameter>ctx</parameter> to convert
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph no-op request structure <parameter>req</parameter> to canonical
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph format. The packet header structure <parameter>pkt</parameter>
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph is initialised and transferred to buffer
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick <parameter>b</parameter>. The contents of
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick <parameter>*req</parameter> are then appended to the buffer in
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick canonical format.
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick <function>lwres_noopresponse_render()</function> performs the
54d750a84a175d8e338880514d440773eb986b50covener same task, except it converts a no-op response structure
54d750a84a175d8e338880514d440773eb986b50covener <type>lwres_noopresponse_t</type> to the lightweight resolver's
54d750a84a175d8e338880514d440773eb986b50covener canonical format.
54d750a84a175d8e338880514d440773eb986b50covener </para>
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener <para><function>lwres_nooprequest_parse()</function>
54d750a84a175d8e338880514d440773eb986b50covener uses context <parameter>ctx</parameter> to convert the contents
54d750a84a175d8e338880514d440773eb986b50covener of packet <parameter>pkt</parameter> to a
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covener <type>lwres_nooprequest_t</type> structure. Buffer
54d750a84a175d8e338880514d440773eb986b50covener <parameter>b</parameter> provides space to be used for storing
54d750a84a175d8e338880514d440773eb986b50covener this structure. When the function succeeds, the resulting
83b50288fa7d306324bba68832011ea08f5c7832covener <type>lwres_nooprequest_t</type> is made available through
4e30ef014533a7e93c92d88306291f5e49c9692ftrawick <parameter>*structp</parameter>.
83b50288fa7d306324bba68832011ea08f5c7832covener <function>lwres_noopresponse_parse()</function> offers the same
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick semantics as <function>lwres_nooprequest_parse()</function>
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick except it yields a <type>lwres_noopresponse_t</type> structure.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick </para>
2e15620d724fb8e3a5be183b917359a2fd6e9468covener
2e15620d724fb8e3a5be183b917359a2fd6e9468covener <para><function>lwres_noopresponse_free()</function>
2e15620d724fb8e3a5be183b917359a2fd6e9468covener and <function>lwres_nooprequest_free()</function> release the
2e15620d724fb8e3a5be183b917359a2fd6e9468covener memory in resolver context <parameter>ctx</parameter> that was
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener allocated to the <type>lwres_noopresponse_t</type> or
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener <type>lwres_nooprequest_t</type> structures referenced via
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener <parameter>structp</parameter>.
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener </para>
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener </refsect1>
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener <refsect1>
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd <title>RETURN VALUES</title>
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd <para>
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd The no-op opcode functions
179565be4043d7e5f9161aa75271fa0a001866d9covener <function>lwres_nooprequest_render()</function>,
179565be4043d7e5f9161aa75271fa0a001866d9covener
179565be4043d7e5f9161aa75271fa0a001866d9covener <function>lwres_noopresponse_render()</function>
111436a32ba1254291e4883292fb116d15fe8f64covener <function>lwres_nooprequest_parse()</function>
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener and
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener <function>lwres_noopresponse_parse()</function>
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener all return
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener <errorcode>LWRES_R_SUCCESS</errorcode>
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick on success.
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick They return
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick <errorcode>LWRES_R_NOMEMORY</errorcode>
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz if memory allocation fails.
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz <errorcode>LWRES_R_UNEXPECTEDEND</errorcode>
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz is returned if the available space in the buffer
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza <parameter>b</parameter>
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza is too small to accommodate the packet header or the
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza <type>lwres_nooprequest_t</type>
efe780dcf13b2b95effabf897d694d8f23feac74trawick and
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin <type>lwres_noopresponse_t</type>
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin structures.
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin <function>lwres_nooprequest_parse()</function>
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza and
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza <function>lwres_noopresponse_parse()</function>
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza will return
ba050a6f942b9fa0e81ed73437588005c569655ccovener <errorcode>LWRES_R_UNEXPECTEDEND</errorcode>
ba050a6f942b9fa0e81ed73437588005c569655ccovener if the buffer is not empty after decoding the received packet.
ba050a6f942b9fa0e81ed73437588005c569655ccovener These functions will return
ba050a6f942b9fa0e81ed73437588005c569655ccovener <errorcode>LWRES_R_FAILURE</errorcode>
135ddda3a989215d2bedbcf1529bfb269c3eda23niq if
135ddda3a989215d2bedbcf1529bfb269c3eda23niq <constant>pktflags</constant>
135ddda3a989215d2bedbcf1529bfb269c3eda23niq in the packet header structure
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh <type>lwres_lwpacket_t</type>
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh indicate that the packet is not a response to an earlier query.
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh </para>
efe780dcf13b2b95effabf897d694d8f23feac74trawick </refsect1>
793214f67dede32edfd9ee96c664ead04d175cbbjfclere <refsect1>
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin <title>SEE ALSO</title>
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener <para><citerefentry>
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener <refentrytitle>lwres_packet</refentrytitle><manvolnum>3</manvolnum>
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener </citerefentry>
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza </para>
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza </refsect1>
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza</refentry><!--
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza - Local variables:
56589be3d7a3e9343370df240010c6928cc78b39jkaluza - mode: sgml
56589be3d7a3e9343370df240010c6928cc78b39jkaluza - End:
56589be3d7a3e9343370df240010c6928cc78b39jkaluza-->
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc