|
|
1.1 root 1: #ident "@(#)configdefs.h 1.3 'attmail mail(1) command'"
2: #ident "@(#)mailx:hdr/configdefs.h 1.2.1.1"
3: /* Copyright (c) 1984 AT&T */
4: /* All Rights Reserved */
5:
6: /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T */
7: /* The copyright notice above does not evidence any */
8: /* actual or intended publication of such source code. */
9:
10: #ident "@(#)mailx:hdr/configdefs.h 1.2"
11:
12: /*
13: * mailx -- a modified version of a University of California at Berkeley
14: * mail program
15: *
16: * This file contains the definitions of data structures used in
17: * configuring the network behavior of Mail when replying.
18: */
19:
20:
21: /*
22: * The following constants are used when you are running 4.1a bsd or
23: * later on a local network. The name thus found is inserted
24: * into the host table slot whose name was originally EMPTY.
25: */
26: #define EMPTY "** empty **"
27: #define EMPTYID 'E'
28:
29: /*
30: * The following data structure is the host table. You must have
31: * an entry here for your own machine, plus any special stuff you
32: * expect the mailer to know about. Not all hosts need be here, however:
33: * mailx can dope out stuff about hosts on the fly by looking
34: * at addresses. The machines needed here are:
35: * 1) The local machine
36: * 2) Any machines on the path to a network gateway
37: * 3) Any machines with nicknames that you want to have considered
38: * the same.
39: * The machine id letters can be anything you like and are not seen
40: * externally. Be sure not to use characters with the 0200 bit set --
41: * these have special meanings.
42: */
43: struct netmach {
44: char *nt_machine;
45: char nt_mid;
46: short nt_type;
47: };
48:
49: /*
50: * Network type codes. Basically, there is one for each different
51: * network, if the network can be discerned by the separator character,
52: * such as @ for the arpa net. The purpose of these codes is to
53: * coalesce cases where more than one character means the same thing,
54: * such as % and @ for the arpanet. Also, the host table uses a
55: * bit map of these codes to show what it is connected to.
56: * BN -- connected to Bell Net.
57: * AN -- connected to ARPA net, SN -- connected to Schmidt net.
58: */
59: #define AN 1 /* Connected to ARPA net */
60: #define BN 2 /* Connected to BTL net */
61: #define SN 4 /* Connected to Schmidt net */
62:
63: /*
64: * Data structure for table mapping network characters to network types.
65: */
66: struct ntypetab {
67: char nt_char; /* Actual character separator */
68: int nt_bcode; /* Type bit code */
69: };
70:
71: /*
72: * Codes for the "kind" of a network. IMPLICIT means that if there are
73: * physically several machines on the path, one does not list them in the
74: * address. The arpa net is like this. EXPLICIT means you list them,
75: * as in UUCP.
76: * By the way, this distinction means we lose if anyone actually uses the
77: * arpa net subhost convention: name@subhost@arpahost
78: */
79: #define IMPLICIT 1
80: #define EXPLICIT 2
81:
82: /*
83: * Table for mapping a network code to its type -- IMPLICIT routing or
84: * IMPLICIT routing.
85: */
86: struct nkindtab {
87: int nk_type; /* Its bit code */
88: int nk_kind; /* Whether explicit or implicit */
89: };
90:
91: /*
92: * The following table gives the order of preference of the various
93: * networks. Thus, if we have a choice of how to get somewhere, we
94: * take the preferred route.
95: */
96: struct netorder {
97: short no_stat;
98: char no_char;
99: };
100:
101: /*
102: * External declarations for above defined tables.
103: */
104: extern struct netmach netmach[];
105: extern struct ntypetab ntypetab[];
106: extern struct nkindtab nkindtab[];
107: extern struct netorder netorder[];
108: extern char *metanet;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.