Annotation of 43BSD/ucb/Mail/configdefs.h, revision 1.1.1.1

1.1       root        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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.