1: /*
   2:  *******************************************************************************
   3:  *
   4:  *  res.h --
   5:  *
   6:  *	Definitions used by modules of the name server
   7:  *	lookup program.
   8:  *
   9:  *	Copyright (c) 1985
  10:  *  	Andrew Cherenson
  11:  *  	CS298-26  Fall 1985
  12:  *
  13:  *	Copyright (c) 1985 Regents of the University of California.
  14:  *	All rights reserved.  The Berkeley software License Agreement
  15:  *	specifies the terms and conditions for redistribution.
  16:  *
  17:  *	@(#)res.h	5.1 (Berkeley) 11/29/85
  18:  *
  19:  *******************************************************************************
  20:  */
  21: 
  22: 
  23: #define TRUE    1
  24: #define FALSE   0
  25: 
  26: /*
  27:  *  Define return statuses in addtion to the ones defined in namserv.h
  28:  *   let SUCCESS be a synonym for NOERROR
  29:  *
  30:  *	TIME_OUT	- a socket connection timed out.
  31:  *	NO_INFO		- the server didn't find any info about the host.
  32:  *	ERROR		- one of the following types of errors:
  33:  *			   dn_expand, res_mkquery failed
  34:  *			   bad command line, socket operation failed, etc.
  35:  *	NONAUTH		- the server didn't have the desired info but
  36:  *			  returned the name(s) of some servers who should.
  37:  *
  38:  */
  39: 
  40: #define  SUCCESS        0
  41: #define  TIME_OUT       -1
  42: #define  NO_INFO        -2
  43: #define  ERROR          -3
  44: #define  NONAUTH        -4
  45: 
  46: /*
  47:  *  Define additional options for the resolver state structure.
  48:  *
  49:  *   RES_DEBUG2		more verbose debug level
  50:  */
  51: 
  52: #define RES_DEBUG2  0x80000000
  53: 
  54: /*
  55:  *  Maximum length of server, host and file names.
  56:  */
  57: 
  58: #define NAME_LEN 80
  59: 
  60: 
  61: /*
  62:  * Modified struct hostent from <netdb.h>
  63:  *
  64:  * "Structures returned by network data base library.  All addresses
  65:  * are supplied in host order, and returned in network order (suitable
  66:  * for use in system calls)."
  67:  */
  68: 
  69: typedef struct  {
  70:     char    *name;      /* official name of host */
  71:     char    **domains;  /* domains it serves */
  72:     char    **addrList; /* list of addresses from name server */
  73: } ServerInfo;
  74: 
  75: typedef struct  {
  76:     char    *name;      /* official name of host */
  77:     char    **aliases;  /* alias list */
  78:     char    **addrList; /* list of addresses from name server */
  79:     int addrType;   /* host address type */
  80:     int addrLen;    /* length of address */
  81:     ServerInfo **servers;
  82: } HostInfo;
  83: 
  84: 
  85: /*
  86:  *  SockFD is the file descriptor for sockets used to connect with
  87:  *  the name servers. It is global so the Control-C handler can close
  88:  *  it. Likewise for filePtr, which is used for directing listings
  89:  *  to a file.
  90:  */
  91: 
  92: extern int sockFD;
  93: extern FILE *filePtr;
  94: 
  95: 
  96: /*
  97:  *  External routines:
  98:  */
  99: 
 100: extern int   Print_query();
 101: extern char *Print_cdname();
 102: extern char *Print_cdname2();   /* fixed width */
 103: extern char *Print_rr();
 104: extern char *DecodeType();  /* descriptive version of p_type */
 105: extern char *DecodeError();
 106: extern char *Calloc();
 107: extern void PrintServer();
 108: extern void PrintHostInfo();
 109: extern void ShowOptions();
 110: extern void FreeHostInfoPtr();
 111: extern FILE *OpenFile();
 112: extern char *inet_ntoa();
 113: extern char *res_skip();

Defined macros

TIME_OUT defined in line 41; used 1 times

Usage of this include

Last modified: 1986-04-30
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1049
Valid CSS Valid XHTML 1.0 Strict