Commit | Line | Data |
---|---|---|
4a03b5a8 KS |
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 %G% | |
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 |