From aa0f5b38aec14428b4b80e06f90ff781f8bca5f1 Mon Sep 17 00:00:00 2001 From: Rene Mayrhofer Date: Mon, 22 May 2006 05:12:18 +0000 Subject: Import initial strongswan 2.7.0 version into SVN. --- lib/liblwres/man/lwres_gnba.html | 408 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 408 insertions(+) create mode 100644 lib/liblwres/man/lwres_gnba.html (limited to 'lib/liblwres/man/lwres_gnba.html') diff --git a/lib/liblwres/man/lwres_gnba.html b/lib/liblwres/man/lwres_gnba.html new file mode 100644 index 000000000..98cc04dd6 --- /dev/null +++ b/lib/liblwres/man/lwres_gnba.html @@ -0,0 +1,408 @@ + +lwres_gnba

lwres_gnba

Name

lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_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_gnbarequest_t — +to the lightweight resolver's canonical format. +It is complemented 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_uint16_t  naliases;
+        char           *realname;
+        char          **aliases;
+        lwres_uint16_t  realnamelen;
+        lwres_uint16_t *aliaslen;
+        void           *base;
+        size_t          baselen;
+} lwres_gnbaresponse_t;

lwres_gnbarequest_render() +uses resolver context +ctx +to convert getnamebyaddr 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 lightweight 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_gnbarequest_parse() +except it yields a +lwres_gnbaresponse_t +structure.

lwres_gnbaresponse_free() +and +lwres_gnbarequest_free() +release the memory in resolver context +ctx +that was allocated to the +lwres_gnbaresponse_t +or +lwres_gnbarequest_t +structures referenced via +structp. +Any memory associated with ancillary buffers and strings for those +structures is also discarded.

RETURN VALUES

The getnamebyaddr opcode functions +lwres_gnbarequest_render(), +lwres_gnbaresponse_render() +lwres_gnbarequest_parse() +and +lwres_gnbaresponse_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_gnbarequest_t +and +lwres_gnbaresponse_t +structures. +lwres_gnbarequest_parse() +and +lwres_gnbaresponse_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).

\ No newline at end of file -- cgit v1.2.3