lwres_buffer.html revision ddccd5811feff696ba460dabfb666ce61040f545
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - Copyright (C) 2000, 2001 Internet Software Consortium.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - Permission to use, copy, modify, and distribute this software for any
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - purpose with or without fee is hereby granted, provided that the above
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - copyright notice and this permission notice appear in all copies.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer</TITLE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonNAME="GENERATOR"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCONTENT="Modular DocBook HTML Stylesheet Version 1.61
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFENTRY"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonBGCOLOR="#FFFFFF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonVLINK="#840084"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonALINK="#0000FF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer</A
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFNAMEDIV"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_init, lwres_buffer_invalidate, lwres_buffer_add, lwres_buffer_subtract, lwres_buffer_clear, lwres_buffer_first, lwres_buffer_forward, lwres_buffer_back, lwres_buffer_getuint8, lwres_buffer_putuint8, lwres_buffer_getuint16, lwres_buffer_putuint16, lwres_buffer_getuint32, lwres_buffer_putuint32, lwres_buffer_putmem, lwres_buffer_getmem -- lightweight resolver buffer management</DIV
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSYNOPSISDIV"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCSYNOPSIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCSYNOPSISINFO"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_init</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, void *base, unsigned int length);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_invalidate</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_add</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, unsigned int n);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_subtract</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, unsigned int n);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_clear</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_first</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_forward</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, unsigned int n);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_back</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, unsigned int n);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_getuint8</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_putuint8</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, lwres_uint8_t val);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_uint16_t
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_getuint16</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_putuint16</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, lwres_uint16_t val);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_uint32_t
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_getuint32</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_putuint32</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, lwres_uint32_t val);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_putmem</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, const unsigned char *base, unsigned int length);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCDEF"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlwres_buffer_getmem</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>(lwres_buffer_t *b, unsigned char *base, unsigned int length);</CODE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="REFSECT1"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>DESCRIPTION</H2
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>These functions provide bounds checked access to a region of memory
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonwhere data is being read or written.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThey are based on, and similar to, the
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="LITERAL"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>isc_buffer_</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonfunctions in the ISC library.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>A buffer is a region of memory, together with a set of related
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>used region</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> region are disjoint, and
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssontheir union is the buffer's region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe used region extends from the beginning of the buffer region to the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonlast used byte.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe available region extends from one byte greater than the last used
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbyte to the end of the buffer's region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe size of the used region can be changed using various
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbuffer commands.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonInitially, the used region is empty.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>The used region is further subdivided into two disjoint regions: the
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>consumed region</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>remaining region</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe union of these two regions is the used region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe consumed region extends from the beginning of the used region to
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonthe byte before the <I
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> offset (if any).
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> region the current pointer to the end of the used
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe size of the consumed region can be changed using various
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbuffer commands.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonInitially, the consumed region is empty.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="EMPHASIS"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>active region</I
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson> is an (optional) subregion of the remaining
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonIt extends from the current offset to an offset in the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonremaining region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonInitially, the active region is empty.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonIf the current offset advances beyond the chosen offset,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonthe active region will also be empty.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PROGRAMLISTING"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson /------------entire length---------------\\
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson /----- used region -----\\/-- available --\\
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson +----------------------------------------+
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson | consumed | remaining | |
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson +----------------------------------------+
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson a == base of buffer.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson b == current pointer. Can be anywhere between a and d.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson c == active pointer. Meaningful between b and d.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson d == used pointer.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson e == length of buffer.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson a-e == entire length of buffer.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson a-d == used region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson a-b == consumed region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson b-d == remaining region.
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson b-c == optional active region.</PRE
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_init()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssoninitializes the
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_t</SPAN
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand assocates it with the memory region of size
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbytes starting at location
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_invalidate()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonmarks the buffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonas invalid. Invalidating a buffer after use is not required,
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbut makes it possible to catch its possible accidental use.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_add()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_subtract()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonrespectively increase and decrease the used space in
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_add()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonchecks for buffer overflow and
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_subtract()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonchecks for underflow.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThese functions do not allocate or deallocate memory.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThey just change the value of
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="STRUCTFIELD"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>A buffer is re-initialised by
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_clear()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonThe function sets
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="STRUCTFIELD"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="STRUCTFIELD"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="STRUCTFIELD"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_first</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonmakes the consumed region of buffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonempty by setting
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="STRUCTFIELD"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonto zero (the start of the buffer).</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_forward()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonincreases the consumed region of buffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbytes, checking for overflow.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_back()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssondecreases buffer
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonconsumed region by
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbytes and checks for underflow.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_getuint8()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonreads an unsigned 8-bit integer from
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonand returns it.
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_putuint8()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonwrites the unsigned 8-bit integer
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_getuint16()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_getuint32()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonare identical to
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_putuint8()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonexcept that they respectively read an unsigned 16-bit or 32-bit integer
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonin network byte order from
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_putuint16()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_putuint32()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonwrites the unsigned 16-bit or 32-bit integer
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonin network byte order.</P
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>Arbitrary amounts of data are read or written from a lightweight
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonresolver buffer with
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_getmem()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_putmem()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_putmem()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbytes of memory at
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="FUNCTION"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafsson>lwres_buffer_getmem()</TT
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas Gustafssonbytes of memory from
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"
ddccd5811feff696ba460dabfb666ce61040f545Andreas GustafssonCLASS="PARAMETER"