lwres_nooprequest_free man page on GhostBSD
Printed from http://www.polarhome.com/service/man/?qf=lwres_nooprequest_free&af=0&tf=2&of=GhostBSD
LWRES_NOOP(3) BIND9 LWRES_NOOP(3)
NAME
lwres_nooprequest_render, lwres_noopresponse_render,
lwres_nooprequest_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 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
structure.
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
structp.
RETURN VALUES
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.
SEE ALSO
lwres_packet(3)
COPYRIGHT
Copyright © 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
Copyright © 2000, 2001 Internet Software Consortium.
BIND9 Jun 30, 2000 LWRES_NOOP(3)
[top]
List of man pages available for GhostBSD
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
|