|
|
1.1 root 1:
2: B E R K E L E Y N E T W O R K
3:
4:
5: The code in this directory is the most up-to-date network source
6: on the machine.
7:
8: *** Pre-processor Flags ***
9:
10: This set of code is controlled by this set of conditional
11: compilation flags:
12:
13: TESTING if defined, do not generate tests, etc. which require
14: super-user status.
15:
16: OLDTTY if defined, compile for old 1 character TTY names
17: CCTTY if defined, compile for CC tty name format
18: if neither is defined, use v7 ttyname format
19:
20: PASSWDF compile in code to handle /etc/passwdf - split passwd files
21:
22: NEWPROT use the new protocol, instead of the default protocol
23:
24: V7 use the v7 features
25:
26: FUID use the funny uid's present on Cory and CC
27: ROPTION The local machine mail program has the magic -r option
28: ROPTION2 The local machine mail program has the magic -r option
29:
30: HPASSWD The local machine has the hashed password stuff
31:
32: SPACCT under certain circumstances, allow remote login without acct
33:
34: SPOOLMAIL mail is in /usr/spool/mail/name
35: OLDMAIL mail is in home-directory/.mail
36: (default is /usr/mail/name)
37:
38: CC machine is a Computer Center machine
39: NUID userid (as returned by getuid()) on this machine
40: UID1CHAR uses vanila Version6 userid's (only 1 byte for uid)
41: NOEUID does not have the geteuid() system call
42:
43:
44: At Berkeley, the conditonal flags are first defined
45: in "/usr/include/whoami.h" on the local machine..
46: They are VAX, CORY, A, C, D, E, SRC.
47:
48: For "normal" version 6 machines, there is a dummy machine
49: definition for "VANILLA6" which indicates the v6 UNIX options.
50:
51: For "normal" version 7 machines, there is a dummy machine
52: definition for "VANILLA7" which indicates the v7 UNIX options.
53:
54: *** Adding a new machine
55:
56: To add another machine to the network, change these programs:
57: The machine tables are all in config.h.
58: 1. Change the path names in "Paths.h" and "nsh.c", and the makefile to suit.
59: 2. Change "defs.h" to suit.
60: 3. add in LOCALx section of config.h
61: the usual information about the machine interconnections
62: 4. add the name of the machine to the machine
63: name table and its type to the machine type table
64: 4.5 check routine "gothru" in sub.c
65: 5. compile the network specifying the code type (CC, VAX, Cory, VANILLA)
66: and the machine type
67:
68: *** Other files ***
69: interact.c, listen.c - manually send packets
70: speeds.c, speedr.c - send various length packets, use "time" to evaluate
71: store.c, receive.c - send a file (use for backup)
72: nettest.c - run daemons locally, using pipes instead of tty lines
73: setmode.c - set the mode on the tty line driver to "cat" things thru
74:
75: *** Taxonomy of net pgms being sent around:
76:
77: Internal: sendberkmail, prmail, mmail, mwrite
78: External: net, netcp, netlpr, netmail
79: Other: netdaemon, netstart, netq, netrm
80:
81:
82: *** Naming Conventions (in progress) ***
83: The names of simple variables are composed of three parts.
84: [type char] [string] [type tag]
85: where
86: typechar is one of
87: i integer (int)
88: l long integer (long)
89: ch character (char)
90: s string (char *)
91: f logical (char)
92: the (optional) string is any short descriptive string.
93: the (optional) type tag is noe of (assume string is "foo"):
94:
95: fooMin minimum value of foo, for all foo, foo >= fooMin
96: fooMax maximum value of foo, foo <= fooMax
97: fooMac current maximum of foo, fooMin <= fooMac <= fooMax
98: usually used for array substript
99: fooOld old value of foo, as opposed to fooNew
100: fooNew new value of foo, as opposes to fooOld
101:
102: Example:
103: sdate a string containing a date
104: sdateOld a string containing an old date
105: sdateNew a string containing the "current" date
106:
107: Pointers
108:
109: pointer names are composed of the
110: previous set of names precedd by a character "p", e.g.
111:
112: pch pointer to char (same as string)
113: pi pointer to integer
114: pltime pointer to a long with the time in it
115:
116: Counters
117: Variables that count instances of things are preceded
118: by 'n', e.g.
119: nch number of chars
120: nsdate number of date strings
121: Indices
122: Are stored as integers and preceded by 'i':
123: ich index into char array
124: is same as above
125:
126: Added types:
127: uid userid as set by getuid()
128: sn local name, w/o ':'
129: fd (FILE *) file descriptor
130: mch (char) 1 - letter machine code
131: addr (char *) address, may include ':'
132:
133: Procedure names list
134: parameters appear after procedure name, return value before.
135: (Remember for external names only the first 7 characters are significant.)
136:
137: Compile Time Constants
138: Are in upper-case.
139: (Remember only first 8 characters are significant to the preprocessor).
140:
141:
142: PROBLEMS
143:
144: If you have any problems or questions, don't hesitate
145: to call me.
146: Eric Schmidt
147: 706 International House
148: Berkeley, Cal. 94720
149: 415-642-9365
150: 415-642-9490 (messages)
151:
152: or
153: C.S. Department
154: Evans Hall
155: U.C. Berkeley
156: Berkeley, Cal. 94720
157: 415-642-4951
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.