NetBSD/dist/ipf/lib/gethost.c
2004-03-28 08:55:20 +00:00

34 lines
597 B
C

/* $NetBSD: gethost.c,v 1.1.1.1 2004/03/28 08:56:18 martti Exp $ */
#include "ipf.h"
int gethost(name, hostp)
char *name;
u_32_t *hostp;
{
struct hostent *h;
struct netent *n;
u_32_t addr;
if (!strcmp(name, "test.host.dots")) {
*hostp = htonl(0xfedcba98);
return 0;
}
h = gethostbyname(name);
if (h != NULL) {
if ((h->h_addr != NULL) && (h->h_length == sizeof(addr))) {
bcopy(h->h_addr, (char *)&addr, sizeof(addr));
*hostp = addr;
return 0;
}
}
n = getnetbyname(name);
if (n != NULL) {
*hostp = (u_32_t)htonl(n->n_net & 0xffffffff);
return 0;
}
return -1;
}