lwres_gabn.html revision 1969ab5360417d374547a8b51c78acfa1e9202ba
11e9368a226272085c337e9e74b79808c16fbdbaTinderbox User - Copyright (C) 2001 Internet Software Consortium.
6a42ab64276ff832a47e009be1208f7c7d4da22dAutomatic Updater - Permission to use, copy, modify, and distribute this software for any
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater - purpose with or without fee is hereby granted, provided that the above
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - copyright notice and this permission notice appear in all copies.
6a42ab64276ff832a47e009be1208f7c7d4da22dAutomatic Updater - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
6a42ab64276ff832a47e009be1208f7c7d4da22dAutomatic Updater - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews<!-- $Id: lwres_gabn.html,v 1.4 2001/05/30 20:27:28 bwelling Exp $ -->
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User>lwres_gabn</TITLE
50066670817cdf9e86c832066d73715232b29680Tinderbox UserNAME="GENERATOR"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCONTENT="Modular DocBook HTML Stylesheet Version 1.61
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="REFENTRY"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsBGCOLOR="#FFFFFF"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsTEXT="#000000"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsLINK="#0000FF"
f9aef05653eeb454c489d5bd2bde6daab774ad4aTinderbox UserVLINK="#840084"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsALINK="#0000FF"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews>lwres_gabn</A
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCLASS="REFNAMEDIV"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User>lwres_gabnrequest_render, lwres_gabnresponse_render, lwres_gabnrequest_parse, lwres_gabnresponse_parse, lwres_gabnresponse_free, lwres_gabnrequest_free -- lightweight resolver getaddrbyname message handling</DIV
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCLASS="REFSYNOPSISDIV"
b27ce68bae92006e2ad7a9b75602c6385e529c3bAutomatic UpdaterCLASS="FUNCSYNOPSIS"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="FUNCSYNOPSISINFO"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="FUNCDEF"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User>lwres_result_t
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlwres_gabnrequest_render</CODE
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>(lwres_context_t *ctx, lwres_gabnrequest_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);</CODE
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox UserCLASS="FUNCDEF"
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>lwres_result_t
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlwres_gabnresponse_render</CODE
481870b95fee976541f4fe455c0ef2dbeab3ec7aTinderbox User>(lwres_context_t *ctx, lwres_gabnresponse_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);</CODE
e839bf134fb138920d4833cf05cb8b8906787a8dAutomatic UpdaterCLASS="FUNCDEF"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User>lwres_result_t
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlwres_gabnrequest_parse</CODE
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gabnrequest_t **structp);</CODE
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox UserCLASS="FUNCDEF"
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>lwres_result_t
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterlwres_gabnresponse_parse</CODE
795a316ec568b2470aab18b9481443966047652eAutomatic Updater>(lwres_context_t *ctx, lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gabnresponse_t **structp);</CODE
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox UserCLASS="FUNCDEF"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userlwres_gabnresponse_free</CODE
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>(lwres_context_t *ctx, lwres_gabnresponse_t **structp);</CODE
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCLASS="FUNCDEF"
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlwres_gabnrequest_free</CODE
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User>(lwres_context_t *ctx, lwres_gabnrequest_t **structp);</CODE
ca67ebfe9eef0b8f04179f7e511a19e0337a5422Automatic UpdaterCLASS="REFSECT1"
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>DESCRIPTION</H2
481870b95fee976541f4fe455c0ef2dbeab3ec7aTinderbox User>These are low-level routines for creating and parsing
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userlightweight resolver name-to-address lookup request and
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsresponse messages.</P
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>There are four main functions for the getaddrbyname opcode.
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox UserOne render function converts a getaddrbyname request structure —
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User>lwres_gabnrequest_t</SPAN
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userto the lighweight resolver's canonical format.
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox UserIt is complemented by a parse function that converts a packet in this
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatercanonical format to a getaddrbyname request structure.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserAnother render function converts the getaddrbyname response structure —
6f1205897504b8f50b1785975482c995888dd630Tinderbox User>lwres_gabnresponse_t</SPAN
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox Userto the canonical format.
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox UserThis is complemented by a parse function which converts a packet in
6f1205897504b8f50b1785975482c995888dd630Tinderbox Usercanonical format to a getaddrbyname response structure.</P
e62b9c9ce6413fb183c8116381e75dcd07ca5517Tinderbox User>These structures are defined in
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="FILENAME"
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserThey are shown below.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="PROGRAMLISTING"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews>#define LWRES_OPCODE_GETADDRSBYNAME 0x00010001U
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewstypedef struct lwres_addr lwres_addr_t;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usertypedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usertypedef struct {
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews lwres_uint32_t flags;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews lwres_uint32_t addrtypes;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User lwres_uint16_t namelen;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User} lwres_gabnrequest_t;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Usertypedef struct {
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User lwres_uint32_t flags;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews lwres_uint16_t naliases;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews lwres_uint16_t naddrs;
b27ce68bae92006e2ad7a9b75602c6385e529c3bAutomatic Updater char *realname;
922312472e2e05ebc64993d465999c5351b83036Automatic Updater char **aliases;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews lwres_uint16_t realnamelen;
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User lwres_uint16_t *aliaslen;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews lwres_addrlist_t addrs;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews size_t baselen;
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews} lwres_gabnresponse_t;</PRE
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCLASS="FUNCTION"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews>lwres_gabnrequest_render()</TT
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Useruses resolver context
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCLASS="PARAMETER"
163af735c2082a024167be111d27bd5b5ff4f462Automatic Updaterto convert getaddrbyname request structure
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="PARAMETER"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsto canonical format.
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsThe packet header structure
f9aef05653eeb454c489d5bd2bde6daab774ad4aTinderbox UserCLASS="PARAMETER"
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrewsis initialised and transferred to
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark AndrewsCLASS="PARAMETER"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntThe contents of
922312472e2e05ebc64993d465999c5351b83036Automatic UpdaterCLASS="PARAMETER"