1: #
   2: 
   3: /*
   4:  * This file contains the definitions of data structures used in
   5:  * configuring the network behavior of Mail when replying.
   6:  */
   7: 
   8: /*
   9:  * Sccs ID @(#)configdefs.h	1.3 9/2/82
  10:  */
  11: 
  12: /*
  13:  * The following constants are used when you are running 4.1a bsd or
  14:  * later on a local network.  Under control of the #define flag
  15:  * GETHOST, the host name is determined dynamically using the
  16:  * gethostname() system call.  The name thus found is inserted
  17:  * into the host table slot whose name was originally EMPTY.
  18:  */
  19: #define EMPTY       "** empty **"
  20: #define EMPTYID     'E'
  21: 
  22: /*
  23:  * The following data structure is the host table.  You must have
  24:  * an entry here for your own machine, plus any special stuff you
  25:  * expect the mailer to know about.  If you have #define'd GETHOST
  26:  * in v7.local.h, you needn't add your machine to the host table.
  27:  * Not all hosts need be here, however:
  28:  * Mail can dope out stuff about hosts on the fly by looking
  29:  * at addresses.  The machines needed here are:
  30:  *	1) The local machine
  31:  *	2) Any machines on the path to a network gateway
  32:  *	3) Any machines with nicknames that you want to have considered
  33:  *	   the same.
  34:  * The machine id letters can be anything you like and are not seen
  35:  * externally.  Be sure not to use characters with the 0200 bit set --
  36:  * these have special meanings.
  37:  */
  38: struct netmach {
  39:     char    *nt_machine;
  40:     char    nt_mid;
  41:     short   nt_type;
  42: };
  43: 
  44: /*
  45:  * Network type codes.  Basically, there is one for each different
  46:  * network, if the network can be discerned by the separator character,
  47:  * such as @ for the arpa net.  The purpose of these codes is to
  48:  * coalesce cases where more than one character means the same thing,
  49:  * such as % and @ for the arpanet.  Also, the host table uses a
  50:  * bit map of these codes to show what it is connected to.
  51:  * BN -- connected to Bell Net.
  52:  * AN -- connected to ARPA net, SN -- connected to Schmidt net.
  53:  */
  54: #define AN  1           /* Connected to ARPA net */
  55: #define BN  2           /* Connected to BTL net */
  56: #define SN  4           /* Connected to Schmidt net */
  57: 
  58: /*
  59:  * Data structure for table mapping network characters to network types.
  60:  */
  61: struct ntypetab {
  62:     char    nt_char;        /* Actual character separator */
  63:     int nt_bcode;       /* Type bit code */
  64: };
  65: 
  66: /*
  67:  * Codes for the "kind" of a network.  IMPLICIT means that if there are
  68:  * physically several machines on the path, one does not list them in the
  69:  * address.  The arpa net is like this.  EXPLICIT means you list them,
  70:  * as in UUCP.
  71:  * By the way, this distinction means we lose if anyone actually uses the
  72:  * arpa net subhost convention: name@subhost@arpahost
  73:  */
  74: #define IMPLICIT    1
  75: #define EXPLICIT    2
  76: 
  77: /*
  78:  * Table for mapping a network code to its type -- IMPLICIT routing or
  79:  * IMPLICIT routing.
  80:  */
  81: struct nkindtab {
  82:     int nk_type;        /* Its bit code */
  83:     int nk_kind;        /* Whether explicit or implicit */
  84: };
  85: 
  86: /*
  87:  * The following table gives the order of preference of the various
  88:  * networks.  Thus, if we have a choice of how to get somewhere, we
  89:  * take the preferred route.
  90:  */
  91: struct netorder {
  92:     short   no_stat;
  93:     char    no_char;
  94: };
  95: 
  96: /*
  97:  * External declarations for above defined tables.
  98:  */
  99: #ifndef CONFIGFILE
 100: extern struct netmach netmach[1];
 101: extern struct ntypetab ntypetab[1];
 102: extern struct nkindtab nkindtab[1];
 103: extern struct netorder netorder[1];
 104: extern char *metanet;
 105: #endif

Defined struct's

netmach defined in line 38; used 12 times
netorder defined in line 91; used 6 times
nkindtab defined in line 81; used 6 times
ntypetab defined in line 61; used 6 times

Defined macros

AN defined in line 54; used 7 times
BN defined in line 55; used 12 times
EMPTY defined in line 19; used 2 times
EMPTYID defined in line 20; used 1 times
EXPLICIT defined in line 75; used 1 times
IMPLICIT defined in line 74; used 2 times
SN defined in line 56; used 32 times

Usage of this include

Last modified: 1982-09-02
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 687
Valid CSS Valid XHTML 1.0 Strict