From owner-freebsd-doc Wed Jan 10 10:10:22 2001 Delivered-To: freebsd-doc@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 976E337B698 for ; Wed, 10 Jan 2001 10:10:03 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f0AIA3g10009; Wed, 10 Jan 2001 10:10:03 -0800 (PST) (envelope-from gnats) Date: Wed, 10 Jan 2001 10:10:03 -0800 (PST) Message-Id: <200101101810.f0AIA3g10009@freefall.freebsd.org> To: freebsd-doc@freebsd.org Cc: From: Ben Smithurst Subject: Re: docs/24225: Useless gethostbyaddr man page Reply-To: Ben Smithurst Sender: owner-freebsd-doc@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR docs/24225; it has been noted by GNATS. From: Ben Smithurst To: Joakim Henriksson Cc: FreeBSD-gnats-submit@freebsd.org Subject: Re: docs/24225: Useless gethostbyaddr man page Date: Wed, 10 Jan 2001 16:17:26 +0000 Joakim Henriksson wrote: > The manual page for gethostbyaddr does not even describe what the arguments > should be. ok, what do you (and everyone else) think of this patch? Index: gethostbyname.3 =================================================================== RCS file: /usr/cvs/src/lib/libc/net/gethostbyname.3,v retrieving revision 1.14 diff -u -r1.14 gethostbyname.3 --- gethostbyname.3 2000/09/06 18:16:40 1.14 +++ gethostbyname.3 2001/01/10 16:14:20 @@ -76,7 +76,34 @@ each return a pointer to an object with the following structure describing an internet host referenced by name or by address, respectively. -This structure contains either the information obtained from the name server, +.Pp +The +.Fa name +parameter passed to +.Fn gethostbyname +or +.Fn gethostbyname2 +should point to a NUL-terminated hostname. +The +.Fa addr +parameter passed to +.Fn gethostbyaddr +should point to an address which is +.Fa len +bytes long, +in binary form +(i.e. not an IP address in human readable ASCII form). +The +.Fa type +parameter specifies the address family +(e.g. +.Dv AF_INET , +.Dv AF_INET6 , +etc) +of this address. +.Pp +The structure returned contains either the information obtained from the name +server, .Xr named 8 , broken-out fields from a line in .Pa /etc/hosts , @@ -198,6 +225,23 @@ .It Pa /etc/nsswitch.conf .It Pa /etc/resolv.conf .El +.Sh EXAMPLES +Print out the hostname associated with a specific IP address: +.Pp +.Bd -literal + const char *ipstr = "127.0.0.1"; + struct in_addr ip; + struct hostent *hp; + + if (!inet_aton(ipstr, &ip)) + errx(1, "can't parse IP address %s", ipstr); + + if ((hp = gethostbyaddr((const char *)&ip, + sizeof ip, AF_INET)) == NULL) + errx(1, "no name associated with %s", ipstr); + + printf("name associated with %s is %s\en", ipstr, hp->h_name); +.Ed -literal .Sh DIAGNOSTICS Error return status from .Fn gethostbyname , @@ -243,6 +287,7 @@ for example, a mail-forwarder may be registered for this domain. .El .Sh SEE ALSO +.Xr inet_aton 3 , .Xr resolver 3 , .Xr hosts 5 , .Xr hostname 7 , -- Ben Smithurst / ben@FreeBSD.org / PGP: 0x99392F7D To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message