lwres_gethostent.html revision 1969ab5360417d374547a8b51c78acfa1e9202ba
fa9e4066f08beec538e775443c5be79dd423fcabahrens - Copyright (C) 2001 Internet Software Consortium.
fa9e4066f08beec538e775443c5be79dd423fcabahrens - Permission to use, copy, modify, and distribute this software for any
441d80aa4f613b6298fc8bd3151f4be02dbf84fclling - purpose with or without fee is hereby granted, provided that the above
441d80aa4f613b6298fc8bd3151f4be02dbf84fclling - copyright notice and this permission notice appear in all copies.
fa9e4066f08beec538e775443c5be79dd423fcabahrens - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
fa9e4066f08beec538e775443c5be79dd423fcabahrens - DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
fa9e4066f08beec538e775443c5be79dd423fcabahrens - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
fa9e4066f08beec538e775443c5be79dd423fcabahrens - INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
fa9e4066f08beec538e775443c5be79dd423fcabahrens - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
fa9e4066f08beec538e775443c5be79dd423fcabahrens - FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
fa9e4066f08beec538e775443c5be79dd423fcabahrens - NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
fa9e4066f08beec538e775443c5be79dd423fcabahrens - WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
fa9e4066f08beec538e775443c5be79dd423fcabahrens<!-- $Id: lwres_gethostent.html,v 1.5 2001/05/30 20:27:34 bwelling Exp $ -->
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostent</TITLE
fa9e4066f08beec538e775443c5be79dd423fcabahrensNAME="GENERATOR"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCONTENT="Modular DocBook HTML Stylesheet Version 1.61
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFENTRY"
fa9e4066f08beec538e775443c5be79dd423fcabahrensBGCOLOR="#FFFFFF"
fa9e4066f08beec538e775443c5be79dd423fcabahrensTEXT="#000000"
fa9e4066f08beec538e775443c5be79dd423fcabahrensLINK="#0000FF"
fa9e4066f08beec538e775443c5be79dd423fcabahrensVLINK="#840084"
fa9e4066f08beec538e775443c5be79dd423fcabahrensALINK="#0000FF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostent</A
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="REFNAMEDIV"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>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 -- lightweight resolver get network host entry</DIV
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFSYNOPSISDIV"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksNAME="AEN21"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>Synopsis</H2
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCSYNOPSIS"
fa9e4066f08beec538e775443c5be79dd423fcabahrensNAME="AEN22"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCSYNOPSISINFO"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrocklwres_gethostbyname</CODE
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>(const char *name);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_gethostbyname2</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrens>(const char *name, int af);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_gethostbyaddr</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrens>(const char *addr, int len, int type);</CODE
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_gethostent</CODE
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh>(void);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_sethostent</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrens>(int stayopen);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_endhostent</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrens>(void);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_gethostbyname_r</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrens>(const char *name, struct hostent *resbuf, char *buf, int buflen, int *error);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_gethostbyaddr_r</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrens>(const char *addr, int len, int type, struct hostent *resbuf, char *buf, int buflen, int *error);</CODE
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCDEF"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent *
fa9e4066f08beec538e775443c5be79dd423fcabahrenslwres_gethostent_r</CODE
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>(struct hostent *resbuf, char *buf, int buflen, int *error);</CODE
228975cc44c2290cc190960e5894ac6ce0863855ekCLASS="FUNCDEF"
228975cc44c2290cc190960e5894ac6ce0863855eklwres_sethostent_r</CODE
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>(int stayopen);</CODE
e7437265dc2a4920c197ed4337665539d358b22cahrensCLASS="FUNCDEF"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkslwres_endhostent_r</CODE
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>(void);</CODE
228975cc44c2290cc190960e5894ac6ce0863855ekCLASS="REFSECT1"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksNAME="AEN84"
15e6edf145a9c2bb0e0272cf8debe823bb97529bgw>DESCRIPTION</H2
15e6edf145a9c2bb0e0272cf8debe823bb97529bgw>These functions provide hostname-to-address and
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwaddress-to-hostname lookups by means of the lightweight resolver.
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwThey are similar to the standard
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwCLASS="CITEREFENTRY"
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwCLASS="REFENTRYTITLE"
15e6edf145a9c2bb0e0272cf8debe823bb97529bgw>gethostent</SPAN
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwfunctions provided by most operating systems.
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwCLASS="TYPE"
15e6edf145a9c2bb0e0272cf8debe823bb97529bgw>struct hostent</SPAN
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwwhich is usually defined in
15e6edf145a9c2bb0e0272cf8debe823bb97529bgwCLASS="FILENAME"
c2a93d444a68405f79b5f57e4b5ed64b385224c1timhCLASS="PROGRAMLISTING"
c2a93d444a68405f79b5f57e4b5ed64b385224c1timh>struct hostent {
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw char *h_name; /* official name of host */
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh char **h_aliases; /* alias list */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw int h_addrtype; /* host address type */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw int h_length; /* length of address */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw char **h_addr_list; /* list of addresses from name server */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#define h_addr h_addr_list[0] /* address, for backward compatibility */</PRE
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw>The members of this structure are:
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwCLASS="VARIABLELIST"
9e6eda553d3d6d77b83da5c596c89990d82bd485marksCLASS="CONSTANT"
9e6eda553d3d6d77b83da5c596c89990d82bd485marks>The official (canonical) name of the host.</P
9e6eda553d3d6d77b83da5c596c89990d82bd485marksCLASS="CONSTANT"
745cd3c5371d020efae7a911c58c526aa1fd0dbamaybee>h_aliases</TT
745cd3c5371d020efae7a911c58c526aa1fd0dbamaybee>A NULL-terminated array of alternate names (nicknames) for the host.</P
9e6eda553d3d6d77b83da5c596c89990d82bd485marksCLASS="CONSTANT"
9e6eda553d3d6d77b83da5c596c89990d82bd485marks>h_addrtype</TT
228975cc44c2290cc190960e5894ac6ce0863855ek>The type of address being returned —
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
228975cc44c2290cc190960e5894ac6ce0863855ek>PF_INET</SPAN
228975cc44c2290cc190960e5894ac6ce0863855ekCLASS="TYPE"
228975cc44c2290cc190960e5894ac6ce0863855ek>PF_INET6</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>h_length</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrens>The length of the address in bytes.</P
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>h_addr_list</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksterminated array of network addresses for the host.
fa9e4066f08beec538e775443c5be79dd423fcabahrensHost addresses are returned in network byte order.</P
fa9e4066f08beec538e775443c5be79dd423fcabahrens>For backward compatibility with very old software,
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrensis the first address in
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>h_addr_list.</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostent()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_sethostent()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_endhostent()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostent_r()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_sethostent_r()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_endhostent_r()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensprovide iteration over the known host entries on systems that
fa9e4066f08beec538e775443c5be79dd423fcabahrensprovide such functionality through facilities like
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FILENAME"
fa9e4066f08beec538e775443c5be79dd423fcabahrensor NIS. The lightweight resolver does not currently implement
fa9e4066f08beec538e775443c5be79dd423fcabahrensthese functions; it only provides them as stub functions that always
fa9e4066f08beec538e775443c5be79dd423fcabahrensreturn failure.</P
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
db870a07850e9c4ce547885b07cdf987749e7c7aahrens>lwres_gethostbyname()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname2()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkslook up the hostname
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksalways looks for an IPv4 address while
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname2()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkslooks for an address of protocol family
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>PF_INET</SPAN
91ebeef555ce7f899b6270a3c2df47b51f7ad59aahrensCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>PF_INET6</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks— IPv4 or IPV6 addresses respectively.
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksSuccessful calls of the functions return a
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>struct hostent</SPAN
fa9e4066f08beec538e775443c5be79dd423fcabahrensthe name that was looked up.
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis returned if the lookups by
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname2()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>Reverse lookups of addresses are performed by
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyaddr()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis an address of length
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksbytes and protocol family
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>PF_INET</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>PF_INET6</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis a thread-safe function for forward lookups.
fa9e4066f08beec538e775443c5be79dd423fcabahrensIf an error occurs, an error code is returned in
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="PARAMETER"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="PARAMETER"
fa9e4066f08beec538e775443c5be79dd423fcabahrensis a pointer to a
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="TYPE"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkswhich is initialised by a successful call to
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis a buffer of length
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksbytes which is used to store the
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>h_aliases</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>h_addr_list</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkselements of the
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>struct hostent</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksSuccessful calls to
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkswhich is a pointer to the
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>struct hostent</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksit created.</P
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyaddr_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis a thread-safe function that performs a reverse lookup of address
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksand is of protocol family
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>PF_INET</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>PF_INET6</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksIf an error occurs, the error code is returned in
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksThe other function parameters are identical to those in
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis a pointer to a
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>struct hostent</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkswhich is initialised by a successful call to
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyaddr_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksis a buffer of length
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksbytes which is used to store the
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>h_aliases</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CONSTANT"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>h_addr_list</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarkselements of the
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="TYPE"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>struct hostent</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksSuccessful calls to
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyaddr_r()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="PARAMETER"
fa9e4066f08beec538e775443c5be79dd423fcabahrenswhich is a pointer to the
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>struct hostent()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksit created.</P
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFSECT1"
fa9e4066f08beec538e775443c5be79dd423fcabahrensNAME="AEN191"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>RETURN VALUES</H2
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>The functions
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname2()</TT
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyaddr()</TT
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockCLASS="FUNCTION"
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock>lwres_gethostent()</TT
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockreturn NULL to indicate an error. In this case the global variable
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockCLASS="TYPE"
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock>lwres_h_errno</SPAN
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockwill contain one of the following error codes defined in
e45ce728996d8e573eecb27f555fb86aaff0cafdahrensCLASS="FILENAME"
e45ce728996d8e573eecb27f555fb86aaff0cafdahrensCLASS="VARIABLELIST"
e45ce728996d8e573eecb27f555fb86aaff0cafdahrensCLASS="CONSTANT"
e45ce728996d8e573eecb27f555fb86aaff0cafdahrens>HOST_NOT_FOUND</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrens>The host or address was not found.</P
990b4856d0eaada6f8140335733a1b1771ed2746llingCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>TRY_AGAIN</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrens>A recoverable error occurred, e.g., a timeout.
fa9e4066f08beec538e775443c5be79dd423fcabahrensRetrying the lookup may succeed.</P
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>NO_RECOVERY</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrens>A non-recoverable error occurred.</P
990b4856d0eaada6f8140335733a1b1771ed2746llingCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>NO_DATA</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrens>The name exists, but has no address information
fa9e4066f08beec538e775443c5be79dd423fcabahrensassociated with it (or vice versa in the case
990b4856d0eaada6f8140335733a1b1771ed2746llingof a reverse lookup). The code NO_ADDRESS
fa9e4066f08beec538e775443c5be79dd423fcabahrensis accepted as a synonym for NO_DATA for backwards
fa9e4066f08beec538e775443c5be79dd423fcabahrenscompatibility.</P
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrockCLASS="CITEREFENTRY"
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrockCLASS="REFENTRYTITLE"
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrock>lwres_hstrerror</SPAN
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrocktranslates these error codes to suitable error messages.</P
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrockCLASS="FUNCTION"
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrock>lwres_gethostent()</TT
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrockCLASS="FUNCTION"
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrock>lwres_gethostent_r()</TT
e9dbad6f263d5570ed7ff5443ec5b958af8c24d7eschrockalways return
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="TYPE"
990b4856d0eaada6f8140335733a1b1771ed2746lling>Successful calls to
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="FUNCTION"
228975cc44c2290cc190960e5894ac6ce0863855ek>lwres_gethostbyname_r()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
2a6b87f07ac0c0b819179c84afe5a60afa04cfa5ek>lwres_gethostbyaddr_r()</TT
990b4856d0eaada6f8140335733a1b1771ed2746llingCLASS="PARAMETER"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimha pointer to the
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="TYPE"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh>struct hostent</SPAN
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhthat was initialised by these functions.
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhThey return
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="TYPE"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh>NULL</SPAN
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhif the lookups fail
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="PARAMETER"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhwas too small to hold the list of addresses and names referenced by
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="CONSTANT"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh>h_name</TT
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="CONSTANT"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh>h_aliases</TT
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="CONSTANT"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>h_addr_list</TT
2a6b87f07ac0c0b819179c84afe5a60afa04cfa5ekelements of the
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimhCLASS="TYPE"
0a48a24e663a04e34e2ed4e55390ad96f178dbeatimh>struct hostent</SPAN
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="PARAMETER"
fa9e4066f08beec538e775443c5be79dd423fcabahrenswas too small, both
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="FUNCTION"
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarks>lwres_gethostbyname_r()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostbyaddr_r()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensset the global variable
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="TYPE"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>errno</SPAN
990b4856d0eaada6f8140335733a1b1771ed2746llingCLASS="ERRORCODE"
990b4856d0eaada6f8140335733a1b1771ed2746lling>ERANGE</SPAN
990b4856d0eaada6f8140335733a1b1771ed2746llingCLASS="REFSECT1"
fa9e4066f08beec538e775443c5be79dd423fcabahrensNAME="AEN245"
c5904d138f3bdf0762dbf452a43d5a5c387ea6a8eschrock>SEE ALSO</H2
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="CITEREFENTRY"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFENTRYTITLE"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>gethostent</SPAN
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="CITEREFENTRY"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFENTRYTITLE"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_getipnode</SPAN
ecd6cf800b63704be73fb264c3f5b6e0dafc068dmarksCLASS="CITEREFENTRY"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFENTRYTITLE"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_hstrerror</SPAN
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="REFSECT1"
fa9e4066f08beec538e775443c5be79dd423fcabahrensNAME="AEN257"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostbyname()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostbyname2()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock>lwres_gethostbyaddr()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_endhostent()</TT
fa9e4066f08beec538e775443c5be79dd423fcabahrensare not thread safe; they return pointers to static data and
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockprovide error codes through a global variable.
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockThread-safe versions for name and address lookup are provided by
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockCLASS="FUNCTION"
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock>lwres_gethostbyname_r()</TT
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockCLASS="FUNCTION"
fa9e4066f08beec538e775443c5be79dd423fcabahrens>lwres_gethostbyaddr_r()</TT
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrockrespectively.</P
fa9e4066f08beec538e775443c5be79dd423fcabahrens>The resolver daemon does not currently support any non-DNS
fa9e4066f08beec538e775443c5be79dd423fcabahrensname services such as
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="FILENAME"
fa9e4066f08beec538e775443c5be79dd423fcabahrensCLASS="TYPE"
990b4856d0eaada6f8140335733a1b1771ed2746llingconsequently the above functions don't, either.</P