Annotation of 42BSD/ucb/Mail/configdefs.h, revision 1.1

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

unix.superglobalmegacorp.com

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