lwres_gnba.html revision 89da2a56413ba6294315bdde04f7547b9d71b062
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder<!--
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder - Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder - Copyright (C) 2001 Internet Software Consortium.
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder -
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - Permission to use, copy, modify, and distribute this software for any
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder - purpose with or without fee is hereby granted, provided that the above
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - copyright notice and this permission notice appear in all copies.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder -
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
d8c71aacc9f1c8cd40a8ad8dcdad9be8854b849fChristian Maeder - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder - PERFORMANCE OF THIS SOFTWARE.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder-->
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
c90087f49069855bf684b699f9ca1e2d65eac20bChristian Maeder<!-- $Id: lwres_gnba.html,v 1.11 2005/04/03 03:31:37 marka Exp $ -->
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder
01e383014b555bbcf639c0ca60c5810b3eff83c0Christian Maeder<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder<HTML
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder><HEAD
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich><TITLE
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski>lwres_gnba</TITLE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><META
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederNAME="GENERATOR"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><BODY
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederCLASS="REFENTRY"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederBGCOLOR="#FFFFFF"
2e2094a642e3775b0d76b890556407941d3a53b6Christian MaederTEXT="#000000"
2e2094a642e3775b0d76b890556407941d3a53b6Christian MaederLINK="#0000FF"
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederVLINK="#840084"
2e2094a642e3775b0d76b890556407941d3a53b6Christian MaederALINK="#0000FF"
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder><H1
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder><A
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederNAME="AEN1"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder></A
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder>lwres_gnba</H1
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich><DIV
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederCLASS="REFNAMEDIV"
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder><A
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederNAME="AEN8"
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder></A
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder><H2
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder>Name</H2
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder>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
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder><DIV
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederCLASS="REFSYNOPSISDIV"
d4892fa7401ceef014ea59d2d900773eaf88fcbdChristian Maeder><A
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian MaederNAME="AEN16"
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder></A
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder><H2
eee4b2ee739f163e09d6af6e45c025681e6c01a0Christian Maeder>Synopsis</H2
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich><DIV
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="FUNCSYNOPSIS"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><P
55adfe57a4de1f36adc3e3bfc16f342e44a7d444Christian Maeder></P
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder><A
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederNAME="AEN17"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder></A
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder><PRE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="FUNCSYNOPSISINFO"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>#include &lt;lwres/lwres.h&gt;</PRE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder><P
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder><CODE
f13d1e86e58da53680e78043e8df182eed867efbChristian Maeder><CODE
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian MaederCLASS="FUNCDEF"
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder>lwres_result_t
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederlwres_gnbarequest_render</CODE
a2d6702f18737cc5fff8e8631c08f221f8375c4bChristian Maeder>(lwres_context_t *ctx, lwres_gnbarequest_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);</CODE
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder></P
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski><P
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich><CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><CODE
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederCLASS="FUNCDEF"
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich>lwres_result_t
8cacad2a09782249243b80985f28e9387019fe40Christian Maederlwres_gnbaresponse_render</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>(lwres_context_t *ctx, lwres_gnbaresponse_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);</CODE
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maeder></P
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder><P
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><CODE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder><CODE
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederCLASS="FUNCDEF"
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder>lwres_result_t
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederlwres_gnbarequest_parse</CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gnbarequest_t **structp);</CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder></P
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><P
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><CODE
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder><CODE
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederCLASS="FUNCDEF"
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder>lwres_result_t
c9acb8681bcc512245b4f0d1a9f2b189c60e10d4Christian Maederlwres_gnbaresponse_parse</CODE
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gnbaresponse_t **structp);</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder></P
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder><P
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder><CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="FUNCDEF"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>void
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederlwres_gnbaresponse_free</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>(lwres_context_t *ctx, lwres_gnbaresponse_t **structp);</CODE
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder></P
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><P
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><CODE
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederCLASS="FUNCDEF"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>void
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maederlwres_gnbarequest_free</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>(lwres_context_t *ctx, lwres_gnbarequest_t **structp);</CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder></P
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder><P
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder></P
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder></DIV
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder></DIV
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder><DIV
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian MaederCLASS="REFSECT1"
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><A
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederNAME="AEN61"
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder></A
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><H2
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder>DESCRIPTION</H2
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><P
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder>These are low-level routines for creating and parsing
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maederlightweight resolver address-to-name lookup request and
88318aafc287e92931dceffbb943d58a9310001dChristian Maederresponse messages.</P
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder><P
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder>There are four main functions for the getnamebyaddr opcode.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederOne render function converts a getnamebyaddr request structure &mdash;
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<SPAN
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="TYPE"
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder>lwres_gnbarequest_t</SPAN
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder> &mdash;
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maederto the lightweight resolver's canonical format.
ca074a78b8dcccbb8c419586787882f98d0c6163Christian MaederIt is complemented by a parse function that converts a packet in this
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maedercanonical format to a getnamebyaddr request structure.
4017ebc0f692820736d796af3110c3b3018c108aChristian MaederAnother render function converts the getnamebyaddr response structure &mdash;
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder<SPAN
ca074a78b8dcccbb8c419586787882f98d0c6163Christian MaederCLASS="TYPE"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>lwres_gnbaresponse_t</SPAN
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederto the canonical format.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian MaederThis is complemented by a parse function which converts a packet in
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maedercanonical format to a getnamebyaddr response structure.</P
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder><P
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>These structures are defined in
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<TT
ca074a78b8dcccbb8c419586787882f98d0c6163Christian MaederCLASS="FILENAME"
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder>lwres/lwres.h</TT
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederThey are shown below.
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder<PRE
ca074a78b8dcccbb8c419586787882f98d0c6163Christian MaederCLASS="PROGRAMLISTING"
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>#define LWRES_OPCODE_GETNAMEBYADDR 0x00010002U
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maedertypedef struct {
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder lwres_uint32_t flags;
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder lwres_addr_t addr;
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder} lwres_gnbarequest_t;
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maedertypedef struct {
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder lwres_uint32_t flags;
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich lwres_uint16_t naliases;
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich char *realname;
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich char **aliases;
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder lwres_uint16_t realnamelen;
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder lwres_uint16_t *aliaslen;
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder void *base;
c9acb8681bcc512245b4f0d1a9f2b189c60e10d4Christian Maeder size_t baselen;
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder} lwres_gnbaresponse_t;</PRE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder></P
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder><P
0c355dd0b739631ee472f9a656e266be27fa4e64Christian Maeder><CODE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCLASS="FUNCTION"
d272062059eea4d7479e1c6e8517469f02f61287Christian Maeder>lwres_gnbarequest_render()</CODE
0cfef6179a1bfec4f07f460686dd629a27b4b778Christian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederuses resolver context
83394c6b6e6de128e71b67c9251ed7a84485d082Christian Maeder<CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="VARNAME"
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder>ctx</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederto convert getnamebyaddr request structure
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder<CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederCLASS="VARNAME"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>req</CODE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>
9df11f85fd7f8c4745d64464876e84ec4e263692Christian Maederto canonical format.
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix ReckersThe packet header structure
010c56c4cf12dd7977ca36efe85219b91e265ee3Christian Maeder<CODE
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus LuettichCLASS="VARNAME"
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder>pkt</CODE
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers>
0799b5dc3f06d2640e66e9ab54b8b217348fd719Christian Maederis initialised and transferred to
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederbuffer
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<CODE
010c56c4cf12dd7977ca36efe85219b91e265ee3Christian MaederCLASS="VARNAME"
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers>b</CODE
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder>.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederThe contents of
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder<CODE
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederCLASS="VARNAME"
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>*req</CODE
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederare then appended to the buffer in canonical format.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<CODE
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederCLASS="FUNCTION"
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>lwres_gnbaresponse_render()</CODE
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederperforms the same task, except it converts a getnamebyaddr response structure
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<SPAN
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederCLASS="TYPE"
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>lwres_gnbaresponse_t</SPAN
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederto the lightweight resolver's canonical format.</P
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder><P
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder><CODE
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian MaederCLASS="FUNCTION"
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>lwres_gnbarequest_parse()</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederuses context
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder<CODE
31db599cbcd9285c3734d16279bc7d88cbc20dc6Christian MaederCLASS="VARNAME"
6fe9628743562678acf97d6730ebcfee5e9e50c2Christian Maeder>ctx</CODE
6fe9628743562678acf97d6730ebcfee5e9e50c2Christian Maeder>
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederto convert the contents of packet
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<CODE
b565cd55a13dbccc4e66c344316da525c961e4caTill MossakowskiCLASS="VARNAME"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>pkt</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederto a
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus Luettich<SPAN
fb328c4f646dd3dd78a9391c5cb58450a3dd0aa9Klaus LuettichCLASS="TYPE"
e96a0bf4040fd789339958c01f145c5057d26db6René Wagner>lwres_gnbarequest_t</SPAN
e96a0bf4040fd789339958c01f145c5057d26db6René Wagner>
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettichstructure.
abf2487c3aece95c371ea89ac64319370dcb6483Klaus LuettichBuffer
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder<CODE
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederCLASS="VARNAME"
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder>b</CODE
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers>
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maederprovides space to be used for storing this structure.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederWhen the function succeeds, the resulting
b565cd55a13dbccc4e66c344316da525c961e4caTill Mossakowski<SPAN
18a4d5cb6828f080db9c5f9551785c5151027271Christian MaederCLASS="TYPE"
18a4d5cb6828f080db9c5f9551785c5151027271Christian Maeder>lwres_gnbarequest_t</SPAN
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederis made available through
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski<CODE
43b4c41fbb07705c9df321221ab9cb9832460407Christian MaederCLASS="VARNAME"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>*structp</CODE
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder>.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder<CODE
c9acb8681bcc512245b4f0d1a9f2b189c60e10d4Christian MaederCLASS="FUNCTION"
38352346eb1a67ba0f4eab8ad6f718528cf0cde0Christian Maeder>lwres_gnbaresponse_parse()</CODE
e8896c7bb416c4ced255a4d500808c2ea5a6869aChristian Maeder>
f26489cf50364d60a14c9bf33ca2c91855ad438aChristian Maederoffers the same semantics as
e2d849b4152a234bc0afaa2ab3a7c17d28de7565Christian Maeder<CODE
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederCLASS="FUNCTION"
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>lwres_gnbarequest_parse()</CODE
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder>
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederexcept it yields a
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder<SPAN
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="TYPE"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>lwres_gnbaresponse_t</SPAN
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederstructure.</P
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><P
6bf24e5eb644064ad650eb3fd9774483fccbf601Christian Maeder><CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="FUNCTION"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>lwres_gnbaresponse_free()</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederand
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder<CODE
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian MaederCLASS="FUNCTION"
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder>lwres_gnbarequest_free()</CODE
6bf24e5eb644064ad650eb3fd9774483fccbf601Christian Maeder>
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maederrelease the memory in resolver context
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke<CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="VARNAME"
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnke>ctx</CODE
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnkethat was allocated to the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<SPAN
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCLASS="TYPE"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>lwres_gnbaresponse_t</SPAN
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder>
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederor
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<SPAN
4017ebc0f692820736d796af3110c3b3018c108aChristian MaederCLASS="TYPE"
857992065be4ed40a72c6296b6c0aec62ab4c5b9Christian Maeder>lwres_gnbarequest_t</SPAN
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski>
7c99e334446bb97120e30e967baeeddfdd1278deKlaus Luettichstructures referenced via
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder<CODE
4017ebc0f692820736d796af3110c3b3018c108aChristian MaederCLASS="VARNAME"
d8c71aacc9f1c8cd40a8ad8dcdad9be8854b849fChristian Maeder>structp</CODE
0c355dd0b739631ee472f9a656e266be27fa4e64Christian Maeder>.
b49276c9f50038e0bd499ad49f7bd6444566a834Christian MaederAny memory associated with ancillary buffers and strings for those
9e748851c150e1022fb952bab3315e869aaf0214Christian Maederstructures is also discarded.</P
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder></DIV
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian Maeder><DIV
83394c6b6e6de128e71b67c9251ed7a84485d082Christian MaederCLASS="REFSECT1"
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder><A
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian MaederNAME="AEN97"
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder></A
0c355dd0b739631ee472f9a656e266be27fa4e64Christian Maeder><H2
ed9207cf24e96b0d6f59985822054ae28cb69b2eChristian Maeder>RETURN VALUES</H2
fa21fba9ceb1ddf7b3efd54731a12ed8750191d8Christian Maeder><P
b49276c9f50038e0bd499ad49f7bd6444566a834Christian Maeder>The getnamebyaddr opcode functions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<CODE
b49276c9f50038e0bd499ad49f7bd6444566a834Christian MaederCLASS="FUNCTION"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>lwres_gnbarequest_render()</CODE
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich>,
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich<CODE
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus LuettichCLASS="FUNCTION"
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich>lwres_gnbaresponse_render()</CODE
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich>
c7ec85d1103173e089aa5048fd7afb2f9b505124Klaus Luettich<CODE
b905126bab9454b89041f92b3c50bb9efc85e427Klaus LuettichCLASS="FUNCTION"
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich>lwres_gnbarequest_parse()</CODE
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich>
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettichand
5c69cef4668bbd959d721668313a779126014d1eKlaus Luettich<CODE
b905126bab9454b89041f92b3c50bb9efc85e427Klaus LuettichCLASS="FUNCTION"
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder>lwres_gnbaresponse_parse()</CODE
08e5741dd8b6bf9b7419e89298e384e18bc57f64Christian Maeder>
53818ced114da21321063fff307aa41c1ab31dd3Achim Mahnkeall return
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<SPAN
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCLASS="ERRORCODE"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>LWRES_R_SUCCESS</SPAN
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederon success.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederThey return
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<SPAN
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederCLASS="ERRORCODE"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder>LWRES_R_NOMEMORY</SPAN
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettichif memory allocation fails.
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich<SPAN
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus LuettichCLASS="ERRORCODE"
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich>LWRES_R_UNEXPECTEDEND</SPAN
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich>
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettichis returned if the available space in the buffer
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich<CODE
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus LuettichCLASS="VARNAME"
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich>b</CODE
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettich>
c4ef79587a902327f36277c45a8d91d1e67bd6d5Klaus Luettichis too small to accommodate the packet header or the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<SPAN
b905126bab9454b89041f92b3c50bb9efc85e427Klaus LuettichCLASS="TYPE"
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich>lwres_gnbarequest_t</SPAN
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettich>
b905126bab9454b89041f92b3c50bb9efc85e427Klaus Luettichand
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<SPAN
33d042fe6a9eb27a4c48f840b80838f3e7d98e34Christian MaederCLASS="TYPE"
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>lwres_gnbaresponse_t</SPAN
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder>
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maederstructures.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<CODE
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian MaederCLASS="FUNCTION"
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder>lwres_gnbarequest_parse()</CODE
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder>
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maederand
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder<CODE
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian MaederCLASS="FUNCTION"
96646aed2ae087b942ae23f15bbe729a8f7c43d3Christian Maeder>lwres_gnbaresponse_parse()</CODE
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder>
3a7788e09dd23b364a46c9488cbd1522369113dbChristian Maederwill return
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder<SPAN
ef67402074be14deb95e4ff564737d5593144130Klaus LuettichCLASS="ERRORCODE"
dbe752ee940baae7f9f231f29c62284bb0f90a25Christian Maeder>LWRES_R_UNEXPECTEDEND</SPAN
ef67402074be14deb95e4ff564737d5593144130Klaus Luettich>
462d9dc583444aab82732e14a75610684d2dc7e9Christian Maederif the buffer is not empty after decoding the received packet.
c9e197862d9d8ef2585270dd08f5194b3aed4a9dKlaus LuettichThese functions will return
e7e1ab2ac3f1fded8611bb92ae00e8f3b8c693fbKlaus Luettich<SPAN
ef67402074be14deb95e4ff564737d5593144130Klaus LuettichCLASS="ERRORCODE"
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich>LWRES_R_FAILURE</SPAN
a80c28bb8b7a23ccdf7e08d0fe216fc19cc97273Klaus Luettich>
d784803f9c752667b4fcf7393d698002bedf3f89Klaus Luettichif
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus Luettich<CODE
1323eba62fc519b068f5aaec4f9d2be05ffabea9Klaus LuettichCLASS="STRUCTFIELD"
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder>pktflags</CODE
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian Maeder>
462d9dc583444aab82732e14a75610684d2dc7e9Christian Maederin the packet header structure
5d39c60274aaa76506292d2d9e885fccd27e1eabChristian Maeder<SPAN
5d39c60274aaa76506292d2d9e885fccd27e1eabChristian MaederCLASS="TYPE"
462d9dc583444aab82732e14a75610684d2dc7e9Christian Maeder>lwres_lwpacket_t</SPAN
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder>
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maederindicate that the packet is not a response to an earlier query.</P
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder></DIV
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder><DIV
1f8a7f8343f7df719768d2b1d7e3077ee291a1caChristian MaederCLASS="REFSECT1"
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder><A
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichNAME="AEN116"
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich></A
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><H2
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder>SEE ALSO</H2
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich><P
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder><SPAN
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederCLASS="CITEREFENTRY"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder><SPAN
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian MaederCLASS="REFENTRYTITLE"
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder>lwres_packet</SPAN
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder>(3)</SPAN
43bb71dfe7ec405f563864d57c1cacdaa8ce9a80Christian Maeder>.</P
2e2094a642e3775b0d76b890556407941d3a53b6Christian Maeder></DIV
340706b6c0c6e3dbacdd7003e20e9cab7f9aa765Christian Maeder></BODY
fdb2d618144159395f7bf8ce3327b3c112a17dd3Till Mossakowski></HTML
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder>
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder