lwres_noopresponse_parse(3)
NAME
       lwres_nooprequest_render,    lwres_noopresponse_render,	 lwres_noopre-
       quest_parse,	lwres_noopresponse_parse,     lwres_noopresponse_free,
       lwres_nooprequest_free - lightweight resolver no-op message handling
SYNOPSIS
       #include <lwres/lwres.h>
       lwres_result_t lwres_nooprequest_render(lwres_context_t *ctx,
       lwres_nooprequest_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);
       lwres_result_t lwres_noopresponse_render(lwres_context_t *ctx,
       lwres_noopresponse_t *req, lwres_lwpacket_t *pkt, lwres_buffer_t *b);
       lwres_result_t lwres_nooprequest_parse(lwres_context_t *ctx,
       lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_nooprequest_t
       **structp);
       lwres_result_t lwres_noopresponse_parse(lwres_context_t *ctx,
       lwres_buffer_t *b, lwres_lwpacket_t *pkt, lwres_noopresponse_t
       **structp);
       void lwres_noopresponse_free(lwres_context_t *ctx, lwres_noopresponse_t
       **structp);
       void lwres_nooprequest_free(lwres_context_t *ctx, lwres_nooprequest_t
       **structp);
DESCRIPTION
       These  are  low-level  routines	for  creating  and parsing lightweight
       resolver no-op request and response messages.
       The no-op message is analogous to a ping packet: a packet  is  sent  to
       the  resolver daemon and is simply echoed back.	The opcode is intended
       to allow a client to determine if the server is operational or not.
       There are four main functions for the no-op opcode.  One  render  func-
       tion  converts  a  no-op request structure -- lwres_nooprequest_t -- to
       the lighweight resolver's canonical format.  It is  complemented  by  a
       parse function that converts a packet in this canonical format to a no-
       op request structure.   Another	render	function  converts  the  no-op
       response  structure  --	lwres_noopresponse_t  to the canonical format.
       This is complemented by a parse function which  converts  a  packet  in
       canonical format to a no-op response structure.
       These structures are defined in lwres/lwres.h.  They are shown below.
       #define LWRES_OPCODE_NOOP       0x00000000U
       typedef struct {
	       lwres_uint16_t  datalength;
	       unsigned char   *data;
       } lwres_nooprequest_t;
       lwres_nooprequest_render()  uses  resolver context ctx to convert no-op
       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_noopre-
       sponse_render()	performs  the  same  task,  except it converts a no-op
       response structure lwres_noopresponse_t to the  lightweight  resolver's
       canonical format.
       lwres_nooprequest_parse()  uses	context ctx to convert the contents of
       packet pkt to a lwres_nooprequest_t structure. Buffer b provides  space
       to  be used for storing this structure. When the function succeeds, the
       resulting  lwres_nooprequest_t  is  made  available  through  *structp.
       lwres_noopresponse_parse()  offers  the same semantics as lwres_noopre-
       quest_parse() except it yields a lwres_noopresponse_t structure.
       lwres_noopresponse_free() and lwres_nooprequest_free() release the mem-
       ory  in	resolver  context  ctx that was allocated to the lwres_noopre-
       sponse_t or lwres_nooprequest_t structures referenced via structp.
RETURN VALUES
       The no-op opcode  functions  lwres_nooprequest_render(),  lwres_noopre-
       sponse_render()	   lwres_nooprequest_parse()	 and	 lwres_noopre-
       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_nooprequest_t and lwres_noopre-
       sponse_t  structures.   lwres_nooprequest_parse()   and	 lwres_noopre-
       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_NOOP(3)
SPONSORED LINKS
Man(1) output converted with man2html , sed , awk
 FreeBSD Man Pages