lwres_resutil.html revision a24330c4805a224191ab687d0291963062fe3355
f743002678eb67b99bbc29fee116b65d9530fec0wrowe<!--
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankg - Copyright (C) 2004, 2005, 2007, 2014 Internet Systems Consortium, Inc. ("ISC")
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem - Copyright (C) 2000, 2001 Internet Software Consortium.
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic -
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic - Permission to use, copy, modify, and/or distribute this software for any
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic - purpose with or without fee is hereby granted, provided that the above
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic - copyright notice and this permission notice appear in all copies.
4da61833a1cbbca94094f9653fd970582b97a72etrawick -
4da61833a1cbbca94094f9653fd970582b97a72etrawick - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
4da61833a1cbbca94094f9653fd970582b97a72etrawick - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
4da61833a1cbbca94094f9653fd970582b97a72etrawick - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
4da61833a1cbbca94094f9653fd970582b97a72etrawick - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
4789804be088bcd86ae637a29cdb7fda25169521jailletc - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
4789804be088bcd86ae637a29cdb7fda25169521jailletc - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
4789804be088bcd86ae637a29cdb7fda25169521jailletc - PERFORMANCE OF THIS SOFTWARE.
4789804be088bcd86ae637a29cdb7fda25169521jailletc-->
e50c3026198fd496f183cda4c32a202925476778covener<!-- $Id$ -->
e50c3026198fd496f183cda4c32a202925476778covener<html>
e50c3026198fd496f183cda4c32a202925476778covener<head>
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin<title>lwres_resutil</title>
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic</head>
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic<a name="id2476274"></a><div class="titlepage"></div>
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic<div class="refnamediv">
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic<h2>Name</h2>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic<p>lwres_string_parse, lwres_addr_parse, lwres_getaddrsbyname, lwres_getnamebyaddr &#8212; lightweight resolver utility functions</p>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic</div>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic<div class="refsynopsisdiv">
69301145375a889e7e37caf7cc7321ac0f91801erpluem<h2>Synopsis</h2>
69301145375a889e7e37caf7cc7321ac0f91801erpluem<div class="funcsynopsis">
69301145375a889e7e37caf7cc7321ac0f91801erpluem<pre class="funcsynopsisinfo">#include &lt;lwres/lwres.h&gt;</pre>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
506bfe33206b2fece40ef25f695af39dd4130facjkaluza<tr>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza<td><code class="funcdef">
506bfe33206b2fece40ef25f695af39dd4130facjkaluzalwres_result_t
d58a848a016d401b965111e50ef829e1641f7834minfrin<b class="fsfunc">lwres_string_parse</b>(</code></td>
d58a848a016d401b965111e50ef829e1641f7834minfrin<td>lwres_buffer_t *�</td>
d58a848a016d401b965111e50ef829e1641f7834minfrin<td>
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf<var class="pdparam">b</var>, </td>
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf</tr>
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf<tr>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic<td>�</td>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic<td>char **�</td>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic<td>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic<var class="pdparam">c</var>, </td>
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic</tr>
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic<tr>
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic<td>�</td>
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic<td>lwres_uint16_t *�</td>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic<td>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic<var class="pdparam">len</var><code>)</code>;</td>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic</tr>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic</table>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic<tr>
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic<td><code class="funcdef">
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerlwres_result_t
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener<b class="fsfunc">lwres_addr_parse</b>(</code></td>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener<td>lwres_buffer_t *�</td>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener<td>
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener<var class="pdparam">b</var>, </td>
44ff304057225e944e220e981d434a046d14cf06covener</tr>
44ff304057225e944e220e981d434a046d14cf06covener<tr>
44ff304057225e944e220e981d434a046d14cf06covener<td>�</td>
44ff304057225e944e220e981d434a046d14cf06covener<td>lwres_addr_t *�</td>
5d1ba75b8794925e67591c209085a49279791de9covener<td>
5d1ba75b8794925e67591c209085a49279791de9covener<var class="pdparam">addr</var><code>)</code>;</td>
5d1ba75b8794925e67591c209085a49279791de9covener</tr>
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand</table>
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand<tr>
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand<td><code class="funcdef">
caad2986f81ab263f7af41467dd622dc9add17f3ylaviclwres_result_t
caad2986f81ab263f7af41467dd622dc9add17f3ylavic<b class="fsfunc">lwres_getaddrsbyname</b>(</code></td>
caad2986f81ab263f7af41467dd622dc9add17f3ylavic<td>lwres_context_t *�</td>
caad2986f81ab263f7af41467dd622dc9add17f3ylavic<td>
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc<var class="pdparam">ctx</var>, </td>
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton</tr>
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton<tr>
2165214331e4afafca4048f66f303d0253d7b001covener<td>�</td>
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem<td>const char *�</td>
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem<td>
1e2d421a36999d292042a5539971070d54aa6c63ylavic<var class="pdparam">name</var>, </td>
1e2d421a36999d292042a5539971070d54aa6c63ylavic</tr>
1e2d421a36999d292042a5539971070d54aa6c63ylavic<tr>
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh<td>�</td>
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh<td>lwres_uint32_t �</td>
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh<td>
0b67eb8568cd58bb77082703951679b42cf098actrawick<var class="pdparam">addrtypes</var>, </td>
0b67eb8568cd58bb77082703951679b42cf098actrawick</tr>
0b67eb8568cd58bb77082703951679b42cf098actrawick<tr>
0b67eb8568cd58bb77082703951679b42cf098actrawick<td>�</td>
5ef3c61605a3a021ff71f488983cb0065f8e1a79covener<td>lwres_gabnresponse_t **�</td>
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener<td>
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener<var class="pdparam">structp</var><code>)</code>;</td>
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic</tr>
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic</table>
3060ce7f798fbda7999cd4ddf89b525d2b294185covener<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0">
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic<tr>
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic<td><code class="funcdef">
c1a63b8fad09c419c1a64f75993feb8a343a6801ylaviclwres_result_t
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc<b class="fsfunc">lwres_getnamebyaddr</b>(</code></td>
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc<td>lwres_context_t *�</td>
e466c40e1801982602ee0200c9e8b61cc148742djailletc<td>
e466c40e1801982602ee0200c9e8b61cc148742djailletc<var class="pdparam">ctx</var>, </td>
457468b82e59d01eba00dd9d0817309c8f5e414ejim</tr>
457468b82e59d01eba00dd9d0817309c8f5e414ejim<tr>
457468b82e59d01eba00dd9d0817309c8f5e414ejim<td>�</td>
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton<td>lwres_uint32_t �</td>
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton<td>
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem<var class="pdparam">addrtype</var>, </td>
15660979a30d251681463de2e0584853890082accovener</tr>
15660979a30d251681463de2e0584853890082accovener<tr>
49dacedb6c387b786b7911082ff35121a45f414bcovener<td>�</td>
49dacedb6c387b786b7911082ff35121a45f414bcovener<td>lwres_uint16_t �</td>
cfd9415521847b2f9394fad04fb701cfb955f503rjung<td>
cfd9415521847b2f9394fad04fb701cfb955f503rjung<var class="pdparam">addrlen</var>, </td>
cfd9415521847b2f9394fad04fb701cfb955f503rjung</tr>
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe<tr>
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe<td>�</td>
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe<td>const unsigned char *�</td>
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe<td>
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe<var class="pdparam">addr</var>, </td>
8491e0600f69b0405e156ea8a419653c065c645bcovener</tr>
63b9f1f5880391261705f696d7d65507bbe9ace3covener<tr>
63b9f1f5880391261705f696d7d65507bbe9ace3covener<td>�</td>
63b9f1f5880391261705f696d7d65507bbe9ace3covener<td>lwres_gnbaresponse_t **�</td>
49dacedb6c387b786b7911082ff35121a45f414bcovener<td>
49dacedb6c387b786b7911082ff35121a45f414bcovener<var class="pdparam">structp</var><code>)</code>;</td>
49dacedb6c387b786b7911082ff35121a45f414bcovener</tr>
49dacedb6c387b786b7911082ff35121a45f414bcovener</table>
3c990331fc6702119e4f5b8ba9eae3021aea5265jim</div>
3c990331fc6702119e4f5b8ba9eae3021aea5265jim</div>
3c990331fc6702119e4f5b8ba9eae3021aea5265jim<div class="refsect1" lang="en">
3c990331fc6702119e4f5b8ba9eae3021aea5265jim<a name="id2543469"></a><h2>DESCRIPTION</h2>
fc42512879dd0504532f52fe5d0d0383dda96a1eniq<p><code class="function">lwres_string_parse()</code>
fc42512879dd0504532f52fe5d0d0383dda96a1eniq retrieves a DNS-encoded string starting the current pointer of
fc42512879dd0504532f52fe5d0d0383dda96a1eniq lightweight resolver buffer <em class="parameter"><code>b</code></em>: i.e.
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq <code class="constant">b-&gt;current</code>. When the function returns,
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq the address of the first byte of the encoded string is returned
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq via <em class="parameter"><code>*c</code></em> and the length of that string is
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc given by <em class="parameter"><code>*len</code></em>. The buffer's current
983528026996668ea295be95aedb9c7a346af470ylavic pointer is advanced to point at the character following the
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc string length, the encoded string, and the trailing
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc <span class="type">NULL</span> character.
06b8f183140c8e02e0974e938a05078b511d1603covener </p>
06b8f183140c8e02e0974e938a05078b511d1603covener<p><code class="function">lwres_addr_parse()</code>
06b8f183140c8e02e0974e938a05078b511d1603covener extracts an address from the buffer <em class="parameter"><code>b</code></em>.
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem The buffer's current pointer <code class="constant">b-&gt;current</code>
259878293a997ff49f5ddfc53d3739cbdc25444ecovener is presumed to point at an encoded address: the address preceded
259878293a997ff49f5ddfc53d3739cbdc25444ecovener by a 32-bit protocol family identifier and a 16-bit length
259878293a997ff49f5ddfc53d3739cbdc25444ecovener field. The encoded address is copied to
259878293a997ff49f5ddfc53d3739cbdc25444ecovener <code class="constant">addr-&gt;address</code> and
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem <code class="constant">addr-&gt;length</code> indicates the size in bytes
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin of the address that was copied.
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin <code class="constant">b-&gt;current</code> is advanced to point at the
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin next byte of available data in the buffer following the encoded
65967d05f839dbf27cf91d91fa79585eeae19660minfrin address.
65967d05f839dbf27cf91d91fa79585eeae19660minfrin </p>
65967d05f839dbf27cf91d91fa79585eeae19660minfrin<p><code class="function">lwres_getaddrsbyname()</code>
65967d05f839dbf27cf91d91fa79585eeae19660minfrin and <code class="function">lwres_getnamebyaddr()</code> use the
8152945ae46857b170cb227e79bb799f4fc7710dminfrin <span class="type">lwres_gnbaresponse_t</span> structure defined below:
8152945ae46857b170cb227e79bb799f4fc7710dminfrin </p>
8152945ae46857b170cb227e79bb799f4fc7710dminfrin<pre class="programlisting">
8152945ae46857b170cb227e79bb799f4fc7710dminfrintypedef struct {
75f5c2db254c0167a0e396254460de09b775d203trawick lwres_uint32_t flags;
75f5c2db254c0167a0e396254460de09b775d203trawick lwres_uint16_t naliases;
75f5c2db254c0167a0e396254460de09b775d203trawick lwres_uint16_t naddrs;
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph char *realname;
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph char **aliases;
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph lwres_uint16_t realnamelen;
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick lwres_uint16_t *aliaslen;
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick lwres_addrlist_t addrs;
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick void *base;
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick size_t baselen;
54d750a84a175d8e338880514d440773eb986b50covener} lwres_gabnresponse_t;
54d750a84a175d8e338880514d440773eb986b50covener</pre>
54d750a84a175d8e338880514d440773eb986b50covener<p>
54d750a84a175d8e338880514d440773eb986b50covener The contents of this structure are not manipulated directly but
54d750a84a175d8e338880514d440773eb986b50covener they are controlled through the
54d750a84a175d8e338880514d440773eb986b50covener <span class="citerefentry"><span class="refentrytitle">lwres_gabn</span>(3)</span>
54d750a84a175d8e338880514d440773eb986b50covener functions.
54d750a84a175d8e338880514d440773eb986b50covener </p>
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covener<p>
54d750a84a175d8e338880514d440773eb986b50covener The lightweight resolver uses
54d750a84a175d8e338880514d440773eb986b50covener <code class="function">lwres_getaddrsbyname()</code> to perform
83b50288fa7d306324bba68832011ea08f5c7832covener forward lookups.
4e30ef014533a7e93c92d88306291f5e49c9692ftrawick Hostname <em class="parameter"><code>name</code></em> is looked up using the
83b50288fa7d306324bba68832011ea08f5c7832covener resolver
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick context <em class="parameter"><code>ctx</code></em> for memory allocation.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick <em class="parameter"><code>addrtypes</code></em> is a bitmask indicating
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick which type of
2e15620d724fb8e3a5be183b917359a2fd6e9468covener addresses are to be looked up. Current values for this bitmask are
2e15620d724fb8e3a5be183b917359a2fd6e9468covener <span class="type">LWRES_ADDRTYPE_V4</span> for IPv4 addresses and
2e15620d724fb8e3a5be183b917359a2fd6e9468covener <span class="type">LWRES_ADDRTYPE_V6</span> for IPv6 addresses. Results of the
2e15620d724fb8e3a5be183b917359a2fd6e9468covener lookup are returned in <em class="parameter"><code>*structp</code></em>.
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener </p>
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener<p><code class="function">lwres_getnamebyaddr()</code>
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener performs reverse lookups. Resolver context
1b988c41ee505962781d110a3e4c2c90f1ea0aa4covener <em class="parameter"><code>ctx</code></em> is used for memory allocation. The
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener address type is indicated by <em class="parameter"><code>addrtype</code></em>:
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener <span class="type">LWRES_ADDRTYPE_V4</span> or
b8efdc95bec9cf089aa1be0bfd07d46aa1137a7acovener <span class="type">LWRES_ADDRTYPE_V6</span>. The address to be looked up is
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd given by <em class="parameter"><code>addr</code></em> and its length is
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd <em class="parameter"><code>addrlen</code></em> bytes. The result of the
f06e7c4b1bce6b6491e5de0b7998d3f5696b293dchrisd function call is made available through
179565be4043d7e5f9161aa75271fa0a001866d9covener <em class="parameter"><code>*structp</code></em>.
179565be4043d7e5f9161aa75271fa0a001866d9covener </p>
179565be4043d7e5f9161aa75271fa0a001866d9covener</div>
111436a32ba1254291e4883292fb116d15fe8f64covener<div class="refsect1" lang="en">
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener<a name="id2543608"></a><h2>RETURN VALUES</h2>
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener<p>
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener Successful calls to
fce4949fb0b309a5744afcd503c6ed2d35621ee2covener <code class="function">lwres_string_parse()</code>
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick and
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick <code class="function">lwres_addr_parse()</code>
7b7430e701e9a31ce809da7c220bb8dfcf68c86etrawick return
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz <span class="errorcode">LWRES_R_SUCCESS.</span>
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz Both functions return
ccc20788c1e5fc973f36df634399c89acb70deaejerenkrantz <span class="errorcode">LWRES_R_FAILURE</span>
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza if the buffer is corrupt or
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza <span class="errorcode">LWRES_R_UNEXPECTEDEND</span>
273e512f20f262e5e2aa8e0e83371d1929fb76adjkaluza if the buffer has less space than expected for the components of the
efe780dcf13b2b95effabf897d694d8f23feac74trawick encoded string or address.
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin </p>
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin<p><code class="function">lwres_getaddrsbyname()</code>
fe83f60b41477b14a37edcfcd1f7f5c5a1ebfe44minfrin returns <span class="errorcode">LWRES_R_SUCCESS</span> on success and it
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza returns <span class="errorcode">LWRES_R_NOTFOUND</span> if the hostname
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza <em class="parameter"><code>name</code></em> could not be found.
993d1261a278d7322bccef219101220b7b4fb8c5jkaluza </p>
ba050a6f942b9fa0e81ed73437588005c569655ccovener<p><span class="errorcode">LWRES_R_SUCCESS</span>
ba050a6f942b9fa0e81ed73437588005c569655ccovener is returned by a successful call to
ba050a6f942b9fa0e81ed73437588005c569655ccovener <code class="function">lwres_getnamebyaddr()</code>.
ba050a6f942b9fa0e81ed73437588005c569655ccovener </p>
135ddda3a989215d2bedbcf1529bfb269c3eda23niq<p>
135ddda3a989215d2bedbcf1529bfb269c3eda23niq Both
135ddda3a989215d2bedbcf1529bfb269c3eda23niq <code class="function">lwres_getaddrsbyname()</code>
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh and
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh <code class="function">lwres_getnamebyaddr()</code>
001a44c352f89c9ec332ffd3e0a6927dcd19432chumbedooh return
efe780dcf13b2b95effabf897d694d8f23feac74trawick <span class="errorcode">LWRES_R_NOMEMORY</span>
793214f67dede32edfd9ee96c664ead04d175cbbjfclere when memory allocation requests fail and
cc5a4a08dc9783fcbc52ce86f11e01c281a43810minfrin <span class="errorcode">LWRES_R_UNEXPECTEDEND</span>
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener if the buffers used for sending queries and receiving replies are too
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener small.
9b0076ddd1103e5fa9c1f9bafde4b06ce244fbaecovener </p>
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza</div>
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza<div class="refsect1" lang="en">
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza<a name="id2543680"></a><h2>SEE ALSO</h2>
249d09d51808cb7981af99762c3b3736ca126cd5jkaluza<p><span class="citerefentry"><span class="refentrytitle">lwres_buffer</span>(3)</span>,
56589be3d7a3e9343370df240010c6928cc78b39jkaluza
56589be3d7a3e9343370df240010c6928cc78b39jkaluza <span class="citerefentry"><span class="refentrytitle">lwres_gabn</span>(3)</span>.
56589be3d7a3e9343370df240010c6928cc78b39jkaluza </p>
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc</div>
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc</div></body>
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc</html>
77ca16c5676da23155311e13cee61e7eaba9fa3ejailletc