Bug 24225

Summary: man gethostbyaddr
Product: Documentation Reporter: Joakim Henriksson <murduth>
Component: Books & ArticlesAssignee: freebsd-doc (Nobody) <doc>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Joakim Henriksson 2001-01-10 15:10:01 UTC
The manual page for gethostbyaddr does not even describe what the arguments 
should be.

Fix: 

Steal from linux or solaris.
-- 
regards/ Joakim
How-To-Repeat: 
murduth@rmstar ~ >man gethostbyaddr
Comment 1 ben freebsd_committer freebsd_triage 2001-01-10 15:41:07 UTC
Joakim Henriksson wrote:

> The manual page for gethostbyaddr does not even describe what the arguments 
> should be.

     struct hostent *
     gethostbyaddr(const char *addr, int len, int type)

An address, a length, a type.  What more do you want? ;-)

Oh, ok, I might see if I can come up with anything, depends how busy I
am...

> Steal from linux

Oh.  My.  God.

One thing I like about FreeBSD is its useful manual pages, so I don't
think copying one from Linux would be a great idea.

-- 
Ben Smithurst / ben@FreeBSD.org / PGP: 0x99392F7D
Comment 2 ben freebsd_committer freebsd_triage 2001-01-10 16:17:26 UTC
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
Comment 3 Joakim Henriksson 2001-01-10 19:19:30 UTC
> > 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?

Visually examining the patch it seems ok. Didn't get it to apply in any sane 
maner though.
-- 
regards/ Joakim
Comment 4 nik freebsd_committer freebsd_triage 2001-02-09 19:06:10 UTC
State Changed
From-To: open->closed

Committed.