IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 


lwres_gnbaresponse_render(3)

NAME

       lwres_gnbarequest_render,    lwres_gnbaresponse_render,	 lwres_gnbare-
       quest_parse,	lwres_gnbaresponse_parse,     lwres_gnbaresponse_free,
       lwres_gnbarequest_free  - lightweight resolver getnamebyaddress message
       handling


SYNOPSIS

       #include <lwres/lwres.h>

       lwres_result_t lwres_gnbarequest_render(lwres_context_t *ctx,
       lwres_gnbarequest_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);

       lwres_result_t lwres_gnbaresponse_render(lwres_context_t *ctx,
       lwres_gnbaresponse_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);

       lwres_result_t lwres_gnbarequest_parse(lwres_context_t *ctx,
       lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gnbarequest_t
       **structp);

       lwres_result_t lwres_gnbaresponse_parse(lwres_context_t *ctx,
       lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_gnbaresponse_t
       **structp);

       void lwres_gnbaresponse_free(lwres_context_t *ctx, lwres_gnbaresponse_t
       **structp);

       void lwres_gnbarequest_free(lwres_context_t *ctx, lwres_gnbarequest_t
       **structp);


DESCRIPTION

       These are low-level  routines  for  creating  and  parsing  lightweight
       resolver address-to-name lookup request and response messages.

       There are four main functions for the getnamebyaddr opcode.  One render
       function converts a getnamebyaddr request  structure  --  lwres_gnbare-
       quest_t	-- to the lightweight resolver's canonical format.  It is com-
       plemented by a parse function that converts a packet in this  canonical
       format  to  a getnamebyaddr request structure.  Another render function
       converts the getnamebyaddr response structure  --  lwres_gnbaresponse_t
       to  the	canonical  format.   This  is complemented by a parse function
       which converts a packet in canonical format to a getnamebyaddr response
       structure.

       These structures are defined in lwres/lwres.h.  They are shown below.

       #define LWRES_OPCODE_GETNAMEBYADDR      0x00010002U

       typedef struct {
	       lwres_uint32_t  flags;
	       lwres_addr_t    addr;
       } lwres_gnbarequest_t;

       typedef struct {
	       lwres_uint32_t  flags;

       lwres_gnbarequest_render()  uses  resolver  context ctx to convert get-
       namebyaddr request structure  req  to  canonical  format.   The	packet
       header  structure  pkt is initialised and transferred to buffer b.  The
       contents of *req are then appended to the buffer in  canonical  format.
       lwres_gnbaresponse_render()  performs the same task, except it converts
       a getnamebyaddr response structure lwres_gnbaresponse_t to  the	light-
       weight resolver's canonical format.

       lwres_gnbarequest_parse()  uses	context ctx to convert the contents of
       packet pkt to a lwres_gnbarequest_t structure.  Buffer b provides space
       to be used for storing this structure.  When the function succeeds, the
       resulting  lwres_gnbarequest_t  is  made  available  through  *structp.
       lwres_gnbaresponse_parse()  offers  the same semantics as lwres_gnbare-
       quest_parse() except it yields a lwres_gnbaresponse_t structure.

       lwres_gnbaresponse_free() and lwres_gnbarequest_free() release the mem-
       ory  in	resolver  context  ctx that was allocated to the lwres_gnbare-
       sponse_t or lwres_gnbarequest_t structures referenced via structp.  Any
       memory  associated  with ancillary buffers and strings for those struc-
       tures is also discarded.


RETURN VALUES

       The   getnamebyaddr   opcode   functions    lwres_gnbarequest_render(),
       lwres_gnbaresponse_render() lwres_gnbarequest_parse() and lwres_gnbare-
       sponse_parse() all return  LWRES_R_SUCCESS  on  success.   They	return
       LWRES_R_NOMEMORY  if memory allocation fails.  LWRES_R_UNEXPECTEDEND is
       returned if the available space in the buffer b is too small to	accom-
       modate  the  packet header or the lwres_gnbarequest_t and lwres_gnbare-
       sponse_t  structures.   lwres_gnbarequest_parse()   and	 lwres_gnbare-
       sponse_parse()  will  return LWRES_R_UNEXPECTEDEND if the buffer is not
       empty after decoding the received packet.  These functions will	return
       LWRES_R_FAILURE	 if   pktflags	 in   the   packet   header  structure
       lwres_lwpacket_t indicate that the packet is not a response to an  ear-
       lier query.


SEE ALSO

       lwres_packet(3).

BIND9				 Jun 30, 2000			 LWRES_GNBA(3)

SPONSORED LINKS




Man(1) output converted with man2html , sed , awk