lwres_gethostent.docbook revision 1753d3c4d74241a847794f7e7cfd94cc79be6600
37bd255fd499c26aaf474f4294212951b84d9068Mark Andrews<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
37bd255fd499c26aaf474f4294212951b84d9068Mark Andrews "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
37bd255fd499c26aaf474f4294212951b84d9068Mark Andrews [<!ENTITY mdash "&#8212;">]>
7aa21a491d9468bfc29d8cc331a4e963874426dfFrancis Dupont<!--
7aa21a491d9468bfc29d8cc331a4e963874426dfFrancis Dupont - Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
7aa21a491d9468bfc29d8cc331a4e963874426dfFrancis Dupont - Copyright (C) 2001 Internet Software Consortium.
34416a7954da96c5a5f5803fe02f059cb94bf6fdMark Andrews -
34416a7954da96c5a5f5803fe02f059cb94bf6fdMark Andrews - Permission to use, copy, modify, and/or distribute this software for any
34416a7954da96c5a5f5803fe02f059cb94bf6fdMark Andrews - purpose with or without fee is hereby granted, provided that the above
11e9195ad15d1a3f2b4dcd79b64a6e19d89bbac3Mark Andrews - copyright notice and this permission notice appear in all copies.
6100b1769956200b2815803ab7b35556396ce0d1Mark Andrews -
12a67391fd763fa67764dc993173eb0e90076503Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
12a67391fd763fa67764dc993173eb0e90076503Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
03152360db6fcb0fcc95fa63c20c5c829c95f1f6Mark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
03152360db6fcb0fcc95fa63c20c5c829c95f1f6Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
03152360db6fcb0fcc95fa63c20c5c829c95f1f6Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
aacd7daaf7859de742ab35eac00e70676b1b9f4fEvan Hunt - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
aacd7daaf7859de742ab35eac00e70676b1b9f4fEvan Hunt - PERFORMANCE OF THIS SOFTWARE.
aacd7daaf7859de742ab35eac00e70676b1b9f4fEvan Hunt-->
a379c8c108de279cc4e09139c12457c1531bd122Mark Andrews
a379c8c108de279cc4e09139c12457c1531bd122Mark Andrews<refentry>
a379c8c108de279cc4e09139c12457c1531bd122Mark Andrews
a379c8c108de279cc4e09139c12457c1531bd122Mark Andrews <refentryinfo>
7433a204d32673e9f6747172f202272cc5bfe27cMark Andrews <date>June 18, 2007</date>
7433a204d32673e9f6747172f202272cc5bfe27cMark Andrews </refentryinfo>
7433a204d32673e9f6747172f202272cc5bfe27cMark Andrews
1a4725bef25e60de161f77318f362c327b690d72Mark Andrews <refmeta>
1a4725bef25e60de161f77318f362c327b690d72Mark Andrews <refentrytitle>lwres_gethostent</refentrytitle>
1a4725bef25e60de161f77318f362c327b690d72Mark Andrews <manvolnum>3</manvolnum>
5bb783ce9ab27c13627f6bf2dd11de4d8a2c9c7bMark Andrews <refmiscinfo>BIND9</refmiscinfo>
c9ee72cb3acb4562c43333b206737ee94cbbda5eMark Andrews </refmeta>
c9ee72cb3acb4562c43333b206737ee94cbbda5eMark Andrews
fb623f9a07857d95cf6c47db0aa81a28c3bbc5c0Mark Andrews <docinfo>
fb623f9a07857d95cf6c47db0aa81a28c3bbc5c0Mark Andrews <copyright>
fb623f9a07857d95cf6c47db0aa81a28c3bbc5c0Mark Andrews <year>2004</year>
5116f25421090dffe637eb8f6cf7b44acd83678bMark Andrews <year>2005</year>
5116f25421090dffe637eb8f6cf7b44acd83678bMark Andrews <year>2007</year>
5116f25421090dffe637eb8f6cf7b44acd83678bMark Andrews <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
00043fc284892099b309be37340ae80893146c69Mark Andrews </copyright>
00043fc284892099b309be37340ae80893146c69Mark Andrews <copyright>
00043fc284892099b309be37340ae80893146c69Mark Andrews <year>2001</year>
9fa2a0deed3b880f3bf04d4f615c13a0d67cc0ceMark Andrews <holder>Internet Software Consortium.</holder>
9fa2a0deed3b880f3bf04d4f615c13a0d67cc0ceMark Andrews </copyright>
97a2a26cd93e153dcf8fb1ea6bf2311426496251Mark Andrews </docinfo>
97a2a26cd93e153dcf8fb1ea6bf2311426496251Mark Andrews
97a2a26cd93e153dcf8fb1ea6bf2311426496251Mark Andrews <refnamediv>
c1b8fa61604e153d6f2c6d91acc9481446e631f2Mark Andrews <refname>lwres_gethostbyname</refname>
c1b8fa61604e153d6f2c6d91acc9481446e631f2Mark Andrews <refname>lwres_gethostbyname2</refname>
c1b8fa61604e153d6f2c6d91acc9481446e631f2Mark Andrews <refname>lwres_gethostbyaddr</refname>
c7965f84c23ea9e9b8d6508e4f77d596c227ab75Evan Hunt <refname>lwres_gethostent</refname>
c7965f84c23ea9e9b8d6508e4f77d596c227ab75Evan Hunt <refname>lwres_sethostent</refname>
c7965f84c23ea9e9b8d6508e4f77d596c227ab75Evan Hunt <refname>lwres_endhostent</refname>
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt <refname>lwres_gethostbyname_r</refname>
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt <refname>lwres_gethostbyaddr_r</refname>
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt <refname>lwres_gethostent_r</refname>
76df835d59b4715dbd3346fd65114714a42495c9Mark Andrews <refname>lwres_sethostent_r</refname>
76df835d59b4715dbd3346fd65114714a42495c9Mark Andrews <refname>lwres_endhostent_r</refname>
76df835d59b4715dbd3346fd65114714a42495c9Mark Andrews <refpurpose>lightweight resolver get network host entry</refpurpose>
18df9e628ea10c7d607f43fcfd935e7924731f24Evan Hunt </refnamediv>
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrews <refsynopsisdiv>
18df9e628ea10c7d607f43fcfd935e7924731f24Evan Hunt <funcsynopsis>
cb69994ff89179166d5e21ccc7a34223b51676c0Mark Andrews<funcsynopsisinfo>#include &lt;lwres/netdb.h&gt;</funcsynopsisinfo>
cb69994ff89179166d5e21ccc7a34223b51676c0Mark Andrews<funcprototype>
cb69994ff89179166d5e21ccc7a34223b51676c0Mark Andrews <funcdef>
3ad8f24ddd043148525b68a676ebdc71f6900ca9Mark Andrewsstruct hostent *
3ad8f24ddd043148525b68a676ebdc71f6900ca9Mark Andrews<function>lwres_gethostbyname</function></funcdef>
3ad8f24ddd043148525b68a676ebdc71f6900ca9Mark Andrews <paramdef>const char *<parameter>name</parameter></paramdef>
2bae76022cbdf8a207d4c3982b589156e1a09e09Evan Hunt </funcprototype>
2bae76022cbdf8a207d4c3982b589156e1a09e09Evan Hunt<funcprototype>
0c91911b4d1e872b87eaf6431ed47fe24d18dd43Mark Andrews <funcdef>
0c91911b4d1e872b87eaf6431ed47fe24d18dd43Mark Andrewsstruct hostent *
2634686b14ccdf0aa18a6d346628d03ce3e3d0b4Mark Andrews<function>lwres_gethostbyname2</function></funcdef>
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrews <paramdef>const char *<parameter>name</parameter></paramdef>
b5f4cc132e91afb1217f4aa79424793c0e11c09aMark Andrews <paramdef>int <parameter>af</parameter></paramdef>
b5f4cc132e91afb1217f4aa79424793c0e11c09aMark Andrews </funcprototype>
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrews<funcprototype>
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrews <funcdef>
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrewsstruct hostent *
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrews<function>lwres_gethostbyaddr</function></funcdef>
8afea636ab0c07399aa3e2410b2cfbd41099df98Mark Andrews <paramdef>const char *<parameter>addr</parameter></paramdef>
d6f99498d624d5c5c8ee45067df02e6a6b35a1a3Mark Andrews <paramdef>int <parameter>len</parameter></paramdef>
d6f99498d624d5c5c8ee45067df02e6a6b35a1a3Mark Andrews <paramdef>int <parameter>type</parameter></paramdef>
d6f99498d624d5c5c8ee45067df02e6a6b35a1a3Mark Andrews </funcprototype>
54a00ea5ca94ff9e3a4204aea78639ba781d5865Mark Andrews<funcprototype>
c4348cb50f039f0785bd1d6f6a37c0a85d15c1f4Curtis Blackburn <funcdef>
c4348cb50f039f0785bd1d6f6a37c0a85d15c1f4Curtis Blackburnstruct hostent *
997c2c5116927bab77284c24c3bd0d7f646da5eeMark Andrews<function>lwres_gethostent</function></funcdef>
997c2c5116927bab77284c24c3bd0d7f646da5eeMark Andrews <paramdef>void</paramdef>
997c2c5116927bab77284c24c3bd0d7f646da5eeMark Andrews </funcprototype>
e548e07a9a2f1ec64774d7ae872d530eaf270eb7Mark Andrews<funcprototype>
e548e07a9a2f1ec64774d7ae872d530eaf270eb7Mark Andrews <funcdef>
e548e07a9a2f1ec64774d7ae872d530eaf270eb7Mark Andrewsvoid
d1e22676de16e6dee54c58b27cca11c5fb8f1ff5Mark Andrews<function>lwres_sethostent</function></funcdef>
fdc41dd109fba6b95a4ed7355210118ad9fe5e90Jeremy C. Reed <paramdef>int <parameter>stayopen</parameter></paramdef>
d1e22676de16e6dee54c58b27cca11c5fb8f1ff5Mark Andrews </funcprototype>
0e1dfb8ff5ac2cf1215691ffc32d7a0b76709721Mark Andrews<funcprototype>
0e1dfb8ff5ac2cf1215691ffc32d7a0b76709721Mark Andrews <funcdef>
0e1dfb8ff5ac2cf1215691ffc32d7a0b76709721Mark Andrewsvoid
8e091f3d3ee0079f35dfccdc4479105e8f087ab2Mark Andrews<function>lwres_endhostent</function></funcdef>
8e091f3d3ee0079f35dfccdc4479105e8f087ab2Mark Andrews <paramdef>void</paramdef>
8e091f3d3ee0079f35dfccdc4479105e8f087ab2Mark Andrews </funcprototype>
7ace3277956c49f7554b7130ef761bde3b35db30Mark Andrews<funcprototype>
7ace3277956c49f7554b7130ef761bde3b35db30Mark Andrews <funcdef>
7ace3277956c49f7554b7130ef761bde3b35db30Mark Andrewsstruct hostent *
06ace051e7522b153b487581c9439fc8c162fb18Mark Andrews<function>lwres_gethostbyname_r</function></funcdef>
06ace051e7522b153b487581c9439fc8c162fb18Mark Andrews <paramdef>const char *<parameter>name</parameter></paramdef>
06ace051e7522b153b487581c9439fc8c162fb18Mark Andrews <paramdef>struct hostent *<parameter>resbuf</parameter></paramdef>
5d4343a9988cd5bd057aa385bb8c5e72d41202d1Evan Hunt <paramdef>char *<parameter>buf</parameter></paramdef>
5d4343a9988cd5bd057aa385bb8c5e72d41202d1Evan Hunt <paramdef>int <parameter>buflen</parameter></paramdef>
75ae74f8fd0847817bce2db7c868b179db67f019Mark Andrews <paramdef>int *<parameter>error</parameter></paramdef>
75ae74f8fd0847817bce2db7c868b179db67f019Mark Andrews </funcprototype>
75ae74f8fd0847817bce2db7c868b179db67f019Mark Andrews<funcprototype>
75ae74f8fd0847817bce2db7c868b179db67f019Mark Andrews <funcdef>
16bd30ae6987cd4ba4fe3b873e72abf5b7178c26Mark Andrewsstruct hostent *
16bd30ae6987cd4ba4fe3b873e72abf5b7178c26Mark Andrews<function>lwres_gethostbyaddr_r</function></funcdef>
16bd30ae6987cd4ba4fe3b873e72abf5b7178c26Mark Andrews <paramdef>const char *<parameter>addr</parameter></paramdef>
df0892aea6bfd20a01c3abf2b756625d23830390Mark Andrews <paramdef>int <parameter>len</parameter></paramdef>
df0892aea6bfd20a01c3abf2b756625d23830390Mark Andrews <paramdef>int <parameter>type</parameter></paramdef>
a499dddb4b4d4db2bb6ced82b5ee7a459e23603eEvan Hunt <paramdef>struct hostent *<parameter>resbuf</parameter></paramdef>
a499dddb4b4d4db2bb6ced82b5ee7a459e23603eEvan Hunt <paramdef>char *<parameter>buf</parameter></paramdef>
f45f6541857a5dbb93ac24f321b9cf350ce242baMark Andrews <paramdef>int <parameter>buflen</parameter></paramdef>
f45f6541857a5dbb93ac24f321b9cf350ce242baMark Andrews <paramdef>int *<parameter>error</parameter></paramdef>
f45f6541857a5dbb93ac24f321b9cf350ce242baMark Andrews </funcprototype>
673a2bb07b9e54a32699a9d7ca916dc5114d8d45Mark Andrews<funcprototype>
673a2bb07b9e54a32699a9d7ca916dc5114d8d45Mark Andrews <funcdef>
673a2bb07b9e54a32699a9d7ca916dc5114d8d45Mark Andrewsstruct hostent *
e3c273a865bede10bfb1e0f29d300706cae3e00dMark Andrews<function>lwres_gethostent_r</function></funcdef>
e3c273a865bede10bfb1e0f29d300706cae3e00dMark Andrews <paramdef>struct hostent *<parameter>resbuf</parameter></paramdef>
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt <paramdef>char *<parameter>buf</parameter></paramdef>
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt <paramdef>int <parameter>buflen</parameter></paramdef>
d640b4a0ab9dec252749793f78a1ed1e8551ea19Evan Hunt <paramdef>int *<parameter>error</parameter></paramdef>
fdb4ae8f6c00d8ea03bde929bd4e47056972017dMark Andrews </funcprototype>
fdb4ae8f6c00d8ea03bde929bd4e47056972017dMark Andrews<funcprototype>
fdb4ae8f6c00d8ea03bde929bd4e47056972017dMark Andrews <funcdef>
fdb4ae8f6c00d8ea03bde929bd4e47056972017dMark Andrewsvoid
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt<function>lwres_sethostent_r</function></funcdef>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt <paramdef>int <parameter>stayopen</parameter></paramdef>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt </funcprototype>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt<funcprototype>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt <funcdef>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Huntvoid
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt<function>lwres_endhostent_r</function></funcdef>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt <paramdef>void</paramdef>
421d4a06479e61fbdc35087f3c4abc9fe65ad72aEvan Hunt </funcprototype>
0949306cb96f9ccbb7d0205584ed2db293a5aad2Evan Hunt</funcsynopsis>
0949306cb96f9ccbb7d0205584ed2db293a5aad2Evan Hunt </refsynopsisdiv>
0949306cb96f9ccbb7d0205584ed2db293a5aad2Evan Hunt
0949306cb96f9ccbb7d0205584ed2db293a5aad2Evan Hunt <refsect1>
964bdcd7add44e5bc87e1d44f2f4ece351b28eedEvan Hunt <title>DESCRIPTION</title>
964bdcd7add44e5bc87e1d44f2f4ece351b28eedEvan Hunt <para>
964bdcd7add44e5bc87e1d44f2f4ece351b28eedEvan Hunt These functions provide hostname-to-address and
cf0a69e999430722e3c3942929eeb304b658dfb0Evan Hunt address-to-hostname lookups by means of the lightweight resolver.
cf0a69e999430722e3c3942929eeb304b658dfb0Evan Hunt They are similar to the standard
71697fd082b1c76562dc80fa91787af3860146bfEvan Hunt <citerefentry>
71697fd082b1c76562dc80fa91787af3860146bfEvan Hunt <refentrytitle>gethostent</refentrytitle><manvolnum>3</manvolnum>
71697fd082b1c76562dc80fa91787af3860146bfEvan Hunt </citerefentry>
71697fd082b1c76562dc80fa91787af3860146bfEvan Hunt functions provided by most operating systems.
71697fd082b1c76562dc80fa91787af3860146bfEvan Hunt They use a
c174d5c13c03dd59283243e3fd5461d41140a798Evan Hunt <type>struct hostent</type>
c174d5c13c03dd59283243e3fd5461d41140a798Evan Hunt which is usually defined in
69f72d1c8f08d69a1c4c0459ba15baaa358d55f4Evan Hunt <filename>&lt;namedb.h&gt;</filename>.
927e4c9fecf448bf3894c68fcaf9dc2f89557f3aEvan Hunt </para>
927e4c9fecf448bf3894c68fcaf9dc2f89557f3aEvan Hunt <para><programlisting>
69f72d1c8f08d69a1c4c0459ba15baaa358d55f4Evan Huntstruct hostent {
4b13ea47db7d72596d3fa10c30b20c16b4936747Evan Hunt char *h_name; /* official name of host */
5b7abbef511cea0b568be0bc8d5b3120a0b9034dEvan Hunt char **h_aliases; /* alias list */
5b7abbef511cea0b568be0bc8d5b3120a0b9034dEvan Hunt int h_addrtype; /* host address type */
5b7abbef511cea0b568be0bc8d5b3120a0b9034dEvan Hunt int h_length; /* length of address */
26bda028ad3854d2e695feb9333ef3dbe6b2fa1aEvan Hunt char **h_addr_list; /* list of addresses from name server */
26bda028ad3854d2e695feb9333ef3dbe6b2fa1aEvan Hunt};
26bda028ad3854d2e695feb9333ef3dbe6b2fa1aEvan Hunt#define h_addr h_addr_list[0] /* address, for backward compatibility */
eb4458b4784a2206d939f9c4cfed4b37b076b5bcEvan Hunt</programlisting>
eb4458b4784a2206d939f9c4cfed4b37b076b5bcEvan Hunt </para>
eb4458b4784a2206d939f9c4cfed4b37b076b5bcEvan Hunt <para>
1da46be57223340c07ea8505d485ec4397a4e484Evan Hunt The members of this structure are:
1da46be57223340c07ea8505d485ec4397a4e484Evan Hunt <variablelist>
1da46be57223340c07ea8505d485ec4397a4e484Evan Hunt <varlistentry>
1da46be57223340c07ea8505d485ec4397a4e484Evan Hunt <term><constant>h_name</constant></term>
9d69017bc635f7be5c8df2b18ae6d4491fc5bb63Mark Andrews <listitem>
9d69017bc635f7be5c8df2b18ae6d4491fc5bb63Mark Andrews <para>
9d69017bc635f7be5c8df2b18ae6d4491fc5bb63Mark Andrews The official (canonical) name of the host.
9d4ec6d2c59bd5845ac8bca5a5d790be9a772862Evan Hunt </para>
9d4ec6d2c59bd5845ac8bca5a5d790be9a772862Evan Hunt </listitem>
caa0a135d49dfbe3de9711eacf94d6e112a77688Mark Andrews </varlistentry>
caa0a135d49dfbe3de9711eacf94d6e112a77688Mark Andrews <varlistentry>
9fa5a723e188ddb5e6165af4957ba789e17cfdf5Evan Hunt <term><constant>h_aliases</constant></term>
f42c0dcca86f2009c089e27ba513cb6fc9ee88baEvan Hunt <listitem>
f42c0dcca86f2009c089e27ba513cb6fc9ee88baEvan Hunt <para>
f42c0dcca86f2009c089e27ba513cb6fc9ee88baEvan Hunt A NULL-terminated array of alternate names (nicknames) for the
7aba1a9660630ab7d16792b7388d9b8f56d7bf0fEvan Hunt host.
7aba1a9660630ab7d16792b7388d9b8f56d7bf0fEvan Hunt </para>
7aba1a9660630ab7d16792b7388d9b8f56d7bf0fEvan Hunt </listitem>
682a574e6716cea30386c38e68f4fc6c3d4b20e7Mark Andrews </varlistentry>
682a574e6716cea30386c38e68f4fc6c3d4b20e7Mark Andrews <varlistentry>
3b9ba6bd74e2cbbc0f821e5483ebf46fa8c4d8deEvan Hunt <term><constant>h_addrtype</constant></term>
3b9ba6bd74e2cbbc0f821e5483ebf46fa8c4d8deEvan Hunt <listitem>
3b9ba6bd74e2cbbc0f821e5483ebf46fa8c4d8deEvan Hunt <para>
3b9ba6bd74e2cbbc0f821e5483ebf46fa8c4d8deEvan Hunt The type of address being returned &mdash;
1761ecb90ff770b87d0f021e13ad94d3e8c6f2afFrancis Dupont <type>PF_INET</type>
1761ecb90ff770b87d0f021e13ad94d3e8c6f2afFrancis Dupont or
1761ecb90ff770b87d0f021e13ad94d3e8c6f2afFrancis Dupont <type>PF_INET6</type>.
f48358cffb35bb4b24731c136b07816bdcdce651Evan Hunt </para>
f48358cffb35bb4b24731c136b07816bdcdce651Evan Hunt </listitem>
f48358cffb35bb4b24731c136b07816bdcdce651Evan Hunt </varlistentry>
c3b554214416b434c6db7881907c962110aecba9Evan Hunt <varlistentry>
c3b554214416b434c6db7881907c962110aecba9Evan Hunt <term><constant>h_length</constant></term>
c3b554214416b434c6db7881907c962110aecba9Evan Hunt <listitem>
31707708c585c53b61ca1edb2e224e6bb1b985a5Evan Hunt <para>
31707708c585c53b61ca1edb2e224e6bb1b985a5Evan Hunt The length of the address in bytes.
b7e40659efd6cf6f5e6b3b1f904f16f74efb0d16Evan Hunt </para>
b7e40659efd6cf6f5e6b3b1f904f16f74efb0d16Evan Hunt </listitem>
b7e40659efd6cf6f5e6b3b1f904f16f74efb0d16Evan Hunt </varlistentry>
8f1e278931689460a49f0e9be610f2b2cc32c42dEvan Hunt <varlistentry>
caa0a135d49dfbe3de9711eacf94d6e112a77688Mark Andrews <term><constant>h_addr_list</constant></term>
8f1e278931689460a49f0e9be610f2b2cc32c42dEvan Hunt <listitem>
166c4c6c5bafd25283b797979f77d780856fef30Evan Hunt <para>
166c4c6c5bafd25283b797979f77d780856fef30Evan Hunt A <type>NULL</type>
166c4c6c5bafd25283b797979f77d780856fef30Evan Hunt terminated array of network addresses for the host.
beb12aad6bebb0d6891613e65a4e19a42e6e3f8eMark Andrews Host addresses are returned in network byte order.
beb12aad6bebb0d6891613e65a4e19a42e6e3f8eMark Andrews </para>
8e15d5eb3a000f1341e6bea0ddbc28d6dd2a0591Mark Andrews </listitem>
8e15d5eb3a000f1341e6bea0ddbc28d6dd2a0591Mark Andrews </varlistentry>
8e15d5eb3a000f1341e6bea0ddbc28d6dd2a0591Mark Andrews </variablelist>
1b2a4ce2b112ec91b0f13c411144e721c7952914Evan Hunt </para>
1b2a4ce2b112ec91b0f13c411144e721c7952914Evan Hunt <para>
1b2a4ce2b112ec91b0f13c411144e721c7952914Evan Hunt For backward compatibility with very old software,
e59937c7283216ca22ce6e7937b06eab6d97f4acEvan Hunt <constant>h_addr</constant>
e59937c7283216ca22ce6e7937b06eab6d97f4acEvan Hunt is the first address in
e59937c7283216ca22ce6e7937b06eab6d97f4acEvan Hunt <constant>h_addr_list.</constant>
89be55dc9040b119fd85bb33e7dc97d2ad454c6fEvan Hunt </para>
89be55dc9040b119fd85bb33e7dc97d2ad454c6fEvan Hunt <para><function>lwres_gethostent()</function>,
89be55dc9040b119fd85bb33e7dc97d2ad454c6fEvan Hunt <function>lwres_sethostent()</function>,
89be55dc9040b119fd85bb33e7dc97d2ad454c6fEvan Hunt <function>lwres_endhostent()</function>,
89be55dc9040b119fd85bb33e7dc97d2ad454c6fEvan Hunt <function>lwres_gethostent_r()</function>,
c6eb92beb1951b0634c349b24891522c273e9f69Mark Andrews <function>lwres_sethostent_r()</function>
c6eb92beb1951b0634c349b24891522c273e9f69Mark Andrews and
c6eb92beb1951b0634c349b24891522c273e9f69Mark Andrews <function>lwres_endhostent_r()</function>
c6eb92beb1951b0634c349b24891522c273e9f69Mark Andrews provide iteration over the known host entries on systems that
bf0441a339755618efcbe0b427afa5cb8e62dc68Evan Hunt provide such functionality through facilities like
bf0441a339755618efcbe0b427afa5cb8e62dc68Evan Hunt <filename>/etc/hosts</filename>
bf0441a339755618efcbe0b427afa5cb8e62dc68Evan Hunt or NIS. The lightweight resolver does not currently implement
8144dc702beec803d7b847e6f28ce845c57ae468Mark Andrews these functions; it only provides them as stub functions that always
8144dc702beec803d7b847e6f28ce845c57ae468Mark Andrews return failure.
8144dc702beec803d7b847e6f28ce845c57ae468Mark Andrews </para>
1ac1cc12fc993b060e868a94ec1c292c9ffbccc4Jeremy C. Reed
7ee225cf90fd06de61682b442600af88b68b99dbMark Andrews <para><function>lwres_gethostbyname()</function>
5f1dc0d505d7f53f1e89a1a41e4c2415af4934feEvan Hunt and <function>lwres_gethostbyname2()</function> look up the
5f1dc0d505d7f53f1e89a1a41e4c2415af4934feEvan Hunt hostname <parameter>name</parameter>.
5f1dc0d505d7f53f1e89a1a41e4c2415af4934feEvan Hunt <function>lwres_gethostbyname()</function> always looks for an
276457f7a38f56a5f762238ab89bb45e27948af6Evan Hunt IPv4 address while <function>lwres_gethostbyname2()</function>
b0bd5a3f730410e0bc7ac4e05f061616daf818b2Mark Andrews looks for an address of protocol family
b0bd5a3f730410e0bc7ac4e05f061616daf818b2Mark Andrews <parameter>af</parameter>: either <type>PF_INET</type> or
276457f7a38f56a5f762238ab89bb45e27948af6Evan Hunt <type>PF_INET6</type> &mdash; IPv4 or IPV6 addresses
2347c72129ce9393578966225f915284f0730214Mark Andrews respectively. Successful calls of the functions return a
2347c72129ce9393578966225f915284f0730214Mark Andrews <type>struct hostent</type>for the name that was looked up.
1e34fe9044874422104e84373988d07876f716b6Mark Andrews <type>NULL</type> is returned if the lookups by
1e34fe9044874422104e84373988d07876f716b6Mark Andrews <function>lwres_gethostbyname()</function> or
1e34fe9044874422104e84373988d07876f716b6Mark Andrews <function>lwres_gethostbyname2()</function> fail.
30d6dc14e918f9f72ff090c34d6e328ae8e7d68bCurtis Blackburn </para>
30d6dc14e918f9f72ff090c34d6e328ae8e7d68bCurtis Blackburn
5183f9d9daa139cbf000c12709877f62e79dfb14Evan Hunt <para>
5183f9d9daa139cbf000c12709877f62e79dfb14Evan Hunt Reverse lookups of addresses are performed by
0193e63da91a4da27809b9a528eb043fa6b4da26Mark Andrews <function>lwres_gethostbyaddr()</function>.
0193e63da91a4da27809b9a528eb043fa6b4da26Mark Andrews <parameter>addr</parameter> is an address of length
0193e63da91a4da27809b9a528eb043fa6b4da26Mark Andrews <parameter>len</parameter> bytes and protocol family
17a00ff54c51f6bdfddd7d9ceaef6f2dcf387cc1Mark Andrews <parameter>type</parameter> &mdash; <type>PF_INET</type> or
17a00ff54c51f6bdfddd7d9ceaef6f2dcf387cc1Mark Andrews <type>PF_INET6</type>.
17a00ff54c51f6bdfddd7d9ceaef6f2dcf387cc1Mark Andrews <function>lwres_gethostbyname_r()</function> is a
5f238c3c64dd68100dc1b60f9c1e178522d1b333Mark Andrews thread-safe function
5f238c3c64dd68100dc1b60f9c1e178522d1b333Mark Andrews for forward lookups. If an error occurs, an error code is returned in
2cd3c8856c97b770cc4843bfad63922e23a6f661Mark Andrews <parameter>*error</parameter>.
2cd3c8856c97b770cc4843bfad63922e23a6f661Mark Andrews <parameter>resbuf</parameter> is a pointer to a
f3c8e48b95996c3020d138b87ee8941da29cc124Evan Hunt <type>struct hostent</type> which is initialised by a successful call to
f3c8e48b95996c3020d138b87ee8941da29cc124Evan Hunt <function>lwres_gethostbyname_r()</function>.
f3c8e48b95996c3020d138b87ee8941da29cc124Evan Hunt <parameter>buf</parameter> is a buffer of length
744589ff64e8d98b30b746cd7a1833f77830e185Mark Andrews <parameter>len</parameter> bytes which is used to store the
744589ff64e8d98b30b746cd7a1833f77830e185Mark Andrews <constant>h_name</constant>, <constant>h_aliases</constant>, and
744589ff64e8d98b30b746cd7a1833f77830e185Mark Andrews <constant>h_addr_list</constant> elements of the
dc775799d9a5a61f485bff5b883a60cc748afaf3Evan Hunt <type>struct hostent</type> returned in <parameter>resbuf</parameter>.
dc775799d9a5a61f485bff5b883a60cc748afaf3Evan Hunt Successful calls to <function>lwres_gethostbyname_r()</function>
dc775799d9a5a61f485bff5b883a60cc748afaf3Evan Hunt return <parameter>resbuf</parameter>,
428dd5c588cfe0dc1519af728e6e75c10aeb4439Curtis Blackburn which is a pointer to the <type>struct hostent</type> it created.
0d18225b5e2d17e4bef0077212fd6927ca58dda6Evan Hunt </para>
0d18225b5e2d17e4bef0077212fd6927ca58dda6Evan Hunt
0d18225b5e2d17e4bef0077212fd6927ca58dda6Evan Hunt <para><function>lwres_gethostbyaddr_r()</function>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews is a thread-safe function
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews that performs a reverse lookup of address <parameter>addr</parameter>
62f016d5d301713c72a59e83d3ab41170a77f674Mark Andrews which is <parameter>len</parameter> bytes long and is of
d9f0c713fe1d50f1848ca827c5f31db79d904f04Evan Hunt protocol
7ee225cf90fd06de61682b442600af88b68b99dbMark Andrews family <parameter>type</parameter> &mdash; <type>PF_INET</type> or
d9f0c713fe1d50f1848ca827c5f31db79d904f04Evan Hunt <type>PF_INET6</type>. If an error occurs, the error code is returned
5ba1d3dcc5739a1f77ec2875b276b163a42ef1e8Evan Hunt in <parameter>*error</parameter>. The other function
5ba1d3dcc5739a1f77ec2875b276b163a42ef1e8Evan Hunt parameters are
5ba1d3dcc5739a1f77ec2875b276b163a42ef1e8Evan Hunt identical to those in <function>lwres_gethostbyname_r()</function>.
af9f195c9e128fc9cc5912498b8f7f26f07887c3Evan Hunt <parameter>resbuf</parameter> is a pointer to a
af9f195c9e128fc9cc5912498b8f7f26f07887c3Evan Hunt <type>struct hostent</type> which is initialised by a successful call to
af9f195c9e128fc9cc5912498b8f7f26f07887c3Evan Hunt <function>lwres_gethostbyaddr_r()</function>.
e47208b6fb724cba7053baee4246b308e35403a2Evan Hunt <parameter>buf</parameter> is a buffer of length
e47208b6fb724cba7053baee4246b308e35403a2Evan Hunt <parameter>len</parameter> bytes which is used to store the
34f3693b93f3ba16634f0c08368ef7f81182ef93Evan Hunt <constant>h_name</constant>, <constant>h_aliases</constant>, and
34f3693b93f3ba16634f0c08368ef7f81182ef93Evan Hunt <constant>h_addr_list</constant> elements of the
7ee225cf90fd06de61682b442600af88b68b99dbMark Andrews <type>struct hostent</type> returned in <parameter>resbuf</parameter>.
e72a81148a8c68de2ea5e8169aaa4a7762f6ed79Evan Hunt Successful calls to <function>lwres_gethostbyaddr_r()</function> return
1a076410c260ff1d3124ce8b7e22ac111e9cf92aEvan Hunt <parameter>resbuf</parameter>, which is a pointer to the
1a076410c260ff1d3124ce8b7e22ac111e9cf92aEvan Hunt <function>struct hostent()</function> it created.
96a116178567d4eb22e57aba533073de9a2f9d84Evan Hunt </para>
96a116178567d4eb22e57aba533073de9a2f9d84Evan Hunt
03b5d2689df73fa9a50ff684511fa9d81f317e6cEvan Hunt </refsect1>
03b5d2689df73fa9a50ff684511fa9d81f317e6cEvan Hunt
03b5d2689df73fa9a50ff684511fa9d81f317e6cEvan Hunt <refsect1>
03b5d2689df73fa9a50ff684511fa9d81f317e6cEvan Hunt <title>RETURN VALUES</title>
93aba6dcec9855cd9c69c10717f62c350ff766eaMark Andrews <para>
93aba6dcec9855cd9c69c10717f62c350ff766eaMark Andrews The functions
7ee225cf90fd06de61682b442600af88b68b99dbMark Andrews <function>lwres_gethostbyname()</function>,
744589ff64e8d98b30b746cd7a1833f77830e185Mark Andrews <function>lwres_gethostbyname2()</function>,
afc047fdb535cdd44e20ffbb62d12b2408f0a07eMark Andrews <function>lwres_gethostbyaddr()</function>,
afc047fdb535cdd44e20ffbb62d12b2408f0a07eMark Andrews and
26bb3b7a67b833f0a18072567de036226890ca1aMark Andrews <function>lwres_gethostent()</function>
26bb3b7a67b833f0a18072567de036226890ca1aMark Andrews return NULL to indicate an error. In this case the global variable
26bb3b7a67b833f0a18072567de036226890ca1aMark Andrews <type>lwres_h_errno</type>
9a785712f1eaccba2b43d29a76f4c02ef2c391d0Mark Andrews will contain one of the following error codes defined in
9a785712f1eaccba2b43d29a76f4c02ef2c391d0Mark Andrews <filename>&lt;lwres/netdb.h&gt;</filename>:
ec8a802114d3cb12805fecf1dd209fe46706b35bMark Andrews
ec8a802114d3cb12805fecf1dd209fe46706b35bMark Andrews <variablelist>
73ad83bcf0664c2774bec67d688a590e992d4629Evan Hunt <varlistentry>
73ad83bcf0664c2774bec67d688a590e992d4629Evan Hunt <term><constant>HOST_NOT_FOUND</constant></term>
ff5ac6d4213e3e2f3f6a93db8c5e65cc170a7e2bEvan Hunt <listitem>
ff5ac6d4213e3e2f3f6a93db8c5e65cc170a7e2bEvan Hunt <para>
ff5ac6d4213e3e2f3f6a93db8c5e65cc170a7e2bEvan Hunt The host or address was not found.
a6d43d18b1f6164fd144b2fa25ea57f5566b3bf9Evan Hunt </para>
a6d43d18b1f6164fd144b2fa25ea57f5566b3bf9Evan Hunt </listitem>
a6d43d18b1f6164fd144b2fa25ea57f5566b3bf9Evan Hunt </varlistentry>
a6d43d18b1f6164fd144b2fa25ea57f5566b3bf9Evan Hunt <varlistentry>
330f98fe3b12535072708c273eaf59f7bf887065Evan Hunt <term><constant>TRY_AGAIN</constant></term>
330f98fe3b12535072708c273eaf59f7bf887065Evan Hunt <listitem>
d3c8ba219f7c0fd31aabd06ee6b8ef0e92ef9e14Mark Andrews <para>
330f98fe3b12535072708c273eaf59f7bf887065Evan Hunt A recoverable error occurred, e.g., a timeout.
d3c8ba219f7c0fd31aabd06ee6b8ef0e92ef9e14Mark Andrews Retrying the lookup may succeed.
b4914b3d69de3eb57bcf1d6cb3bb8e0b645c1081Mark Andrews </para>
b4914b3d69de3eb57bcf1d6cb3bb8e0b645c1081Mark Andrews </listitem>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt </varlistentry>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt <varlistentry>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt <term><constant>NO_RECOVERY</constant></term>
b99bfa184bc9375421b5df915eea7dfac6a68a99Evan Hunt <listitem>
c4a453fa5c3d8b21d8982137b03e052c0d446c57Evan Hunt <para>
c4a453fa5c3d8b21d8982137b03e052c0d446c57Evan Hunt A non-recoverable error occurred.
c4a453fa5c3d8b21d8982137b03e052c0d446c57Evan Hunt </para>
4adf97c32fcca7d00e5756607fd045f2aab9c3d4Mark Andrews </listitem>
4adf97c32fcca7d00e5756607fd045f2aab9c3d4Mark Andrews </varlistentry>
4adf97c32fcca7d00e5756607fd045f2aab9c3d4Mark Andrews <varlistentry>
4adf97c32fcca7d00e5756607fd045f2aab9c3d4Mark Andrews <term><constant>NO_DATA</constant></term>
1cc4695f0da63f0190e3514adccf6a96f3dc1519Mark Andrews <listitem>
1cc4695f0da63f0190e3514adccf6a96f3dc1519Mark Andrews <para>
1cc4695f0da63f0190e3514adccf6a96f3dc1519Mark Andrews The name exists, but has no address information
3a6d62c59f73d024d1b2ba2ac94d7600530166ffMark Andrews associated with it (or vice versa in the case
3a6d62c59f73d024d1b2ba2ac94d7600530166ffMark Andrews of a reverse lookup). The code NO_ADDRESS
ad668472f1a924e0355faf313e7cdba1970161c8Evan Hunt is accepted as a synonym for NO_DATA for backwards
ad668472f1a924e0355faf313e7cdba1970161c8Evan Hunt compatibility.
ad668472f1a924e0355faf313e7cdba1970161c8Evan Hunt </para>
dc1ed2622fa78dc21dda49488c496437083e17c9Evan Hunt </listitem>
dc1ed2622fa78dc21dda49488c496437083e17c9Evan Hunt </varlistentry>
dc1ed2622fa78dc21dda49488c496437083e17c9Evan Hunt </variablelist>
dc1ed2622fa78dc21dda49488c496437083e17c9Evan Hunt </para>
744589ff64e8d98b30b746cd7a1833f77830e185Mark Andrews
dd8bbbfac3f3f14235820a593f1efd8e3ba8d2faMark Andrews <para><citerefentry>
c15b536ddbea458a7a3975079276bf4a9b1617aaMark Andrews <refentrytitle>lwres_hstrerror</refentrytitle><manvolnum>3</manvolnum>
99425bedc4dcd586f751148bbdcba19578c6f39eMark Andrews </citerefentry>
99425bedc4dcd586f751148bbdcba19578c6f39eMark Andrews translates these error codes to suitable error messages.
92754e2e4954e497eb2983c76198889b5a3218aaEvan Hunt </para>
92754e2e4954e497eb2983c76198889b5a3218aaEvan Hunt
8013077aa7ed5d6e1daddc973ddb3c7cc7d28df1Mark Andrews <para><function>lwres_gethostent()</function>
92754e2e4954e497eb2983c76198889b5a3218aaEvan Hunt and <function>lwres_gethostent_r()</function>
8c460e01594e83f21ff5e60cd7a417a1ed618703Mark Andrews always return <type>NULL</type>.
99bf6a57d9f6b55da6de9c22fb6883a4bf7d569eEvan Hunt </para>
99bf6a57d9f6b55da6de9c22fb6883a4bf7d569eEvan Hunt
c548cbbf6b92e4fa5c7c78114c97ef1e50b87379Evan Hunt <para>
c548cbbf6b92e4fa5c7c78114c97ef1e50b87379Evan Hunt Successful calls to <function>lwres_gethostbyname_r()</function> and
5805fc20a3f65ee3a78b66aa17801f1d3103cbe1Curtis Blackburn <function>lwres_gethostbyaddr_r()</function> return
e57a83b57659ae1d4f755a7841b519c047ec7f75Evan Hunt <parameter>resbuf</parameter>, a pointer to the
e57a83b57659ae1d4f755a7841b519c047ec7f75Evan Hunt <type>struct hostent</type> that was initialised by these functions. They return
e57a83b57659ae1d4f755a7841b519c047ec7f75Evan Hunt <type>NULL</type> if the lookups fail or if <parameter>buf</parameter>
e57a83b57659ae1d4f755a7841b519c047ec7f75Evan Hunt was too small to hold the list of addresses and names referenced by
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt the <constant>h_name</constant>, <constant>h_aliases</constant>, and
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt <constant>h_addr_list</constant> elements of the
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt <type>struct hostent</type>.
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt If <parameter>buf</parameter> was too small, both
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt <function>lwres_gethostbyname_r()</function> and
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt <function>lwres_gethostbyaddr_r()</function> set the global
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt variable
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt <type>errno</type> to <errorcode>ERANGE</errorcode>.
67adc03ef81fb610f8df093b17f55275ee816754Evan Hunt </para>
bbb3705e4cbdacf7cf6da7e448d79d97fdab2411Mark Andrews
bbb3705e4cbdacf7cf6da7e448d79d97fdab2411Mark Andrews </refsect1>
4bf686cf5d6b83981abdf2d8157c829922acc6d4Evan Hunt <refsect1>
4bf686cf5d6b83981abdf2d8157c829922acc6d4Evan Hunt <title>SEE ALSO</title>
4bf686cf5d6b83981abdf2d8157c829922acc6d4Evan Hunt <para><citerefentry>
da4436812c7108dd39e09069d4af770eaa738c7fMark Andrews <refentrytitle>gethostent</refentrytitle><manvolnum>3</manvolnum>
da4436812c7108dd39e09069d4af770eaa738c7fMark Andrews </citerefentry>,
da4436812c7108dd39e09069d4af770eaa738c7fMark Andrews
da4436812c7108dd39e09069d4af770eaa738c7fMark Andrews <citerefentry>
c82da2167dcbd8300f0eaa81fb900c0b17e8f94cMark Andrews <refentrytitle>lwres_getipnode</refentrytitle><manvolnum>3</manvolnum>
c82da2167dcbd8300f0eaa81fb900c0b17e8f94cMark Andrews </citerefentry>,
c82da2167dcbd8300f0eaa81fb900c0b17e8f94cMark Andrews
384fef003441df4067b773688237700513390f9eEvan Hunt <citerefentry>
384fef003441df4067b773688237700513390f9eEvan Hunt <refentrytitle>lwres_hstrerror</refentrytitle><manvolnum>3</manvolnum>
06a05efc07ac7b6ff1973a6463291f5d48ece6ebMark Andrews </citerefentry>
06a05efc07ac7b6ff1973a6463291f5d48ece6ebMark Andrews </para>
06a05efc07ac7b6ff1973a6463291f5d48ece6ebMark Andrews </refsect1>
06a05efc07ac7b6ff1973a6463291f5d48ece6ebMark Andrews
06a05efc07ac7b6ff1973a6463291f5d48ece6ebMark Andrews <refsect1>
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt <title>BUGS</title>
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt <para><function>lwres_gethostbyname()</function>,
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt <function>lwres_gethostbyname2()</function>,
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt <function>lwres_gethostbyaddr()</function>
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt and
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt <function>lwres_endhostent()</function>
831f59eb43b56642b00f82e07722836d2f9593abEvan Hunt are not thread safe; they return pointers to static data and
a13aa526be16869d1284256fbb2136f4d50ed1d7Evan Hunt provide error codes through a global variable.
a13aa526be16869d1284256fbb2136f4d50ed1d7Evan Hunt Thread-safe versions for name and address lookup are provided by
a13aa526be16869d1284256fbb2136f4d50ed1d7Evan Hunt <function>lwres_gethostbyname_r()</function>,
a13aa526be16869d1284256fbb2136f4d50ed1d7Evan Hunt and
741ebf10047c3e32e1a0691316ec45666f003583Evan Hunt <function>lwres_gethostbyaddr_r()</function>
741ebf10047c3e32e1a0691316ec45666f003583Evan Hunt respectively.
741ebf10047c3e32e1a0691316ec45666f003583Evan Hunt </para>
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt <para>
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt The resolver daemon does not currently support any non-DNS
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt name services such as
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt <filename>/etc/hosts</filename>
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt or
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt <type>NIS</type>,
4eb998928b9aef0ceda42d7529980d658138698aEvan Hunt consequently the above functions don't, either.
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt </para>
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt </refsect1>
c218f119cd052ab9f9cbf92442f08f6cafaccd62Evan Hunt</refentry><!--
feb067b25a8e33db62e2a7bf2e83bbb7f6eee845Evan Hunt - Local variables:
72c86c105a7cf315036d7131a4ef408bc6227639Evan Hunt - mode: sgml
72c86c105a7cf315036d7131a4ef408bc6227639Evan Hunt - End:
72c86c105a7cf315036d7131a4ef408bc6227639Evan Hunt-->
72c86c105a7cf315036d7131a4ef408bc6227639Evan Hunt