lwres_gnba.html revision 8eea877894ea5bcf5cdd9ca124a8601ad421d753
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<!--
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson - Copyright (C) 2000, 2001 Internet Software Consortium.
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson -
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.
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson -
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson-->
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<HTML
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><HEAD
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TITLE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnba</TITLE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><META
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="GENERATOR"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCONTENT="Modular DocBook HTML Stylesheet Version 1.61
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_gnba</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_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lwres_gnbaresponse_parse, lwres_gnbaresponse_free, lwres_gnbarequest_free&nbsp;--&nbsp;lightweight resolver getnamebyaddress 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_gnbarequest_render</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_gnbarequest_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_gnbaresponse_render</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_gnbaresponse_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_gnbarequest_parse</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gnbarequest_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_gnbaresponse_parse</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gnbaresponse_t **structp);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>void
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_gnbaresponse_free</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_gnbaresponse_t **structp);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>void
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_gnbarequest_free</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_context_t *ctx, lwres_gnbarequest_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="AEN61"
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 address-to-name lookup request and
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonresponse messages.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>There are four main functions for the getnamebyaddr opcode.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonOne render function converts a getnamebyaddr request structure &mdash;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> &mdash;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto the lightweight resolver's canonical format.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonIt is complemented by a parse function that converts a packet in this
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssoncanonical format to a getnamebyaddr request structure.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonAnother render function converts the getnamebyaddr response structure &mdash;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_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 getnamebyaddr 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 GustafssonThey are shown below.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PROGRAMLISTING"
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson>#define LWRES_OPCODE_GETNAMEBYADDR 0x00010002U
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssontypedef struct {
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint32_t flags;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_addr_t addr;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson} lwres_gnbarequest_t;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssontypedef struct {
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint32_t flags;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint16_t naliases;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson char *realname;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson char **aliases;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint16_t realnamelen;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson lwres_uint16_t *aliaslen;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson void *base;
8eea877894ea5bcf5cdd9ca124a8601ad421d753Andreas Gustafsson size_t baselen;
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson} lwres_gnbaresponse_t;</PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonuses resolver context
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ctx</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto convert getnamebyaddr request structure
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>req</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto canonical format.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe packet header structure
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>pkt</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis initialised and transferred to
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbuffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>b</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe contents of
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>*req</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonare then appended to the buffer in canonical format.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonperforms the same task, except it converts a getnamebyaddr response structure
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto the lightweight resolver's canonical format.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonuses context
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ctx</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto convert the contents of packet
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>pkt</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto a
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructure.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonBuffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>b</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonprovides space to be used for storing this structure.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonWhen the function succeeds, the resulting
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis made available through
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>*structp</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonoffers the same semantics as
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonexcept it yields a
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructure.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_free()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_free()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonrelease the memory in resolver context
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>ctx</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonthat was allocated to the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonor
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures referenced via
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>structp</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonAny memory associated with ancillary buffers and strings for those
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures is also discarded.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSECT1"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="AEN97"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></A
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>RETURN VALUES</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>The getnamebyaddr opcode functions
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_render()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_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="VARNAME"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>b</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonis too small to accommodate the packet header or the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="TYPE"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonstructures.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbarequest_parse()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson<TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_gnbaresponse_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="STRUCTFIELD"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson><I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>pktflags</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson></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="AEN116"
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
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>