standardize sccs keyword lines
[unix-history] / usr / src / usr.bin / mail / configdefs.h
CommitLineData
2ae9f53f 1/* configdefs.h 1.4 83/08/11 */
4a03b5a8
KS
2
3/*
4 * This file contains the definitions of data structures used in
5 * configuring the network behavior of Mail when replying.
6 */
7
3c4439a9
KM
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
4a03b5a8
KS
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
3c4439a9
KM
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
4a03b5a8
KS
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 */
34struct 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 */
9f62cf05 57struct ntypetab {
4a03b5a8 58 char nt_char; /* Actual character separator */
9f62cf05 59 int nt_bcode; /* Type bit code */
4a03b5a8
KS
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 */
9f62cf05 77struct nkindtab {
4a03b5a8
KS
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 */
87struct netorder {
88 short no_stat;
89 char no_char;
90};
91
92/*
93 * External declarations for above defined tables.
94 */
95#ifndef CONFIGFILE
96extern struct netmach netmach[1];
9f62cf05
KS
97extern struct ntypetab ntypetab[1];
98extern struct nkindtab nkindtab[1];
4a03b5a8
KS
99extern struct netorder netorder[1];
100extern char *metanet;
101#endif