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