lwres_nooprequest_render man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]


       lwres_nooprequest_render, lwres_noopresponse_render,
       lwres_nooprequest_parse, lwres_noopresponse_parse,
       lwres_noopresponse_free, lwres_nooprequest_free - lightweight resolver
       no-op message handling

       #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);

       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 function
       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;

	   typedef struct {
		   lwres_uint16_t  datalength;
		   unsigned char   *data;
	   } lwres_noopresponse_t;

       Although the structures have different types, they are identical. This
       is because the no-op opcode simply echos whatever data was sent: the
       response is therefore identical to the request.

       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_noopresponse_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_nooprequest_parse() except it yields a lwres_noopresponse_t

       lwres_noopresponse_free() and lwres_nooprequest_free() release the
       memory in resolver context ctx that was allocated to the
       lwres_noopresponse_t or lwres_nooprequest_t structures referenced via

       The no-op opcode functions lwres_nooprequest_render(),
       lwres_noopresponse_render() lwres_nooprequest_parse() and
       lwres_noopresponse_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 accommodate the packet header or the
       lwres_nooprequest_t and lwres_noopresponse_t structures.
       lwres_nooprequest_parse() and lwres_noopresponse_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 earlier query.


       Copyright © 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
       Copyright © 2000, 2001 Internet Software Consortium.

BIND9				 Jun 30, 2000			 LWRES_NOOP(3)

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net