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

Defined struct's

netmach defined in line 40; used 12 times
netorder defined in line 93; used 6 times
nkindtab defined in line 83; used 6 times
ntypetab defined in line 63; used 6 times

Defined macros

AN defined in line 56; used 7 times
BN defined in line 57; used 4 times
EMPTY defined in line 21; used 2 times
EMPTYID defined in line 22; used 1 times
EXPLICIT defined in line 77; used 1 times
IMPLICIT defined in line 76; used 2 times
SN defined in line 58; used 4 times

Usage of this include

Last modified: 1985-06-06
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 823
Valid CSS Valid XHTML 1.0 Strict