INTERNET(3) INTERNET(3) NAME in_host, in_ntoa, in_address, in_service - internet operations SYNOPSIS #include <sys/inet/in.h> char *in_host(hostaddr) in_addr hostaddr; char *in_ntoa(hostaddr) in_addr hostaddr; in_addr in_address(hostname) char *hostname; struct in_service *in_service(name, proto, port) char *name, *proto; unsigned int port; DESCRIPTION These routines are loaded by the -lin option of ld(1). Internet addresses, type in_addr, are 32 bit quantities glo- bal to the network. The ascii representation for an in_addr can be either a host name or the form b1.b2.b3.b4, where each `bx' is the value of the x'th byte of the address in decimal. The mapping of an internet address to a host name is an n to m mapping. Since host names are considered local `aliases' for internet addresses, the host to address map- ping is subjective. In_address maps an internet host name to an address. In_host maps an internet address into a host name. In_ntoa maps an internet address to its ascii numeric for- mat. In_service looks up an entry in the services file and returns the closest match. If either name or port are 0, they will match any name or port. If proto is 0, the ``tcp'' protocol is assumed. FILES /usr/inet/lib/hosts mapping between host names and addresses /usr/inet/lib/networks mapping between network names and addresses /usr/inet/lib/services database of services /usr/inet/lib/hosts.equiv machines with common administration INTERNET(3) INTERNET(3) SEE ALSO tcp(3), udp(3) BUGS The mappings between internet addresses and names is arbi- trary at best. The hosts file may contain many addresses for each name and/or many names for each address. In_address and in_host each start at the beginning of the file and search sequentially for a match. Therefore, in_addr(in_host(addr)) == addr is not necessarily true.