regen
This commit is contained in:
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres.html,v 1.4.2.1.4.1 2004/03/06 08:15:37 marka Exp $ -->
|
||||
<!-- $Id: lwres.html,v 1.4.2.1.4.2 2004/08/22 23:39:02 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres</A
|
||||
></H1
|
||||
></A
|
||||
>lwres</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN11"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN12"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -98,41 +98,41 @@ NAME="AEN18"
|
||||
><P
|
||||
>The lwresd library implements multiple name service APIs.
|
||||
The standard
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>gethostbyname()</TT
|
||||
>gethostbyname()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>gethostbyaddr()</TT
|
||||
>gethostbyaddr()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>gethostbyname_r()</TT
|
||||
>gethostbyname_r()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>gethostbyaddr_r()</TT
|
||||
>gethostbyaddr_r()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>getaddrinfo()</TT
|
||||
>getaddrinfo()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>getipnodebyname()</TT
|
||||
>getipnodebyname()</CODE
|
||||
>,
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>getipnodebyaddr()</TT
|
||||
>getipnodebyaddr()</CODE
|
||||
>
|
||||
functions are all supported. To allow the lwres library to coexist
|
||||
with system libraries that define functions of the same name,
|
||||
the library defines these functions with names prefixed by
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="LITERAL"
|
||||
>lwres_</TT
|
||||
>lwres_</VAR
|
||||
>.
|
||||
To define the standard names, applications must include the
|
||||
header file
|
||||
@@ -142,23 +142,23 @@ CLASS="FILENAME"
|
||||
>
|
||||
which contains macro definitions mapping the standard function names
|
||||
into
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="LITERAL"
|
||||
>lwres_</TT
|
||||
>lwres_</VAR
|
||||
>
|
||||
prefixed ones. Operating system vendors who integrate the lwres
|
||||
library into their base distributions should rename the functions
|
||||
in the library proper so that the renaming macros are not needed.</P
|
||||
><P
|
||||
>The library also provides a native API consisting of the functions
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrsbyname()</TT
|
||||
>lwres_getaddrsbyname()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnamebyaddr()</TT
|
||||
>lwres_getnamebyaddr()</CODE
|
||||
>.
|
||||
These may be called by applications that require more detailed
|
||||
control over the lookup process than the standard functions
|
||||
@@ -167,9 +167,9 @@ provide.</P
|
||||
>In addition to these name service independent address lookup
|
||||
functions, the library implements a new, experimental API
|
||||
for looking up arbitrary DNS resource records, using the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrsbyname()</TT
|
||||
>lwres_getaddrsbyname()</CODE
|
||||
>
|
||||
function.</P
|
||||
><P
|
||||
@@ -201,66 +201,58 @@ sequence of actions.</P
|
||||
CLASS="TYPE"
|
||||
>lwres_packet_t</SPAN
|
||||
>,
|
||||
called <TT
|
||||
called <VAR
|
||||
CLASS="VARNAME"
|
||||
>pkt</TT
|
||||
>pkt</VAR
|
||||
> below.</P
|
||||
><P
|
||||
>(2) Set <TT
|
||||
>(2) Set <CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.recvlength</I
|
||||
></TT
|
||||
>pkt.recvlength</CODE
|
||||
> to the maximum length we will accept.
|
||||
This is done so the receiver of our packets knows how large our receive
|
||||
buffer is. The "default" is a constant in
|
||||
<TT
|
||||
CLASS="FILENAME"
|
||||
>lwres.h</TT
|
||||
>: <TT
|
||||
>: <CODE
|
||||
CLASS="CONSTANT"
|
||||
>LWRES_RECVLENGTH = 4096</TT
|
||||
>LWRES_RECVLENGTH = 4096</CODE
|
||||
>.</P
|
||||
><P
|
||||
>(3) Set <TT
|
||||
>(3) Set <CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.serial</I
|
||||
></TT
|
||||
>pkt.serial</CODE
|
||||
>
|
||||
to a unique serial number. This value is echoed
|
||||
back to the application by the remote server.</P
|
||||
><P
|
||||
>(4) Set <TT
|
||||
>(4) Set <CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.pktflags</I
|
||||
></TT
|
||||
>pkt.pktflags</CODE
|
||||
>. Usually this is set to 0.</P
|
||||
><P
|
||||
>(5) Set <TT
|
||||
>(5) Set <CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.result</I
|
||||
></TT
|
||||
>pkt.result</CODE
|
||||
> to 0.</P
|
||||
><P
|
||||
>(6) Call <TT
|
||||
>(6) Call <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_*request_render()</TT
|
||||
>lwres_*request_render()</CODE
|
||||
>,
|
||||
or marshall in the data using the primitives
|
||||
such as <TT
|
||||
such as <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_packet_render()</TT
|
||||
>lwres_packet_render()</CODE
|
||||
>
|
||||
and storing the packet data.</P
|
||||
><P
|
||||
>(7) Transmit the resulting buffer.</P
|
||||
><P
|
||||
>(8) Call <TT
|
||||
>(8) Call <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_*response_parse()</TT
|
||||
>lwres_*response_parse()</CODE
|
||||
>
|
||||
to parse any packets received.</P
|
||||
><P
|
||||
@@ -283,27 +275,27 @@ following is typically involved in processing each request packet.</P
|
||||
CLASS="TYPE"
|
||||
>lwres_packet_t</SPAN
|
||||
> is used
|
||||
in both the <TT
|
||||
in both the <CODE
|
||||
CLASS="FUNCTION"
|
||||
>_parse()</TT
|
||||
> and <TT
|
||||
>_parse()</CODE
|
||||
> and <CODE
|
||||
CLASS="FUNCTION"
|
||||
>_render()</TT
|
||||
>_render()</CODE
|
||||
> calls,
|
||||
with only a few modifications made
|
||||
to the packet header's contents between uses. This method is recommended
|
||||
as it keeps the serial, opcode, and other fields correct.</P
|
||||
><P
|
||||
>(1) When a packet is received, call <TT
|
||||
>(1) When a packet is received, call <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_*request_parse()</TT
|
||||
>lwres_*request_parse()</CODE
|
||||
> to
|
||||
unmarshall it. This returns a <SPAN
|
||||
CLASS="TYPE"
|
||||
>lwres_packet_t</SPAN
|
||||
> (also called <TT
|
||||
> (also called <VAR
|
||||
CLASS="VARNAME"
|
||||
>pkt</TT
|
||||
>pkt</VAR
|
||||
>, below)
|
||||
as well as a data specific type, such as <SPAN
|
||||
CLASS="TYPE"
|
||||
@@ -312,42 +304,36 @@ CLASS="TYPE"
|
||||
><P
|
||||
>(2) Process the request in the data specific type.</P
|
||||
><P
|
||||
>(3) Set the <TT
|
||||
>(3) Set the <CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.result</I
|
||||
></TT
|
||||
>pkt.result</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.recvlength</I
|
||||
></TT
|
||||
>pkt.recvlength</CODE
|
||||
> as above. All other fields can
|
||||
be left untouched since they were filled in by the <TT
|
||||
be left untouched since they were filled in by the <CODE
|
||||
CLASS="FUNCTION"
|
||||
>*_parse()</TT
|
||||
>*_parse()</CODE
|
||||
> call
|
||||
above. If using <TT
|
||||
above. If using <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_*response_render()</TT
|
||||
>lwres_*response_render()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pkt.pktflags</I
|
||||
></TT
|
||||
>pkt.pktflags</CODE
|
||||
> will be set up
|
||||
properly. Otherwise, the <TT
|
||||
properly. Otherwise, the <CODE
|
||||
CLASS="CONSTANT"
|
||||
>LWRES_LWPACKETFLAG_RESPONSE</TT
|
||||
>LWRES_LWPACKETFLAG_RESPONSE</CODE
|
||||
> bit should be
|
||||
set.</P
|
||||
><P
|
||||
>(4) Call the data specific rendering function, such as
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_render()</TT
|
||||
>lwres_gabnresponse_render()</CODE
|
||||
>.</P
|
||||
><P
|
||||
>(5) Send the resulting packet to the client.</P
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_buffer.html,v 1.4.2.1.4.1 2004/03/06 08:15:37 marka Exp $ -->
|
||||
<!-- $Id: lwres_buffer.html,v 1.4.2.1.4.2 2004/08/22 23:39:03 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_buffer</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_buffer</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_buffer</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN26"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN27"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwbuffer.h></PRE
|
||||
@@ -205,9 +205,9 @@ NAME="AEN106"
|
||||
>These functions provide bounds checked access to a region of memory
|
||||
where data is being read or written.
|
||||
They are based on, and similar to, the
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="LITERAL"
|
||||
>isc_buffer_</TT
|
||||
>isc_buffer_</VAR
|
||||
>
|
||||
functions in the ISC library.</P
|
||||
><P
|
||||
@@ -308,323 +308,267 @@ CLASS="PROGRAMLISTING"
|
||||
b-c == optional active region.</PRE
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_init()</TT
|
||||
>lwres_buffer_init()</CODE
|
||||
>
|
||||
initializes the
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>lwres_buffer_t</SPAN
|
||||
>
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>
|
||||
and assocates it with the memory region of size
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>length</I
|
||||
></TT
|
||||
>length</VAR
|
||||
>
|
||||
bytes starting at location
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>base.</I
|
||||
></TT
|
||||
>base.</VAR
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_invalidate()</TT
|
||||
>lwres_buffer_invalidate()</CODE
|
||||
>
|
||||
marks the buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>
|
||||
as invalid. Invalidating a buffer after use is not required,
|
||||
but makes it possible to catch its possible accidental use.</P
|
||||
><P
|
||||
>The functions
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_add()</TT
|
||||
>lwres_buffer_add()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_subtract()</TT
|
||||
>lwres_buffer_subtract()</CODE
|
||||
>
|
||||
respectively increase and decrease the used space in
|
||||
buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>
|
||||
by
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>n</I
|
||||
></TT
|
||||
>n</VAR
|
||||
>
|
||||
bytes.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_add()</TT
|
||||
>lwres_buffer_add()</CODE
|
||||
>
|
||||
checks for buffer overflow and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_subtract()</TT
|
||||
>lwres_buffer_subtract()</CODE
|
||||
>
|
||||
checks for underflow.
|
||||
These functions do not allocate or deallocate memory.
|
||||
They just change the value of
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>used</I
|
||||
></TT
|
||||
>used</CODE
|
||||
>.</P
|
||||
><P
|
||||
>A buffer is re-initialised by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_clear()</TT
|
||||
>lwres_buffer_clear()</CODE
|
||||
>.
|
||||
The function sets
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>used</I
|
||||
></TT
|
||||
>used</CODE
|
||||
> ,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>current</I
|
||||
></TT
|
||||
>current</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>active</I
|
||||
></TT
|
||||
>active</CODE
|
||||
>
|
||||
to zero.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_first</TT
|
||||
>lwres_buffer_first</CODE
|
||||
>
|
||||
makes the consumed region of buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*p</I
|
||||
></TT
|
||||
>*p</VAR
|
||||
>
|
||||
empty by setting
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>current</I
|
||||
></TT
|
||||
>current</CODE
|
||||
>
|
||||
to zero (the start of the buffer).</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_forward()</TT
|
||||
>lwres_buffer_forward()</CODE
|
||||
>
|
||||
increases the consumed region of buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>
|
||||
by
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>n</I
|
||||
></TT
|
||||
>n</VAR
|
||||
>
|
||||
bytes, checking for overflow.
|
||||
Similarly,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_back()</TT
|
||||
>lwres_buffer_back()</CODE
|
||||
>
|
||||
decreases buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>'s
|
||||
consumed region by
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>n</I
|
||||
></TT
|
||||
>n</VAR
|
||||
>
|
||||
bytes and checks for underflow.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_getuint8()</TT
|
||||
>lwres_buffer_getuint8()</CODE
|
||||
>
|
||||
reads an unsigned 8-bit integer from
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>
|
||||
and returns it.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_putuint8()</TT
|
||||
>lwres_buffer_putuint8()</CODE
|
||||
>
|
||||
writes the unsigned 8-bit integer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>val</I
|
||||
></TT
|
||||
>val</VAR
|
||||
>
|
||||
to buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_getuint16()</TT
|
||||
>lwres_buffer_getuint16()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_getuint32()</TT
|
||||
>lwres_buffer_getuint32()</CODE
|
||||
>
|
||||
are identical to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_putuint8()</TT
|
||||
>lwres_buffer_putuint8()</CODE
|
||||
>
|
||||
except that they respectively read an unsigned 16-bit or 32-bit integer
|
||||
in network byte order from
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>.
|
||||
Similarly,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_putuint16()</TT
|
||||
>lwres_buffer_putuint16()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_putuint32()</TT
|
||||
>lwres_buffer_putuint32()</CODE
|
||||
>
|
||||
writes the unsigned 16-bit or 32-bit integer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>val</I
|
||||
></TT
|
||||
>val</VAR
|
||||
>
|
||||
to buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>,
|
||||
in network byte order.</P
|
||||
><P
|
||||
>Arbitrary amounts of data are read or written from a lightweight
|
||||
resolver buffer with
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_getmem()</TT
|
||||
>lwres_buffer_getmem()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_putmem()</TT
|
||||
>lwres_buffer_putmem()</CODE
|
||||
>
|
||||
respectively.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_putmem()</TT
|
||||
>lwres_buffer_putmem()</CODE
|
||||
>
|
||||
copies
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>length</I
|
||||
></TT
|
||||
>length</VAR
|
||||
>
|
||||
bytes of memory at
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>base</I
|
||||
></TT
|
||||
>base</VAR
|
||||
>
|
||||
to
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>.
|
||||
Conversely,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_buffer_getmem()</TT
|
||||
>lwres_buffer_getmem()</CODE
|
||||
>
|
||||
copies
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>length</I
|
||||
></TT
|
||||
>length</VAR
|
||||
>
|
||||
bytes of memory from
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>
|
||||
to
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>base</I
|
||||
></TT
|
||||
>base</VAR
|
||||
>.</P
|
||||
></DIV
|
||||
></BODY
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_config.html,v 1.4.2.1.4.1 2004/03/06 08:15:38 marka Exp $ -->
|
||||
<!-- $Id: lwres_config.html,v 1.4.2.1.4.2 2004/08/22 23:39:03 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_config</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_config</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_config</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN15"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN16"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -114,9 +114,9 @@ NAME="AEN40"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_conf_init()</TT
|
||||
>lwres_conf_init()</CODE
|
||||
>
|
||||
creates an empty
|
||||
<SPAN
|
||||
@@ -124,16 +124,14 @@ CLASS="TYPE"
|
||||
>lwres_conf_t</SPAN
|
||||
>
|
||||
structure for lightweight resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_conf_clear()</TT
|
||||
>lwres_conf_clear()</CODE
|
||||
>
|
||||
frees up all the internal memory used by
|
||||
that
|
||||
@@ -142,30 +140,24 @@ CLASS="TYPE"
|
||||
>lwres_conf_t</SPAN
|
||||
>
|
||||
structure in resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_conf_parse()</TT
|
||||
>lwres_conf_parse()</CODE
|
||||
>
|
||||
opens the file
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>filename</I
|
||||
></TT
|
||||
>filename</VAR
|
||||
>
|
||||
and parses it to initialise the resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>'s
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
@@ -173,9 +165,9 @@ CLASS="TYPE"
|
||||
>
|
||||
structure.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_conf_print()</TT
|
||||
>lwres_conf_print()</CODE
|
||||
>
|
||||
prints the
|
||||
<SPAN
|
||||
@@ -183,22 +175,18 @@ CLASS="TYPE"
|
||||
>lwres_conf_t</SPAN
|
||||
>
|
||||
structure for resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>
|
||||
to the
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>FILE</SPAN
|
||||
>
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>fp</I
|
||||
></TT
|
||||
>fp</VAR
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
@@ -209,9 +197,9 @@ NAME="AEN61"
|
||||
><H2
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_conf_parse()</TT
|
||||
>lwres_conf_parse()</CODE
|
||||
>
|
||||
returns
|
||||
<SPAN
|
||||
@@ -219,11 +207,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_SUCCESS</SPAN
|
||||
>
|
||||
if it successfully read and parsed
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>filename</I
|
||||
></TT
|
||||
>filename</VAR
|
||||
>.
|
||||
It returns
|
||||
<SPAN
|
||||
@@ -231,18 +217,16 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_FAILURE</SPAN
|
||||
>
|
||||
if
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>filename</I
|
||||
></TT
|
||||
>filename</VAR
|
||||
>
|
||||
could not be opened or contained incorrect
|
||||
resolver statements.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_conf_print()</TT
|
||||
>lwres_conf_print()</CODE
|
||||
>
|
||||
returns
|
||||
<SPAN
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_context.html,v 1.5.2.2.2.2 2004/03/08 09:05:12 marka Exp $ -->
|
||||
<!-- $Id: lwres_context.html,v 1.5.2.2.2.3 2004/08/22 23:39:03 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_context</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_context</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_context</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN17"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN18"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -130,9 +130,9 @@ NAME="AEN60"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_create()</TT
|
||||
>lwres_context_create()</CODE
|
||||
>
|
||||
creates a
|
||||
<SPAN
|
||||
@@ -148,11 +148,9 @@ CLASS="TYPE"
|
||||
>lwres_context_t</SPAN
|
||||
>
|
||||
is returned through
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>contextp</I
|
||||
></TT
|
||||
>contextp</VAR
|
||||
>,
|
||||
|
||||
a pointer to a
|
||||
@@ -174,33 +172,25 @@ CLASS="TYPE"
|
||||
><P
|
||||
>When the lightweight resolver needs to perform dynamic memory
|
||||
allocation, it will call
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>malloc_function</I
|
||||
></TT
|
||||
>malloc_function</VAR
|
||||
>
|
||||
to allocate memory and
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>free_function</I
|
||||
></TT
|
||||
>free_function</VAR
|
||||
>
|
||||
|
||||
to free it. If
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>malloc_function</I
|
||||
></TT
|
||||
>malloc_function</VAR
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>free_function</I
|
||||
></TT
|
||||
>free_function</VAR
|
||||
>
|
||||
|
||||
are NULL, memory is allocated using
|
||||
@@ -215,48 +205,36 @@ CLASS="REFENTRYTITLE"
|
||||
>.
|
||||
|
||||
It is not permitted to have a NULL
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>malloc_function</I
|
||||
></TT
|
||||
>malloc_function</VAR
|
||||
>
|
||||
and a non-NULL
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>free_function</I
|
||||
></TT
|
||||
>free_function</VAR
|
||||
>
|
||||
or vice versa.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>arg</I
|
||||
></TT
|
||||
>arg</VAR
|
||||
>
|
||||
is passed as the first parameter to the memory
|
||||
allocation functions.
|
||||
If
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>malloc_function</I
|
||||
></TT
|
||||
>malloc_function</VAR
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>free_function</I
|
||||
></TT
|
||||
>free_function</VAR
|
||||
>
|
||||
are NULL,
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>arg</I
|
||||
></TT
|
||||
>arg</VAR
|
||||
>
|
||||
|
||||
is unused and should be passed as NULL.</P
|
||||
@@ -272,16 +250,14 @@ CLASS="REFENTRYTITLE"
|
||||
>
|
||||
|
||||
and returned via
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*contextp</I
|
||||
></TT
|
||||
>*contextp</VAR
|
||||
>. </P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_destroy()</TT
|
||||
>lwres_context_destroy()</CODE
|
||||
>
|
||||
destroys a
|
||||
<SPAN
|
||||
@@ -290,11 +266,9 @@ CLASS="TYPE"
|
||||
>,
|
||||
|
||||
closing its socket.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>contextp</I
|
||||
></TT
|
||||
>contextp</VAR
|
||||
>
|
||||
is a pointer to a pointer to the context that is to be destroyed.
|
||||
The pointer will be set to NULL when the context has been destroyed.</P
|
||||
@@ -302,124 +276,106 @@ The pointer will be set to NULL when the context has been destroyed.</P
|
||||
>The context holds a serial number that is used to identify resolver
|
||||
request packets and associate responses with the corresponding requests.
|
||||
This serial number is controlled using
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_initserial()</TT
|
||||
>lwres_context_initserial()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_nextserial()</TT
|
||||
>lwres_context_nextserial()</CODE
|
||||
>.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_initserial()</TT
|
||||
>lwres_context_initserial()</CODE
|
||||
>
|
||||
sets the serial number for context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*ctx</I
|
||||
></TT
|
||||
>*ctx</VAR
|
||||
>
|
||||
to
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>serial</I
|
||||
></TT
|
||||
>serial</VAR
|
||||
>.
|
||||
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_nextserial()</TT
|
||||
>lwres_context_nextserial()</CODE
|
||||
>
|
||||
increments the serial number and returns the previous value.</P
|
||||
><P
|
||||
>Memory for a lightweight resolver context is allocated and freed using
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_allocmem()</TT
|
||||
>lwres_context_allocmem()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_freemem()</TT
|
||||
>lwres_context_freemem()</CODE
|
||||
>.
|
||||
These use whatever allocations were defined when the context was
|
||||
created with
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_create()</TT
|
||||
>lwres_context_create()</CODE
|
||||
>.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_allocmem()</TT
|
||||
>lwres_context_allocmem()</CODE
|
||||
>
|
||||
allocates
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
>
|
||||
bytes of memory and if successful returns a pointer to the allocated
|
||||
storage.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_freemem()</TT
|
||||
>lwres_context_freemem()</CODE
|
||||
>
|
||||
frees
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
>
|
||||
bytes of space starting at location
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>mem</I
|
||||
></TT
|
||||
>mem</VAR
|
||||
>. </P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_sendrecv()</TT
|
||||
>lwres_context_sendrecv()</CODE
|
||||
>
|
||||
performs I/O for the context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>.
|
||||
|
||||
Data are read and written from the context's socket.
|
||||
It writes data from
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>sendbase</I
|
||||
></TT
|
||||
>sendbase</VAR
|
||||
>
|
||||
— typically a lightweight resolver query packet —
|
||||
and waits for a reply which is copied to the receive buffer at
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>recvbase</I
|
||||
></TT
|
||||
>recvbase</VAR
|
||||
>.
|
||||
|
||||
The number of bytes that were written to this receive buffer is
|
||||
returned in
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*recvd_len</I
|
||||
></TT
|
||||
>*recvd_len</VAR
|
||||
>. </P
|
||||
></DIV
|
||||
><DIV
|
||||
@@ -430,9 +386,9 @@ NAME="AEN115"
|
||||
><H2
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_create()</TT
|
||||
>lwres_context_create()</CODE
|
||||
>
|
||||
returns
|
||||
<SPAN
|
||||
@@ -452,9 +408,9 @@ CLASS="ERRORCODE"
|
||||
otherwise.</P
|
||||
><P
|
||||
>Successful calls to the memory allocator
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_allocmem()</TT
|
||||
>lwres_context_allocmem()</CODE
|
||||
>
|
||||
return a pointer to the start of the allocated space.
|
||||
It returns NULL if memory could not be allocated.</P
|
||||
@@ -464,9 +420,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_SUCCESS</SPAN
|
||||
>
|
||||
is returned when
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_sendrecv()</TT
|
||||
>lwres_context_sendrecv()</CODE
|
||||
>
|
||||
completes successfully.
|
||||
<SPAN
|
||||
@@ -479,9 +435,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_TIMEOUT</SPAN
|
||||
>
|
||||
is returned if
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_context_sendrecv()</TT
|
||||
>lwres_context_sendrecv()</CODE
|
||||
>
|
||||
times out waiting for a response.</P
|
||||
></DIV
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_gabn.html,v 1.6.2.1.4.1 2004/03/06 08:15:38 marka Exp $ -->
|
||||
<!-- $Id: lwres_gabn.html,v 1.6.2.1.4.2 2004/08/22 23:39:03 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_gabn</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_gabn</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_gabn</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN16"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN17"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -178,52 +178,42 @@ typedef struct {
|
||||
} lwres_gabnresponse_t;</PRE
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_render()</TT
|
||||
>lwres_gabnrequest_render()</CODE
|
||||
>
|
||||
uses resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>
|
||||
to convert getaddrbyname request structure
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>req</I
|
||||
></TT
|
||||
>req</VAR
|
||||
>
|
||||
to canonical format.
|
||||
The packet header structure
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>pkt</I
|
||||
></TT
|
||||
>pkt</VAR
|
||||
>
|
||||
is initialised and transferred to
|
||||
buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>.
|
||||
|
||||
The contents of
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*req</I
|
||||
></TT
|
||||
>*req</VAR
|
||||
>
|
||||
are then appended to the buffer in canonical format.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_render()</TT
|
||||
>lwres_gabnresponse_render()</CODE
|
||||
>
|
||||
performs the same task, except it converts a getaddrbyname response structure
|
||||
<SPAN
|
||||
@@ -232,23 +222,19 @@ CLASS="TYPE"
|
||||
>
|
||||
to the lightweight resolver's canonical format.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_parse()</TT
|
||||
>lwres_gabnrequest_parse()</CODE
|
||||
>
|
||||
uses context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>
|
||||
to convert the contents of packet
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>pkt</I
|
||||
></TT
|
||||
>pkt</VAR
|
||||
>
|
||||
to a
|
||||
<SPAN
|
||||
@@ -257,11 +243,9 @@ CLASS="TYPE"
|
||||
>
|
||||
structure.
|
||||
Buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>
|
||||
provides space to be used for storing this structure.
|
||||
When the function succeeds, the resulting
|
||||
@@ -270,21 +254,19 @@ CLASS="TYPE"
|
||||
>lwres_gabnrequest_t</SPAN
|
||||
>
|
||||
is made available through
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*structp</I
|
||||
></TT
|
||||
>*structp</VAR
|
||||
>.
|
||||
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_parse()</TT
|
||||
>lwres_gabnresponse_parse()</CODE
|
||||
>
|
||||
offers the same semantics as
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_parse()</TT
|
||||
>lwres_gabnrequest_parse()</CODE
|
||||
>
|
||||
except it yields a
|
||||
<SPAN
|
||||
@@ -293,21 +275,19 @@ CLASS="TYPE"
|
||||
>
|
||||
structure.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_free()</TT
|
||||
>lwres_gabnresponse_free()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_free()</TT
|
||||
>lwres_gabnrequest_free()</CODE
|
||||
>
|
||||
release the memory in resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
>
|
||||
that was allocated to the
|
||||
<SPAN
|
||||
@@ -320,11 +300,9 @@ CLASS="TYPE"
|
||||
>lwres_gabnrequest_t</SPAN
|
||||
>
|
||||
structures referenced via
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>structp</I
|
||||
></TT
|
||||
>structp</VAR
|
||||
>.
|
||||
|
||||
Any memory associated with ancillary buffers and strings for those
|
||||
@@ -339,22 +317,22 @@ NAME="AEN93"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>The getaddrbyname opcode functions
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_render()</TT
|
||||
>lwres_gabnrequest_render()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_render()</TT
|
||||
>lwres_gabnresponse_render()</CODE
|
||||
>
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_parse()</TT
|
||||
>lwres_gabnrequest_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_parse()</TT
|
||||
>lwres_gabnresponse_parse()</CODE
|
||||
>
|
||||
all return
|
||||
<SPAN
|
||||
@@ -373,11 +351,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_UNEXPECTEDEND</SPAN
|
||||
>
|
||||
is returned if the available space in the buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>
|
||||
is too small to accommodate the packet header or the
|
||||
<SPAN
|
||||
@@ -390,14 +366,14 @@ CLASS="TYPE"
|
||||
>lwres_gabnresponse_t</SPAN
|
||||
>
|
||||
structures.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnrequest_parse()</TT
|
||||
>lwres_gabnrequest_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gabnresponse_parse()</TT
|
||||
>lwres_gabnresponse_parse()</CODE
|
||||
>
|
||||
will return
|
||||
<SPAN
|
||||
@@ -411,11 +387,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_FAILURE</SPAN
|
||||
>
|
||||
if
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pktflags</I
|
||||
></TT
|
||||
>pktflags</CODE
|
||||
>
|
||||
in the packet header structure
|
||||
<SPAN
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_gai_strerror.html,v 1.5.2.1.4.1 2004/03/06 08:15:39 marka Exp $ -->
|
||||
<!-- $Id: lwres_gai_strerror.html,v 1.5.2.1.4.2 2004/08/22 23:39:03 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_gai_strerror</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_gai_strerror</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_gai_strerror</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN11"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN12"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -82,14 +82,14 @@ NAME="AEN18"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gai_strerror()</TT
|
||||
>lwres_gai_strerror()</CODE
|
||||
>
|
||||
returns an error message corresponding to an error code returned by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>getaddrinfo()</TT
|
||||
>getaddrinfo()</CODE
|
||||
>.
|
||||
The following error codes and their meaning are defined in
|
||||
<TT
|
||||
@@ -127,9 +127,9 @@ CLASS="ERRORCODE"
|
||||
><DD
|
||||
><P
|
||||
>invalid value for
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_flags</TT
|
||||
>ai_flags</CODE
|
||||
></P
|
||||
></DD
|
||||
><DT
|
||||
@@ -148,9 +148,9 @@ CLASS="ERRORCODE"
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_family</TT
|
||||
>ai_family</CODE
|
||||
> not supported</P
|
||||
></DD
|
||||
><DT
|
||||
@@ -187,9 +187,9 @@ CLASS="ERRORCODE"
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>servname not supported for <TT
|
||||
>servname not supported for <CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_socktype</TT
|
||||
>ai_socktype</CODE
|
||||
></P
|
||||
></DD
|
||||
><DT
|
||||
@@ -199,9 +199,9 @@ CLASS="ERRORCODE"
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_socktype</TT
|
||||
>ai_socktype</CODE
|
||||
> not supported</P
|
||||
></DD
|
||||
><DT
|
||||
@@ -220,26 +220,24 @@ The message <SPAN
|
||||
CLASS="ERRORNAME"
|
||||
>invalid error code</SPAN
|
||||
> is returned if
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ecode</I
|
||||
></TT
|
||||
>ecode</VAR
|
||||
>
|
||||
is out of range.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_flags</TT
|
||||
>ai_flags</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_family</TT
|
||||
>ai_family</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_socktype</TT
|
||||
>ai_socktype</CODE
|
||||
>
|
||||
are elements of the
|
||||
<SPAN
|
||||
@@ -247,9 +245,9 @@ CLASS="TYPE"
|
||||
>struct addrinfo</SPAN
|
||||
>
|
||||
used by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_getaddrinfo.html,v 1.8.2.1.4.2 2004/03/06 08:15:39 marka Exp $ -->
|
||||
<!-- $Id: lwres_getaddrinfo.html,v 1.8.2.1.4.3 2004/08/22 23:39:03 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_getaddrinfo</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_getaddrinfo</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_getaddrinfo</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN12"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN13"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -111,43 +111,35 @@ NAME="AEN29"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>
|
||||
is used to get a list of IP addresses and port numbers for host
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
and service
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>servname</I
|
||||
></TT
|
||||
>servname</VAR
|
||||
>.
|
||||
|
||||
The function is the lightweight resolver's implementation of
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>getaddrinfo()</TT
|
||||
>getaddrinfo()</CODE
|
||||
>
|
||||
as defined in RFC2133.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>servname</I
|
||||
></TT
|
||||
>servname</VAR
|
||||
>
|
||||
are pointers to null-terminated
|
||||
strings or
|
||||
@@ -156,19 +148,15 @@ CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
>.
|
||||
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
is either a host name or a numeric host address string: a dotted decimal
|
||||
IPv4 address or an IPv6 address.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>servname</I
|
||||
></TT
|
||||
>servname</VAR
|
||||
>
|
||||
is either a decimal port number or a service name as listed in
|
||||
<TT
|
||||
@@ -176,11 +164,9 @@ CLASS="FILENAME"
|
||||
>/etc/services</TT
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hints</I
|
||||
></TT
|
||||
>hints</VAR
|
||||
>
|
||||
is an optional pointer to a
|
||||
<SPAN
|
||||
@@ -190,11 +176,9 @@ CLASS="TYPE"
|
||||
This structure can be used to provide hints concerning the type of socket
|
||||
that the caller supports or wishes to use.
|
||||
The caller can supply the following structure elements in
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*hints</I
|
||||
></TT
|
||||
>*hints</VAR
|
||||
>:
|
||||
|
||||
<P
|
||||
@@ -203,17 +187,17 @@ CLASS="PARAMETER"
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_family</TT
|
||||
>ai_family</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The protocol family that should be used.
|
||||
When
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_family</TT
|
||||
>ai_family</CODE
|
||||
>
|
||||
is set to
|
||||
<SPAN
|
||||
@@ -224,9 +208,9 @@ it means the caller will accept any protocol family supported by the
|
||||
operating system.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_socktype</TT
|
||||
>ai_socktype</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -246,32 +230,32 @@ CLASS="TYPE"
|
||||
>
|
||||
— that is wanted.
|
||||
When
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_socktype</TT
|
||||
>ai_socktype</CODE
|
||||
>
|
||||
is zero the caller will accept any socket type.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_protocol</TT
|
||||
>ai_protocol</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>indicates which transport protocol is wanted: IPPROTO_UDP or
|
||||
IPPROTO_TCP.
|
||||
If
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_protocol</TT
|
||||
>ai_protocol</CODE
|
||||
>
|
||||
is zero the caller will accept any protocol.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_flags</TT
|
||||
>ai_flags</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -282,15 +266,15 @@ CLASS="TYPE"
|
||||
>AI_CANONNAME</SPAN
|
||||
>
|
||||
bit is set, a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>
|
||||
will return a null-terminated string containing the canonical name
|
||||
of the specified hostname in
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_canonname</TT
|
||||
>ai_canonname</CODE
|
||||
>
|
||||
of the first
|
||||
<SPAN
|
||||
@@ -332,9 +316,9 @@ CLASS="TYPE"
|
||||
for an IPv6 address.</P
|
||||
><P
|
||||
>When
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_flags</TT
|
||||
>ai_flags</CODE
|
||||
>
|
||||
does not set the
|
||||
<SPAN
|
||||
@@ -378,11 +362,9 @@ CLASS="REFENTRYTITLE"
|
||||
if a connectionless protocol was chosen.
|
||||
The IP address portion of the socket address structure will be
|
||||
set to the loopback address if
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
is a
|
||||
<SPAN
|
||||
@@ -395,15 +377,15 @@ CLASS="TYPE"
|
||||
>AI_PASSIVE</SPAN
|
||||
>
|
||||
is not set in
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_flags</TT
|
||||
>ai_flags</CODE
|
||||
>.</P
|
||||
><P
|
||||
>If
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_flags</TT
|
||||
>ai_flags</CODE
|
||||
>
|
||||
is set to
|
||||
<SPAN
|
||||
@@ -411,11 +393,9 @@ CLASS="TYPE"
|
||||
>AI_NUMERICHOST</SPAN
|
||||
>
|
||||
it indicates that
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
should be treated as a numeric string defining an IPv4 or IPv6 address
|
||||
and no name resolution should be attempted.</P
|
||||
@@ -428,18 +408,14 @@ and no name resolution should be attempted.</P
|
||||
CLASS="TYPE"
|
||||
>struct addrinfo</SPAN
|
||||
> passed
|
||||
via <TT
|
||||
via <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hints</I
|
||||
></TT
|
||||
>hints</VAR
|
||||
> must be zero.</P
|
||||
><P
|
||||
>A <TT
|
||||
>A <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hints</I
|
||||
></TT
|
||||
>hints</VAR
|
||||
> of <SPAN
|
||||
CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
@@ -448,25 +424,23 @@ the caller provided a <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct addrinfo</SPAN
|
||||
> initialized to zero
|
||||
with <TT
|
||||
with <CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_family</TT
|
||||
>ai_family</CODE
|
||||
>set to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>PF_UNSPEC</TT
|
||||
>PF_UNSPEC</CODE
|
||||
>.</P
|
||||
><P
|
||||
>After a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>,
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*res</I
|
||||
></TT
|
||||
>*res</VAR
|
||||
>
|
||||
is a pointer to a linked list of one or more
|
||||
<SPAN
|
||||
@@ -481,9 +455,9 @@ CLASS="TYPE"
|
||||
>
|
||||
in this list cn be processed by following
|
||||
the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_next</TT
|
||||
>ai_next</CODE
|
||||
>
|
||||
pointer, until a
|
||||
<SPAN
|
||||
@@ -492,18 +466,18 @@ CLASS="TYPE"
|
||||
>
|
||||
pointer is encountered.
|
||||
The three members
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_family</TT
|
||||
>ai_family</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_socktype</TT
|
||||
>ai_socktype</CODE
|
||||
>,
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_protocol</TT
|
||||
>ai_protocol</CODE
|
||||
>
|
||||
in each
|
||||
returned
|
||||
@@ -525,43 +499,41 @@ CLASS="TYPE"
|
||||
>addrinfo</SPAN
|
||||
>
|
||||
structure in the list, the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_addr</TT
|
||||
>ai_addr</CODE
|
||||
>
|
||||
member points to a filled-in socket address structure of length
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>ai_addrlen</TT
|
||||
>ai_addrlen</CODE
|
||||
>.</P
|
||||
><P
|
||||
>All of the information returned by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>
|
||||
is dynamically allocated: the addrinfo structures, and the socket
|
||||
address structures and canonical host name strings pointed to by the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>addrinfo</TT
|
||||
>addrinfo</CODE
|
||||
>structures.
|
||||
Memory allocated for the dynamically allocated structures created by
|
||||
a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>
|
||||
is released by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_freeaddrinfo()</TT
|
||||
>lwres_freeaddrinfo()</CODE
|
||||
>.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ai</I
|
||||
></TT
|
||||
>ai</VAR
|
||||
>
|
||||
is a pointer to a
|
||||
<SPAN
|
||||
@@ -569,9 +541,9 @@ CLASS="TYPE"
|
||||
>struct addrinfo</SPAN
|
||||
>
|
||||
created by a call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
@@ -582,9 +554,9 @@ NAME="AEN142"
|
||||
><H2
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>
|
||||
returns zero on success or one of the error codes listed in
|
||||
<SPAN
|
||||
@@ -596,27 +568,23 @@ CLASS="REFENTRYTITLE"
|
||||
>
|
||||
if an error occurs.
|
||||
If both
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>servname</I
|
||||
></TT
|
||||
>servname</VAR
|
||||
>
|
||||
are
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
>
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrinfo()</TT
|
||||
>lwres_getaddrinfo()</CODE
|
||||
>
|
||||
returns
|
||||
<SPAN
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_gethostent.html,v 1.8.2.1.4.1 2004/03/06 08:15:39 marka Exp $ -->
|
||||
<!-- $Id: lwres_gethostent.html,v 1.8.2.1.4.2 2004/08/22 23:39:04 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_gethostent</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_gethostent</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_gethostent</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN21"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN22"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -203,27 +203,27 @@ CLASS="PROGRAMLISTING"
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_name</TT
|
||||
>h_name</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The official (canonical) name of the host.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_aliases</TT
|
||||
>h_aliases</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>A NULL-terminated array of alternate names (nicknames) for the host.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addrtype</TT
|
||||
>h_addrtype</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -239,18 +239,18 @@ CLASS="TYPE"
|
||||
>.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_length</TT
|
||||
>h_length</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The length of the address in bytes.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list</TT
|
||||
>h_addr_list</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -266,40 +266,40 @@ Host addresses are returned in network byte order.</P
|
||||
></P
|
||||
><P
|
||||
>For backward compatibility with very old software,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr</TT
|
||||
>h_addr</CODE
|
||||
>
|
||||
is the first address in
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list.</TT
|
||||
>h_addr_list.</CODE
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostent()</TT
|
||||
>lwres_gethostent()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_sethostent()</TT
|
||||
>lwres_sethostent()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_endhostent()</TT
|
||||
>lwres_endhostent()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostent_r()</TT
|
||||
>lwres_gethostent_r()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_sethostent_r()</TT
|
||||
>lwres_sethostent_r()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_endhostent_r()</TT
|
||||
>lwres_endhostent_r()</CODE
|
||||
>
|
||||
provide iteration over the known host entries on systems that
|
||||
provide such functionality through facilities like
|
||||
@@ -311,33 +311,29 @@ or NIS. The lightweight resolver does not currently implement
|
||||
these functions; it only provides them as stub functions that always
|
||||
return failure.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname()</TT
|
||||
>lwres_gethostbyname()</CODE
|
||||
> and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname2()</TT
|
||||
>lwres_gethostbyname2()</CODE
|
||||
> look up the hostname
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>name</I
|
||||
></TT
|
||||
>name</VAR
|
||||
>.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname()</TT
|
||||
>lwres_gethostbyname()</CODE
|
||||
> always looks for an IPv4
|
||||
address while <TT
|
||||
address while <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname2()</TT
|
||||
>lwres_gethostbyname2()</CODE
|
||||
> looks for an
|
||||
address of protocol family <TT
|
||||
address of protocol family <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
>: either
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
@@ -355,37 +351,31 @@ CLASS="TYPE"
|
||||
CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
> is returned if the lookups by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname()</TT
|
||||
>lwres_gethostbyname()</CODE
|
||||
> or
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname2()</TT
|
||||
>lwres_gethostbyname2()</CODE
|
||||
> fail.</P
|
||||
><P
|
||||
>Reverse lookups of addresses are performed by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr()</TT
|
||||
>lwres_gethostbyaddr()</CODE
|
||||
>.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>addr</I
|
||||
></TT
|
||||
>addr</VAR
|
||||
> is an address of length
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
> bytes and protocol family
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>type</I
|
||||
></TT
|
||||
>type</VAR
|
||||
> — <SPAN
|
||||
CLASS="TYPE"
|
||||
>PF_INET</SPAN
|
||||
@@ -394,99 +384,81 @@ CLASS="TYPE"
|
||||
CLASS="TYPE"
|
||||
>PF_INET6</SPAN
|
||||
>.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
> is a thread-safe function
|
||||
for forward lookups. If an error occurs, an error code is returned in
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*error</I
|
||||
></TT
|
||||
>*error</VAR
|
||||
>.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
> is a pointer to a <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct
|
||||
hostent</SPAN
|
||||
> which is initialised by a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
> .
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>buf</I
|
||||
></TT
|
||||
>buf</VAR
|
||||
> is a buffer of length
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
> bytes which is used to store the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_name</TT
|
||||
>, <TT
|
||||
>h_name</CODE
|
||||
>, <CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_aliases</TT
|
||||
>h_aliases</CODE
|
||||
>, and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list</TT
|
||||
>h_addr_list</CODE
|
||||
> elements of the <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct
|
||||
hostent</SPAN
|
||||
> returned in <TT
|
||||
> returned in <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
>.
|
||||
Successful calls to <TT
|
||||
Successful calls to <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
>
|
||||
return <TT
|
||||
return <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
>,
|
||||
which is a pointer to the <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct hostent</SPAN
|
||||
> it created.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr_r()</TT
|
||||
>lwres_gethostbyaddr_r()</CODE
|
||||
> is a thread-safe function
|
||||
that performs a reverse lookup of address <TT
|
||||
that performs a reverse lookup of address <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>addr</I
|
||||
></TT
|
||||
>addr</VAR
|
||||
>
|
||||
which is <TT
|
||||
which is <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
> bytes long and is of protocol
|
||||
family <TT
|
||||
family <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>type</I
|
||||
></TT
|
||||
>type</VAR
|
||||
> — <SPAN
|
||||
CLASS="TYPE"
|
||||
>PF_INET</SPAN
|
||||
@@ -495,75 +467,63 @@ CLASS="TYPE"
|
||||
CLASS="TYPE"
|
||||
>PF_INET6</SPAN
|
||||
>. If an error occurs, the error code is returned
|
||||
in <TT
|
||||
in <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*error</I
|
||||
></TT
|
||||
>*error</VAR
|
||||
>. The other function parameters are
|
||||
identical to those in <TT
|
||||
identical to those in <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
>.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
> is a pointer to a <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct
|
||||
hostent</SPAN
|
||||
> which is initialised by a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr_r()</TT
|
||||
>lwres_gethostbyaddr_r()</CODE
|
||||
>.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>buf</I
|
||||
></TT
|
||||
>buf</VAR
|
||||
> is a buffer of length
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
> bytes which is used to store the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_name</TT
|
||||
>, <TT
|
||||
>h_name</CODE
|
||||
>, <CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_aliases</TT
|
||||
>h_aliases</CODE
|
||||
>, and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list</TT
|
||||
>h_addr_list</CODE
|
||||
> elements of the <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct
|
||||
hostent</SPAN
|
||||
> returned in <TT
|
||||
> returned in <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
>. Successful
|
||||
calls to <TT
|
||||
calls to <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr_r()</TT
|
||||
>lwres_gethostbyaddr_r()</CODE
|
||||
> return
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
>, which is a pointer to the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>struct hostent()</TT
|
||||
>struct hostent()</CODE
|
||||
> it created.</P
|
||||
></DIV
|
||||
><DIV
|
||||
@@ -575,22 +535,22 @@ NAME="AEN191"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>The functions
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname()</TT
|
||||
>lwres_gethostbyname()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname2()</TT
|
||||
>lwres_gethostbyname2()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr()</TT
|
||||
>lwres_gethostbyaddr()</CODE
|
||||
>,
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostent()</TT
|
||||
>lwres_gethostent()</CODE
|
||||
>
|
||||
return NULL to indicate an error. In this case the global variable
|
||||
<SPAN
|
||||
@@ -609,18 +569,18 @@ CLASS="FILENAME"
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>HOST_NOT_FOUND</TT
|
||||
>HOST_NOT_FOUND</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The host or address was not found.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>TRY_AGAIN</TT
|
||||
>TRY_AGAIN</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -628,18 +588,18 @@ CLASS="CONSTANT"
|
||||
Retrying the lookup may succeed.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NO_RECOVERY</TT
|
||||
>NO_RECOVERY</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>A non-recoverable error occurred.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NO_DATA</TT
|
||||
>NO_DATA</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -662,14 +622,14 @@ CLASS="REFENTRYTITLE"
|
||||
>
|
||||
translates these error codes to suitable error messages.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostent()</TT
|
||||
>lwres_gethostent()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostent_r()</TT
|
||||
>lwres_gethostent_r()</CODE
|
||||
>
|
||||
always return
|
||||
<SPAN
|
||||
@@ -677,19 +637,17 @@ CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
>.</P
|
||||
><P
|
||||
>Successful calls to <TT
|
||||
>Successful calls to <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
> and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr_r()</TT
|
||||
>lwres_gethostbyaddr_r()</CODE
|
||||
> return
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>resbuf</I
|
||||
></TT
|
||||
>resbuf</VAR
|
||||
>, a pointer to the <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct
|
||||
@@ -698,40 +656,36 @@ hostent</SPAN
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
> if the lookups fail or if <TT
|
||||
> if the lookups fail or if <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>buf</I
|
||||
></TT
|
||||
>buf</VAR
|
||||
>
|
||||
was too small to hold the list of addresses and names referenced by
|
||||
the <TT
|
||||
the <CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_name</TT
|
||||
>, <TT
|
||||
>h_name</CODE
|
||||
>, <CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_aliases</TT
|
||||
>h_aliases</CODE
|
||||
>, and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list</TT
|
||||
>h_addr_list</CODE
|
||||
> elements of the <SPAN
|
||||
CLASS="TYPE"
|
||||
>struct
|
||||
hostent</SPAN
|
||||
>. If <TT
|
||||
>. If <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>buf</I
|
||||
></TT
|
||||
>buf</VAR
|
||||
> was too small, both
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
> and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr_r()</TT
|
||||
>lwres_gethostbyaddr_r()</CODE
|
||||
> set the global variable
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
@@ -781,34 +735,34 @@ NAME="AEN257"
|
||||
><H2
|
||||
>BUGS</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname()</TT
|
||||
>lwres_gethostbyname()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname2()</TT
|
||||
>lwres_gethostbyname2()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr()</TT
|
||||
>lwres_gethostbyaddr()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_endhostent()</TT
|
||||
>lwres_endhostent()</CODE
|
||||
>
|
||||
are not thread safe; they return pointers to static data and
|
||||
provide error codes through a global variable.
|
||||
Thread-safe versions for name and address lookup are provided by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyname_r()</TT
|
||||
>lwres_gethostbyname_r()</CODE
|
||||
>,
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gethostbyaddr_r()</TT
|
||||
>lwres_gethostbyaddr_r()</CODE
|
||||
>
|
||||
respectively.</P
|
||||
><P
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_getipnode.html,v 1.7.2.1.4.1 2004/03/06 08:15:40 marka Exp $ -->
|
||||
<!-- $Id: lwres_getipnode.html,v 1.7.2.1.4.2 2004/08/22 23:39:04 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_getipnode</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_getipnode</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_getipnode</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN13"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN14"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -131,27 +131,27 @@ CLASS="PROGRAMLISTING"
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_name</TT
|
||||
>h_name</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The official (canonical) name of the host.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_aliases</TT
|
||||
>h_aliases</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>A NULL-terminated array of alternate names (nicknames) for the host.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addrtype</TT
|
||||
>h_addrtype</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -167,18 +167,18 @@ CLASS="TYPE"
|
||||
>. </P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_length</TT
|
||||
>h_length</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The length of the address in bytes.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list</TT
|
||||
>h_addr_list</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -194,32 +194,26 @@ Host addresses are returned in network byte order.</P
|
||||
></DIV
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getipnodebyname()</TT
|
||||
>lwres_getipnodebyname()</CODE
|
||||
>
|
||||
looks up addresses of protocol family
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
>
|
||||
|
||||
for the hostname
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>name</I
|
||||
></TT
|
||||
>name</VAR
|
||||
>.
|
||||
|
||||
The
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>flags</I
|
||||
></TT
|
||||
>flags</VAR
|
||||
>
|
||||
parameter contains ORed flag bits to
|
||||
specify the types of addresses that are searched
|
||||
@@ -231,44 +225,40 @@ The flag bits are:
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>AI_V4MAPPED</TT
|
||||
>AI_V4MAPPED</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>This is used with an
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
>
|
||||
of AF_INET6, and causes IPv4 addresses to be returned as IPv4-mapped
|
||||
IPv6 addresses.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>AI_ALL</TT
|
||||
>AI_ALL</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>This is used with an
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
>
|
||||
of AF_INET6, and causes all known addresses (IPv6 and IPv4) to be returned.
|
||||
If AI_V4MAPPED is also set, the IPv4 addresses are return as mapped
|
||||
IPv6 addresses.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>AI_ADDRCONFIG</TT
|
||||
>AI_ADDRCONFIG</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -277,21 +267,21 @@ interface of that type. This is not currently implemented
|
||||
in the BIND 9 lightweight resolver, and the flag is ignored.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>AI_DEFAULT</TT
|
||||
>AI_DEFAULT</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>This default sets the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>AI_V4MAPPED</TT
|
||||
>AI_V4MAPPED</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>AI_ADDRCONFIG</TT
|
||||
>AI_ADDRCONFIG</CODE
|
||||
>
|
||||
flag bits.</P
|
||||
></DD
|
||||
@@ -299,31 +289,25 @@ flag bits.</P
|
||||
></DIV
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getipnodebyaddr()</TT
|
||||
>lwres_getipnodebyaddr()</CODE
|
||||
>
|
||||
performs a reverse lookup
|
||||
of address
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>src</I
|
||||
></TT
|
||||
>src</VAR
|
||||
>
|
||||
which is
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>len</I
|
||||
></TT
|
||||
>len</VAR
|
||||
>
|
||||
bytes long.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
>
|
||||
denotes the protocol family, typically
|
||||
<SPAN
|
||||
@@ -336,9 +320,9 @@ CLASS="TYPE"
|
||||
>PF_INET6</SPAN
|
||||
>. </P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_freehostent()</TT
|
||||
>lwres_freehostent()</CODE
|
||||
>
|
||||
releases all the memory associated with
|
||||
the
|
||||
@@ -347,27 +331,25 @@ CLASS="TYPE"
|
||||
>struct hostent</SPAN
|
||||
>
|
||||
pointer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>he</I
|
||||
></TT
|
||||
>he</VAR
|
||||
>.
|
||||
|
||||
Any memory allocated for the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_name</TT
|
||||
>h_name</CODE
|
||||
>,
|
||||
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_addr_list</TT
|
||||
>h_addr_list</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>h_aliases</TT
|
||||
>h_aliases</CODE
|
||||
>
|
||||
is freed, as is the memory for the
|
||||
<SPAN
|
||||
@@ -385,21 +367,19 @@ NAME="AEN116"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>If an error occurs,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getipnodebyname()</TT
|
||||
>lwres_getipnodebyname()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getipnodebyaddr()</TT
|
||||
>lwres_getipnodebyaddr()</CODE
|
||||
>
|
||||
set
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*error_num</I
|
||||
></TT
|
||||
>*error_num</VAR
|
||||
>
|
||||
to an appropriate error code and the function returns a
|
||||
<SPAN
|
||||
@@ -418,18 +398,18 @@ CLASS="FILENAME"
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>HOST_NOT_FOUND</TT
|
||||
>HOST_NOT_FOUND</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>No such host is known.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NO_ADDRESS</TT
|
||||
>NO_ADDRESS</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -438,9 +418,9 @@ available. Another type of request to the name server for the
|
||||
domain might return an answer.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>TRY_AGAIN</TT
|
||||
>TRY_AGAIN</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -449,9 +429,9 @@ failure of a server to respond. The request may succeed if
|
||||
retried.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NO_RECOVERY</TT
|
||||
>NO_RECOVERY</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_getnameinfo.html,v 1.5.2.1.4.1 2004/03/06 08:15:40 marka Exp $ -->
|
||||
<!-- $Id: lwres_getnameinfo.html,v 1.5.2.1.4.2 2004/08/22 23:39:04 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_getnameinfo</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_getnameinfo</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_getnameinfo</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN11"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN12"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -89,70 +89,54 @@ CLASS="REFENTRYTITLE"
|
||||
>getnameinfo</SPAN
|
||||
>(3)</SPAN
|
||||
> function defined in RFC2133.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnameinfo()</TT
|
||||
>lwres_getnameinfo()</CODE
|
||||
> returns the hostname for the
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>struct sockaddr</SPAN
|
||||
> <TT
|
||||
> <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>sa</I
|
||||
></TT
|
||||
>sa</VAR
|
||||
> which is
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>salen</I
|
||||
></TT
|
||||
>salen</VAR
|
||||
> bytes long. The hostname is of length
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostlen</I
|
||||
></TT
|
||||
>hostlen</VAR
|
||||
> and is returned via
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*host.</I
|
||||
></TT
|
||||
>*host.</VAR
|
||||
> The maximum length of the hostname is
|
||||
1025 bytes: <TT
|
||||
1025 bytes: <CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_MAXHOST</TT
|
||||
>NI_MAXHOST</CODE
|
||||
>.</P
|
||||
><P
|
||||
> The name of the service associated with the port number in
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>sa</I
|
||||
></TT
|
||||
> is returned in <TT
|
||||
>sa</VAR
|
||||
> is returned in <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*serv.</I
|
||||
></TT
|
||||
>*serv.</VAR
|
||||
>
|
||||
It is <TT
|
||||
It is <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>servlen</I
|
||||
></TT
|
||||
>servlen</VAR
|
||||
> bytes long. The maximum length
|
||||
of the service name is <TT
|
||||
of the service name is <CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_MAXSERV</TT
|
||||
>NI_MAXSERV</CODE
|
||||
> - 32 bytes.</P
|
||||
><P
|
||||
> The <TT
|
||||
> The <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>flags</I
|
||||
></TT
|
||||
>flags</VAR
|
||||
> argument sets the following
|
||||
bits:
|
||||
<P
|
||||
@@ -161,9 +145,9 @@ bits:
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_NOFQDN</TT
|
||||
>NI_NOFQDN</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -171,9 +155,9 @@ CLASS="CONSTANT"
|
||||
The local part of the fully qualified domain name is returned instead.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_NUMERICHOST</TT
|
||||
>NI_NUMERICHOST</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -181,9 +165,9 @@ CLASS="CONSTANT"
|
||||
instead of a host name.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_NAMEREQD</TT
|
||||
>NI_NAMEREQD</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -193,18 +177,18 @@ If the hostname is not found and the flag is not set, the
|
||||
address is returned in numeric form.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_NUMERICSERV</TT
|
||||
>NI_NUMERICSERV</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>The service name is returned as a digit string representing the port number.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NI_DGRAM</TT
|
||||
>NI_DGRAM</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -226,9 +210,9 @@ NAME="AEN70"
|
||||
><H2
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnameinfo()</TT
|
||||
>lwres_getnameinfo()</CODE
|
||||
>
|
||||
returns 0 on success or a non-zero error code if an error occurs.</P
|
||||
></DIV
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_getrrsetbyname.html,v 1.5.2.1.4.1 2004/03/06 08:15:40 marka Exp $ -->
|
||||
<!-- $Id: lwres_getrrsetbyname.html,v 1.5.2.1.4.2 2004/08/22 23:39:04 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_getrrsetbyname</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_getrrsetbyname</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_getrrsetbyname</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN12"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN13"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -111,60 +111,48 @@ NAME="AEN29"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getrrsetbyname()</TT
|
||||
>lwres_getrrsetbyname()</CODE
|
||||
>
|
||||
gets a set of resource records associated with a
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>,
|
||||
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>class</I
|
||||
></TT
|
||||
>class</VAR
|
||||
>,
|
||||
|
||||
and
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>type</I
|
||||
></TT
|
||||
>type</VAR
|
||||
>.
|
||||
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>hostname</I
|
||||
></TT
|
||||
>hostname</VAR
|
||||
>
|
||||
is
|
||||
a pointer a to null-terminated string. The
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>flags</I
|
||||
></TT
|
||||
>flags</VAR
|
||||
>
|
||||
field is currently unused and must be zero.</P
|
||||
><P
|
||||
>After a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getrrsetbyname()</TT
|
||||
>lwres_getrrsetbyname()</CODE
|
||||
>,
|
||||
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*res</I
|
||||
></TT
|
||||
>*res</VAR
|
||||
>
|
||||
is a pointer to an
|
||||
<SPAN
|
||||
@@ -184,84 +172,82 @@ CLASS="TYPE"
|
||||
structures containing SIG resource records
|
||||
associated with those records.
|
||||
The members
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_rdclass</TT
|
||||
>rri_rdclass</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_rdtype</TT
|
||||
>rri_rdtype</CODE
|
||||
>
|
||||
are copied from the parameters.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_ttl</TT
|
||||
>rri_ttl</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_name</TT
|
||||
>rri_name</CODE
|
||||
>
|
||||
are properties of the obtained rrset.
|
||||
The resource records contained in
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_rdatas</TT
|
||||
>rri_rdatas</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_sigs</TT
|
||||
>rri_sigs</CODE
|
||||
>
|
||||
are in uncompressed DNS wire format.
|
||||
Properties of the rdataset are represented in the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rri_flags</TT
|
||||
>rri_flags</CODE
|
||||
>
|
||||
bitfield. If the RRSET_VALIDATED bit is set, the data has been DNSSEC
|
||||
validated and the signatures verified. </P
|
||||
><P
|
||||
>All of the information returned by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getrrsetbyname()</TT
|
||||
>lwres_getrrsetbyname()</CODE
|
||||
>
|
||||
is dynamically allocated: the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rrsetinfo</TT
|
||||
>rrsetinfo</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rdatainfo</TT
|
||||
>rdatainfo</CODE
|
||||
>
|
||||
structures,
|
||||
and the canonical host name strings pointed to by the
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>rrsetinfo</TT
|
||||
>rrsetinfo</CODE
|
||||
>structure.
|
||||
|
||||
Memory allocated for the dynamically allocated structures created by
|
||||
a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getrrsetbyname()</TT
|
||||
>lwres_getrrsetbyname()</CODE
|
||||
>
|
||||
is released by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_freerrset()</TT
|
||||
>lwres_freerrset()</CODE
|
||||
>.
|
||||
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>rrset</I
|
||||
></TT
|
||||
>rrset</VAR
|
||||
>
|
||||
is a pointer to a
|
||||
<SPAN
|
||||
@@ -269,9 +255,9 @@ CLASS="TYPE"
|
||||
>struct rrset</SPAN
|
||||
>
|
||||
created by a call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getrrsetbyname()</TT
|
||||
>lwres_getrrsetbyname()</CODE
|
||||
>. </P
|
||||
><P
|
||||
></P
|
||||
@@ -284,9 +270,9 @@ NAME="AEN62"
|
||||
><H2
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getrrsetbyname()</TT
|
||||
>lwres_getrrsetbyname()</CODE
|
||||
>
|
||||
returns zero on success, and one of the following error
|
||||
codes if an error occurred:
|
||||
@@ -296,54 +282,54 @@ codes if an error occurred:
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ERRSET_NONAME</TT
|
||||
>ERRSET_NONAME</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>the name does not exist</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ERRSET_NODATA</TT
|
||||
>ERRSET_NODATA</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>the name exists, but does not have data of the desired type</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ERRSET_NOMEMORY</TT
|
||||
>ERRSET_NOMEMORY</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>memory could not be allocated</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ERRSET_INVAL</TT
|
||||
>ERRSET_INVAL</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>a parameter is invalid</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>ERRSET_FAIL</TT
|
||||
>ERRSET_FAIL</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
>other failure</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
></TT
|
||||
></CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_gnba.html,v 1.6.2.1.4.1 2004/03/06 08:15:40 marka Exp $ -->
|
||||
<!-- $Id: lwres_gnba.html,v 1.6.2.1.4.2 2004/08/22 23:39:04 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_gnba</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_gnba</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_gnba</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN16"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN17"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -171,41 +171,41 @@ typedef struct {
|
||||
} lwres_gnbaresponse_t;</PRE
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_render()</TT
|
||||
>lwres_gnbarequest_render()</CODE
|
||||
>
|
||||
uses resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>ctx</TT
|
||||
>ctx</VAR
|
||||
>
|
||||
to convert getnamebyaddr request structure
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>req</TT
|
||||
>req</VAR
|
||||
>
|
||||
to canonical format.
|
||||
The packet header structure
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>pkt</TT
|
||||
>pkt</VAR
|
||||
>
|
||||
is initialised and transferred to
|
||||
buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>b</TT
|
||||
>b</VAR
|
||||
>.
|
||||
The contents of
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>*req</TT
|
||||
>*req</VAR
|
||||
>
|
||||
are then appended to the buffer in canonical format.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbaresponse_render()</TT
|
||||
>lwres_gnbaresponse_render()</CODE
|
||||
>
|
||||
performs the same task, except it converts a getnamebyaddr response structure
|
||||
<SPAN
|
||||
@@ -214,19 +214,19 @@ CLASS="TYPE"
|
||||
>
|
||||
to the lightweight resolver's canonical format.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_parse()</TT
|
||||
>lwres_gnbarequest_parse()</CODE
|
||||
>
|
||||
uses context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>ctx</TT
|
||||
>ctx</VAR
|
||||
>
|
||||
to convert the contents of packet
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>pkt</TT
|
||||
>pkt</VAR
|
||||
>
|
||||
to a
|
||||
<SPAN
|
||||
@@ -235,9 +235,9 @@ CLASS="TYPE"
|
||||
>
|
||||
structure.
|
||||
Buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>b</TT
|
||||
>b</VAR
|
||||
>
|
||||
provides space to be used for storing this structure.
|
||||
When the function succeeds, the resulting
|
||||
@@ -246,18 +246,18 @@ CLASS="TYPE"
|
||||
>lwres_gnbarequest_t</SPAN
|
||||
>
|
||||
is made available through
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>*structp</TT
|
||||
>*structp</VAR
|
||||
>.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbaresponse_parse()</TT
|
||||
>lwres_gnbaresponse_parse()</CODE
|
||||
>
|
||||
offers the same semantics as
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_parse()</TT
|
||||
>lwres_gnbarequest_parse()</CODE
|
||||
>
|
||||
except it yields a
|
||||
<SPAN
|
||||
@@ -266,19 +266,19 @@ CLASS="TYPE"
|
||||
>
|
||||
structure.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbaresponse_free()</TT
|
||||
>lwres_gnbaresponse_free()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_free()</TT
|
||||
>lwres_gnbarequest_free()</CODE
|
||||
>
|
||||
release the memory in resolver context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>ctx</TT
|
||||
>ctx</VAR
|
||||
>
|
||||
that was allocated to the
|
||||
<SPAN
|
||||
@@ -291,9 +291,9 @@ CLASS="TYPE"
|
||||
>lwres_gnbarequest_t</SPAN
|
||||
>
|
||||
structures referenced via
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>structp</TT
|
||||
>structp</VAR
|
||||
>.
|
||||
Any memory associated with ancillary buffers and strings for those
|
||||
structures is also discarded.</P
|
||||
@@ -307,22 +307,22 @@ NAME="AEN97"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>The getnamebyaddr opcode functions
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_render()</TT
|
||||
>lwres_gnbarequest_render()</CODE
|
||||
>,
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbaresponse_render()</TT
|
||||
>lwres_gnbaresponse_render()</CODE
|
||||
>
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_parse()</TT
|
||||
>lwres_gnbarequest_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbaresponse_parse()</TT
|
||||
>lwres_gnbaresponse_parse()</CODE
|
||||
>
|
||||
all return
|
||||
<SPAN
|
||||
@@ -341,9 +341,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_UNEXPECTEDEND</SPAN
|
||||
>
|
||||
is returned if the available space in the buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="VARNAME"
|
||||
>b</TT
|
||||
>b</VAR
|
||||
>
|
||||
is too small to accommodate the packet header or the
|
||||
<SPAN
|
||||
@@ -356,14 +356,14 @@ CLASS="TYPE"
|
||||
>lwres_gnbaresponse_t</SPAN
|
||||
>
|
||||
structures.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbarequest_parse()</TT
|
||||
>lwres_gnbarequest_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_gnbaresponse_parse()</TT
|
||||
>lwres_gnbaresponse_parse()</CODE
|
||||
>
|
||||
will return
|
||||
<SPAN
|
||||
@@ -377,11 +377,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_FAILURE</SPAN
|
||||
>
|
||||
if
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="STRUCTFIELD"
|
||||
><I
|
||||
>pktflags</I
|
||||
></TT
|
||||
>pktflags</CODE
|
||||
>
|
||||
in the packet header structure
|
||||
<SPAN
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_hstrerror.html,v 1.5.2.1.4.1 2004/03/06 08:15:41 marka Exp $ -->
|
||||
<!-- $Id: lwres_hstrerror.html,v 1.5.2.1.4.2 2004/08/22 23:39:04 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_hstrerror</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_hstrerror</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_hstrerror</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN12"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN13"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/netdb.h></PRE
|
||||
@@ -90,37 +90,33 @@ NAME="AEN23"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_herror()</TT
|
||||
>lwres_herror()</CODE
|
||||
> prints the string
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>s</I
|
||||
></TT
|
||||
>s</VAR
|
||||
> on <SPAN
|
||||
CLASS="TYPE"
|
||||
>stderr</SPAN
|
||||
> followed by the string
|
||||
generated by <TT
|
||||
generated by <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_hstrerror()</TT
|
||||
>lwres_hstrerror()</CODE
|
||||
> for the error code
|
||||
stored in the global variable <TT
|
||||
stored in the global variable <CODE
|
||||
CLASS="CONSTANT"
|
||||
>lwres_h_errno</TT
|
||||
>lwres_h_errno</CODE
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_hstrerror()</TT
|
||||
>lwres_hstrerror()</CODE
|
||||
> returns an appropriate string
|
||||
for the error code gievn by <TT
|
||||
for the error code gievn by <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>err</I
|
||||
></TT
|
||||
>err</VAR
|
||||
>. The values of
|
||||
the error codes and messages are as follows:
|
||||
|
||||
@@ -205,14 +201,14 @@ NAME="AEN65"
|
||||
CLASS="ERRORNAME"
|
||||
>Unknown resolver error</SPAN
|
||||
> is returned by
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_hstrerror()</TT
|
||||
>lwres_hstrerror()</CODE
|
||||
>
|
||||
when the value of
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>lwres_h_errno</TT
|
||||
>lwres_h_errno</CODE
|
||||
>
|
||||
is not a valid error code.</P
|
||||
></DIV
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_inetntop.html,v 1.5.2.1.4.1 2004/03/06 08:15:41 marka Exp $ -->
|
||||
<!-- $Id: lwres_inetntop.html,v 1.5.2.1.4.2 2004/08/22 23:39:05 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_inetntop</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_inetntop</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_inetntop</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN11"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN12"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/net.h></PRE
|
||||
@@ -82,37 +82,29 @@ NAME="AEN21"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_net_ntop()</TT
|
||||
>lwres_net_ntop()</CODE
|
||||
> converts an IP address of
|
||||
protocol family <TT
|
||||
protocol family <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
> — IPv4 or IPv6 —
|
||||
at location <TT
|
||||
at location <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>src</I
|
||||
></TT
|
||||
>src</VAR
|
||||
> from network format to its
|
||||
conventional representation as a string. For IPv4 addresses, that
|
||||
string would be a dotted-decimal. An IPv6 address would be
|
||||
represented in colon notation as described in RFC1884.</P
|
||||
><P
|
||||
>The generated string is copied to <TT
|
||||
>The generated string is copied to <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>dst</I
|
||||
></TT
|
||||
>dst</VAR
|
||||
> provided
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>size</I
|
||||
></TT
|
||||
>size</VAR
|
||||
> indicates it is long enough to store the
|
||||
ASCII representation of the address.</P
|
||||
></DIV
|
||||
@@ -124,33 +116,29 @@ NAME="AEN30"
|
||||
><H2
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>If successful, the function returns <TT
|
||||
>If successful, the function returns <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>dst</I
|
||||
></TT
|
||||
>dst</VAR
|
||||
>:
|
||||
a pointer to a string containing the presentation format of the
|
||||
address. <TT
|
||||
address. <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_net_ntop()</TT
|
||||
>lwres_net_ntop()</CODE
|
||||
> returns
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
> and sets the global variable
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>errno</TT
|
||||
>errno</CODE
|
||||
> to <SPAN
|
||||
CLASS="ERRORCODE"
|
||||
>EAFNOSUPPORT</SPAN
|
||||
> if
|
||||
the protocol family given in <TT
|
||||
the protocol family given in <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>af</I
|
||||
></TT
|
||||
>af</VAR
|
||||
> is not
|
||||
supported.</P
|
||||
></DIV
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_noop.html,v 1.7.2.1.4.1 2004/03/06 08:15:41 marka Exp $ -->
|
||||
<!-- $Id: lwres_noop.html,v 1.7.2.1.4.2 2004/08/22 23:39:05 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_noop</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_noop</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_noop</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN16"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN17"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -176,43 +176,33 @@ 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.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_render()</TT
|
||||
>lwres_nooprequest_render()</CODE
|
||||
> uses resolver
|
||||
context <TT
|
||||
context <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
> to convert no-op request structure
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>req</I
|
||||
></TT
|
||||
>req</VAR
|
||||
> to canonical format. The packet header
|
||||
structure <TT
|
||||
structure <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>pkt</I
|
||||
></TT
|
||||
>pkt</VAR
|
||||
> is initialised and transferred to
|
||||
buffer <TT
|
||||
buffer <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>. The contents of
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*req</I
|
||||
></TT
|
||||
>*req</VAR
|
||||
> are then appended to the buffer in
|
||||
canonical format. <TT
|
||||
canonical format. <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_noopresponse_render()</TT
|
||||
>lwres_noopresponse_render()</CODE
|
||||
>
|
||||
performs the same task, except it converts a no-op response structure
|
||||
<SPAN
|
||||
@@ -221,68 +211,58 @@ CLASS="TYPE"
|
||||
> to the lightweight resolver's
|
||||
canonical format.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_parse()</TT
|
||||
>lwres_nooprequest_parse()</CODE
|
||||
> uses context
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
> to convert the contents of packet
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>pkt</I
|
||||
></TT
|
||||
>pkt</VAR
|
||||
> to a <SPAN
|
||||
CLASS="TYPE"
|
||||
>lwres_nooprequest_t</SPAN
|
||||
>
|
||||
structure. Buffer <TT
|
||||
structure. Buffer <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
> provides space to be used
|
||||
for storing this structure. When the function succeeds, the resulting
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>lwres_nooprequest_t</SPAN
|
||||
> is made available through
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*structp</I
|
||||
></TT
|
||||
>*structp</VAR
|
||||
>.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_noopresponse_parse()</TT
|
||||
>lwres_noopresponse_parse()</CODE
|
||||
> offers the same
|
||||
semantics as <TT
|
||||
semantics as <CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_parse()</TT
|
||||
>lwres_nooprequest_parse()</CODE
|
||||
> except it
|
||||
yields a <SPAN
|
||||
CLASS="TYPE"
|
||||
>lwres_noopresponse_t</SPAN
|
||||
> structure.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_noopresponse_free()</TT
|
||||
>lwres_noopresponse_free()</CODE
|
||||
> and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_free()</TT
|
||||
>lwres_nooprequest_free()</CODE
|
||||
> release the memory in
|
||||
resolver context <TT
|
||||
resolver context <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
> that was allocated to the
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
@@ -291,11 +271,9 @@ CLASS="TYPE"
|
||||
CLASS="TYPE"
|
||||
>lwres_nooprequest_t</SPAN
|
||||
>
|
||||
structures referenced via <TT
|
||||
structures referenced via <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>structp</I
|
||||
></TT
|
||||
>structp</VAR
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
@@ -307,23 +285,23 @@ NAME="AEN95"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>The no-op opcode functions
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_render()</TT
|
||||
>lwres_nooprequest_render()</CODE
|
||||
>,
|
||||
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_noopresponse_render()</TT
|
||||
>lwres_noopresponse_render()</CODE
|
||||
>
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_parse()</TT
|
||||
>lwres_nooprequest_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_noopresponse_parse()</TT
|
||||
>lwres_noopresponse_parse()</CODE
|
||||
>
|
||||
all return
|
||||
<SPAN
|
||||
@@ -342,11 +320,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_UNEXPECTEDEND</SPAN
|
||||
>
|
||||
is returned if the available space in the buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>
|
||||
is too small to accommodate the packet header or the
|
||||
<SPAN
|
||||
@@ -359,14 +335,14 @@ CLASS="TYPE"
|
||||
>lwres_noopresponse_t</SPAN
|
||||
>
|
||||
structures.
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_nooprequest_parse()</TT
|
||||
>lwres_nooprequest_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_noopresponse_parse()</TT
|
||||
>lwres_noopresponse_parse()</CODE
|
||||
>
|
||||
will return
|
||||
<SPAN
|
||||
@@ -380,9 +356,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_FAILURE</SPAN
|
||||
>
|
||||
if
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>pktflags</TT
|
||||
>pktflags</CODE
|
||||
>
|
||||
in the packet header structure
|
||||
<SPAN
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_packet.html,v 1.8.2.1.4.1 2004/03/06 08:15:42 marka Exp $ -->
|
||||
<!-- $Id: lwres_packet.html,v 1.8.2.1.4.2 2004/08/22 23:39:05 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_packet</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_packet</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_packet</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN12"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN13"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwpacket.h></PRE
|
||||
@@ -125,9 +125,9 @@ struct lwres_lwpacket {
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>length</TT
|
||||
>length</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -136,9 +136,9 @@ This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
|
||||
calls.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>version</TT
|
||||
>version</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -152,9 +152,9 @@ This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
|
||||
calls.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>pktflags</TT
|
||||
>pktflags</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -166,9 +166,9 @@ LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in the
|
||||
lwres_gabn_*() and lwres_gnba_*() calls.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>serial</TT
|
||||
>serial</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -179,9 +179,9 @@ may be dropped.
|
||||
This field must be set by the application.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>opcode</TT
|
||||
>opcode</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -193,9 +193,9 @@ This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
|
||||
calls.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>result</TT
|
||||
>result</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -206,9 +206,9 @@ This field is filled in by the lwres_gabn_*() and lwres_gnba_*()
|
||||
calls.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>recvlength</TT
|
||||
>recvlength</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -218,9 +218,9 @@ is too large for replies.
|
||||
This field is supplied by the application.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>authtype</TT
|
||||
>authtype</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -230,9 +230,9 @@ and types between 0x0000 and 0x0fff are reserved for library use.
|
||||
Currently these are not used and must be zero.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>authlen</TT
|
||||
>authlen</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -250,9 +250,9 @@ Since packet authentication is currently not used, this must be zero.</P
|
||||
CLASS="VARIABLELIST"
|
||||
><DL
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>NOOP</TT
|
||||
>NOOP</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -260,9 +260,9 @@ CLASS="CONSTANT"
|
||||
The lwres_noop_*() functions should be used for this type.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>GETADDRSBYNAME</TT
|
||||
>GETADDRSBYNAME</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -270,9 +270,9 @@ CLASS="CONSTANT"
|
||||
The lwres_gabn_*() functions should be used for this type.</P
|
||||
></DD
|
||||
><DT
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="CONSTANT"
|
||||
>GETNAMEBYADDR</TT
|
||||
>GETNAMEBYADDR</CODE
|
||||
></DT
|
||||
><DD
|
||||
><P
|
||||
@@ -283,50 +283,40 @@ The lwres_gnba_*() functions should be used for this type.</P
|
||||
></DIV
|
||||
></P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_lwpacket_renderheader()</TT
|
||||
>lwres_lwpacket_renderheader()</CODE
|
||||
> transfers the
|
||||
contents of lightweight resolver packet structure
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
>lwres_lwpacket_t</SPAN
|
||||
> <TT
|
||||
> <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*pkt</I
|
||||
></TT
|
||||
>*pkt</VAR
|
||||
> in network
|
||||
byte order to the lightweight resolver buffer,
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_lwpacket_parseheader()</TT
|
||||
>lwres_lwpacket_parseheader()</CODE
|
||||
> performs the
|
||||
converse operation. It transfers data in network byte order from
|
||||
buffer <TT
|
||||
buffer <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
> to resolver packet
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*pkt</I
|
||||
></TT
|
||||
>*pkt</VAR
|
||||
>. The contents of the buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
> should correspond to a
|
||||
<SPAN
|
||||
CLASS="TYPE"
|
||||
@@ -342,29 +332,25 @@ NAME="AEN107"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
> Successful calls to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_lwpacket_renderheader()</TT
|
||||
>lwres_lwpacket_renderheader()</CODE
|
||||
> and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_lwpacket_parseheader()</TT
|
||||
>lwres_lwpacket_parseheader()</CODE
|
||||
> return
|
||||
<SPAN
|
||||
CLASS="ERRORCODE"
|
||||
>LWRES_R_SUCCESS</SPAN
|
||||
>. If there is insufficient
|
||||
space to copy data between the buffer <TT
|
||||
space to copy data between the buffer <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*b</I
|
||||
></TT
|
||||
>*b</VAR
|
||||
> and
|
||||
lightweight resolver packet <TT
|
||||
lightweight resolver packet <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*pkt</I
|
||||
></TT
|
||||
>*pkt</VAR
|
||||
> both functions
|
||||
return <SPAN
|
||||
CLASS="ERRORCODE"
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
- PERFORMANCE OF THIS SOFTWARE.
|
||||
-->
|
||||
|
||||
<!-- $Id: lwres_resutil.html,v 1.8.2.1.4.1 2004/03/06 08:15:42 marka Exp $ -->
|
||||
<!-- $Id: lwres_resutil.html,v 1.8.2.1.4.2 2004/08/22 23:39:05 marka Exp $ -->
|
||||
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>lwres_resutil</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.73
|
||||
"></HEAD
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
|
||||
><BODY
|
||||
CLASS="REFENTRY"
|
||||
BGCOLOR="#FFFFFF"
|
||||
@@ -35,8 +35,8 @@ ALINK="#0000FF"
|
||||
><H1
|
||||
><A
|
||||
NAME="AEN1"
|
||||
>lwres_resutil</A
|
||||
></H1
|
||||
></A
|
||||
>lwres_resutil</H1
|
||||
><DIV
|
||||
CLASS="REFNAMEDIV"
|
||||
><A
|
||||
@@ -54,11 +54,11 @@ NAME="AEN14"
|
||||
>Synopsis</H2
|
||||
><DIV
|
||||
CLASS="FUNCSYNOPSIS"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN15"
|
||||
></A
|
||||
><P
|
||||
></P
|
||||
><PRE
|
||||
CLASS="FUNCSYNOPSISINFO"
|
||||
>#include <lwres/lwres.h></PRE
|
||||
@@ -106,32 +106,26 @@ NAME="AEN43"
|
||||
><H2
|
||||
>DESCRIPTION</H2
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_string_parse()</TT
|
||||
>lwres_string_parse()</CODE
|
||||
> retrieves a DNS-encoded
|
||||
string starting the current pointer of lightweight resolver buffer
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>: i.e. <TT
|
||||
>b</VAR
|
||||
>: i.e. <CODE
|
||||
CLASS="CONSTANT"
|
||||
>b->current</TT
|
||||
>b->current</CODE
|
||||
>.
|
||||
When the function returns, the address of the first byte of the
|
||||
encoded string is returned via <TT
|
||||
encoded string is returned via <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*c</I
|
||||
></TT
|
||||
>*c</VAR
|
||||
> and the
|
||||
length of that string is given by <TT
|
||||
length of that string is given by <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*len</I
|
||||
></TT
|
||||
>*len</VAR
|
||||
>. The
|
||||
buffer's current pointer is advanced to point at the character
|
||||
following the string length, the encoded string, and the trailing
|
||||
@@ -140,45 +134,43 @@ CLASS="TYPE"
|
||||
>NULL</SPAN
|
||||
> character.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_addr_parse()</TT
|
||||
>lwres_addr_parse()</CODE
|
||||
> extracts an address from the
|
||||
buffer <TT
|
||||
buffer <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>b</I
|
||||
></TT
|
||||
>b</VAR
|
||||
>. The buffer's current pointer
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>b->current</TT
|
||||
>b->current</CODE
|
||||
> is presumed to point at an encoded
|
||||
address: the address preceded by a 32-bit protocol family identifier
|
||||
and a 16-bit length field. The encoded address is copied to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>addr->address</TT
|
||||
>addr->address</CODE
|
||||
> and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="CONSTANT"
|
||||
>addr->length</TT
|
||||
>addr->length</CODE
|
||||
> indicates the size in bytes of
|
||||
the address that was copied. <TT
|
||||
the address that was copied. <CODE
|
||||
CLASS="CONSTANT"
|
||||
>b->current</TT
|
||||
>b->current</CODE
|
||||
> is
|
||||
advanced to point at the next byte of available data in the buffer
|
||||
following the encoded address.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrsbyname()</TT
|
||||
>lwres_getaddrsbyname()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnamebyaddr()</TT
|
||||
>lwres_getnamebyaddr()</CODE
|
||||
>
|
||||
use the
|
||||
<SPAN
|
||||
@@ -213,27 +205,21 @@ CLASS="REFENTRYTITLE"
|
||||
functions.</P
|
||||
><P
|
||||
>The lightweight resolver uses
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrsbyname()</TT
|
||||
>lwres_getaddrsbyname()</CODE
|
||||
> to perform foward lookups.
|
||||
Hostname <TT
|
||||
Hostname <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>name</I
|
||||
></TT
|
||||
>name</VAR
|
||||
> is looked up using the resolver
|
||||
context <TT
|
||||
context <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
> for memory allocation.
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>addrtypes</I
|
||||
></TT
|
||||
>addrtypes</VAR
|
||||
> is a bitmask indicating which type of
|
||||
addresses are to be looked up. Current values for this bitmask are
|
||||
<SPAN
|
||||
@@ -244,29 +230,23 @@ CLASS="TYPE"
|
||||
CLASS="TYPE"
|
||||
>LWRES_ADDRTYPE_V6</SPAN
|
||||
> for IPv6 addresses. Results of the
|
||||
lookup are returned in <TT
|
||||
lookup are returned in <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*structp</I
|
||||
></TT
|
||||
>*structp</VAR
|
||||
>.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnamebyaddr()</TT
|
||||
>lwres_getnamebyaddr()</CODE
|
||||
> performs reverse lookups.
|
||||
Resolver context <TT
|
||||
Resolver context <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>ctx</I
|
||||
></TT
|
||||
>ctx</VAR
|
||||
> is used for memory
|
||||
allocation. The address type is indicated by
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>addrtype</I
|
||||
></TT
|
||||
>addrtype</VAR
|
||||
>: <SPAN
|
||||
CLASS="TYPE"
|
||||
>LWRES_ADDRTYPE_V4</SPAN
|
||||
@@ -275,23 +255,17 @@ CLASS="TYPE"
|
||||
CLASS="TYPE"
|
||||
>LWRES_ADDRTYPE_V6</SPAN
|
||||
>. The address to be looked up is given
|
||||
by <TT
|
||||
by <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>addr</I
|
||||
></TT
|
||||
>addr</VAR
|
||||
> and its length is
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>addrlen</I
|
||||
></TT
|
||||
>addrlen</VAR
|
||||
> bytes. The result of the function call
|
||||
is made available through <TT
|
||||
is made available through <VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>*structp</I
|
||||
></TT
|
||||
>*structp</VAR
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
@@ -303,14 +277,14 @@ NAME="AEN84"
|
||||
>RETURN VALUES</H2
|
||||
><P
|
||||
>Successful calls to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_string_parse()</TT
|
||||
>lwres_string_parse()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_addr_parse()</TT
|
||||
>lwres_addr_parse()</CODE
|
||||
>
|
||||
return
|
||||
<SPAN
|
||||
@@ -330,9 +304,9 @@ CLASS="ERRORCODE"
|
||||
if the buffer has less space than expected for the components of the
|
||||
encoded string or address.</P
|
||||
><P
|
||||
><TT
|
||||
><CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrsbyname()</TT
|
||||
>lwres_getaddrsbyname()</CODE
|
||||
>
|
||||
returns
|
||||
<SPAN
|
||||
@@ -345,11 +319,9 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_NOTFOUND</SPAN
|
||||
>
|
||||
if the hostname
|
||||
<TT
|
||||
<VAR
|
||||
CLASS="PARAMETER"
|
||||
><I
|
||||
>name</I
|
||||
></TT
|
||||
>name</VAR
|
||||
>
|
||||
could not be found.</P
|
||||
><P
|
||||
@@ -358,20 +330,20 @@ CLASS="ERRORCODE"
|
||||
>LWRES_R_SUCCESS</SPAN
|
||||
>
|
||||
is returned by a successful call to
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnamebyaddr()</TT
|
||||
>lwres_getnamebyaddr()</CODE
|
||||
>.</P
|
||||
><P
|
||||
>Both
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getaddrsbyname()</TT
|
||||
>lwres_getaddrsbyname()</CODE
|
||||
>
|
||||
and
|
||||
<TT
|
||||
<CODE
|
||||
CLASS="FUNCTION"
|
||||
>lwres_getnamebyaddr()</TT
|
||||
>lwres_getnamebyaddr()</CODE
|
||||
>
|
||||
return
|
||||
<SPAN
|
||||
|
||||
Reference in New Issue
Block a user