lwres_noop.html revision 61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!--
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92Mark Andrews - Copyright (C) 2001 Internet Software Consortium.
61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92Mark Andrews -
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - Permission to use, copy, modify, and distribute this software for any
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - purpose with or without fee is hereby granted, provided that the above
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - copyright notice and this permission notice appear in all copies.
61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92Mark Andrews -
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews - PERFORMANCE OF THIS SOFTWARE.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson-->
61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92Mark Andrews
61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92Mark Andrews<!-- $Id: lwres_noop.html,v 1.10 2004/04/07 00:57:04 marka Exp $ -->
61e1dc26d62c2a0059e3ca7efe2ad0f4a5b8df92Mark Andrews
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<HTML
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><HEAD
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TITLE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noop</TITLE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><META
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="GENERATOR"
8a66318e41ed14c5a88130e8c362610e8faa2121Mark AndrewsCONTENT="Modular DocBook HTML Stylesheet Version 1.73
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson"></HEAD
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><BODY
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFENTRY"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonBGCOLOR="#FFFFFF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonTEXT="#000000"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonLINK="#0000FF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonVLINK="#840084"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonALINK="#0000FF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H1
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN1"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noop</A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></H1
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFNAMEDIV"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN8"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>Name</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_render, lwres_noopresponse_render, lwres_nooprequest_parse, lwres_noopresponse_parse, lwres_noopresponse_free, lwres_nooprequest_free&nbsp;--&nbsp;lightweight resolver no-op message handling</DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSYNOPSISDIV"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN16"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>Synopsis</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCSYNOPSIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN17"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCSYNOPSISINFO"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>#include &lt;lwres/lwres.h&gt;</PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_result_t
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_nooprequest_render</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_nooprequest_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_result_t
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_noopresponse_render</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_noopresponse_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_result_t
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_nooprequest_parse</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_nooprequest_t **structp);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_result_t
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_noopresponse_parse</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_noopresponse_t **structp);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>void
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_noopresponse_free</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_noopresponse_t **structp);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>void
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_nooprequest_free</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_nooprequest_t **structp);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSECT1"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN57"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>DESCRIPTION</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>These are low-level routines for creating and parsing
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlightweight resolver no-op request and response messages.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>The no-op message is analogous to a <B
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="COMMAND"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ping</B
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> packet:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssona packet is sent to the resolver daemon and is simply echoed back.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe opcode is intended to allow a client to determine if the server is
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonoperational or not.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>There are four main functions for the no-op opcode.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonOne render function converts a no-op request structure &mdash;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> &mdash;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto the lighweight resolver's canonical format.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonIt is complemented by a parse function that converts a packet in this
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssoncanonical format to a no-op request structure.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonAnother render function converts the no-op response structure &mdash;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto the canonical format.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThis is complemented by a parse function which converts a packet in
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssoncanonical format to a no-op response structure.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>These structures are defined in
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FILENAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres/lwres.h</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThey are shown below.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PROGRAMLISTING"
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson>#define LWRES_OPCODE_NOOP 0x00000000U
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssontypedef struct {
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint16_t datalength;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson unsigned char *data;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson} lwres_nooprequest_t;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssontypedef struct {
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint16_t datalength;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson unsigned char *data;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson} lwres_noopresponse_t;</PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonAlthough the structures have different types, they are identical.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThis is because the no-op opcode simply echos whatever data was sent:
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonthe response is therefore identical to the request.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_render()</TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> uses resolver
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssoncontext <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ctx</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> to convert no-op request structure
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>req</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> to canonical format. The packet header
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonstructure <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>pkt</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> is initialised and transferred to
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonbuffer <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>b</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson>. The contents of
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>*req</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> are then appended to the buffer in
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssoncanonical format. <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonperforms the same task, except it converts a no-op response structure
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_t</SPAN
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> to the lightweight resolver's
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssoncanonical format.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_parse()</TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> uses context
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ctx</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> to convert the contents of packet
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>pkt</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> to a <SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonstructure. Buffer <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>b</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> provides space to be used
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonfor storing this structure. When the function succeeds, the resulting
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_t</SPAN
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> is made available through
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>*structp</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_parse()</TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> offers the same
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonsemantics as <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_parse()</TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> except it
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonyields a <SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_t</SPAN
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> structure.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_free()</TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> and
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_free()</TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> release the memory in
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonresolver context <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ctx</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> that was allocated to the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_t</SPAN
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson> or <SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafssonstructures referenced via <TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>structp</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ac299c4f5ca236370b9df2a91b18b149b1d344a7Andreas Gustafsson>.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSECT1"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN95"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>RETURN VALUES</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>The no-op opcode functions
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonall return
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="ERRORCODE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>LWRES_R_SUCCESS</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonon success.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThey return
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="ERRORCODE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>LWRES_R_NOMEMORY</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonif memory allocation fails.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="ERRORCODE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>LWRES_R_UNEXPECTEDEND</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis returned if the available space in the buffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>b</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis too small to accommodate the packet header or the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_nooprequest_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_noopresponse_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonwill return
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="ERRORCODE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>LWRES_R_UNEXPECTEDEND</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonif the buffer is not empty after decoding the received packet.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThese functions will return
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="ERRORCODE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>LWRES_R_FAILURE</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonif
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="CONSTANT"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>pktflags</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonin the packet header structure
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_lwpacket_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonindicate that the packet is not a response to an earlier query.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSECT1"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN114"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>SEE ALSO</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="CITEREFENTRY"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFENTRYTITLE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_packet</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(3)</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></BODY
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></HTML
8a66318e41ed14c5a88130e8c362610e8faa2121Mark Andrews>