|
|
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.