lwres_gethostent.html revision 75c0816e8295e180f4bc7f10db3d0d880383bc1c
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gstein<!--
d4a4220020a793457962e3784641b0b14caaed5fjwoolley - Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj - Copyright (C) 2001 Internet Software Consortium.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj -
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj - Permission to use, copy, modify, and distribute this software for any
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb - purpose with or without fee is hereby granted, provided that the above
df14f0d3a5191cdd7c4bb5b03acd135d43a6f51brbb - copyright notice and this permission notice appear in all copies.
ab71b233b3a36489e44a7b061c48293be0b17788jwoolley -
571760de5e60c0b459cb11be45507b923cd023eejwoolley - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
571760de5e60c0b459cb11be45507b923cd023eejwoolley - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9180a5933673ffb1af633c255ceee029340f3b1erbb - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
bcb6e1be6041dfeb549c8ea8d37f97ad4e90a0c3rbb - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
9bd71e35f5d26d26d23fe3a677401828e842ed72wrowe - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2900ab946a2d76b73a14cebfe2985d253f01c967stoddard - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb - PERFORMANCE OF THIS SOFTWARE.
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb-->
a548c09e6a8ca1b059d0e93b5256c6ccb2b3c3cdrbb<!-- $Id: lwres_gethostent.html,v 1.16 2005/05/13 03:14:14 marka Exp $ -->
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb<html>
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein<head>
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6f6f4a4bca281779d196acbdd5c017bb90858305trawick<title>lwres_gethostent</title>
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawick</head>
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb<a name="id2456836"></a><div class="titlepage"></div>
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj<div class="refnamediv">
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj<h2>Name</h2>
af4c982a7cf4515f124935f99a329744035fc699slive<p>lwres_gethostbyname, lwres_gethostbyname2, lwres_gethostbyaddr, lwres_gethostent, lwres_sethostent, lwres_endhostent, lwres_gethostbyname_r, lwres_gethostbyaddr_r, lwres_gethostent_r, lwres_sethostent_r, lwres_endhostent_r &#8212; lightweight resolver get network host entry</p>
af4c982a7cf4515f124935f99a329744035fc699slive</div>
af4c982a7cf4515f124935f99a329744035fc699slive<div class="refsynopsisdiv">
af4c982a7cf4515f124935f99a329744035fc699slive<h2>Synopsis</h2>
af4c982a7cf4515f124935f99a329744035fc699slive<div class="funcsynopsis">
af4c982a7cf4515f124935f99a329744035fc699slive<pre class="funcsynopsisinfo">#include &lt;lwres/netdb.h&gt;</pre>
af4c982a7cf4515f124935f99a329744035fc699slive<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em"><tr>
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj<td><code class="funcdef">
531c23ff01a2489646f0a2029097013b328d935agsteinstruct hostent *
b84f66c93f820824b1d5455181f55598b766319cwrowe<b class="fsfunc">lwres_gethostbyname</b>(</code></td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>const char *�</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<var class="pdparam">name</var><code>)</code>;</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe</tr></table>
b84f66c93f820824b1d5455181f55598b766319cwrowe<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
b84f66c93f820824b1d5455181f55598b766319cwrowe<tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td><code class="funcdef">
b84f66c93f820824b1d5455181f55598b766319cwrowestruct hostent *
b84f66c93f820824b1d5455181f55598b766319cwrowe<b class="fsfunc">lwres_gethostbyname2</b>(</code></td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>const char *�</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<var class="pdparam">name</var>, </td>
b84f66c93f820824b1d5455181f55598b766319cwrowe</tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>�</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>int �</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<var class="pdparam">af</var><code>)</code>;</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe</tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe</table>
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb<tr>
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb<td><code class="funcdef">
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbbstruct hostent *
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb<b class="fsfunc">lwres_gethostbyaddr</b>(</code></td>
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb<td>const char *�</td>
bf9acc131271d18db51d30ace549d3c3b6a2b9fbrbb<td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<var class="pdparam">addr</var>, </td>
b84f66c93f820824b1d5455181f55598b766319cwrowe</tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>�</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>int �</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick<var class="pdparam">len</var>, </td>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein</tr>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein<tr>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein<td>�</td>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein<td>int �</td>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein<td>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein<var class="pdparam">type</var><code>)</code>;</td>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein</tr>
ec75f189410513ab8f6e1173a9d9d277ebec9ce7gstein</table>
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<p><code class="funcdef">
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowestruct hostent *
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<b class="fsfunc">lwres_gethostent</b>(</code>void<code>)</code>;</p>
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<p><code class="funcdef">
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowevoid
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<b class="fsfunc">lwres_sethostent</b>(</code>int <var class="pdparam">stayopen</var><code>)</code>;</p>
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<p><code class="funcdef">
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowevoid
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<b class="fsfunc">lwres_endhostent</b>(</code>void<code>)</code>;</p>
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<tr>
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<td><code class="funcdef">
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowestruct hostent *
dc96a5e6f9af3c514df4c61ab9468fcf97f9846fwrowe<b class="fsfunc">lwres_gethostbyname_r</b>(</code></td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>const char *�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<var class="pdparam">name</var>, </td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard</tr>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<tr>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>struct hostent *�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<var class="pdparam">resbuf</var>, </td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard</tr>
d57551cb28450661e77394ec332cf25b0f63aae1trawick<tr>
c3a2c6ae9a1c7f37d672a54c2c9a1b4f7941085btrawick<td>�</td>
c3a2c6ae9a1c7f37d672a54c2c9a1b4f7941085btrawick<td>char *�</td>
c3a2c6ae9a1c7f37d672a54c2c9a1b4f7941085btrawick<td>
c3a2c6ae9a1c7f37d672a54c2c9a1b4f7941085btrawick<var class="pdparam">buf</var>, </td>
d57551cb28450661e77394ec332cf25b0f63aae1trawick</tr>
c3a2c6ae9a1c7f37d672a54c2c9a1b4f7941085btrawick<tr>
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj<td>�</td>
33a70d93b992bbb63b809c24df29451f38f017c1rbb<td>int �</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<var class="pdparam">buflen</var>, </td>
b84f66c93f820824b1d5455181f55598b766319cwrowe</tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<tr>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>�</td>
b84f66c93f820824b1d5455181f55598b766319cwrowe<td>int *�</td>
9279bf6c00e1f5d36b8257700f41bfdf4b4a8199coar<td>
d4a4220020a793457962e3784641b0b14caaed5fjwoolley<var class="pdparam">error</var><code>)</code>;</td>
d4a4220020a793457962e3784641b0b14caaed5fjwoolley</tr>
af9f2bd7837c251df865825e03ad192e5c6aee18jim</table>
bca84f0b0ca4f3466ac2f845f1bdcdede7f34d91rbb<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
809cf6f87f7a07b348f6d69961834923bc16313egstein<tr>
809cf6f87f7a07b348f6d69961834923bc16313egstein<td><code class="funcdef">
809cf6f87f7a07b348f6d69961834923bc16313egsteinstruct hostent *
410912d9cb56a09a74f8655647ed9e81d49023f4gregames<b class="fsfunc">lwres_gethostbyaddr_r</b>(</code></td>
410912d9cb56a09a74f8655647ed9e81d49023f4gregames<td>const char *�</td>
410912d9cb56a09a74f8655647ed9e81d49023f4gregames<td>
410912d9cb56a09a74f8655647ed9e81d49023f4gregames<var class="pdparam">addr</var>, </td>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe</tr>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<tr>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<td>�</td>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<td>int �</td>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<td>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<var class="pdparam">len</var>, </td>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe</tr>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<tr>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<td>�</td>
7239216999e746bb4fc7671621becea33c5c1c87stoddard<td>int �</td>
d180ec1b29106f4fec480ef7fcdb04df078010cerse<td>
d180ec1b29106f4fec480ef7fcdb04df078010cerse<var class="pdparam">type</var>, </td>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley</tr>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley<tr>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley<td>�</td>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley<td>struct hostent *�</td>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley<td>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley<var class="pdparam">resbuf</var>, </td>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley</tr>
3913a3b7e7c72ea11d05da36275db39c2dc39b68jwoolley<tr>
d180ec1b29106f4fec480ef7fcdb04df078010cerse<td>�</td>
e32adabcbf3bf5b69ba2e8b163b971839efc94dbtrawick<td>char *�</td>
e32adabcbf3bf5b69ba2e8b163b971839efc94dbtrawick<td>
e32adabcbf3bf5b69ba2e8b163b971839efc94dbtrawick<var class="pdparam">buf</var>, </td>
bebc7b9445f95339822c26bfd470349006f9ec40stoddard</tr>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<tr>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>int �</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>
49facccad3f5c3e9e49311487b5069699c3bf3fdjwoolley<var class="pdparam">buflen</var>, </td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard</tr>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<tr>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>int *�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley<var class="pdparam">error</var><code>)</code>;</td>
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley</tr>
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley</table>
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley<table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" style="padding-bottom: 1em">
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley<tr>
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley<td><code class="funcdef">
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolleystruct hostent *
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley<b class="fsfunc">lwres_gethostent_r</b>(</code></td>
1b9744b72f26e9a0e935f9c08d49feb1fcce72f9jwoolley<td>struct hostent *�</td>
7bce59d998f2e5ca1cb60038ef6c1d0817605d62stoddard<td>
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard<var class="pdparam">resbuf</var>, </td>
19cbe4d7b7c931723e7249de6829bf965a1fee72stoddard</tr>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc<tr>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc<td>�</td>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc<td>char *�</td>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc<td>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc<var class="pdparam">buf</var>, </td>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc</tr>
93db592309ba9e5ab230f67611a2c74fece9cdb2marc<tr>
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard<td>�</td>
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard<td>int �</td>
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard<td>
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard<var class="pdparam">buflen</var>, </td>
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard</tr>
8bed76428f56e5c643174a2d6807c3f18016af5cbjh<tr>
8bed76428f56e5c643174a2d6807c3f18016af5cbjh<td>�</td>
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard<td>int *�</td>
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb<td>
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb<var class="pdparam">error</var><code>)</code>;</td>
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard</tr>
0bff2f28ef945280c17099c142126178a78e1e54manoj</table>
0bff2f28ef945280c17099c142126178a78e1e54manoj<p><code class="funcdef">
0bff2f28ef945280c17099c142126178a78e1e54manojvoid
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard<b class="fsfunc">lwres_sethostent_r</b>(</code>int <var class="pdparam">stayopen</var><code>)</code>;</p>
0bff2f28ef945280c17099c142126178a78e1e54manoj<p><code class="funcdef">
35330e0d79ceb8027223bbb8330a381b1f989d6etrawickvoid
0bff2f28ef945280c17099c142126178a78e1e54manoj<b class="fsfunc">lwres_endhostent_r</b>(</code>void<code>)</code>;</p>
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard</div>
ff849e4163ed879288f0df15f78b6c9d278ec804fanf</div>
ff849e4163ed879288f0df15f78b6c9d278ec804fanf<div class="refsect1" lang="en">
447c6ce3ff08073c44f6785d5256271fcb877512wrowe<a name="id2514434"></a><h2>DESCRIPTION</h2>
447c6ce3ff08073c44f6785d5256271fcb877512wrowe<p>
447c6ce3ff08073c44f6785d5256271fcb877512wrowe These functions provide hostname-to-address and
447c6ce3ff08073c44f6785d5256271fcb877512wrowe address-to-hostname lookups by means of the lightweight resolver.
447c6ce3ff08073c44f6785d5256271fcb877512wrowe They are similar to the standard
447c6ce3ff08073c44f6785d5256271fcb877512wrowe <span class="citerefentry"><span class="refentrytitle">gethostent</span>(3)</span>
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein functions provided by most operating systems.
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein They use a
3bb28269556842ebf8888208fd0c7a7f3e343186jerenkrantz <span class="type">struct hostent</span>
3bb28269556842ebf8888208fd0c7a7f3e343186jerenkrantz which is usually defined in
3bb28269556842ebf8888208fd0c7a7f3e343186jerenkrantz <code class="filename">&lt;namedb.h&gt;</code>.
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein </p>
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein<pre class="programlisting">
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gsteinstruct hostent {
0eb7ca6cf812d98c534661ac474e873a32bf6325gstein char *h_name; /* official name of host */
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein char **h_aliases; /* alias list */
8d07897b52e3b7055874501f8a499e75800db206gstein int h_addrtype; /* host address type */
8d07897b52e3b7055874501f8a499e75800db206gstein int h_length; /* length of address */
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein char **h_addr_list; /* list of addresses from name server */
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick};
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick#define h_addr h_addr_list[0] /* address, for backward compatibility */
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick</pre>
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein<p>
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein </p>
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein<p>
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbb The members of this structure are:
93c5cba06b623ebe8e4372e886eece12d9a80c3egstein </p>
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein<div class="variablelist"><dl>
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein<dt><span class="term"><code class="constant">h_name</code></span></dt>
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein<dd><p>
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein The official (canonical) name of the host.
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein </p></dd>
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein<dt><span class="term"><code class="constant">h_aliases</code></span></dt>
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein<dd><p>
823c303d33c9e637a83d82208bcbafaf5f532d7bgstein A NULL-terminated array of alternate names (nicknames) for the
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj host.
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj </p></dd>
e636eba7474e0010b5c7198af1c2fe5ad8652dbbmanoj<dt><span class="term"><code class="constant">h_addrtype</code></span></dt>
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein<dd><p>
281da4c02cf40c663298ded7e4e5b913a8f8b814gstein The type of address being returned &#8212;
333eac96e4fb7d6901cb75e6ca7bb22b2ccb84cetrawick <span class="type">PF_INET</span>
333eac96e4fb7d6901cb75e6ca7bb22b2ccb84cetrawick or
2f728b2e8555fee1b7cc11e886488692f2575fbddougm <span class="type">PF_INET6</span>.
2f728b2e8555fee1b7cc11e886488692f2575fbddougm </p></dd>
2f728b2e8555fee1b7cc11e886488692f2575fbddougm<dt><span class="term"><code class="constant">h_length</code></span></dt>
114cc51b75ed89d5ab2f39b85ba7d472293f3dedtrawick<dd><p>
114cc51b75ed89d5ab2f39b85ba7d472293f3dedtrawick The length of the address in bytes.
114cc51b75ed89d5ab2f39b85ba7d472293f3dedtrawick </p></dd>
114cc51b75ed89d5ab2f39b85ba7d472293f3dedtrawick<dt><span class="term"><code class="constant">h_addr_list</code></span></dt>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<dd><p>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe A <span class="type">NULL</span>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe terminated array of network addresses for the host.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe Host addresses are returned in network byte order.
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe </p></dd>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe</dl></div>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<p>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe </p>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe<p>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe For backward compatibility with very old software,
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe <code class="constant">h_addr</code>
60d567a0c2aae815ee6fc20c0d65032bea52c92cwrowe is the first address in
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="constant">h_addr_list.</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p><code class="function">lwres_gethostent()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_sethostent()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_endhostent()</code>,
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="function">lwres_gethostent_r()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_sethostent_r()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_endhostent_r()</code>
28d1da9ca818f831ea491f110dafcc10f7f07050coar provide iteration over the known host entries on systems that
64ad864fa0f4493eebb181e393b40a8a90beccb9coar provide such functionality through facilities like
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="filename">/etc/hosts</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar or NIS. The lightweight resolver does not currently implement
28d1da9ca818f831ea491f110dafcc10f7f07050coar these functions; it only provides them as stub functions that always
64ad864fa0f4493eebb181e393b40a8a90beccb9coar return failure.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p><code class="function">lwres_gethostbyname()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar and <code class="function">lwres_gethostbyname2()</code> look up the
28d1da9ca818f831ea491f110dafcc10f7f07050coar hostname <em class="parameter"><code>name</code></em>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname()</code> always looks for an
64ad864fa0f4493eebb181e393b40a8a90beccb9coar IPv4 address while <code class="function">lwres_gethostbyname2()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar looks for an address of protocol family
28d1da9ca818f831ea491f110dafcc10f7f07050coar <em class="parameter"><code>af</code></em>: either <span class="type">PF_INET</span> or
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">PF_INET6</span> &#8212; IPv4 or IPV6 addresses
64ad864fa0f4493eebb181e393b40a8a90beccb9coar respectively. Successful calls of the functions return a
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">struct hostent</span>for the name that was looked up.
28d1da9ca818f831ea491f110dafcc10f7f07050coar <span class="type">NULL</span> is returned if the lookups by
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname()</code> or
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname2()</code> fail.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
28d1da9ca818f831ea491f110dafcc10f7f07050coar<p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Reverse lookups of addresses are performed by
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyaddr()</code>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>addr</code></em> is an address of length
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>len</code></em> bytes and protocol family
28d1da9ca818f831ea491f110dafcc10f7f07050coar <em class="parameter"><code>type</code></em> &#8212; <span class="type">PF_INET</span> or
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">PF_INET6</span>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname_r()</code> is a
64ad864fa0f4493eebb181e393b40a8a90beccb9coar thread-safe function
28d1da9ca818f831ea491f110dafcc10f7f07050coar for forward lookups. If an error occurs, an error code is returned in
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>*error</code></em>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>resbuf</code></em> is a pointer to a
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">struct hostent</span> which is initialised by a successful call to
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="function">lwres_gethostbyname_r()</code>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>buf</code></em> is a buffer of length
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>len</code></em> bytes which is used to store the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="constant">h_name</code>, <code class="constant">h_aliases</code>, and
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="constant">h_addr_list</code> elements of the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">struct hostent</span> returned in <em class="parameter"><code>resbuf</code></em>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Successful calls to <code class="function">lwres_gethostbyname_r()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar return <em class="parameter"><code>resbuf</code></em>,
28d1da9ca818f831ea491f110dafcc10f7f07050coar which is a pointer to the <span class="type">struct hostent</span> it created.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p><code class="function">lwres_gethostbyaddr_r()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar is a thread-safe function
28d1da9ca818f831ea491f110dafcc10f7f07050coar that performs a reverse lookup of address <em class="parameter"><code>addr</code></em>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar which is <em class="parameter"><code>len</code></em> bytes long and is of
64ad864fa0f4493eebb181e393b40a8a90beccb9coar protocol
64ad864fa0f4493eebb181e393b40a8a90beccb9coar family <em class="parameter"><code>type</code></em> &#8212; <span class="type">PF_INET</span> or
28d1da9ca818f831ea491f110dafcc10f7f07050coar <span class="type">PF_INET6</span>. If an error occurs, the error code is returned
64ad864fa0f4493eebb181e393b40a8a90beccb9coar in <em class="parameter"><code>*error</code></em>. The other function
64ad864fa0f4493eebb181e393b40a8a90beccb9coar parameters are
64ad864fa0f4493eebb181e393b40a8a90beccb9coar identical to those in <code class="function">lwres_gethostbyname_r()</code>.
28d1da9ca818f831ea491f110dafcc10f7f07050coar <em class="parameter"><code>resbuf</code></em> is a pointer to a
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">struct hostent</span> which is initialised by a successful call to
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyaddr_r()</code>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>buf</code></em> is a buffer of length
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>len</code></em> bytes which is used to store the
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="constant">h_name</code>, <code class="constant">h_aliases</code>, and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="constant">h_addr_list</code> elements of the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">struct hostent</span> returned in <em class="parameter"><code>resbuf</code></em>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Successful calls to <code class="function">lwres_gethostbyaddr_r()</code> return
28d1da9ca818f831ea491f110dafcc10f7f07050coar <em class="parameter"><code>resbuf</code></em>, which is a pointer to the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">struct hostent()</code> it created.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar</div>
28d1da9ca818f831ea491f110dafcc10f7f07050coar<div class="refsect1" lang="en">
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<a name="id2514853"></a><h2>RETURN VALUES</h2>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar The functions
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="function">lwres_gethostbyname()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname2()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyaddr()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar and
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="function">lwres_gethostent()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar return NULL to indicate an error. In this case the global variable
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">lwres_h_errno</span>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar will contain one of the following error codes defined in
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="filename">&lt;lwres/netdb.h&gt;</code>:
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<div class="variablelist"><dl>
28d1da9ca818f831ea491f110dafcc10f7f07050coar<dt><span class="term"><code class="constant">HOST_NOT_FOUND</code></span></dt>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<dd><p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar The host or address was not found.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p></dd>
28d1da9ca818f831ea491f110dafcc10f7f07050coar<dt><span class="term"><code class="constant">TRY_AGAIN</code></span></dt>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<dd><p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar A recoverable error occurred, e.g., a timeout.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar Retrying the lookup may succeed.
28d1da9ca818f831ea491f110dafcc10f7f07050coar </p></dd>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<dt><span class="term"><code class="constant">NO_RECOVERY</code></span></dt>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<dd><p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar A non-recoverable error occurred.
28d1da9ca818f831ea491f110dafcc10f7f07050coar </p></dd>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<dt><span class="term"><code class="constant">NO_DATA</code></span></dt>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<dd><p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar The name exists, but has no address information
28d1da9ca818f831ea491f110dafcc10f7f07050coar associated with it (or vice versa in the case
64ad864fa0f4493eebb181e393b40a8a90beccb9coar of a reverse lookup). The code NO_ADDRESS
64ad864fa0f4493eebb181e393b40a8a90beccb9coar is accepted as a synonym for NO_DATA for backwards
64ad864fa0f4493eebb181e393b40a8a90beccb9coar compatibility.
28d1da9ca818f831ea491f110dafcc10f7f07050coar </p></dd>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar</dl></div>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
28d1da9ca818f831ea491f110dafcc10f7f07050coar<p><span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar translates these error codes to suitable error messages.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p><code class="function">lwres_gethostent()</code>
28d1da9ca818f831ea491f110dafcc10f7f07050coar and <code class="function">lwres_gethostent_r()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar always return <span class="type">NULL</span>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p>
28d1da9ca818f831ea491f110dafcc10f7f07050coar Successful calls to <code class="function">lwres_gethostbyname_r()</code> and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyaddr_r()</code> return
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <em class="parameter"><code>resbuf</code></em>, a pointer to the
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">struct hostent</span> that was initialised by these functions. They return
28d1da9ca818f831ea491f110dafcc10f7f07050coar <span class="type">NULL</span> if the lookups fail or if <em class="parameter"><code>buf</code></em>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar was too small to hold the list of addresses and names referenced by
6694e265e9a71ceaedbe1f1aa4db4d9ba42fb866wrowe the <code class="constant">h_name</code>, <code class="constant">h_aliases</code>, and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="constant">h_addr_list</code> elements of the
28d1da9ca818f831ea491f110dafcc10f7f07050coar <span class="type">struct hostent</span>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar If <em class="parameter"><code>buf</code></em> was too small, both
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname_r()</code> and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyaddr_r()</code> set the global
28d1da9ca818f831ea491f110dafcc10f7f07050coar variable
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">errno</span> to <span class="errorcode">ERANGE</span>.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar</div>
28d1da9ca818f831ea491f110dafcc10f7f07050coar<div class="refsect1" lang="en">
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<a name="id2515086"></a><h2>SEE ALSO</h2>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p><span class="citerefentry"><span class="refentrytitle">gethostent</span>(3)</span>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
28d1da9ca818f831ea491f110dafcc10f7f07050coar <span class="citerefentry"><span class="refentrytitle">lwres_getipnode</span>(3)</span>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="citerefentry"><span class="refentrytitle">lwres_hstrerror</span>(3)</span>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
28d1da9ca818f831ea491f110dafcc10f7f07050coar</div>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<div class="refsect1" lang="en">
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<a name="id2515121"></a><h2>BUGS</h2>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p><code class="function">lwres_gethostbyname()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname2()</code>,
28d1da9ca818f831ea491f110dafcc10f7f07050coar <code class="function">lwres_gethostbyaddr()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_endhostent()</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar are not thread safe; they return pointers to static data and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar provide error codes through a global variable.
28d1da9ca818f831ea491f110dafcc10f7f07050coar Thread-safe versions for name and address lookup are provided by
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyname_r()</code>,
64ad864fa0f4493eebb181e393b40a8a90beccb9coar and
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="function">lwres_gethostbyaddr_r()</code>
28d1da9ca818f831ea491f110dafcc10f7f07050coar respectively.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar<p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar The resolver daemon does not currently support any non-DNS
28d1da9ca818f831ea491f110dafcc10f7f07050coar name services such as
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <code class="filename">/etc/hosts</code>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar or
64ad864fa0f4493eebb181e393b40a8a90beccb9coar <span class="type">NIS</span>,
28d1da9ca818f831ea491f110dafcc10f7f07050coar consequently the above functions don't, either.
64ad864fa0f4493eebb181e393b40a8a90beccb9coar </p>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar</div>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar</div></body>
28d1da9ca818f831ea491f110dafcc10f7f07050coar</html>
64ad864fa0f4493eebb181e393b40a8a90beccb9coar