Commit | Line | Data |
---|---|---|
91978b44 ES |
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 |