From ea648e70a989cca190cd7403fe892fd2dcc290b4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 20:37:14 +0200 Subject: Adding upstream version 1:9.11.5.P4+dfsg. Signed-off-by: Daniel Baumann --- lib/lwres/man/lwres_packet.html | 264 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 lib/lwres/man/lwres_packet.html (limited to 'lib/lwres/man/lwres_packet.html') diff --git a/lib/lwres/man/lwres_packet.html b/lib/lwres/man/lwres_packet.html new file mode 100644 index 0000000..38281c3 --- /dev/null +++ b/lib/lwres/man/lwres_packet.html @@ -0,0 +1,264 @@ + + + + + +lwres_packet + + +
+
+ + + + + + + +
+

Name

+

+ lwres_lwpacket_renderheader, + lwres_lwpacket_parseheader + — lightweight resolver packet handling functions +

+
+
+

Synopsis

+
+
#include <lwres/lwpacket.h>
+ + + + + + + + + +
+lwres_result_t +lwres_lwpacket_renderheader(lwres_buffer_t *b,
 lwres_lwpacket_t *pkt);
+
 
+ + + + + + + + + +
+lwres_result_t +lwres_lwpacket_parseheader(lwres_buffer_t *b,
 lwres_lwpacket_t *pkt);
+
 
+
+
+
+

DESCRIPTION

+ +

+ These functions rely on a + struct lwres_lwpacket + which is defined in + lwres/lwpacket.h. +

+ +
+typedef struct lwres_lwpacket lwres_lwpacket_t;
+      
+

+

+
+struct lwres_lwpacket {
+        uint32_t          length;
+        uint16_t          version;
+        uint16_t          pktflags;
+        uint32_t          serial;
+        uint32_t          opcode;
+        uint32_t          result;
+        uint32_t          recvlength;
+        uint16_t          authtype;
+        uint16_t          authlength;
+};
+
+

+

+ +

+ The elements of this structure are: +

+
+
length
+
+

+ the overall packet length, including the entire packet header. + This field is filled in by the lwres_gabn_*() and lwres_gnba_*() + calls. +

+
+
version
+
+

+ the header format. There is currently only one format, + LWRES_LWPACKETVERSION_0. + + This field is filled in by the lwres_gabn_*() and lwres_gnba_*() + calls. +

+
+
pktflags
+
+

+ library-defined flags for this packet: for instance whether the + packet + is a request or a reply. Flag values can be set, but not defined + by + the caller. + This field is filled in by the application wit the exception of + the + LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in + the + lwres_gabn_*() and lwres_gnba_*() calls. +

+
+
serial
+
+

+ is set by the requestor and is returned in all replies. If two + or more + packets from the same source have the same serial number and are + from + the same source, they are assumed to be duplicates and the + latter ones + may be dropped. + This field must be set by the application. +

+
+
opcode
+
+

+ indicates the operation. + Opcodes between 0x00000000 and 0x03ffffff are + reserved for use by the lightweight resolver library. Opcodes + between + 0x04000000 and 0xffffffff are application defined. + This field is filled in by the lwres_gabn_*() and lwres_gnba_*() + calls. +

+
+
result
+
+

+ is only valid for replies. + Results between 0x04000000 and 0xffffffff are application + defined. + Results between 0x00000000 and 0x03ffffff are reserved for + library use. + This field is filled in by the lwres_gabn_*() and lwres_gnba_*() + calls. +

+
+
recvlength
+
+

+ is the maximum buffer size that the receiver can handle on + requests + and the size of the buffer needed to satisfy a request when the + buffer + is too large for replies. + This field is supplied by the application. +

+
+
authtype
+
+

+ defines the packet level authentication that is used. + Authorisation types between 0x1000 and 0xffff are application + defined + and types between 0x0000 and 0x0fff are reserved for library + use. + Currently these are not used and must be zero. +

+
+
authlen
+
+

+ gives the length of the authentication data. + Since packet authentication is currently not used, this must be + zero. +

+
+
+

+

+

+ The following opcodes are currently defined: +

+
+
NOOP
+
+

+ Success is always returned and the packet contents are echoed. + The lwres_noop_*() functions should be used for this type. +

+
+
GETADDRSBYNAME
+
+

+ returns all known addresses for a given name. + The lwres_gabn_*() functions should be used for this type. +

+
+
GETNAMEBYADDR
+
+

+ return the hostname for the given address. + The lwres_gnba_*() functions should be used for this type. +

+
+
+

+

+ +

lwres_lwpacket_renderheader() + transfers the contents of lightweight resolver packet structure + lwres_lwpacket_t *pkt in + network byte order to the lightweight resolver buffer, + *b. +

+ +

lwres_lwpacket_parseheader() + performs the converse operation. It transfers data in network + byte order from buffer *b to resolver + packet *pkt. The contents of the buffer + b should correspond to a + lwres_lwpacket_t. +

+ +
+ +
+

RETURN VALUES

+ +

+ Successful calls to + lwres_lwpacket_renderheader() and + lwres_lwpacket_parseheader() return + LWRES_R_SUCCESS. If there is insufficient + space to copy data between the buffer *b and + lightweight resolver packet *pkt both + functions + return LWRES_R_UNEXPECTEDEND. +

+ +
+
+ -- cgit v1.2.3