URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [libnetworking/] [libc/] [gethostbyname.3] - Rev 214
Go to most recent revision | Compare with Previous | Blame | View Log
.\" Copyright (c) 1983, 1987, 1991, 1993.\" The Regents of the University of California. All rights reserved..\".\" Redistribution and use in source and binary forms, with or without.\" modification, are permitted provided that the following conditions.\" are met:.\" 1. Redistributions of source code must retain the above copyright.\" notice, this list of conditions and the following disclaimer..\" 2. Redistributions in binary form must reproduce the above copyright.\" notice, this list of conditions and the following disclaimer in the.\" documentation and/or other materials provided with the distribution..\" 3. All advertising materials mentioning features or use of this software.\" must display the following acknowledgement:.\" This product includes software developed by the University of.\" California, Berkeley and its contributors..\" 4. Neither the name of the University nor the names of its contributors.\" may be used to endorse or promote products derived from this software.\" without specific prior written permission..\".\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION).\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF.\" SUCH DAMAGE..\".\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95.\" $Id: gethostbyname.3,v 1.2 2001-09-27 12:01:53 chris Exp $.\".Dd May 25, 1995.Dt GETHOSTBYNAME 3.Os BSD 4.2.Sh NAME.Nm gethostbyname ,.Nm gethostbyname2 ,.Nm gethostbyaddr ,.Nm gethostent ,.Nm sethostent ,.Nm endhostent ,.Nm herror ,.Nm hstrerror.Nd get network host entry.Sh SYNOPSIS.Fd #include <netdb.h>.Vt extern int h_errno;.Ft struct hostent *.Fn gethostbyname "const char *name".Ft struct hostent *.Fn gethostbyname2 "const char *name" "int af".Ft struct hostent *.Fn gethostbyaddr "const char *addr" "int len" "int type".Ft struct hostent *.Fn gethostent void.Ft void.Fn sethostent "int stayopen".Ft void.Fn endhostent void.Ft void.Fn herror "const char *string".Ft const char *.Fn hstrerror "int err".Sh DESCRIPTIONThe.Fn gethostbyname ,.Fn gethostbyname2and.Fn gethostbyaddrfunctionseach return a pointer to an object with thefollowing structure describing an internet hostreferenced by name or by address, respectively.This structure contains either the information obtained from the name server,.Xr named 8 ,or broken-out fields from a line in.Pa /etc/hosts .If the local name server is not running these routines do a lookup in.Pa /etc/hosts ..Bd -literalstruct hostent {char *h_name; /* official name of host */char **h_aliases; /* alias list */int h_addrtype; /* host address type */int h_length; /* length of address */char **h_addr_list; /* list of addresses from name server */};#define h_addr h_addr_list[0] /* address, for backward compatibility */.Ed.PpThe members of this structure are:.Bl -tag -width h_addr_list.It Fa h_nameOfficial name of the host..It Fa h_aliasesA NULL-terminated array of alternate names for the host..It Fa h_addrtypeThe type of address being returned; usually.Dv AF_INET ..It Fa h_lengthThe length, in bytes, of the address..It Fa h_addr_listA NULL-terminated array of network addresses for the host.Host addresses are returned in network byte order..It Fa h_addrThe first address in.Fa h_addr_list ;this is for backward compatibility..El.PpWhen using the nameserver,.Fn gethostbynameand.Fn gethostbynamewill search for the named host in the current domain and its parentsunless the name ends in a dot.If the name contains no dot, and if the environment variable.Dq Ev HOSTALIASEScontains the name of an alias file, the alias file will first be searchedfor an alias matching the input name.See.Xr hostname 7for the domain search procedure and the alias file format..PpThe.Fn gethostbyname2function is an evolution of.Fn gethostbynamewhich is intended to allow lookups in address families other than.Dv AF_INET ,for example.Dv AF_INET6 .Currently the.Fa afargument must be specified as.Dv AF_INETelse the function will return.Dv NULLafter having set.Va h_errnoto.Dv NETDB_INTERNAL.PpThe.Fn sethostentfunctionmay be used to request the use of a connected.Tn TCPsocket for queries.If the.Fa stayopenflag is non-zero,this sets the option to send all queries to the name server using.Tn TCPand to retain the connection after each call to.Fn gethostbyname ,.Fn gethostbyname2or.Fn gethostbyaddr .Otherwise, queries are performed using.Tn UDPdatagrams..PpThe.Fn endhostentfunctioncloses the.Tn TCPconnection..PpThe.Fn herrorfunction writes a message to the diagnostic output consisting of thestring parameter.Fa s ,the constant string ": ", and a message corresponding to the value of.Va h_errno ..PpThe.Fn hstrerrorfunction returns a string which is the message text corresponding to thevalue of the.Fa errparameter..Sh FILES.Bl -tag -width /etc/resolv.conf -compact.It Pa /etc/hosts.It Pa /etc/host.conf.It Pa /etc/resolv.conf.El.Sh DIAGNOSTICSError return status from.Fn gethostbyname ,.Fn gethostbyname2and.Fn gethostbyaddris indicated by return of a null pointer.The external integer.Va h_errnomay then be checked to see whether this is a temporary failureor an invalid or unknown host.The routine.Fn herrorcan be used to print an error message describing the failure.If its argument.Fa stringis.Pf non Dv -NULL ,it is printed, followed by a colon and a space.The error message is printed with a trailing newline..PpThe variable.Va h_errnocan have the following values:.Bl -tag -width HOST_NOT_FOUND.It Dv HOST_NOT_FOUNDNo such host is known..It Dv TRY_AGAINThis is usually a temporary errorand means that the local server did not receivea response from an authoritative server.A retry at some later time may succeed..It Dv NO_RECOVERYSome unexpected server failure was encountered.This is a non-recoverable error..It Dv NO_DATAThe requested name is valid but does not have an IP address;this is not a temporary error.This means that the name is known to the name server but there is no addressassociated with this name.Another type of request to the name server using this domain namewill result in an answer;for example, a mail-forwarder may be registered for this domain..El.Sh SEE ALSO.Xr resolver 3 ,.Xr hosts 5 ,.Xr hostname 7 ,.Xr named 8.Sh CAVEATThe.Fn gethostentfunctionis defined, and.Fn sethostentand.Fn endhostentare redefined,when.Xr libc 3is built to use only the routines to lookup in.Pa /etc/hostsand not the name server..PpThe.Fn gethostentfunctionreads the next line of.Pa /etc/hosts ,opening the file if necessary..PpThe.Fn sethostentfunctionopens and/or rewinds the file.Pa /etc/hosts .If the.Fa stayopenargument is non-zero,the file will not be closed after each call to.Fn gethostbyname ,.Fn gethostbyname2or.Fn gethostbyaddr ..PpThe.Fn endhostentfunctioncloses the file..Sh HISTORYThe.Fn herrorfunction appeared in.Bx 4.3 .The.Fn endhostent ,.Fn gethostbyaddr ,.Fn gethostbyname ,.Fn gethostent ,and.Fn sethostentfunctions appeared in.Bx 4.2 .The.Fn gethostbyname2function first appeared in bind-4.9.4..Sh BUGSThese functions use static data storage;if the data is needed for future use, it should becopied before any subsequent calls overwrite it.Only the Internetaddress format is currently understood.
Go to most recent revision | Compare with Previous | Blame | View Log
