int main() { int err; test_Title("AF_INET Streams"); err=CommInit(0); /* ensure a workable comms environment */ test(err==0); IN_SET_LOOPBACK_ADDR(&testaddr); testSimple(); test_Close(); return 0; }
static int _confcheck() { int ns; struct stat rc_stat; struct sockaddr_in ns_sin; /* First, we check to see if /etc/resolv.conf exists. * If it doesn't, then localhost is mostlikely to be * the nameserver. */ if (stat(_PATH_RESCONF, &rc_stat) == -1 && errno == ENOENT) { /* Next, we check to see if _res.nsaddr is set to loopback. * If it isn't, it has been altered by the application * explicitly and we then want to bail with success. */ if (_res.nsaddr.sin_addr.S_un.S_addr == htonl(INADDR_LOOPBACK)) { /* Lastly, we try to connect to the TCP port of the * nameserver. If this fails, then we know that * DNS is misconfigured and we can quickly exit. */ ns = socket(AF_INET, SOCK_STREAM, 0); IN_SET_LOOPBACK_ADDR(&ns_sin); ns_sin.sin_port = htons(NAMESERVER_PORT); if (connect(ns, (struct sockaddr *) &ns_sin, sizeof ns_sin) == -1) { close(ns); return(-1); } else { close(ns); return(0); } } return(0); } return (0); }