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