lwres_buffer.html revision ddccd5811feff696ba460dabfb666ce61040f545
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews<!--
885f47576842cf3c569315b9a48bd9f0ca03f203Automatic Updater - Copyright (C) 2000, 2001 Internet Software Consortium.
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater -
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater - Permission to use, copy, modify, and distribute this software for any
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater - purpose with or without fee is hereby granted, provided that the above
2bb3422dc683c013db7042f5736240de6b86f182Automatic Updater - copyright notice and this permission notice appear in all copies.
0bddff542cf2ae1b6595020f2f72ca482c6b438fAutomatic Updater -
75b70a68aefaa17ac4e768d5ed85d2f50d471490Automatic Updater - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
ea854b585041ad19f70f7af15e08144ef2c2bd1bMark Andrews - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
78cb74fab4665da2e2641ba909c6f59f74cc4193Automatic Updater - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
c89d02f2fb4c06168236d600e86831cff324f763Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
90ff38a0d8deaf5f9c2aa5916d99b2e572d28738Automatic Updater - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
ac4e70ff8955669341f435bc0a734a17c01af124Mark Andrews - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater-->
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<HTML
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><HEAD
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater><TITLE
56874aef380a64a2c183b7c282c3e7a361d67fa1Automatic Updater>lwres_buffer</TITLE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><META
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic UpdaterNAME="GENERATOR"
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic UpdaterCONTENT="Modular DocBook HTML Stylesheet Version 1.61
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews"></HEAD
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><BODY
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic UpdaterCLASS="REFENTRY"
80faf1588895fd26490f82f95a7a1b771df1c324Automatic UpdaterBGCOLOR="#FFFFFF"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsTEXT="#000000"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterLINK="#0000FF"
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark AndrewsVLINK="#840084"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterALINK="#0000FF"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson><H1
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><A
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterNAME="AEN1"
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson>lwres_buffer</A
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater></H1
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><DIV
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCLASS="REFNAMEDIV"
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt><A
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterNAME="AEN8"
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater></A
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt><H2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater>Name</H2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater>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&nbsp;--&nbsp;lightweight resolver buffer management</DIV
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><DIV
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan HuntCLASS="REFSYNOPSISDIV"
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater><A
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic UpdaterNAME="AEN26"
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt></A
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><H2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater>Synopsis</H2
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><DIV
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCLASS="FUNCSYNOPSIS"
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><A
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic UpdaterNAME="AEN27"
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater></A
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><P
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater></P
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><PRE
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterCLASS="FUNCSYNOPSISINFO"
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews>#include &lt;lwres/lwbuffer.h&gt;</PRE
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews><P
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews><CODE
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><CODE
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterCLASS="FUNCDEF"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews>void
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updaterlwres_buffer_init</CODE
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater>(lwres_buffer_t *b, void *base, unsigned int length);</CODE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews></P
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater><P
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><CODE
db5b7e2cdf150c46e8242d3e2e3ad3f5c7300258Automatic Updater><CODE
80faf1588895fd26490f82f95a7a1b771df1c324Automatic UpdaterCLASS="FUNCDEF"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews>void
1a06700908f5a1d9f4a8d51285a0fd971e2f9117Automatic Updaterlwres_buffer_invalidate</CODE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews>(lwres_buffer_t *b);</CODE
db5b7e2cdf150c46e8242d3e2e3ad3f5c7300258Automatic Updater></P
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews><P
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><CODE
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonCLASS="FUNCDEF"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater>void
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterlwres_buffer_add</CODE
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews>(lwres_buffer_t *b, unsigned int n);</CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater></P
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson><P
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><CODE
91216cff91b34c9ff6e846dc23f248219cafe660Andreas GustafssonCLASS="FUNCDEF"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater>void
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterlwres_buffer_subtract</CODE
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater>(lwres_buffer_t *b, unsigned int n);</CODE
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater></P
55e03fc54708d97917bf26639b987f759bdc1f44Automatic Updater><P
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater><CODE
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater><CODE
2a31bd531072824ef252c18303859d6af7451b00Francis DupontCLASS="FUNCDEF"
52367885450d8f61d4f2d63292beb15ba8f39ac7Automatic Updater>void
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updaterlwres_buffer_clear</CODE
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont>(lwres_buffer_t *b);</CODE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews></P
52367885450d8f61d4f2d63292beb15ba8f39ac7Automatic Updater><P
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater><CODE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><CODE
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic UpdaterCLASS="FUNCDEF"
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater>void
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updaterlwres_buffer_first</CODE
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater>(lwres_buffer_t *b);</CODE
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater></P
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater><P
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater><CODE
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater><CODE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsCLASS="FUNCDEF"
885f47576842cf3c569315b9a48bd9f0ca03f203Automatic Updater>void
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterlwres_buffer_forward</CODE
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews>(lwres_buffer_t *b, unsigned int n);</CODE
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater></P
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><P
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><CODE
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater><CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCLASS="FUNCDEF"
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater>void
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updaterlwres_buffer_back</CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater>(lwres_buffer_t *b, unsigned int n);</CODE
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater></P
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><P
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater><CODE
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson><CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCLASS="FUNCDEF"
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews>lwres_uint8_t
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonlwres_buffer_getuint8</CODE
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater>(lwres_buffer_t *b);</CODE
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater></P
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater><P
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater><CODE
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater><CODE
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic UpdaterCLASS="FUNCDEF"
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater>void
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonlwres_buffer_putuint8</CODE
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater>(lwres_buffer_t *b, lwres_uint8_t val);</CODE
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater></P
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater><P
e8c7dc2a5ce48f11c07a67c9923eeb8f419ff19fEvan Hunt><CODE
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic Updater><CODE
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic UpdaterCLASS="FUNCDEF"
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater>lwres_uint16_t
2bb3422dc683c013db7042f5736240de6b86f182Automatic Updaterlwres_buffer_getuint16</CODE
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater>(lwres_buffer_t *b);</CODE
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater></P
3b6e4c84a525b0b3fc9e8affd8bb9fa5c000345fAutomatic Updater><P
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater><CODE
d145b64cacc8d9cda51f9924ec70cd4661c3e2cfAutomatic Updater><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCDEF"
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater>void
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updaterlwres_buffer_putuint16</CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>(lwres_buffer_t *b, lwres_uint16_t val);</CODE
0df8ead472f207020f8da22a185fe4b945248ab8Automatic Updater></P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><CODE
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCDEF"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_uint32_t
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updaterlwres_buffer_getuint32</CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>(lwres_buffer_t *b);</CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater></P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><P
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCDEF"
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater>void
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterlwres_buffer_putuint32</CODE
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater>(lwres_buffer_t *b, lwres_uint32_t val);</CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater></P
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater><P
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCDEF"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>void
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updaterlwres_buffer_putmem</CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>(lwres_buffer_t *b, const unsigned char *base, unsigned int length);</CODE
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updater></P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><P
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater><CODE
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews><CODE
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCDEF"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater>void
bbb069be941f649228760edcc241122933c066d2Automatic Updaterlwres_buffer_getmem</CODE
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater>(lwres_buffer_t *b, unsigned char *base, unsigned int length);</CODE
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater></P
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><P
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater></P
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater></DIV
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews></DIV
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><DIV
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterCLASS="REFSECT1"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><A
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsNAME="AEN106"
5ae0e2c8b72fa44237edeb37d1945b1c3535ca39Automatic Updater></A
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><H2
f7c88d61cc1ad2435b0b7cfaedfc9d5248c0be25Automatic Updater>DESCRIPTION</H2
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews><P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>These functions provide bounds checked access to a region of memory
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updaterwhere data is being read or written.
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic UpdaterThey are based on, and similar to, the
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic UpdaterCLASS="LITERAL"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater>isc_buffer_</TT
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonfunctions in the ISC library.</P
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><P
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater>A buffer is a region of memory, together with a set of related
96713299d08c0735c18ebe8772dd2cc1ecd4356aAutomatic Updatersubregions.
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterThe <I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="EMPHASIS"
cf7e98f59148b559946a7f1ca728471374f1eef3Automatic Updater>used region</I
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater> and the
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson<I
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterCLASS="EMPHASIS"
361bec4bdec45042897fb479b7071cd05bbd56b9Automatic Updater>available</I
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater> region are disjoint, and
71bd43eebd9d6e42dbcae62b730f5b6508d5acd8Automatic Updatertheir union is the buffer's region.
0ce87e5749aabb8eef1e0a37e4bd6e6ffa1d7196Automatic UpdaterThe used region extends from the beginning of the buffer region to the
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonlast used byte.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic UpdaterThe available region extends from one byte greater than the last used
3857cb6fcabeb79d85de4b3e3e4ab99912b701f8Mark Andrewsbyte to the end of the buffer's region.
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterThe size of the used region can be changed using various
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updaterbuffer commands.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsInitially, the used region is empty.</P
9174e44c14b1cb91a651fa1dc29470438c246ab9Automatic Updater><P
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson>The used region is further subdivided into two disjoint regions: the
e2caa7536302de34de6cc04025abcd53dc3a499aAutomatic Updater<I
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic UpdaterCLASS="EMPHASIS"
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic Updater>consumed region</I
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic Updater> and the <I
56e7dc0c24b04210dcbffb180a9e35644fb820daAutomatic UpdaterCLASS="EMPHASIS"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>remaining region</I
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater>.
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterThe union of these two regions is the used region.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsThe consumed region extends from the beginning of the used region to
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updaterthe byte before the <I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="EMPHASIS"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews>current</I
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark Andrews> offset (if any).
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark AndrewsThe <I
4b2cb1422c7c600fbc13b1cb06a8b4693bc11af8Mark AndrewsCLASS="EMPHASIS"
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews>remaining</I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater> region the current pointer to the end of the used
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterregion.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterThe size of the consumed region can be changed using various
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafssonbuffer commands.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic UpdaterInitially, the consumed region is empty.</P
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews><P
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews>The <I
ac4e70ff8955669341f435bc0a734a17c01af124Mark AndrewsCLASS="EMPHASIS"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>active region</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington> is an (optional) subregion of the remaining
b4cebdb6ccde66a8f3e397a1b90b0cf788519d69Automatic Updaterregion.
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterIt extends from the current offset to an offset in the
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterremaining region.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterInitially, the active region is empty.
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterIf the current offset advances beyond the chosen offset,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterthe active region will also be empty.</P
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><P
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater><PRE
bc0a4c01beede169df81a3ee5b614ed9e82339dbAutomatic UpdaterCLASS="PROGRAMLISTING"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater /------------entire length---------------\\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington /----- used region -----\\/-- available --\\
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington +----------------------------------------+
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington | consumed | remaining | |
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington +----------------------------------------+
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a b c d e
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a == base of buffer.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington b == current pointer. Can be anywhere between a and d.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington c == active pointer. Meaningful between b and d.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington d == used pointer.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington e == length of buffer.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a-e == entire length of buffer.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a-d == used region.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington a-b == consumed region.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington b-d == remaining region.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington b-c == optional active region.</PRE
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="FUNCTION"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>lwres_buffer_init()</TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtoninitializes the
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<SPAN
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="TYPE"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>lwres_buffer_t</SPAN
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>*b</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonand assocates it with the memory region of size
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>length</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonbytes starting at location
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>base.</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><TT
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic UpdaterCLASS="FUNCTION"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater>lwres_buffer_invalidate()</TT
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater>
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updatermarks the buffer
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater<TT
ae7e54b14c946e0984c191554db9abb4893f9349Automatic UpdaterCLASS="PARAMETER"
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater><I
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater>*b</I
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater></TT
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater>
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updateras invalid. Invalidating a buffer after use is not required,
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updaterbut makes it possible to catch its possible accidental use.</P
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater><P
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater>The functions
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater<TT
ae7e54b14c946e0984c191554db9abb4893f9349Automatic UpdaterCLASS="FUNCTION"
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater>lwres_buffer_add()</TT
0d3490f93bb980fde704055e74c1b508987a5fe4Mark Andrews>
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellingtonand
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington<TT
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonCLASS="FUNCTION"
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington>lwres_buffer_subtract()</TT
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews>
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrewsrespectively increase and decrease the used space in
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonbuffer
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews<TT
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonCLASS="PARAMETER"
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews><I
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater>*b</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater>
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updaterby
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>n</I
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterbytes.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_add()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterchecks for buffer overflow and
c01dec514a81ecf8c17ca3ef8c3ba95e437295ebAutomatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_subtract()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterchecks for underflow.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterThese functions do not allocate or deallocate memory.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterThey just change the value of
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterCLASS="STRUCTFIELD"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>used</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>.</P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>A buffer is re-initialised by
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="FUNCTION"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>lwres_buffer_clear()</TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonThe function sets
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="STRUCTFIELD"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>used</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington> ,
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark AndrewsCLASS="STRUCTFIELD"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>current</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater>
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updaterand
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic UpdaterCLASS="STRUCTFIELD"
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater><I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>active</I
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonto zero.</P
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><TT
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark AndrewsCLASS="FUNCTION"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews>lwres_buffer_first</TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonmakes the consumed region of buffer
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>*p</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
b7aab05edae933e169d5f83c653935b17c7f0a8bMark Andrewsempty by setting
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="STRUCTFIELD"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews>current</I
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonto zero (the start of the buffer).</P
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews><P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="FUNCTION"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>lwres_buffer_forward()</TT
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonincreases the consumed region of buffer
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>*b</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonby
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>n</I
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterbytes, checking for overflow.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterSimilarly,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater>lwres_buffer_back()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterdecreases buffer
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>b</I
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>'s
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrewsconsumed region by
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark AndrewsCLASS="PARAMETER"
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews><I
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews>n</I
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews></TT
7adcb4de92bf4383a4c5624c4ed256736d02bc6dMark Andrews>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonbytes and checks for underflow.</P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><P
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="FUNCTION"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>lwres_buffer_getuint8()</TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellingtonreads an unsigned 8-bit integer from
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>*b</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
a26b22914b7bf25f065afb8cdef983766dcd672bAutomatic Updater>
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updaterand returns it.
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_putuint8()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterwrites the unsigned 8-bit integer
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater><I
b0d566a2ce0f5a67f537ee7f8233f82f2584cc61Automatic Updater>val</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
b4cebdb6ccde66a8f3e397a1b90b0cf788519d69Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterto buffer
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="PARAMETER"
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater><I
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews>*b</I
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater></TT
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater>.</P
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater><P
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater><TT
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic UpdaterCLASS="FUNCTION"
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater>lwres_buffer_getuint16()</TT
532d27b39244fadfcf8d8b4593f4c65434c9c664Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterand
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington<TT
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian WellingtonCLASS="FUNCTION"
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington>lwres_buffer_getuint32()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterare identical to
d4ef65050feac78554addf6e16a06c6e2e0bd331Brian Wellington<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_putuint8()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterexcept that they respectively read an unsigned 16-bit or 32-bit integer
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterin network byte order from
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>b</I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterSimilarly,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater>lwres_buffer_putuint16()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updaterand
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_putuint32()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterwrites the unsigned 16-bit or 32-bit integer
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
47ce374fcf4bac7a56bb69f5dae1d30be5b4376dAutomatic Updater><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>val</I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterto buffer
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>b</I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>,
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterin network byte order.</P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><P
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>Arbitrary amounts of data are read or written from a lightweight
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterresolver buffer with
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_getmem()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterand
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_putmem()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterrespectively.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_putmem()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatercopies
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
6c6a121295b30772cbf3dd75a51fb9d883051a0eAutomatic Updater><I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>length</I
068a66979695c77359e7a9181bb3f831c965b21cMark Andrews></TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updaterbytes of memory at
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><I
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater>base</I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington></TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updaterto
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater<TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterCLASS="PARAMETER"
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater><I
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>b</I
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater></TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>.
2da2220fe7af2c45724b50b0187523b1fab0cf08Rob AusteinConversely,
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater<TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian WellingtonCLASS="FUNCTION"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>lwres_buffer_getmem()</TT
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater>
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updatercopies
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater<TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic UpdaterCLASS="PARAMETER"
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater><I
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>length</I
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater></TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updaterbytes of memory from
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater<TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic UpdaterCLASS="PARAMETER"
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater><I
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>b</I
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater></TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updaterto
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater<TT
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic UpdaterCLASS="PARAMETER"
ae7e54b14c946e0984c191554db9abb4893f9349Automatic Updater><I
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>base</I
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater></TT
9e3a7b0faf417a10f5f689edf288807b2d5eedc5Brian Wellington>.</P
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater></DIV
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater></BODY
fd7c65dce9c2b1a3d12ca4df9074cd38019fdb5fAutomatic Updater></HTML
7af91d15b2ce1ce32f7320f6d5cc3b83621c241aAutomatic Updater>