What do I have to do to get gethostbyaddr to work?

Paul W Placeway pplacewa at bbn.com
Sat Mar 30 10:01:25 AEST 1991


I'm stumped.  I can't seem to make gethostbyaddr to work right.  The
host is in /etc/hosts (which shouldn't even exist, but that's another
issue), AND it's in the YP version of hosts ("ypmatch <num> hosts.byaddr"
works), AND the DNS knows about	it.  I've tried compiling this tidbit
normally, with -D_BSD_COMPAT and -lbsd, and with -D_BSD_COMPAT, -lsun
-lbsd (to get YP stuff).  None of them work.  It works fine on our
Suns.

This is on a 4d/240 running Irix 3.3.2.

		-- Paul Placeway <pplaceway at bbn.com>

================ cut here ================
#! /bin/sh
# To extract, remove mail header lines and type "sh filename"
echo x - FOO.c
sed -e 's/^X//' > FOO.c << '!FaR!OuT!'
X#include <stdio.h>
X#include	<netdb.h>
X#include	<sys/types.h>
X#include	<sys/socket.h>
X
Xmain(argc, argv)
Xint argc;
Xchar *argv[];
X{
X    struct	hostent	*h;
X    char	*host_addr;
X    long l;
X    
X    if (sscanf(argv[1], "%ld", &l) != 1)
X	exit (1);
X
X    host_addr = (char *) &l;
X    h = gethostbyaddr (host_addr, sizeof (long), 0);
X    if (h == (struct hostent *) 0) {
X#ifdef sun
X	printf("h_errno == %d\n", h_errno);
X#else
X	herror("gethostbyaddr");
X#endif
X    } else {
X	printf("%s\n", h->h_name);
X    }
X
X    exit (0);
X}
X
!FaR!OuT!
exit



More information about the Comp.sys.sgi mailing list