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_nooprequest_render(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