Annotation of 3BSD/cmd/net/READ_ME, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.