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