home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (c) 1983, 1987, 1989 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that: (1) source distributions retain this entire copyright
- * notice and comment, and (2) distributions including binaries display
- * the following acknowledgement: ``This product includes software
- * developed by the University of California, Berkeley and its contributors''
- * in the documentation or other materials provided with the distribution
- * and in all advertising materials mentioning features or use of this
- * software. Neither the name of the University nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- *
- * @(#)resolv.h 5.10 (Berkeley) 6/1/90
- */
- #define u_short short
- #define u_long long
-
- /*
- * Error return codes from gethostbyname() and gethostbyaddr()
- * (left in extern int h_errno).
- */
-
- #define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */
- #define TRY_AGAIN 2 /* Non-Authoritive Host not found, or SERVERFAIL */
- #define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
- #define NO_DATA 4 /* Valid name, no data record of requested type */
- #define NO_ADDRESS NO_DATA /* no address, look for MX record */
-
- /*
- * Global defines and variables for resolver stub.
- */
- #define MAXNS 3 /* max # name servers we'll track */
- #define MAXDFLSRCH 3 /* # default domain levels to try */
- #define MAXDNSRCH 6 /* max # domains in search path */
- #define MAXDNAME 256 /* maximum domain name */
- #define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */
-
- #define RES_TIMEOUT 5 /* min. seconds between retries */
-
- struct state {
- int retrans; /* retransmition time interval */
- int retry; /* number of times to retransmit */
- long options; /* option flags - see below. */
- int nscount; /* number of name servers */
- struct sockaddr_in nsaddr_list[MAXNS]; /* address of name server */
- #define nsaddr nsaddr_list[0] /* for backward compatibility */
- u_short id; /* current packet id */
- char defdname[MAXDNAME]; /* default domain */
- char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */
- };
-
- /*
- * Resolver options
- */
- #define RES_INIT 0x0001 /* address initialized */
- #define RES_DEBUG 0x0002 /* print debug messages */
- #define RES_AAONLY 0x0004 /* authoritative answers only */
- #define RES_USEVC 0x0008 /* use virtual circuit */
- #define RES_PRIMARY 0x0010 /* query primary server only */
- #define RES_IGNTC 0x0020 /* ignore trucation errors */
- #define RES_RECURSE 0x0040 /* recursion desired */
- #define RES_DEFNAMES 0x0080 /* use default domain name */
- #define RES_STAYOPEN 0x0100 /* Keep TCP socket open */
- #define RES_DNSRCH 0x0200 /* search up local domain tree */
-
- #define RES_DEFAULT (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH)
-
- extern struct state _res;
-
- extern char *p_cdname(char *, char *, FILE *);
- extern char *p_rr(char *, char *, FILE *);
- extern char *p_type(int);
- extern char *p_class(int);
- extern char *p_time(u_long);
-
- extern struct hostent *_gethostbyname(char *);
- extern struct hostent *_gethostbyaddr(char *, int, int);
-