summaryrefslogtreecommitdiff
path: root/static/v10/man5
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 21:07:28 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-25 21:07:28 -0400
commit711594636704defae873be1a355a292505585afd (patch)
tree59ee13f863830d8beba6cfd02bbe813dd486c26f /static/v10/man5
parent3258a063c1f189d7b019e40e525b46bef9b9a7b1 (diff)
docs: Added UNIX V10 Manuals
Diffstat (limited to 'static/v10/man5')
-rw-r--r--static/v10/man5/80.out.5161
-rw-r--r--static/v10/man5/Makefile3
-rw-r--r--static/v10/man5/a.out.5150
-rw-r--r--static/v10/man5/acct.563
-rw-r--r--static/v10/man5/aliases.551
-rw-r--r--static/v10/man5/ar.555
-rwxr-xr-xstatic/v10/man5/ascii.561
-rw-r--r--static/v10/man5/backup.5168
-rw-r--r--static/v10/man5/cdl.10.5534
-rw-r--r--static/v10/man5/config.5149
-rw-r--r--static/v10/man5/core.557
-rw-r--r--static/v10/man5/cpio.587
-rw-r--r--static/v10/man5/dir.534
-rw-r--r--static/v10/man5/dist.568
-rw-r--r--static/v10/man5/dump.5211
-rw-r--r--static/v10/man5/environ.591
-rw-r--r--static/v10/man5/filsys.5327
-rw-r--r--static/v10/man5/fizz.10.5459
-rw-r--r--static/v10/man5/font.5413
-rw-r--r--static/v10/man5/fs.5147
-rw-r--r--static/v10/man5/fsm.10.5116
-rw-r--r--static/v10/man5/fstab.5106
-rw-r--r--static/v10/man5/graw.10.579
-rw-r--r--static/v10/man5/ident.537
-rw-r--r--static/v10/man5/lde.10.5295
-rw-r--r--static/v10/man5/lnode.5166
-rw-r--r--static/v10/man5/log.5126
-rw-r--r--static/v10/man5/map.583
-rwxr-xr-xstatic/v10/man5/math.5104
-rw-r--r--static/v10/man5/mcolor.560
-rw-r--r--static/v10/man5/mds.10.5239
-rw-r--r--static/v10/man5/minterm.10.578
-rw-r--r--static/v10/man5/minus.z.577
-rw-r--r--static/v10/man5/mpictures.5220
-rw-r--r--static/v10/man5/mpxio.5187
-rw-r--r--static/v10/man5/netnews.5123
-rw-r--r--static/v10/man5/news.5146
-rw-r--r--static/v10/man5/newsrc.550
-rw-r--r--static/v10/man5/paddle.10.563
-rw-r--r--static/v10/man5/passwd.533
-rw-r--r--static/v10/man5/picfile.5157
-rw-r--r--static/v10/man5/plot.5453
-rw-r--r--static/v10/man5/poly.5141
-rw-r--r--static/v10/man5/privs.5282
-rw-r--r--static/v10/man5/pwfile.552
-rw-r--r--static/v10/man5/saf.10.5bin0 -> 4387 bytes
-rw-r--r--static/v10/man5/share.5309
-rw-r--r--static/v10/man5/shares.564
-rw-r--r--static/v10/man5/speakm.542
-rw-r--r--static/v10/man5/src.527
-rw-r--r--static/v10/man5/stab.5211
-rw-r--r--static/v10/man5/stock.10.518
-rw-r--r--static/v10/man5/tap.568
-rw-r--r--static/v10/man5/termcap.5350
-rw-r--r--static/v10/man5/tp.568
-rw-r--r--static/v10/man5/troff.5202
-rw-r--r--static/v10/man5/ttys.541
-rw-r--r--static/v10/man5/ttytype.523
-rw-r--r--static/v10/man5/types.542
-rw-r--r--static/v10/man5/uids.533
-rw-r--r--static/v10/man5/utmp.523
-rw-r--r--static/v10/man5/uuencode.549
-rwxr-xr-xstatic/v10/man5/values.584
-rw-r--r--static/v10/man5/vfont.588
-rw-r--r--static/v10/man5/view2d.565
-rw-r--r--static/v10/man5/whoami.514
-rw-r--r--static/v10/man5/worm.5103
-rw-r--r--static/v10/man5/wtmp.521
68 files changed, 8707 insertions, 0 deletions
diff --git a/static/v10/man5/80.out.5 b/static/v10/man5/80.out.5
new file mode 100644
index 00000000..153782c8
--- /dev/null
+++ b/static/v10/man5/80.out.5
@@ -0,0 +1,161 @@
+.th "80.out" 5 "March 1,1977"
+.sh NAME
+80.out \*- assembler and link editor output
+.sh DESCRIPTION
+.it "80.out"
+is the output file of the assembler
+.it "as80"
+and the link editor
+.it "ld80".
+Both programs make
+.it "80.out"
+executable if there were no
+errors and no unresolved external references.
+.s3
+.it 80.out
+has five sections:
+header, text, data, relocation information and a symbol table (in that order).
+The last two sections may be empty if the program was loaded with
+the ``\*-b'', ``\*-d'' or ``\*-t'' option of
+.it ld80.
+.s1
+(Constants beginning with `0' are octal values.)
+.s3
+.it HEADER
+.s3
+The header always contains 040 bytes:
+.lp +10 8
+Address Contents
+.lp +10 8
+(octal)
+.s1
+.lp +10 8
+0-1 Magic number (0413)
+.lp +10 8
+2-3 Size of text segment
+.lp +10 8
+4-5 Size of data segment
+.lp +10 8
+6-7 Size of bss segment
+.lp +10 8
+10-11 Size of symbol table
+.lp +10 8
+12-13 Load origin of text segment
+.lp +10 8
+14-15 Load origin of data segment
+.lp +10 8
+16-20 Load origin of bss segment
+.lp +10 8
+20-21 Size of relocation table
+.lp +10 8
+22-23 A word of flags
+.lp +10 8
+24-37 Padding
+.s3
+.i0
+The size of each segment is in bytes.
+The size of the header is not included in any of the other sizes.
+.s3
+The flag values are:
+.lp +20 7
+Bit Meaning
+.lp +20 7
+0 If set, no relocation information is present.
+.i0
+.s3
+The start of the text segment in the file is 040,
+the start of the data is (040 + text size),
+the start of the relocation is (040 + text + data size),
+and the start of the symbol table is (040 + text size + data size + relocation size).
+.s3
+.it "RELOCATION INFORMATION"
+.s3
+The relocation information (if present)
+occupies one or two bytes for each byte or word of text or data.
+The bits of the relocation word (or byte) are:
+.s3
+.lp +10 8
+Bit Meaning
+.s3
+.lp +10 8
+6-15 Symbol number in symbol table for external references.
+The firat symbol is numbered 0.
+.lp +10 8
+5 High-byte flag: If set, the next byte of text or data is to be treated as the high
+order byte of a 16-bit quantity for relocation purposes.
+.lp +10 8
+4 Two-byte flag: If set, the next two bytes of text or data are to be
+treated as a 16-bit quantity for relocation purposes.
+.lp +10 8
+3 External flag: If set, bits 15-6 contain a symbol number, otherwise, only one byte
+of relocation information is present.
+.lp +10 8
+0-2 Segment information:
+.lp +20 5
+0 absolute
+.lp +20 5
+1 text
+.lp +20 5
+2 data
+.lp +20 5
+3 bss
+.i0
+.s3
+.sh "SEE ALSO"
+"as80" (I), "ld80" (I), "nm80" (I)
+.s3
+.it "SYMBOL TABLE"
+.s1
+The symbol table entries consist of six words:
+.s3
+.lp +10 8
+Word Meaning
+.s1
+.lp 1-4 The first four words contain the left justified, null-padded ASCII symbol name.
+.lp +10 8
+The fifth word is a flag indicating the type of the symbol.
+The following values are possible:
+.lp +20 5
+00 undefined
+.lp +20 5
+01 absolute
+.lp +20 5
+02 text
+.lp +20 5
+03 data
+.lp +20 5
+04 bss
+.lp +20 5
+05 file name symbol (produced by ld80)
+.lp +20 5
+010 undefined external
+.lp +20 5
+011 absolute external
+.lp +20 5
+012 text segment external
+.lp +20 5
+013 data segment external
+.lp +20 5
+014 bss segment external
+.lp +10 8
+6 The sixth word is the value of the symbol.
+.i0
+.s3
+The sixth word of a symbol table entry contains the value of the symbol.
+.s3
+.s3
+The value of a word in the text or data portions which is not
+a reference to an undefined external symbol
+is exactly that value which will appear in core
+when the file is executed.
+If a word in the text or data portion
+involves a reference to an undefined external symbol,
+as indicated by the relocation bits
+for that word,
+then the value of the word as stored in the file
+is an offset from the associated external symbol.
+When the file is processed by the
+link editor and the external symbol becomes
+defined, the value of the symbol will
+be added into the word in the file.
+.s3
diff --git a/static/v10/man5/Makefile b/static/v10/man5/Makefile
new file mode 100644
index 00000000..0a0569ba
--- /dev/null
+++ b/static/v10/man5/Makefile
@@ -0,0 +1,3 @@
+MAN = $(wildcard *.5)
+
+include ../../mandoc.mk
diff --git a/static/v10/man5/a.out.5 b/static/v10/man5/a.out.5
new file mode 100644
index 00000000..15cc5e8e
--- /dev/null
+++ b/static/v10/man5/a.out.5
@@ -0,0 +1,150 @@
+.pa 1
+.he 'A.OUT (V)'3/15/72'A.OUT (V)'
+.ti 0
+.nf
+NAME a.out -- assembler and link editor output
+.fi
+.sp
+.ti 0
+DESCRIPTION
+.br
+.in 8
+a.out_____
+is the output file of the assembler as__ and the link editor ld__.
+In both cases, a.out_____ may be executed provided there
+were no errors and no unresolved external references.
+.sp
+This file has four sections:
+a header, the program and data text, a symbol table, and relocation bits
+(in that order).
+The last two may be empty
+if the program was loaded
+with the "-s" option
+of ld__ or if the symbols and relocation have been
+removed by strip_____.
+
+The header always contains 8 words:
+
+.in +6
+.ti -3
+1 A magic number (407(8))
+.ti -3
+2 The size of the program text segment
+.ti -3
+3 The size of the initialized data segment
+.ti -3
+4 The size of the uninitialized (bss) segment
+.ti -3
+5 The size of the symbol table
+.ti -3
+6 The entry location (always 0 at present)
+.ti -3
+7 The stack size required (0 at present)
+.ti -3
+8 A flag indicating relocation bits have been suppressed
+
+.in -6
+The sizes of each segment are in bytes but are even.
+The size of the header is not included in any of the other sizes.
+
+When a file produced by the assembler or loader is
+loaded into core for execution, three segments are
+set up: the text segment, the data segment,
+and the bss (uninitialized data) segment,
+in that order.
+The text segment begins at the lowest
+location in the core image; the header is not loaded.
+The data segment begins immediately after the text
+segment, and the bss segment immediately after
+the data segment.
+The bss segment is initialized by 0's.
+In the future the text segment will be write-protected
+and shared.
+
+The start of the text segment in the file is 20(8);
+the start of the data segment is 20+S9t8 (the size of the text)
+the start of the relocation information is 20+S9t8+S9d8;
+the start of the symbol table is 20+2(S9t8+S9d8) if the
+relocation information is present, 20+S9t8+S9d8 if not.
+
+The symbol table consists of 6-word entries. The first
+four contain the ASCII name of the symbol, null-padded.
+The next word is a flag indicating the type of symbol.
+The following values are possible:
+
+ 00 undefined symbol
+ 01 absolute symbol
+ 02 text segment symbol
+ 03 data segment symbol
+ 04 bss segment symbol
+ 40 undefined external (.globl) symbol
+ 41 absolute external symbol
+ 42 text segment external symbol
+ 43 data segment external symbol
+ 44 bss segment external symbol
+
+Values other than those given above may
+occur if the user has defined some of his own instructions.
+
+The last word of a symbol table entry contains the value of the symbol.
+
+If the symbol's type is undefined external,
+and the value field is non-zero,
+the symbol is interpreted by the loader ld__ as
+the name of a common region
+whose size is indicated by the value of the
+symbol.
+
+The value of a word in the text or data portions which is not
+a reference to an undefined external symbol
+is exactly that value which will appear in core
+when the file is executed.
+If a word in the text or data portion
+involves a reference to an undefined external symbol,
+as indicated by the relocation bits
+for that word,
+then the value of the word as stored in the file
+is an offset from the associated external symbol.
+When the file is processed by the
+link editor and the external symbol becomes
+defined, the value of the symbol will
+be added into the word in the file.
+
+If relocation
+information is present, it amounts to one word per
+word of program text or initialized data.
+There is no relocation information if the "suppress relocation"
+flag in the header is on.
+
+Bits 3-1 of a relocation word indicate the segment referred
+to by the text or data word associated with the relocation
+word:
+
+.in +6
+.ti -4
+00 indicates the reference is absolute
+.ti -4
+02 indicates the reference is to the text segment
+.ti -4
+04 indicates the reference is to the data segment
+.ti -4
+06 indicates the reference is to the bss segment
+.ti -4
+10 indicates the reference is to an undefined external symbol.
+
+.in -6
+Bit 0 of the relocation word indicates if on__ that the
+reference is relative to the pc (e.g. "clr x");
+if off___, the reference is to the actual symbol (e.g.,
+"clr *$x").
+
+The remainder of the relocation word (bits 15-4)
+contains a symbol number in the case of external
+references, and is unused otherwise.
+The first symbol is numbered 0, the second 1, etc.
+.sp
+.in 16
+.ti 0
+SEE ALSO as__,
+.ul
+ld, strip, nm, un(I)
diff --git a/static/v10/man5/acct.5 b/static/v10/man5/acct.5
new file mode 100644
index 00000000..6abf06da
--- /dev/null
+++ b/static/v10/man5/acct.5
@@ -0,0 +1,63 @@
+.TH ACCT 5
+.CT 1 sa_nonmortals
+.SH NAME
+acct \- execution accounting file
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B #include <sys/acct.h>
+.SH DESCRIPTION
+.IR Acct (2)
+causes an entry to be appended to an accounting file
+for each process that terminates.
+The layout of an accounting file entry, as given in
+.BR <sys/acct.h> ,
+is
+.PP
+.EX
+.ta \w'typedef 'u +\w'ASTINY 'u +\w'ac_comm[10]; 'u
+typedef unsigned short comp_t;
+
+struct acct
+{
+ char ac_comm[10]; /* command name */
+ comp_t ac_utime; /* user time */
+ comp_t ac_stime; /* system time */
+ comp_t ac_etime; /* elapsed time */
+ time_t ac_btime; /* beginning time */
+ short ac_uid; /* user ID */
+ short ac_gid; /* group ID */
+ short ac_mem; /* average memory usage */
+ comp_t ac_io; /* number of disk IO blocks */
+ dev_t ac_tty; /* control typewriter */
+ char ac_flag; /* flag */
+};
+.EE
+.PP
+Values in
+.BR ac_flag :
+.PP
+.EX
+#define AFORK 01 /* has executed fork, but no exec */
+#define ASU 02 /* used super-user privileges */
+.EE
+.PP
+If the process does an
+.IR exec (2),
+the first 10 characters of the filename appear in
+.L ac_comm.
+.PP
+The type
+.B comp_t
+counts 60- or 50-cycle clock ticks in a private
+floating-point format: a
+three-bit base-8 exponent and a 13-bit unsigned mantissa.
+Thus the number of clock ticks that a process ran is expressed by
+.IR (ac_etime&017777)\^<<\^((ac_etime>>13)&03) .
+The beginning time,
+.BR ac_btime ,
+is recorded in the format of
+.IR time (2).
+.SH SEE ALSO
+.IR acct (2),
+.IR sa (8)
diff --git a/static/v10/man5/aliases.5 b/static/v10/man5/aliases.5
new file mode 100644
index 00000000..ac511348
--- /dev/null
+++ b/static/v10/man5/aliases.5
@@ -0,0 +1,51 @@
+.TH ALIASES 5
+.UC 4
+.SH NAME
+aliases \- aliases file for delivermail
+.SH SYNOPSIS
+.B /usr/lib/aliases
+.SH DESCRIPTION
+This file describes user id aliases
+that will be used
+by
+.I /etc/delivermail.
+It is formatted as a series of lines
+of the form
+.in +0.5i
+name:addr1,addr2,...addrn
+.in
+The
+.I name
+is the name to alias,
+and the
+.I addri
+are the addresses to send the message to.
+Lines beginning with white space
+are continuation lines.
+Lines beginning with `\|#\|'
+are comments.
+.PP
+Aliasing occurs only on local names.
+Loops can not occur,
+since no message will be sent to any person
+more than once.
+.PP
+This is only the raw data file; the actual aliasing information is
+placed into a binary format in the files
+/usr/lib/aliases.dir
+and
+/usr/lib/aliases.pag
+using the program
+.IR newaliases (5).
+A
+.I newaliases
+command should be executed each time the aliases file is changed for the
+change to take effect.
+.SH SEE\ ALSO
+newaliases(1), dbm(3), delivermail(8)
+.SH BUGS
+Because of restrictions in
+.IR dbm (3)
+a single alias cannot contain more than about 1000 bytes of information.
+You can get longer aliases by ``chaining''; i.e. make the last name in
+the alias by a dummy name which is a continuation alias.
diff --git a/static/v10/man5/ar.5 b/static/v10/man5/ar.5
new file mode 100644
index 00000000..c5287fef
--- /dev/null
+++ b/static/v10/man5/ar.5
@@ -0,0 +1,55 @@
+.pa 1
+.he 'ARCHIVE (V)'3/15/72'ARCHIVE (V)'
+.ti 0
+NAME archive (library) file format
+.sp
+.ti 0
+DESCRIPTION The
+archive command ar__ is used to combine several files into
+one.
+Archives are used mainly as libraries to be searched
+by the link-editor ld__.
+
+A file produced by ar__
+has a "magic number" at the start,
+followed by the constituent files, each preceded by a file header.
+The magic number is
+177555(8)
+(it was chosen to be unlikely to occur anywhere else).
+The header of each file is 16 bytes long:
+
+.in +5
+.ti -3
+0-7
+.br
+file name, null padded on the right
+
+.ti -3
+8-11
+.br
+Modification time of the file
+
+.ti -3
+12
+.br
+User ID of file owner
+
+.ti -3
+13
+.br
+file mode
+
+.ti -3
+14-15
+.br
+file size
+
+.in -5
+If the file is an odd number of bytes long, it is padded
+with a null byte, but the size in the header is correct.
+
+Notice there is no provision for empty areas in an archive
+file.
+.sp
+.ti 0
+SEE ALSO ar__, ld__
diff --git a/static/v10/man5/ascii.5 b/static/v10/man5/ascii.5
new file mode 100755
index 00000000..7cc265f8
--- /dev/null
+++ b/static/v10/man5/ascii.5
@@ -0,0 +1,61 @@
+.\"#ident "@(#)ccsman:g5/ascii 1.2"
+'\"macro stdmacro
+.nr X
+.if \nX=0 .ds x} ASCII 5 "630 MTG" "\&"
+.TH \*(x}
+.SH NAME
+ascii \- map of \s-1ASCII\s+1 character set
+.SH DESCRIPTION
+.I Ascii\^
+is a map of the
+.SM ASCII
+character set,
+giving both octal and hexadecimal equivalents of each character,
+to be printed as needed.
+It contains:
+.PP
+.nf
+.ps-1
+.if n .in 0
+.if n .ta 9n 18n 27n 36n 45n 54n 63n 72n
+.if \n()s .ta 9.5n 19n 28.5n 38n 47.5n 57n 66.5n 76n
+.if \n()t .ta 10n 20n 30n 40n 50n 60n 70n 80n
+.if t .cs 1 21
+|000 nul |001 soh |002 stx |003 etx |004 eot |005 enq |006 ack |007 bel |
+|010 bs |011 ht |012 nl |013 vt |014 np |015 cr |016 so |017 si |
+|020 dle |021 dc1 |022 dc2 |023 dc3 |024 dc4 |025 nak |026 syn |027 etb |
+|030 can |031 e\h@.1m@m |032 sub |033 esc |034 fs |035 gs |036 rs |037 us |
+|040 sp |041 ! |042 " |043 # |044 $ |045 % |046 & |047 \s+4\(aa\s-4 |
+|050 ( |051 ) |052 * |053 + |054 , |055 \- |056 \f3.\fP |057 / |
+|060 0 |061 1 |062 2 |063 3 |064 4 |065 5 |066 6 |067 7 |
+|070 8 |071 9 |072 : |073 ; |074 < |075 = |076 > |077 ? |
+|100 @ |101 A |102 B |103 C |104 D |105 E |106 F |107 G |
+|110 H |111 I |112 J |113 K |114 L |115 M |116 N |117 O |
+|120 P |121 Q |122 R |123 S |124 T |125 U |126 V |127 W |
+|130 X |131 Y |132 Z |133 [ |134 \e |135 ] |136 ^ |137 _ |
+|140 \s+4\(ga\s-4 |141 a |142 b |143 c |144 d |145 e |146 f |147 g |
+|150 h |151 i |152 j |153 k |154 l |155 m |156 n |157 o |
+|160 p |161 q |162 r |163 s |164 t |165 u |166 v |167 w |
+|170 x |171 y |172 z |173 { |174 | |175 } |176 ~ |177 del |
+.sp 1v
+|\000 nul |\001 soh |\002 stx |\003 etx |\004 eot |\005 enq |\006 ack |\007 bel |
+|\008 bs |\009 ht |\00a nl |\00b vt |\00c np |\00d cr |\00e so |\00f si |
+|\010 dle |\011 dc1 |\012 dc2 |\013 dc3 |\014 dc4 |\015 nak |\016 syn |\017 etb |
+|\018 can |\019 e\h@.1m@m |\01a sub |\01b esc |\01c fs |\01d gs |\01e rs |\01f us |
+|\020 sp |\021 ! |\022 " |\023 # |\024 $ |\025 % |\026 & |\027 \s+4\(aa\s-4 |
+|\028 ( |\029 ) |\02a * |\02b + |\02c , |\02d \- |\02e \f3.\fP |\02f / |
+|\030 0 |\031 1 |\032 2 |\033 3 |\034 4 |\035 5 |\036 6 |\037 7 |
+|\038 8 |\039 9 |\03a : |\03b ; |\03c < |\03d = |\03e > |\03f ? |
+|\040 @ |\041 A |\042 B |\043 C |\044 D |\045 E |\046 F |\047 G |
+|\048 H |\049 I |\04a J |\04b K |\04c L |\04d M |\04e N |\04f O |
+|\050 P |\051 Q |\052 R |\053 S |\054 T |\055 U |\056 V |\057 W |
+|\058 X |\059 Y |\05a Z |\05b [ |\05c \e |\05d ] |\05e ^ |\05f _ |
+|\060 \s+4\(ga\s-4 |\061 a |\062 b |\063 c |\064 d |\065 e |\066 f |\067 g |
+|\068 h |\069 i |\06a j |\06b k |\06c l |\06d m |\06e n |\06f o |
+|\070 p |\071 q |\072 r |\073 s |\074 t |\075 u |\076 v |\077 w |
+|\078 x |\079 y |\07a z |\07b { |\07c | |\07d } |\07e ~ |\07f del |
+.ps+1
+.DT
+.if t .cs 1
+.fi
+.Ee
diff --git a/static/v10/man5/backup.5 b/static/v10/man5/backup.5
new file mode 100644
index 00000000..921987f0
--- /dev/null
+++ b/static/v10/man5/backup.5
@@ -0,0 +1,168 @@
+.TH BACKUP 5
+.CT 1 sa_mortals
+.SH NAME
+backup \- incremental backup files
+.SH DESCRIPTION
+The backup system consists of a number of client machines, and a
+`backup machine',
+which has a database and a collection of
+backup copies of files.
+On clients files concerned with backup live in a directory, normally
+.FR /usr/lib/backup ,
+defined in the shell script
+.FR /usr/bin/backup .
+The file
+.FR /usr/lib/backup/conf ,
+needed on both client and backup machine,
+has up to three lines, namely the backup machine name,
+the default backup device, and the directory, hereafter called
+.BR $FM ,
+where the rest of the backup software
+lives on the backup machine.
+Client systems normally have just the first line.
+The rest of this description applies to the backup machine.
+.PP
+The databases live in
+.BR $FM/db
+and are maintained in
+.IR cbt (3)
+form.
+The main database, called
+.FR filemap ,
+stores two mappings.
+The first maps filename-time pairs to backup copy names, thus:
+.IP
+.EX
+/n/bowell/usr/jim/goo//519487622 v/v22/17
+.EE
+.LP
+The number after
+.CW //
+is the inode change date,
+expressed in seconds since the epoch; see
+.IR stat (2).
+If the backup copy is still on magnetic disk, it will be called
+.BR $FM/v/v22/17 ;
+otherwise it will be
+.B v22/17
+on some optical disk.
+(The mapping of backup copy name to optical disk name is kept in
+.BR $FM/adm/volidmap .)
+The second mapping maps filenames to the time of their most recently backed-up version:
+.IP
+.L
+/n/bowell/usr/jim/goo 520514116
+.PP
+The second database,
+.BR dir ,
+maps directoryname-time pairs to the contents of that directory.
+This allows quick recovery of file trees.
+.PP
+The third database,
+.BR fs ,
+maps filename-time pairs to (essentially) inodes.
+This allows efficient implementation of
+.BR "backup mount" ;
+see
+.IR backup (1).
+.PP
+The program
+.B $FM/bin/dbupdate
+manages these databases.
+The
+.I dir
+and
+.I fs
+databases are optional; they will be updated only if they already exist.
+The program
+.F "$FM/bin/sweep"
+also assigns the backup copy names into a flat
+directory structure.
+A new directory is used when the total size of the files in the current directory
+would exceed 20000K
+bytes, rounding each file size up to a multiple of 4K.
+.PP
+The backup copy of a file consists of a header
+that gives the original inode, pathname and owner (as a string),
+followed by the contents of the file.
+Directories are stored as a sequence of entry names.
+.PP
+To prevent multiple writers into a database,
+a lockfile
+.FI $FM/locks/ database
+is used.
+The content of this file
+is the process id of the process accessing the database.
+Locks are removed by
+.F $FM/bin/rmlocks
+executed by
+.IR rc (8)
+when the system boots.
+.PP
+The backup system supports multiple
+.I filemap
+databases (this allows the current database to be kept small).
+The list of database names is kept in
+.FR $FM/db/filemaplist ,
+one per line in order of increasing priority.
+The last name is assumed to be the active database; all the
+others are read-only.
+.PP
+Programs such as
+.I sweep
+and
+.I dbupdate
+leave droppings in the log file
+.FR $FM/log .
+.PP
+Statistics of the numbers of files and bytes saved for users
+of a given system are kept in
+.FR $FM/stat.dir/\fIsystem .
+Each file consists of a sequence of records with a machine-independent structure;
+generally, one record per user per day.
+The records are maintained by
+.FR "$FM/bin/procstats" ,
+which processes the file
+.F $FM/stat.log
+that is maintained by
+.IR dbupdate .
+.PP
+To allow quick searching for filenames with full regular expressions,
+a simple sorted list of all saved filenames is often kept (normally) in
+.FR $FM/filenames .
+.PP
+The device (and system) used for recovering files can be specified in many ways.
+In order of decreasing priority:
+a
+.B -f
+option in
+.I backup recover
+or
+.I backup fetch
+(see
+.IR backup (1)),
+a default device on the client system (in line 2 of
+.FR /usr/lib/backup/conf ),
+the default device on the backup system.
+.SH FILES
+.F /usr/lib/backup/*
+.br
+.F /usr/lib/backup/conf
+.br
+.F /usr/backup/db
+.br
+.F /usr/backup/locks
+.br
+.F /usr/backup/log
+.br
+.F /usr/backup/filenames
+.SH "SEE ALSO"
+.IR backup (1),
+.IR worm (8),
+.IR backup (8),
+.IR cbt (1),
+.IR stat (2)
+.br
+A. Hume,
+`The File Motel: an Owner's Manual',
+this manual, Volume 2
diff --git a/static/v10/man5/cdl.10.5 b/static/v10/man5/cdl.10.5
new file mode 100644
index 00000000..c298fa6b
--- /dev/null
+++ b/static/v10/man5/cdl.10.5
@@ -0,0 +1,534 @@
+.PD .2i
+.ds or \fP\ |\ \fB
+.de cg
+.sp
+.PP
+.ne 5
+.B \\$1
+.PP
+..
+.TH CDL 10.5 UCDS(almost obsolete)
+.SH NAME
+cdl \- circuit description language
+.SH DESCRIPTION
+The circuit descriptions used by the various design aid programs
+are expressed in dialects of the circuit design language described below.
+A complete description consists of two parts;
+an electrical circuit with chips, pins and connecting signals,
+and a physical layout with pins and chip positions.
+The commands described below are recommended;
+others exist and may work but are regarded as obsolete.
+.sp
+.PP
+.SS LOGICAL DESIGN
+.PP
+A circuit consists of
+.I chips
+connected by
+.I signals.
+The point of connection is denoted by a
+.I pin.
+Each chip has a
+.I type
+which describes its logical and electrical
+characteristics.
+(For example, \fB74S181\fP is a chip type.)
+.PP
+Types, signals and chips are identified by name.
+Pins are identified by name and number.
+A
+.I name
+is a string of letters,
+digits or any of the characters
+.BR +\-.\ $\ /:<=>[]\(ul .
+Sometimes, the first character
+may not be a digit.
+A name may not be longer than 16 characters.
+.PP
+In the following description,
+literals appear as
+.B bold,
+whereas names are in
+.I italic.
+[ ] enclose an optional item and
+a list of items is written
+.PP
+.RS
+{\fIitem\fR}
+.RE
+.PP
+Commands are separated by either newline or
+semi-colon.
+A comment
+starts with a
+.B %
+and ends with a newline
+and may appear on any line.
+All white space serves only to separate tokens.
+.cg General
+.B .p
+.I number
+.br
+Specifies the page number for subsequent input.
+.PP
+.B .f
+[
+.I file
+]
+.br
+Subsequent input originated in
+.IR file .
+If
+.I file
+is not present, the previous file name is restored.
+.PP
+.B .q
+.br
+End of file.
+.cg Signal\ Description
+.I signal
+[
+.I pin-number
+] [ [
+.I ,
+]
+.I pin-name
+]
+.br
+.I name
+=
+.I signal
+.br
+Lines that do not start with a period are signal
+definition lines.
+Signal definitions refer to the most recent
+.B .c
+command, the pin name and number refers to the chip.
+.cg Circuit\ Description
+.B .c
+.I name
+[ [
+.B ,
+]
+.I type
+]
+.br
+.B .o
+.I name
+[ [
+.B ,
+]
+.I type
+]
+.br
+Instantiates a chip
+.I name,
+of type
+.IR type .
+This is typically used for I/O connectors.
+The command may occur more than once.
+The type of a chip need only be specified
+once in a circuit description.
+Signal descriptions that follow
+a
+.B .c
+or
+.B .o
+command refer to pins on the chip.
+.PP
+.ne 10
+.B .c
+.I name
+.B =
+.I chip
+.br
+.I chip
+must be previously defined and
+.I name
+is a synonym for
+.I chip.
+.PP
+.B .m
+.I name1 name2
+.br
+Macro parameter definition.
+The signal
+.I name1
+is to be associated with macro parameter
+.I name2\|.
+.PP
+.B .h
+.I signal
+.br
+Hand wired signal.
+The argument is the
+.I name
+of a signal that will be ignored by an
+automatic wiring program.
+.cg Chip\ Type\ Description
+.B .t
+.I name package
+.RI [ pin ]\ ...
+.br
+Define a chip type
+.I name.
+The name of the
+.I package
+in which it is installed,
+and pin numbers,
+.I pin,
+for the special signal connections
+are specified.
+The special voltage
+pin numbers, if present, must be in the same
+sequence with which the special signals are numbered.
+This usage is discouraged;
+use the \f3.t[tT]\fP commands described below.
+(See
+.B .v
+command.)
+All commands of the form ".t?" are meant to follow a .t line.
+.PP
+.B .t
+.I name
+.B =
+.I type
+.br
+.I name
+is a synonym for
+.IR type .
+.PP
+.BI .tt \ sequence_of_single_character_pin_descriptors
+.br
+The number of characters must equal the numbers of pins on this \fItype\fP\|.
+The meaning of the descriptors is given in \fIwcheck\fP\|.
+.PP
+.BI .tT \ sequence_of_single_character_pin_descriptors
+.br
+This means the same as the equivalent
+.B .tt
+command except that every
+.B [gvwxyz]
+pin must have a corresponding
+.B .vb
+pin.
+.PP
+.B .ta
+.I pin1
+\&...
+.I pin2
+\&...
+.br
+.I pin1
+\&...
+is the set of address pins, in order,
+such that the most significant address bit
+appears first in the list.
+.I pin2
+\&...
+is the set of output pins.
+.PP
+.B .td
+.I delay
+.I pin1
+\&...
+.B \-
+.I pin2
+\&...
+.br
+The propagation delay (conventionally in nanoseconds) from inputs
+.I pin1 ...
+to outputs
+.I pin2 ...
+is given.
+.PP
+.B .ti
+.I hi
+.I lo
+.I pin
+\&...
+.br
+The input (or output) current range for the set of pins
+is given by
+.I hi
+and
+.I lo.
+Current is conventionally expressed in milliamperes.
+.PP
+.B .tp
+.I name
+.I number
+\&...
+.br
+The given
+pin
+.I name
+is associated with the pin
+.I number.
+.I Name
+may contain generators such as
+.B Q[0-7]
+which cause pin names
+.B Q0
+.B \&...
+.B Q7
+to be assigned to the pin numbers given.
+Multiple bracket constructs may be used.
+In any case, the resulting list is lexicographically sorted before
+assigning to pin numbers.
+.PP
+.B .ts
+.I setup
+.I pin
+\&...
+.br
+Specifies the setup time required by the device
+at the pins given.
+.PP
+.B .tw
+.I c1
+.I c2
+.br
+.I c1
+is the average current drawn by the device
+in milliamperes and
+.I c2
+is the maximum.
+Both are specified as floating point numbers.
+.SH
+.ne 9
+.sp
+.PP
+.B PHYSICAL DESIGN
+.PP
+The physical design
+consists of a
+.I board
+containing
+.IR pin-holes .
+The description details the positions of the pin-holes and the
+position and orientation of the chips.
+No special case is made of I/O connectors;
+they are best considered as unmoveable packages.
+The description is divided into two files;
+details can be found in
+.IR board (7).
+.PP
+The coordinate system for the board is with
+.I x
+increasing to the right and
+.I y
+increasing upwards.
+The origin is at the lower left corner;
+thus, no coordinate should ever be negative.
+The circuit board and components mounted on it are described
+as rectangles.
+They are positioned so that their sides are parallel to one or other
+of the axes used to describe circuit board geometry.
+Measurements are expressed in
+units of
+.B 1/100
+of an inch.
+All are integers and have no explicit decimal point.
+Coordinates are expressed as pairs of integers separated by `\fB/\fR'
+with
+the
+.I x
+coordinate appearing first.
+All rectangular regions are half open;
+the upper and right edges are outside the rectangle.
+.PP
+It is sometimes necessary to provide a list of
+coordinates.
+Invariably each coordinate is associated with a numbered item
+(say, a pin number).
+A one item list consists of the item
+number followed by its coordinates as in
+.RS
+.PP
+28 170/250
+.RE
+A series of equally spaced
+and consecutively numbered items can be described by
+giving the first and last item descriptions and separating the
+two with `\fB\-\fR' as in
+.RS
+.PP
+28 170/250 \- 30 190/200
+.RE
+(item number 29 appears at position 180/225).
+If the item numbers are equally spaced but not consecutive
+a step size can follow the `\fB\-\fR' as in
+.RS
+.PP
+12 200/700 \-9 147 200/100
+.RE
+(which describes the positions of items numbered 12, 21, 30 etc.).
+.cg Board\ Description
+.B .B
+.I string
+.br
+The board name is set to
+.IR string .
+.PP
+.B .A
+.I coord coord coord coord
+.br
+The points used in board alignment are
+.IR "coord , coord , coord , coord ."
+.PP
+.B .K
+.I "name pmin pmax ox oy cx cy"
+.br
+Define a package
+.I name
+with a bounding rectangle with lower left corner
+.I (ox,oy)
+and upper right corner
+.I (cx,cy)
+as values relative to pin
+.I pmin
+of the package.
+The package has pins numbered from
+.I pmin
+to
+.I pmax
+inclusive;
+expect trouble if
+.I pmin
+is not zero or one.
+Placement of a package involves both its pins and rectangle.
+The rectangle must not intersect any other placed package,
+and there must be a pin-hole for each of the pins.
+.PP
+.B .ka
+.I anything
+.br
+After skipping white space
+the rest of the line is stored as an artwork reference.
+.PP
+.B .kd
+.I letter
+.br
+Specifies the drill type for following
+.B .kp
+commands.
+There can be multiple
+.B .kd
+commands per package.
+Currently recognized drill types are found in
+\f(CW/usr/jhc/pins/drills\fP.
+.PP
+.B .kp
+.RI {\| pin
+.IR coord }
+.br
+One or more
+.B .kp
+commands following a
+.B .k
+command
+gives the list of pins
+and their coordinates relative to pin
+.IR pmin .
+.PP
+.B .ku
+.br
+Guarantees this package will not be moved by any automatic process.
+.PP
+.B .v
+.I number name
+.br
+Define Voltage and Ground special signals.
+The special signals are numbered consecutively from zero to five.
+The arguments are
+the special signal
+.I number
+and the signal
+.I name
+to which it corresponds.
+.PP
+.B .vb
+.RI { pin
+.IR coord }
+.br
+Special signal pin positions.
+One or more
+.B .vb
+commands following a
+.B .v
+command gives the list of pins
+and their positions on the circuit board.
+The pins should be numbered consecutively from one.
+.PP
+.B .vd
+.I number
+.br
+Specifies the drill type for following
+.B .vb
+commands.
+There can be multiple
+.B .vd
+commands.
+The types are as descibed for \f3.kd\fP.
+.PP
+.B .C
+.I name coord orientation flags
+.br
+Specifies the position and orientation for the chip
+.IR name .
+The orientation is the number of right angles clockwise to
+rotate the package.
+The meaning of
+.I flags
+can be found in
+.IR /usr/include/cdl.h ;
+it should be initialised to zero.
+.PP
+.B .P
+.I coord lx ly spacing diam
+.br
+Define a rectangular array of pin-holes with diameter of
+.IR diam .
+The lower left corner of the rectangle is
+.IR coord ,
+and the width and height are
+.I lx,ly
+respectively.
+The pins are placed
+.I spacing
+apart.
+If
+.I spacing
+is of the form
+.IR sx / sy ,
+the spacings in the
+.IR x and y
+directions are set independently.
+.PP
+.B .R
+.I coord lx ly type
+.br
+Define a special rectangular region.
+Type
+.B .A
+defines a region that will not be used by the
+automatic placement algorithm.
+.PP
+.B .W
+.I chip1 pin1 chip2 pin2 net
+.br
+Define a wire link between
+.I pin1
+of
+.I chip1
+and
+.I pin2
+of
+.IR chip2 .
+The net name is
+.IR net .
+.sp 2
+A line with any undefined key causes most programs to halt.
+.SH SEE ALSO
+.IR cdm (10.1)
diff --git a/static/v10/man5/config.5 b/static/v10/man5/config.5
new file mode 100644
index 00000000..db2ece2a
--- /dev/null
+++ b/static/v10/man5/config.5
@@ -0,0 +1,149 @@
+.TH CONFIG 5
+.SH NAME
+config \- system configuration template files
+.SH DESCRIPTION
+These files are used as input by
+.IR config (8).
+Except as noted,
+they are kept in
+.IR /usr/sys/conf .
+.PP
+.I Files
+names the source files
+that make up the kernel.
+Each line consists of a filename
+(relative to
+.IR /usr/sys )
+followed by some magic words.
+For example:
+.IP
+sys/acct.c standard
+.PP
+is a file used by any version of the system;
+.IP
+dev/uba.c standard device-driver
+.PP
+is also always used,
+and contains device register references
+(which may require special compilation hacks);
+.IP
+dev/ju.c optional ju device-driver
+.PP
+is included only if the
+.I ju
+device is expected;
+.IP
+dev/ttyld.c optional tty pseudo-device
+.PP
+is included only if the
+.I tty
+pseudo-device is requested.
+.PP
+.I Devices
+describes possible device drivers,
+file system handlers,
+and line disciplines;
+the information is used to generate
+handler dispatch tables.
+It consists of lines with the following blank-separated fields:
+.IP
+Type of handler:
+.I device
+for character devices,
+.I stream-device
+for character stream devices,
+.I block-device
+for block devices,
+.I file-system
+for file system handlers,
+.I line-discipline
+for line discipline handlers.
+If the type is preceded by the word `standard'
+.RI ( e.g.
+.IR "standard block-device" ),
+the handler is always included;
+otherwise,
+it is included only if requested.
+.IP
+Table index:
+major device number,
+filesystem type,
+or line discipline number.
+.IP
+Driver name.
+Used in
+.IR files
+and
+.IR conf .
+.I Config
+writes a header file
+.I name.h
+for each device;
+if that device
+is configured,
+NAME
+is defined to be
+the number of devices
+of that type.
+.IP
+Entry point name.
+Used as a prefix for data structure
+and driver entry points.
+.IP
+Entry points.
+For block devices,
+some of
+.IR open ,
+.IR close ,
+.IR strategy ,
+.IR dump ,
+.IR B_TAPE
+(the last puts the flag
+.I B_TAPE
+in the
+.I d_flags
+entry in the block device switch);
+for character devices,
+.IR open ,
+.IR close ,
+.IR read ,
+.IR write ,
+.IR ioctl ,
+.IR reset .
+For stream devices
+and line disciplines,
+.I info
+should be specified.
+For file system handlers,
+.IR put ,
+.IR get ,
+.IR free ,
+.IR updat ,
+.IR read ,
+.IR write ,
+.IR trunc ,
+.IR stat ,
+.IR nami ,
+.IR mount ,
+.IR ioctl .
+.PP
+As a special case,
+lines beginning with
+.RB ` : '
+are copied intact to
+.IR conf.c .
+This can be used for hacks like
+.IP
+: int mem_no = 3; /* major device number of memory special file */
+.PP
+Addenda to
+.I files
+and
+.I devices
+specific to a particular machine
+may be kept in
+.IR /usr/sys/ machine /files
+and
+.IR /usr/sys/ machine /devices .
+The addenda are treated as if appended to the
+general files.
diff --git a/static/v10/man5/core.5 b/static/v10/man5/core.5
new file mode 100644
index 00000000..c65f8dae
--- /dev/null
+++ b/static/v10/man5/core.5
@@ -0,0 +1,57 @@
+.pa 1
+.he 'CORE (V)'2/7/73'CORE (V)'
+.ti 0
+NAME format of core image
+.sp
+.ti 0
+DESCRIPTION UNIX
+writes out a core image of a terminated
+process when any of various errors occur.
+See wait____(II) for the list of reasons;
+the most common are memory violations, illegal
+instructions, bus errors, and user-generated
+quit signals.
+
+The core image is called "core" and is written in the process's
+working directory (provided it can be; normal
+access controls apply).
+
+The size and structure of the core image file
+depend to some extent on which system is involved.
+In general there is a 512-byte area
+at the end which contains the system's per-process
+data for that process.
+(64 bytes in older systems). The
+remainder represents the actual contents of
+the user's core area when the core image
+was written.
+In the current system,
+this area is variable in size in that only the locations
+from user 0 to the program break, plus the stack, are
+dumped.
+
+When any fatal trap occurs,
+all the useful registers are stored on the stack.
+In the current system, which has relocation and protection
+hardware, the stack used is the system
+stack, which is kept in the per-process area;
+in older systems,
+there is only one stack, and it is located in the
+user's core area.
+
+The actual format of the information is complicated
+because it depends on what hardware is present (EAE,
+floating-point option),
+whether single- or double-precision
+floating mode is in effect,
+and also involves relocating addresses in the
+system's address space.
+A guru will have to be consulted
+if enlightenment is required.
+
+In general the debugger
+db(I) should
+be used to deal with core images.
+
+.ti 0
+SEE ALSO db(I), wait(II)
diff --git a/static/v10/man5/cpio.5 b/static/v10/man5/cpio.5
new file mode 100644
index 00000000..b198de39
--- /dev/null
+++ b/static/v10/man5/cpio.5
@@ -0,0 +1,87 @@
+.TH CPIO 5
+.CT 1 comm_users
+.SH NAME
+cpio \- format of cpio archive
+.SH DESCRIPTION
+The archived files are recorded consecutively, each
+preceded by a
+.BR header .
+The header
+structure, when the
+.B \-c
+option of
+.IR cpio (1)
+is not used, is:
+.PP
+.EX
+.ta \w'short 'u +\w'ushort 'u
+typdef unsigned short ushort;
+struct {
+ short h_magic,
+ h_dev;
+ ushort h_ino,
+ h_mode,
+ h_uid,
+ h_gid;
+ short h_nlink,
+ h_rdev,
+ h_mtime[2],
+ h_namesize,
+ h_filesize[2];
+ char h_name[h_namesize rounded to word];
+} Hdr;
+.EE
+.PP
+When the
+.B \-c
+option is used, the
+.B header
+information is printable, as described by the
+.IR printf (3)
+call
+.IP
+.EX
+printf(Chdr, "%6o%6o%6o%6o%6o%6o%6o%6o%11lo%6o%11lo%s",
+ Hdr.h_magic, Hdr.h_dev, Hdr.h_ino, Hdr.h_mode,
+ Hdr.h_uid, Hdr.h_gid, Hdr.h_nlink, Hdr.h_rdev,
+ Longtime, Hdr.h_namesize, Longfile, Hdr.h_name
+.EE
+.PP
+.L Longtime
+and
+.L Longfile
+are equivalent to
+.L Hdr.h_mtime
+and
+.LR Hdr.h_filesize ,
+respectively.
+Every instance of
+.L h_magic
+contains the octal constant
+.LR 070707 .
+The items
+.L h_dev
+through
+.L h_mtime
+have meanings explained in
+.IR stat (2).
+The length of the null-terminated path name
+.LR h_name ,
+including the null byte,
+is given by
+.LR h_namesize .
+.PP
+The last element
+of the archive
+is a dummy entry for the name
+.BR TRAILER!!! ,
+with padding to a multiple of 512 bytes.
+Special files, directories, and the trailer are recorded
+with
+.L h_filesize
+equal to zero.
+.SH "SEE ALSO"
+.IR cpio (1),
+.IR find (1),
+.IR stat (2).
+.\" @(#)cpio.4 5.2 of 5/18/82
diff --git a/static/v10/man5/dir.5 b/static/v10/man5/dir.5
new file mode 100644
index 00000000..c2c41e2a
--- /dev/null
+++ b/static/v10/man5/dir.5
@@ -0,0 +1,34 @@
+.pa 1
+.he 'DIRECTORY (V)'3/15/72'DIRECTORY (V)'
+.ti 0
+NAME format of directories
+.sp
+.ti 0
+DESCRIPTION A directory
+behaves exactly like an ordinary file, save that no
+user may write into a directory.
+The fact that a file is a directory is indicated by
+a bit in the flag word of its i-node entry.
+
+Directory entries are 10 bytes long.
+The first word is the i-number of the file represented
+by the entry, if non-zero; if zero, the entry is empty.
+
+Bytes 2-9 represent the (8-character)
+file name, null padded on the right.
+These bytes are not cleared for empty slots.
+
+By convention, the first two entries in each directory
+are for "." and "..". The first is an entry for the
+directory itself. The second is for the parent
+directory.
+The meaning of ".." is modified for the root directory
+of the master file system and for the root directories of removable
+file systems.
+In the first case, there is no parent, and in the second,
+the system does not permit off-device references.
+Therefore in both cases ".." has the
+same meaning as ".".
+.sp
+.ti 0
+SEE ALSO file system (V)
diff --git a/static/v10/man5/dist.5 b/static/v10/man5/dist.5
new file mode 100644
index 00000000..7401dac4
--- /dev/null
+++ b/static/v10/man5/dist.5
@@ -0,0 +1,68 @@
+.TH DIST 5
+.SH NAME
+dist \(mi spool directory structure for
+.B dist
+.SH SYNOPSIS
+.ds sd /usr/spool/dist
+.B \*(sd/Q.*/
+.PP
+.B \*(sd/Q.*/ctl
+.PP
+.B \*(sd/Q.*/data
+.PP
+.B \*(sd/Q.*/files
+.PP
+.B \*(sd/Q.*/[1-9]*.busy
+.PP
+.B \*(sd/Q.*/[1-9]*.done
+.SH DESCRIPTION
+The
+.I dist
+spool directory contains distributions queued for transmission
+to remote systems, and is also used as the working directory when
+unpacking distributions received from remote systems.
+.PP
+Each job has its own subdirectory
+of the spool directory. Several files with conventional names
+appear in this per-job directory, as well as files with
+generated names containing status information for each remote
+system in the job.
+.PP
+The files in a job's spool directory include:
+.TP
+.B ctl
+The control file contains a list of identifying numbers
+and remote system names. The identifying number
+is used in file names containing status information for corresponding
+remote system, since network names may not be legal file names.
+The file contains a sequence of lines; each line contains
+an identifying number, a space, and the corresponding remote system name.
+.TP
+.B data
+The data file contains the output of
+.IR mkpkg (1)
+for the distribution.
+.TP
+.B files
+A list of file names specified in the command line
+that created the job. This is mainly used as a key
+for superseding jobs: if a new job is created that
+contains a superset of the files of some old
+job, the old job is marked as completed for all remote
+systems it has in common with the new job.
+.TP
+.B [1-9]*.busy
+An empty lock file indicating that the identified system
+is currently receiving the distribution.
+.TP
+.B [1-9]*.done
+Status file indicating that the identified system is
+finished with the distribution. This file is empty
+if and only if the distribution was successfully installed;
+otherwise it contains any error messages from the remote
+system.
+.SH FILES
+.B \*(sd/*
+.SH "SEE ALSO"
+.IR dist (1),
+.IR dist (8)
diff --git a/static/v10/man5/dump.5 b/static/v10/man5/dump.5
new file mode 100644
index 00000000..aeb57c96
--- /dev/null
+++ b/static/v10/man5/dump.5
@@ -0,0 +1,211 @@
+.TH DUMP 5
+.UC 4
+.SH NAME
+dump, ddate \- incremental dump format
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B #include <sys/ino.h>
+.br
+.B #include <dumprestor.h>
+.SH DESCRIPTION
+Tapes used by
+.I dump
+and
+.IR restor (1)
+contain:
+.nf
+.IP ""
+a header record
+two groups of bit map records
+a group of records describing directories
+a group of records describing files
+.fi
+.PP
+The format of the header record and of the first
+record of each description as given in the
+include file
+.I <dumprestor.h>
+is:
+.PP
+.nf
+#define NTREC 10
+#define MLEN 16
+#define MSIZ 4096
+
+#define TS_TAPE 1
+#define TS_INODE 2
+#define TS_BITS 3
+#define TS_ADDR 4
+#define TS_END 5
+#define TS_CLRI 6
+#define MAGIC (int) 60011
+#define CHECKSUM (int) 84446
+
+struct spcl {
+ int c_type;
+ time_t c_date;
+ time_t c_ddate;
+ int c_volume;
+ daddr_t c_tapea;
+ ino_t c_inumber;
+ int c_magic;
+ int c_checksum;
+ struct dinode c_dinode;
+ int c_count;
+ char c_addr[BSIZE];
+} spcl;
+
+struct idates {
+ char id_name[16];
+ char id_incno;
+ time_t id_ddate;
+};
+
+#define DUMPOUTFMT "%-16s %c %s" /* for printf */
+ /* name, incno, ctime(date) */
+#define DUMPINFMT "%16s %c %[^\en]\en" /* inverse for scanf */
+.fi
+.PP
+.I NTREC
+is the number of 1024 byte records in a physical
+tape block.
+.I MLEN
+is the number of bits in a bit map word.
+.I MSIZ
+is the number of bit map words.
+.PP
+The
+.I TS_
+entries are used in the
+.I c_type
+field to indicate what sort of header
+this is.
+The types and their meanings are as follows:
+.TP 13
+TS_TAPE
+Tape volume label
+.PD 0
+.TP
+TS_INODE
+A file or directory follows.
+The
+.I c_dinode
+field is a copy of the disk inode and contains
+bits telling what sort of file this is.
+.TP
+TS_BITS
+A bit map follows.
+This bit map has a one bit
+for each inode that was dumped.
+.TP
+TS_ADDR
+A subrecord of a file description.
+See
+.I c_addr
+below.
+.TP
+TS_END
+End of tape record.
+.TP
+TS_CLRI
+A bit map follows.
+This bit map contains a zero bit for
+all inodes that were empty on the file system when dumped.
+.TP
+MAGIC
+All header records have this number in
+.I c_magic.
+.TP
+CHECKSUM
+Header records checksum to this value.
+.PD
+.PP
+The fields of the header structure are as follows:
+.TP 13
+c_type
+The type of the header.
+.PD 0
+.TP
+c_date
+The date the dump was taken.
+.TP
+c_ddate
+The date the file system was dumped from.
+.TP
+c_volume
+The current volume number of the dump.
+.TP
+c_tapea
+The current number of this (1024-byte) record.
+.TP
+c_inumber
+The number of the inode being dumped if this
+is of type
+.I TS_INODE.
+.TP
+c_magic
+This contains the value
+.I MAGIC
+above, truncated as needed.
+.TP
+c_checksum
+This contains whatever value is needed to
+make the record sum to
+.I CHECKSUM.
+.TP
+c_dinode
+This is a copy of the inode as it appears on the
+file system; see
+.IR filsys (5).
+.TP
+c_count
+The count of characters in
+.I c_addr.
+.TP
+c_addr
+An array of characters describing the blocks of the
+dumped file.
+A character is zero if the block associated with that character was not
+present on the file system, otherwise the character is non-zero.
+If the block was not present on the file system, no block was dumped;
+the block will be restored as a hole in the file.
+If there is not sufficient space in this record to describe
+all of the blocks in a file,
+.I TS_ADDR
+records will be scattered through the file, each one
+picking up where the last left off.
+.PD
+.PP
+Each volume except the last ends with a tapemark (read as an end
+of file).
+The last volume ends with a
+.I TS_END
+record and then the tapemark.
+.PP
+The structure
+.I idates
+describes an entry of the file
+.I /etc/ddate
+where dump history is kept.
+The fields of the structure are:
+.TP \w'TS_INODE\ 'u
+id_name
+The dumped filesystem is
+.RI `/dev/ id_nam'.
+.PD 0
+.TP
+id_incno
+The level number of the dump tape;
+see
+.IR dump (1).
+.TP
+id_ddate
+The date of the incremental dump in system format
+see
+.IR types (5).
+.PD
+.SH FILES
+/etc/ddate
+.SH "SEE ALSO"
+dump(8), dumpdir(8), restor(8), filsys(5), types(5)
diff --git a/static/v10/man5/environ.5 b/static/v10/man5/environ.5
new file mode 100644
index 00000000..b2d6baf1
--- /dev/null
+++ b/static/v10/man5/environ.5
@@ -0,0 +1,91 @@
+.TH ENVIRON 5
+.CT 2 proc_man
+.SH NAME
+environ \- user environment
+.SH SYNOPSIS
+.B extern char **environ;
+.SH DESCRIPTION
+An array of strings called the `environment' is
+made available by
+.IR exec (2)
+when a process begins.
+By convention these strings have either the form
+.IB name = value ,
+defining a variable, or
+.IB name (){ value } ,
+defining a function; see
+.IR sh (1).
+The following variables are used by various commands:
+.TF TERMCAP
+.TP
+.B PATH
+The sequence of directory prefixes that
+.I sh,
+.IR time (1),
+.IR nice (1),
+etc.,
+apply in searching for a file known by an incomplete path name.
+The prefixes are separated by
+.LR : .
+.IR Login (8)
+sets
+.LR PATH=:/bin:/usr/bin .
+.PD
+.TP
+.B HOME
+A user's login directory, set by
+.IR login (8)
+from the password file
+.IR passwd (5).
+.TP
+.B TERM
+The kind of terminal for which output is to be prepared.
+This information is used by commands, such as
+.I nroff
+or
+.IR plot (1),
+which may exploit special terminal capabilities.
+See
+.FR /etc/termcap ,
+described in
+.IR termcap (5),
+for a list of terminal types.
+.TP
+.B SHELL
+The name of the login shell.
+.PP
+The environment may be queried by
+.IR getenv (3)
+or by the
+.L set
+or
+.L whatis
+commands of
+.IR sh (1).
+Names may be placed in the environment by the
+.L export
+command and by
+.IB name = value
+arguments of
+.IR sh (1).
+Names may also be placed in the environment at the point of an
+.IR exec (2).
+It is unwise to conflict with
+certain
+.IR sh (1)
+variables that are frequently exported by
+.F .profile
+files:
+.BR MAIL ,
+.BR PS1 ,
+.BR PS2 ,
+.BR IFS .
+.SH SEE ALSO
+.IR sh (1),
+.IR printenv (1),
+.IR exec (2),
+.IR getenv (3),
+.IR term (6)
+.SH BUGS
+Function definitions in the environment break some old programs,
+including old shells.
diff --git a/static/v10/man5/filsys.5 b/static/v10/man5/filsys.5
new file mode 100644
index 00000000..baec9a38
--- /dev/null
+++ b/static/v10/man5/filsys.5
@@ -0,0 +1,327 @@
+.TH FILSYS 5
+.CT 2 sa
+.SH NAME
+filsys, flblk, ino \- format of file system volume
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B #include <sys/fblk.h>
+.br
+.B #include <sys/filsys.h>
+.br
+.B #include <sys/ino.h>
+.SH DESCRIPTION
+Every
+file system is divided into a certain number
+of blocks of 1K or 4K bytes, as determined by
+the predicate
+.L BITFS()
+applied to the minor device number
+where the file system is mounted.
+Block 0 is unused and is available to contain
+a bootstrap program, pack label, or other information.
+.PP
+Block 1 is the
+`super block'.
+Its layout is defined in
+.LR <sys/filsys.h> :
+.PP
+.EX
+.ta \w'#define 'u +\w'unsigned 'u
+struct filsys {
+ unsigned short s_isize;
+ daddr_t s_fsize;
+ short s_ninode;
+ ino_t s_inode[NICINOD];
+ char s_flock;
+ char s_ilock;
+ char s_fmod;
+ char s_ronly;
+ time_t s_time;
+ daddr_t s_tfree;
+ ino_t s_tinode;
+ short s_dinfo[2];
+#define s_m s_dinfo[0]
+#define s_n s_dinfo[1]
+#define s_cylsize s_dinfo[0]
+#define s_aspace s_dinfo[1]
+ char s_fsmnt[14];
+ ino_t s_lasti;
+ ino_t s_nbehind;
+ union {
+ struct {
+ short S_nfree;
+ daddr_t S_free[NICFREE];
+ } R;
+ struct {
+ char S_valid;
+#define BITMAP 961
+ long S_bfree[BITMAP];
+ } B;
+ struct {
+ char S_valid;
+ char S_flag; /* 1 means bitmap not in S_bfree */
+ long S_bsize;/* how big the bitmap blocks are */
+ struct buf * S_blk[BITMAP-1];
+ } N;
+ } U;
+};
+#define s_nfree U.R.S_nfree
+#define s_free U.R.S_free
+#define s_valid U.B.S_valid
+#define s_bfree U.B.S_bfree
+.EE
+.TF s_isize
+.TP
+.B s_isize
+The address of the first block after the i-list,
+which starts in block 2.
+Thus the i-list is
+.LR s_isize-2
+blocks long.
+.PD
+.TP
+.B s_fsize
+The address of the first block not in the file system.
+.TP
+.B s_free
+In a 1K file system, an array of free block numbers.
+.LR s_free[0]
+is the block address of the next
+in a chain of blocks constituting the free list.
+The layout of these blocks is defined in
+.LR <sys/fblk.h> :
+.EX
+struct fblk {
+ int df_nfree;
+ daddr_t df_free[NICFREE];
+}
+.EE
+.ns
+.IP
+where
+.L df_nfree
+and
+.L df_free
+are exactly like
+.L s_nfree
+and
+.L s_free.
+.TP
+.B s_nfree
+Blocks given in
+.L s_free[1]
+through
+.L s_free[s_nfree-1]
+are available for allocation.
+Blocks are allocated in LIFO fashion from this list.
+If freeing would cause
+the array to overflow,
+it is cleared by copying into the newly freed block,
+which is pushed onto the free chain.
+If allocation would cause underflow,
+the array is replenished from the next block on the chain.
+.TP
+.B s_bfree
+a bit array specifying the free blocks of a 4K file system.
+The bit
+.LR (s_bfree[i/w]>>(i%w))&1 ,
+where
+.I w
+is the bit size of a long,
+is nonzero if the
+.IR i th
+data block is free. If the file system is too large for the bitmap
+to fit here, then it is stored at the end of the file system, and
+locked into memory when the file system is mounted. The
+.B N
+variant of the union is used by the kernel in this case.
+.TP
+.B s_valid
+The bitmap of a mounted file system is maintained only in main memory;
+the bitmap on the medium is marked invalid by setting
+.L s_valid
+to zero.
+Unmounting
+updates the medium copy and sets
+.L s_valid
+to 1.
+A file system with invalid bitmap may be mounted
+read-only; its bitmap can be corrected by
+.IR fsck (8)
+or
+.IR chuck (8).
+.TP
+.B s_inode
+Array of free inode numbers.
+.TP
+.B s_ninode
+The number of free i-numbers in the
+.L s_inode
+array.
+Inodes are placed in the list in LIFO order.
+If the list underflows, it is replenished by
+searching the i-list
+to obtain the numbers of free inodes.
+When the list is full,
+freed inodes are not recorded in
+.LR s_inode .
+.TP
+.B s_lasti
+Where the last search for free inodes ended.
+.TP
+.B s_nbehind
+Number of free inodes before
+.L s_lasti
+that are not listed in
+.LR s_inode .
+The system will search forward for free inodes from
+.L s_lasti
+for more inodes unless
+.L s_nbehind
+is sufficiently large, in which case it will search the
+i-list from the beginning.
+.TP
+.B s_flock
+.br
+.ns
+.TP
+.B s_ilock
+Flags maintained in the core
+copy of the file system
+while it is mounted.
+The values on disk are immaterial.
+.TP
+.B s_fmod
+Flag to indicate that the super-block has
+changed and should be copied to
+the disk during the next periodic update of file
+system information.
+The value on disk is immaterial.
+.TP
+.B s_ronly
+Flag for read-only file system.
+The value on disk is immaterial.
+.TP
+.B s_time
+Time of the last change to the super block.
+.TP
+.B s_dinfo
+Disk interleave information:
+.BR s_cylsize =
+blocks per cylinder,
+.BR s_aspace =
+blocks to skip; see
+.IR fsck (8).
+.TP
+.B s_fsmnt
+Name of the file on which this file system is mounted; see
+.IR fmount (2). (This field is no longer used.)
+.TP
+.B s_tfree
+.br
+.ns
+.TP
+.B s_tinode
+Numbers of free blocks and free inodes.
+Maintained for the benefit of
+.IR df (1),
+these values are otherwise irrelevant.
+.PD
+.PP
+I-numbers begin at 1, and the storage for inodes
+begins in block 2.
+I-nodes are 128 bytes long; the first 64 bytes hold a security label.
+I-node 2 is reserved for the root directory of the file
+system, but no other i-number has a built-in
+meaning.
+Each inode represents one file.
+.PP
+The layout of an inode is defined in
+.LR <sys/ino.h> :
+.PP
+.EX
+struct dinode {
+ struct label di_label;
+ unsigned short di_mode;
+ short di_nlink;
+ short di_uid;
+ short di_gid;
+ off_t di_size;
+ char di_addr[40];
+ time_t di_atime;
+ time_t di_mtime;
+ time_t di_ctime;
+};
+.EE
+.TF di_nlink
+.TP
+.B di_label
+Security label; see
+.IR getflab (2).
+.TP
+.B di_mode
+The kind of file; it
+is encoded as
+.L st_mode field of
+.IR stat (2),
+and is 0 for a free inode.
+.PD
+.TP
+.B di_nlink
+The number of directory entries
+(links) that refer to this inode
+.TP
+.B di_uid
+Owner's userid.
+.TP
+.B di_gid
+Owner's groupid.
+.TP
+.B size
+Number of bytes in the file.
+.TP
+.B di_atime
+Time of last access; see
+.IR times (2).
+.TP
+.B di_mtime
+Time of last modification.
+.TP
+.B di_ctime
+Time of last change to inode or contents.
+.TP
+.B di_addr
+For special files
+.L di_addr
+is the device code; see
+.IR types (5).
+The device codes
+of block and character special files overlap.
+.PD
+.IP
+For plain files and directories
+.L di_addr
+contains block numbers packed into 3 bytes each.
+The first 10 numbers specify device blocks directly.
+The last 3 are singly, doubly, and triply
+indirect and point to blocks of 256 block pointers of type
+.L daddr_t
+(see
+.IR types (5)).
+A zero pointer indicates a `hole'
+where no data has been written.
+Holes read as if they contained all zeroes.
+.PP
+A symbolic link is, aside from mode,
+a plain file whose sole content is the name of the file linked to.
+.SH "SEE ALSO"
+.IR chuck (8),
+.IR fsck (8),
+.IR icheck (8),
+.IR dir (5),
+.IR mount (8),
+.IR stat (2),
+.IR types (5),
+.IR l3tol (3)
+
diff --git a/static/v10/man5/fizz.10.5 b/static/v10/man5/fizz.10.5
new file mode 100644
index 00000000..7e8bfb9a
--- /dev/null
+++ b/static/v10/man5/fizz.10.5
@@ -0,0 +1,459 @@
+.TH FIZZ 10.5 UCDS
+.de Cs
+.sp
+.ne 3
+.nf
+.ft L
+..
+.de Ce
+.fi
+.ft R
+..
+.SH NAME
+fizz \- physical layout input language
+.SH DESCRIPTION
+.I Fizz
+is a set of tools to build circuit boards from a circuit description.
+This section describes the input format for the various
+.I fizz
+commands.
+Most of the UCDS tools produce files in
+.IR cdl (10.5)
+format;
+these need to be converted into
+.I fizz
+format by
+.I "fizz cvt" .
+.SS Concepts
+Types, signals and chips are identified by name.
+Pins are identified by name and number.
+A
+.I name
+is a string of letters,
+digits or any of the characters
+.BR +-.$/:<=>[]\(ul .
+Sometimes, the first character
+may not be a digit.
+A name may not be longer than 137 characters.
+.PP
+The physical design
+consists of a
+.I board
+containing
+.IR pin-holes .
+The description details the positions of the pin-holes and the
+position and orientation of the chips.
+I/O connectors may beconsidered as chips with unmoveable packages.
+.PP
+The coordinate system for the board has
+.I x
+increasing to the right and
+.I y
+increasing upwards.
+The origin is at the lower left corner;
+no coordinate should ever be negative.
+The circuit board and components mounted on it are described
+as rectangles.
+They are positioned so that their sides are parallel to one or other
+of the axes.
+Measurements are integers measuring 0.001 inch.
+Coordinates are expressed as pairs of integers separated by
+.B /
+with
+the
+.I x
+coordinate appearing first.
+All rectangular regions are half open;
+the upper and right edges are outside the rectangle.
+.SS Syntax
+The input is a sequence of items.
+An item consists of a item-type followed by a number of fields.
+Multiple fields are indicated by a trailing
+.B {
+on the keyword line and terminated by a line containing a single
+.B } .
+Fields are a keyword followed by the value for that field.
+Certain values are spread over multiple lines between
+.B {}
+as described above.
+.PP
+It is sometimes necessary to provide a list of
+coordinates.
+Invariably each coordinate is associated with a numbered object
+(say, a pin number).
+A one coordinate list consists of the index
+number followed by its coordinates as in
+.RS
+.PP
+.B
+28 1700/2500
+.RE
+A series of equally spaced
+and consecutively numbered coordinates can be described by
+giving the first and last coordinates and separating the
+two with
+.B -
+as in
+.RS
+.PP
+.B
+28 1700/2500 - 30 1900/2000
+.RE
+Coordinate 29 is 1800/2250.
+If the index numbers are equally spaced but not consecutive
+a step size can follow the `\fB-\fR' as in
+.RS
+.PP
+.B
+12 2000/7000 -9 147 2000/1000
+.RE
+This describes coordinates numbered 12, 21, 30, and so on.
+If a letter follows the coordinate specifications,
+it specifies the drill to be used for the pinholes.
+The known drill types are
+.RS
+.PD 0
+.TP
+.B A
+33
+.TP
+.B B
+34
+.TP
+.B C
+39
+.TP
+.B D
+42
+.TP
+.B E
+50
+.TP
+.B F
+62
+.TP
+.B G
+106
+.TP
+.B H
+107
+.TP
+.B I
+108
+.TP
+.B J
+20
+.TP
+.B K
+110
+.TP
+.B L
+111
+.TP
+.B M
+112
+.TP
+.B N
+113
+.TP
+.B O
+114
+.TP
+.B P
+115
+.TP
+.B Q
+116
+.TP
+.B R
+117
+.TP
+.B S
+118
+.TP
+.B T
+119
+.TP
+.B U
+100
+.TP
+.B V
+20
+.TP
+.B W
+122
+.TP
+.B X
+123
+.TP
+.B Y
+124
+.TP
+.B Z
+125
+.PD
+.RE
+.SS Items
+In the following descriptions,
+each item has a sample input defining all possible fields.
+Some fields are optional; mandatory fields are marked by
+.B **
+which is
+.I not
+part of the actual input.
+.Cs
+Board{
+ name board_name
+ align 1600/2000 9600/1700 1400/7100 9600/6600
+ layer signalside 1
+ plane 1 + VCC 2000 2000 8000 8000
+ datums 100/100 135 100/8000 45 10000/100 45
+}
+.Ce
+The board name is set to
+.IR board_name .
+The alignment points are used by
+.B "wrap -s"
+to align the board in Joe's semi-automatic wire wrapping machine.
+All four alignment points must be given.
+The
+.I layer
+field associates a layer number with a name to be used in XY artwork output.
+The layer numbers
+.B 0
+and
+.B 1
+are the two outside layers.
+The
+.B plane
+fields represent signal planes for circuit boards.
+The format is
+.IR "layer sense signame minx miny maxx maxy" .
+.I Sense
+is a character
+meaning add
+.RB ( + )
+or subtract
+.RB ( - )
+the rectangle for the signal
+.IR signame .
+The planes can be viewed with
+.IR place (10.1).
+Note that multiple signals can be present in one layer.
+The
+.I datums
+field sets the positions and orientations of the three datums
+(alignment marks for artwork).
+The orientation is the angle formed by the two squares in the datum.
+.Cs
+Package{
+** name DIP20
+** br -600 0 9600 3000
+** pins 1 20{
+ 1 0/0 - 10 9000/0 V
+ 11 9000/3000 - 20 0/3000 V
+ }
+ drills 1 2{
+ 1 500/1500 - 2 8500/1500 V
+ }
+ keepout 0 - VCC -1000 -4000 10000 3400
+ plane 0 - VCC -1000 -4000 10000 3400
+ plane 0 + VDD -500 -3500 9500 2900
+ xymask clump {
+ arbitrary XY mask stuff
+ }
+}
+.Ce
+Each package definition may have an arbitrary origin.
+The bounding rectangle
+.B br
+is used for placement;
+the values are ll.x, ll.y, ur.x, ur.y.
+The
+.B drills
+field is for mounting bolts etc;
+it does not affect placement.
+Both the
+.B pins
+and
+.B drills
+fields take a minimum and maximum pin number.
+Placement of a package involves both its pins and rectangle.
+The rectangle must not intersect any other placed package,
+and there must be a pin-hole for each of the pins.
+The
+.B keepout
+field looks like a plane definition (the sense is always set to
+.BR - ).
+Multiwire wiring will not enter the specified plane.
+The
+.B plane
+fields are similar to those in
+.B Board
+but are instantiated for every chip using this package.
+The
+.B xymask
+field denotes the clump name
+.RI ( clump )
+for this package and some optional XY mask input
+(used by
+.I artwork (10.1)).
+The XY mask input has leading tabs deleted, not white space, as blanks
+are significant to XY mask.
+.Cs
+Chip{
+** name miscinv
+** type 74F240
+}
+.Ce
+This simply specifies the chip type.
+.Cs
+Type{
+** name 74F240
+** pkg DIP20
+ tt ii3i3i3i3gi3i3i3i3iv
+}
+.Ce
+The
+.B tt
+field must have a letter for every pin of the package.
+Any pin whose letter is one of
+.B gvwxyz
+or
+.B GVWXYZ
+will be automatically attached to special signal 0,1,2,3,4,5 respectively.
+Other letters are ignored (they are used by other tools).
+.Cs
+Net port 4{
+ select 8
+ miscinv 14
+ syncff 13
+ ackff 1
+}
+.Ce
+Signal nets have the net name and number of points on the item line.
+All other lines are simple
+.IR chipname , pinnumber
+pairs.
+Net descriptions are normally produced by
+.I "fizz cvt"
+from the output of
+.I cdm
+or
+.I cdmglob .
+.Cs
+Route{
+** name port
+** alg hand
+ route{
+ ackff 1
+ miscinv 14
+ select 8
+ syncff 13
+ }
+}
+.Ce
+This describes the routing for net
+.IR name .
+The algorithm must be one of
+.B tsp
+(normal travelling salesman),
+.B tspe
+(travelling salesman specifying one end),
+.B mst
+(minimal spanning tree),
+.B mst3
+(minimal spanning tree of degree three),
+.B default
+(whatever is specified in the
+.I wrap
+command)
+and
+.B hand
+(the exact order is given).
+The routing is a list of
+.IR chipname , pinnumber
+pairs.
+.Cs
+Positions{
+ select 3200/2300 0 0
+ miscinv 4900/1700 0 0
+ syncff 2400/2700 0 0
+}
+.Ce
+Specify the position data for each chip.
+Each line has the form
+.IR "chipname coord orientation flags" .
+The orientation is the number of right angles clockwise to
+rotate the package.
+The following bits in
+.I flags
+have a defined meaning:
+.RS
+.PD 0
+.TP
+.B 4
+this chip is unplaced
+.TP
+.B 8
+the bounding rectangle is ignored in placement
+.TP
+.B 16
+the pinholes are ignored in placement.
+.B 32
+the names are ignored in the silk screen output.
+.br
+.I Flags
+should be initialised to zero.
+.RE
+.PD
+.Cs
+Pinholes{
+ 1400/6900 3200 300 10 V
+ 6650/6900 3200 300 10 V
+ 1600/1700 8100 1000 10/30 V
+ 1600/2700 8100 1000 10/30 V
+}
+.Ce
+Each pinhole specification has the form
+.IR "coord lx ly spacing diam"
+which defines a rectangular array of pin-holes with diameter of
+.IR diam .
+The lower left corner of the rectangle is
+.IR coord ,
+and the width and height are
+.I lx,ly
+respectively.
+The pins are placed
+.I spacing
+apart.
+If
+.I spacing
+is of the form
+.IR sx / sy ,
+the spacings in the
+.IR x and y
+directions are set independently.
+.Cs
+Vsig 0{
+ name GND
+ pins 96{
+ 1 1800/2100 - 16 9300/2100 A
+ 17 1800/3100 - 32 9300/3100 A
+ 33 1800/4100 - 48 9300/4100 A
+ 49 1800/5100 - 64 9300/5100 A
+ 65 1800/6100 - 80 9300/6100 A
+ 81 1800/6700 - 96 9300/6700 A
+ }
+}
+.Ce
+This defines the special signals.
+The special signal number follows
+.BR Vsig .
+Pins are numbered from 1;
+the number of pins is given in the
+.B pins
+field line.
+A warning is given if any pins are not specified.
+.SH SEE ALSO
+.IR fizz (10.1)
diff --git a/static/v10/man5/font.5 b/static/v10/man5/font.5
new file mode 100644
index 00000000..39d4c7a3
--- /dev/null
+++ b/static/v10/man5/font.5
@@ -0,0 +1,413 @@
+.TH FONT 5
+.CT 1 writing_output
+.SH NAME
+font \- description files for troff
+.SH DESCRIPTION
+Directories
+.BI /usr/lib/font/dev dest
+describe typesetters,
+where
+.I dest
+is as in the
+.B -T
+option of
+.IR troff (1).
+Such directories contain files named as in FILES below.
+.PP
+Lines of a typesetter description in file
+.F DESC
+have the following forms.
+.TF paperlength\ n
+.TP
+.BI res " n
+Resolution of device is
+.I n
+basic units per inch.
+.PD0
+.TP
+.BI hor " n
+Horizontal motion occurs in increments of
+.I n
+units.
+.TP
+.BI vert " n
+Vertical motion occurs in increments of
+.I n
+units.
+.TP
+.BI unitwidth " n
+Widths are given for pointsize
+.I n.
+.TP
+.BI sizescale " n
+Scaling for fractional pointsizes, not used.
+.TP
+.BI paperwidth " n
+Width of paper is
+.I n
+units.
+.TP
+.BI paperlength " n
+Length of paper is
+.I n
+units.
+.TP
+.BI biggestfont " n
+Maximum number of characters in a font is
+.I n.
+.TP
+.BI sizes " n n n ... " 0
+Pointsizes
+.I "n ...
+are available.
+.TP
+.BI fonts " n name ...
+Number of initial fonts followed by their names,
+for example
+.br
+.L
+fonts 4 R I B S
+.TP
+.B charset
+This line comes last, followed by
+a list of special character names for
+the device, separated by spaces or newlines, as
+.BR bu
+for
+.BR \e(bu
+.PD
+.PP
+Lines of a font description file have the following forms.
+.TF paperlength\ n
+.TP
+.BI name " name
+name of the font,
+such as
+.B R
+or
+.B CW
+.PD 0
+.TP
+.BI internalname " name
+The typesetter's name for the font, independent of the
+.I troff
+name or font position.
+.TP
+.B special
+A
+.I troff
+special font, logically part of all non-special fonts.
+.TP
+.BI ligatures " name ... " 0
+The named ligatures are available.
+Legal names are
+.BR "ff fi fl ffi ffl" .
+.TP
+.BI spacewidth " n
+Space is
+.I n
+units wide (default 1/3 of an em).
+.TP
+.B charset
+Must come last.
+Each line following
+.B charset
+describes one character thus:
+.PD
+.IP
+.I "name width height code
+.IP
+.I Name
+is either a single ASCII character or a special character listed in
+.FR DESC .
+.I Width
+is in basic units.
+.I Height
+is 1 if the character descends below
+the baseline,
+2 if it rises above the letter `a',
+3 if it both rises and
+descends, 0 for neither.
+.I Code
+is the number sent to the typesetter to produce the character.
+If a character name is a synonym for the preceding one,
+its width, height, and code may be replaced by one double quote
+\fL"\fR.
+.PP
+Lines beginning with
+.B #
+are comments in both
+.B DESC
+and font description files.
+.PP
+.I Troff
+and its postprocessors use the binary versions as compiled by
+a program
+.I makedev.
+.ig
+.PP
+The file
+.I DESC.out
+starts with the
+.I dev
+structure,
+defined by
+.IR dev.h :
+.CW
+.ta0.6i 1.8i
+ /*
+dev.h: characteristics of a typesetter
+* /
+
+\s-1struct dev {
+unsigned short\ filesize;\ \ /* number of bytes in file, */
+\0\0 \0\0\0\0\0 /* excluding dev part */
+short res; /* basic resolution in goobies/inch */
+short hor; /* goobies horizontally */
+short vert;
+short unitwidth; /* size at which widths are given*/
+short nfonts;\0 /* number fonts physically available */
+short nsizes;\0 /* number of pointsizes */
+short sizescale; /* scaling for fractional pointsizes */
+short paperwidth; /* max line length in units */
+short paperlength; /* max paper length in units */
+short nchtab;\0 /* number of funny names in chtab */
+short lchname; /* length of chname table */
+short biggestfont; /* max # of chars in a font */
+short spare; /* in case of expansion */\f1
+};
+.CE
+.IR filesize
+is just the size of everything in
+.I DESC.out
+excluding the
+.I dev
+structure.
+.I nfonts
+is the number of different font positions available.
+.I nsizes
+is the number of different pointsizes supported by this typesetter.
+.I nchtab
+is the number of special character names.
+.I lchname
+is the total number of characters,
+including nulls,
+needed to list all
+the special character names.
+At the end of the structure is one spare for later expansions.
+.PP
+Immediately following the
+.I dev
+structure are a number of tables.
+First is the
+.I sizes
+table,
+which contains
+.I nsizes
++ 1 shorts(a null at the end),
+describing the pointsizes of text
+available on this device.
+The second table is the
+.IR funny_char_index_table .
+It contains indexes into the table that follows it,
+the
+.IR funny_char_strings .
+The indexes point to the beginning of each special character name
+that is stored in the
+.I funny_char_strings
+table.
+The
+.I funny_char_strings
+table is
+.I lchname
+characters long,
+while the
+.I funny_char_index_table
+is
+.I nchtab
+shorts long.
+.PP
+Following the
+.I dev
+structure will occur
+.I nfonts
+.I {font}.out
+files,
+which are used to initialize the font positions.
+These
+.I {font}.out
+files,
+which also exist as separate files,
+begin with a
+.I Font
+structure and then are followed by four character arrays:
+.CW
+\s-1struct Font { /* characteristics of a font */
+char nwfont; /* number of width entries */
+char specfont; /* 1 == special font */
+char ligfont; /* 1 == ligatures exist on this font */
+char namefont[10]; /* name of this font, e.g., R */
+char intname[10]; /* internal name of font, in ASCII */
+}\s+1;
+.CE
+The
+.I Font
+structure tells how many defined characters there are in
+the font, whether the font is a "special" font and if it contains
+ligatures.
+It also has the ASCII name of the font,
+which should
+match the name of the file it appears in,
+and the internal
+name of the font on the typesetting device
+.RI ( intname ).
+The internal name is
+independent of the font position and name that
+.B troff
+knows about.
+For
+example, you might say mount R in position 4,
+but when asking
+the typesetter to actually produce a character from the R
+font,
+the postprocessor which instructs the typesetter would
+use
+.IR intname .
+.PP
+The first three character arrays are specific for the font and run
+in parallel.
+The first array,
+.IR widths ,
+contains the width of each character
+relative to
+.IR unitwidth .
+.I unitwidth
+is defined in
+.IR DESC .
+The second array,
+.IR height ,
+contains height information.
+If a character rises
+above the letter 'a',
+02 is set.
+If it descends below the line,
+01 is set.
+The third array,
+.IR codes ,
+contains the code that is sent to
+the typesetter to produce the character.
+.PP
+The fourth array is defined by the device description in
+.IR DESC .
+It is the
+.IR font_index_table .
+This table contains indexes into the
+.IR width ,
+.IR height ,
+and
+.I code
+tables for each character.
+The order that characters appear in these three
+tables is arbitrary and changes from one font to the next.
+In order for
+.B troff
+to be able to translate from ASCII and the special character names to these
+arbitrary tables,
+the
+.I font_index_table
+is created with an order that is constant for each device.
+The number of entries in this table is 96 plus the number of special
+character names for this device.
+The value
+96 is
+128 - 32,
+the number of printable characters in the
+ASCII alphabet.
+To determine whether a normal ASCII character exists,
+.B troff
+takes the ASCII value of the character,
+subtracts 32,
+and looks in the
+.IR font_index_table .
+If it finds a 0,
+the character is not defined in this font.
+If it
+finds anything else,
+that is the index into
+.IR widths ,
+.IR height ,
+and
+.I codes
+that describe that character.
+.PP
+To look up a special character name,
+for example
+.BR \e(pl ,
+the mathematical plus sign,
+and determine whether it appears
+in a particular font or not,
+the following procedure is followed.
+A
+.I counter
+is set to 0 and an index to a special character name
+is picked out of the
+.I counter'th
+position in the
+.IR funny_char_index_table .
+A string comparison is performed between
+.I funny_char_strings [ funny_char_index_table
+.I [ counter ] ]
+and the special character name,
+in
+our example
+.BR pl ,
+and if it matches,
+then
+.B troff
+refers to this character as (96 +
+.IR counter ).
+When it wants to
+determine whether a specific font supports this character,
+it
+looks in
+.IR font_index_table "[96 + " counter ].
+.PP
+The 0th element of the
+.I width
+array defines the width of a space.
+If that element is 0, the width of
+a space is taken to be 1/3 the width of the
+.LR \e(em
+character.
+..
+.SH FILES
+.TF /usr/lib/font/dev*
+.TP
+.F /usr/lib/font/dev*
+typesetter description directory
+.TP
+.F DESC
+typesetter description (ASCII)
+.TP
+.F DESC.out
+typesetter description (binary); created by
+.I makedev
+.TP
+.I font
+description of the named
+.I font
+(ASCII)
+.TP
+.IB font .out
+description of the named
+.I font
+(binary); created by
+.I makedev
+.TP
+.F /n/bowell/usr/src/cmd/troff/makedev
+.SH "SEE ALSO"
+.IR troff (1)
+.br
+B. W. Kernighan,
+`A Typesetter-Independent Troff',
+this manual, Volume 2
diff --git a/static/v10/man5/fs.5 b/static/v10/man5/fs.5
new file mode 100644
index 00000000..0d52b711
--- /dev/null
+++ b/static/v10/man5/fs.5
@@ -0,0 +1,147 @@
+.pa 1
+.he 'FILE SYSTEM (V)'3/15/72'FILE SYSTEM (V)'
+.ti 0
+NAME format of file system
+.sp
+.ti 0
+DESCRIPTION
+.br
+.in 8
+Every
+file system storage volume
+(e.g. RF disk, RK disk, DECtape reel)
+has a common format for certain vital information.
+
+Every such volume is divided into a certain number
+of 256 word (512 byte) blocks. Blocks 0 and 1 are
+collectively known as the super_____-block_____ for the device;
+they define its extent and contain an i-node map
+and a free-storage map.
+The first word
+contains the number of bytes in the free-storage
+map; it is always even.
+It is followed by the map.
+There is one bit for each block on the device; the bit is "1"
+if the block is free.
+Thus if the
+number of free-map bytes is n_, the blocks on the device
+are numbered 0 through 8n_-1.
+The free-map count is followed by the free map
+itself.
+The bit for block k_ of the device
+is in byte k_/8 of the map; it is offset k_(mod 8) bits from the right.
+Notice that bits exist for the superblock and the i-list,
+even though they are never allocated or freed.
+
+After the free map is a word containing the byte count
+for the i-node map. It too is always even.
+I-numbers below 41(10) are reserved
+for special files, and are
+never allocated; the first bit in the i-node
+free map refers to i-number 41.
+Therefore the byte number in the i-node map
+for i-node i_ is (i_-41)/8.
+It is offset (i_-41) (mod 8) bits from the right; unlike
+the free map, a "0" bit indicates an available i-node.
+
+I-numbers begin at 1, and the storage for i-nodes
+begins at block 2.
+Also, i-nodes are 32 bytes long, so 16 of them fit into a block.
+Therefore, i-node i_ is located in block (i_+31)/16 of
+the file system, and begins 32\u.\d((i_+31)(mod 16)) bytes
+from its start.
+
+There is always one file system which is always mounted;
+in standard UNIX it resides on the RF disk.
+This device is also used for swapping.
+On the primary file system device, there are
+several pieces of information following that previously
+discussed.
+There are two words with the calendar time
+(measured since 00:00 Jan 1, 1972);
+two words with the time spent executing in the system;
+two words with the time spent waiting for I/O on the RF and RK
+disks; two words with the time spent executing in a user's
+core; one byte with the count of errors on the RF
+disk; and one byte with the count of errors on the RK disk.
+All the times are measured in sixtieths of a second.
+
+I-node 41(10) is reserved for the root directory of the
+file system.
+No i-numbers other than this one and those from
+1 to 40 (which represent special files) have a built-in
+meaning.
+Each i-node represents one file.
+The format of an i-node is as follows, where the
+left column represents the offset from the beginning
+of the i-node:
+.sp
+.nf
+.in +3
+0-1 flags (see below)
+2 number of links
+3 user ID of owner
+4-5 size in bytes
+6-7 first indirect block or contents block
+.li
+...
+20-21 eighth indirect block or contents block
+22-25 creation time
+26-29 modification time
+30-31 unused
+.fi
+.sp
+.ti -3
+The flags are as follows:
+.sp
+.nf
+100000 i-node is allocated
+040000 directory
+020000 file has been modified (always on)
+010000 large file
+000040 set user ID on execution
+000020 executable
+000010 read, owner
+000004 write, owner
+000002 read, non-owner
+000001 write, non-owner
+.sp
+.in -3
+.fi
+The allocated bit (flag 100000) is believed even
+if the i-node map says the i-node is free;
+thus corruption of the map may cause i-nodes
+to become unallocatable, but will not cause active
+nodes to be reused.
+
+Byte number n_ of a file is accessed as follows:
+n_ is divided by 512 to find its logical block number (say b_)
+in the file.
+If the file is small (flag 010000 is 0),
+then b_ must be less than 8, and the physical block
+number corresponding to b_ is the b_th entry
+in the address portion of the i-node.
+
+Even if the file is large, b_ will be less than
+128 (128*512 = 2^16).
+The first number in the i-node address
+portion
+gives the physical block number of the indirect block.
+b_ is doubled
+to give a byte offset in the indirect block
+and the word there found is the physical address of
+the block corresponding to b_.
+
+For block b_ in a file to exist, it
+is not necessary that all blocks less than b_ exist.
+A zero block number either in the address words of
+the i-node or in an indirect block indicates that the
+corresponding block has never been allocated.
+Such a missing block reads as if it contained all zero words.
+
+.in 16
+.ti 0
+BUGS Two blocks are not enough to handle
+the i- and free-storage maps for an RP02
+disk pack, which contains around 10 million words.
+.sp
diff --git a/static/v10/man5/fsm.10.5 b/static/v10/man5/fsm.10.5
new file mode 100644
index 00000000..9d601d5f
--- /dev/null
+++ b/static/v10/man5/fsm.10.5
@@ -0,0 +1,116 @@
+.TH FSM 10.5 UCDS
+.SH NAME
+fsm \- finite state machine language format
+.SH DESCRIPTION
+.B Fsm
+is designed to write finite state machines.
+It assumes that there are
+some number of input and output pins.
+These must be declared first.
+The input clock speed can also be declared so that the compiler will
+calculate the length of loops given in the time format.
+The input programs resemble C.
+There must be a procedure
+named
+.B main
+for the compiler to proceed.
+Procedures declared "inline"
+are called directly by the compiler to generate inline code. Otherwise
+the syntax is very familiar.
+Note that all procedures
+.B must
+be declared void.
+Therefore, there are no expressions on the return
+statement.
+.PP
+The
+.IR yacc (1)
+syntax for
+.I fsm
+is given below:
+.sp
+.nf
+.ta 20n +3n
+program : declarations procedures
+declarations : declarations declaration ;
+ | empty
+declaration : input
+ | outputDecl
+input : \f5INPUT\fP inputDetails
+inputDetails : BIT ID
+ | \f5FIELD ID < NUMBER : NUMBER >\fP
+ | \f5CLOCK\fP clockFrequency frequency
+clockFrequency : \f5NUMBER\fP
+ | \f5NUMBER . NUMBER\fP
+frequency : \f5MHZ\fP
+ | \f5KHZ\fP
+outputDecl : \f5OUTPUT\fP outputDetails
+outputDetails : \f5BIT ID\fP
+ | \f5FIELD ID < NUMBER : NUMBER >\fP
+procedures : procedures procedure
+ | empty
+procedure : inline \f5VOID ID\fP ( id_list ) statement
+inline : \f5INLINE\fP
+ | empty
+statements : statements statement
+ | empty
+statement : output
+ | loop
+ | do
+ | enabled
+ | ifprefix statement
+ | ifelseprefix statement
+ | while
+ | repeat
+ | goto
+ | break
+ | continue
+ | call
+ | label statement
+ | \f5{\fP statements \f5}\fP
+ | \f5;\fP
+call : \f5ID (\fP expression_list \f5) ;\fP
+loop : \f5LOOP\fP statement
+enabled : \f5ENABLED\fP statement
+ifprefix : \f5IF\fP boolean
+ifelseprefix : ifprefix statement \f5ELSE\fP
+while : \f5WHILE\fP whileHead boolean whileTail statement
+do : \f5DO\fP statement dopart \f5;\fP
+dopart : \f5UNTIL\fP boolean
+ | \f5WHILE\fP boolean
+repeat : \f5REPEAT NUMBER DO\fP statement
+output : \f5OUTPUT (\fP field_list \f5)\fP outputSuffix \f5;\fP
+outputSuffix : \f5FOR\fP timesOrCycles
+timesOrCycles : \f5NUMBER\fP times
+ | \f5NUMBER CYCLES\fP
+times : \f5NS\fP
+ | \f5US\fP
+ | \f5MS\fP
+goto : \f5GOTO ID\fP
+break : \f5BREAK\fP
+continue : \f5CONTINUE\fP
+label : \f5ID :\fP
+boolean : \f5(\fP expression \f5)\fP
+id_list : \f5ID\fP
+ | id_list \f5, ID\fP
+ | empty
+expression_list : expression
+ | expression_list \f5,\fP expression
+ | empty
+field_list : field
+ | field_list \f5,\fP field
+field : \f5ID =\fP expression
+expression : \f5(\fP expression \f5)\fP
+ | expression \f5+\fP expression
+ | expression \f5-\fP expression
+ | expression \f5&\fP expression
+ | expression \f5|\fP expression
+ | expression \f5^\fP expression
+ | expression \f5>>\fP expression
+ | expression \f5<<\fP expression
+ | \f5~\fP expression
+ | \f5!\fP expression
+ | \f5INPUT ( ID )\fP
+ | \f5ID\fP
+ | \f5NUMBER\fP
+.fi
diff --git a/static/v10/man5/fstab.5 b/static/v10/man5/fstab.5
new file mode 100644
index 00000000..60afe9b9
--- /dev/null
+++ b/static/v10/man5/fstab.5
@@ -0,0 +1,106 @@
+.TH FSTAB 5
+.CT 2 sa
+.SH NAME
+fstab, mtab \- information about file systems
+.SH SYNOPSIS
+.B #include <fstab.h>
+.SH DESCRIPTION
+The file
+.F /etc/fstab
+describes the normal configuration of file systems.
+It guides the default operation of
+.I mount,
+.I umount,
+.I swapon,
+and
+.IR fsck (8).
+The order of records in
+.F /etc/fstab
+is important.
+.PP
+Each line of the file describes one file system.
+Fields separated by colons specify
+.IP
+pathname of block device or other mounted object
+.br
+pathname of mount point
+.br
+file system type number
+.br
+integer mount flags
+.br
+pass number for checking; see
+.IR fsck (8)
+.PP
+File system type numbers
+and flags are listed in
+.IR fmount (2).
+.PP
+Two special non-numeric file system types
+signify things that aren't file systems:
+.L xx
+causes the line to be ignored,
+.L sw
+signifies a swap device.
+.PP
+Use
+.IR getfsent (3)
+to read data from
+.LR /etc/fstab .
+.PP
+The file
+.F /etc/mtab
+lists file systems currently mounted.
+Each entry is a structure of the form
+.PP
+.nf
+.ft L
+.ta 8n +27n
+#define FSNMLG 32
+
+struct mtab {
+ char file[FSNMLG];\fR mount point\fP
+ char spec[FSNMLG-1];\fR mounted object\fP
+ char type;\fR file system type\fP
+};
+.ft R
+.fi
+.SH EXAMPLES
+A simple
+.I fstab.
+.IP
+.EX
+/dev/ra00:/:0:0:1
+/dev/ra02:/usr:0:0:2
+/dev/ra05:/tmp:0:0:3
+/dev/ra10:/ra10:0:1:1
+/dev/ra11::sw:0:0
+/dev/ra15:/ra15:0:1:3
+/dev/null:/proc:2:0:0
+.EE
+.SH FILES
+.F /etc/fstab
+.br
+.F /etc/mtab
+.SH SEE ALSO
+.IR fmount (2),
+.IR getfsent (3),
+.IR mount (8)
+.SH BUGS
+Swap areas are not file systems,
+and should not be described in
+.IR fstab .
+.br
+For compatibility with old programs and habits,
+two deprecated magic file system types survive:
+.L rw
+means `type 0, flag 0'
+(a disk file system, mounted for reading and writing);
+.L ro
+means `type 0, flag 1'
+(a disk file system, mounted read-only).
+.br
+Only file systems mounted with
+.IR mount (8)
+are listed in
+.IR mtab .
diff --git a/static/v10/man5/graw.10.5 b/static/v10/man5/graw.10.5
new file mode 100644
index 00000000..d77c8cef
--- /dev/null
+++ b/static/v10/man5/graw.10.5
@@ -0,0 +1,79 @@
+.TH GRAW 10.5 UCDS
+.SH NAME
+graw \- graw file format
+.SH DESCRIPTION
+.B Graw
+files are very simple. There is one primitive per line, each primitive indicated
+by a single character identifier. All strings are enclosed in quotes. Definition
+need not preceed use, though in practice graw outputs
+.I ref
+(aka include) primitives first and master definitions are seldom found outside libraries.
+.PP
+.B Graw
+file interpreters should look up
+.I ref
+files according to some search path.
+.PP
+Syntax:
+.PP
+body: prim | body prim
+.br
+prim: line | box | string | dots | macro | inst | ref | master
+.br
+line: \fBl\fR point point
+.br
+box: \fBb\fR rect
+.br
+string: \fBs\fR chars disp point
+.br
+dots: \fBd\fR rect
+.br
+macro: \fBz\fR rect
+.br
+inst: \fBi\fR chars point
+.br
+ref: \fBr\fR filename
+.br
+master: mstart body mend
+.br
+mstart: \fBm\fR chars
+.br
+mend: \fBe\fR
+.br
+rect: point point
+.br
+point: INT INT
+.br
+disp: INT
+.br
+chars: \fB"\fR STRING \fB"\fR
+.PP
+.B Graw
+.I string
+displacements are specified by five bit codes defined below:
+.RS
+.ft CW
+/* string placement displacements */
+.br
+#define HALFX 1
+.br
+#define FULLX 2
+.br
+#define HALFY 4
+.br
+#define FULLY 8
+.br
+#define INVIS 16
+.ft R
+.RE
+.PP
+Invisible
+.I string\fRs
+are typically defined for masters with connection points.
+Though the text is usually not displayed or printed, the
+remaining four bits should nonetheless specify a proper
+displacement for the sake of back-annotation.
+.SH FILES
+/n/ross/lib/graw/gates.g the standard gate file
+.SH SEE ALSO
+graw(10)
diff --git a/static/v10/man5/ident.5 b/static/v10/man5/ident.5
new file mode 100644
index 00000000..c9d1dc0b
--- /dev/null
+++ b/static/v10/man5/ident.5
@@ -0,0 +1,37 @@
+.pa 1
+.he '6/12/72''IDENT (V)'
+.ti 0
+NAME ident -- IDENT card file
+.sp
+.ti 0
+SYNOPSIS --
+.sp
+.ti 0
+DESCRIPTION ident_____
+is a file used to generate GECOS $IDENT
+cards by the off-line print program opr(I).
+There is one entry per line in the following
+style:
+
+ 05:m1234,m789,name
+
+which causes the following $IDENT card to be generated:
+
+ $ IDENT m1234,m789,name
+
+.sp
+.ti 0
+FILES kept
+in /etc/ident.
+.sp
+.ti 0
+SEE ALSO opr(I)
+.sp
+.ti 0
+DIAGNOSTICS --
+.sp
+.ti 0
+BUGS --
+.sp
+.ti 0
+OWNER ken, dmr
diff --git a/static/v10/man5/lde.10.5 b/static/v10/man5/lde.10.5
new file mode 100644
index 00000000..9ea794f9
--- /dev/null
+++ b/static/v10/man5/lde.10.5
@@ -0,0 +1,295 @@
+.TH LDE 10.5 UCDS
+.SH NAME
+lde \- logic design expression language format
+.SH DESCRIPTION
+.I Lde
+format contains six declaration areas that must appear
+in the following order:
+.TP
+.B .x
+an optional chip declaration area,
+.TP
+.B .tt
+an optional line for use by
+.I wcheck and/or
+.IR smoke ,
+.TP
+.B .i
+an input declaration area,
+.TP
+.B .o
+an output declaration area,
+.TP
+.B .f
+an optional field declaration area,
+.TP
+.B .e
+and an expression area.
+.PP
+The
+.I lde
+language is much like C.
+Identifiers may include
+.BR +-. .
+.I Lde
+does not
+use ';' to end a statement.
+Symbols must be declared before used.
+Declaration is by appearance in the
+.B .i
+or
+.B .o
+areas or appearance on the left of an
+.B =
+in the
+.B .f
+or
+.B .e
+areas.
+Since
+.I lde
+is an expression language, no flow control (such as
+.B if
+or
+.BR switch )
+is allowed.
+An expression selector is available;
+.I
+expra{[[exprb]:]exprc,[[exprd]:]expre,...}
+has the value of
+.I exprc
+if
+.I expra
+equals
+.IR exprb .
+If there is no
+.I exprb
+and there is a colon then
+.I exprc
+is the default case.
+If there is no
+.I exprb
+and no colon the the pre-incremented value of the prior
+value of
+.I exprb
+is used, the prior value of
+.I exprb
+is initialized to \-1.
+.PP
+The chip declaration area may contain two strings,
+.IR name and type .
+.PP
+The
+.B .i
+and
+.B .o
+areas contain
+.I
+identifier
+[ '=' or ':'
+.I
+numeric_pinnumber
+]
+(The ':' is used by
+.I
+lde \-w
+as a mark for externals.)
+Some programs use the order of appearance of the
+identifiers.
+.PP
+The field declaration area contains constructions
+of the form
+.I n_id
+=
+.I o_id o_id ...
+where
+.I n_id
+is a new identifier for a multibit value the least significant
+bit of which is the first old identifier,
+.I o_id.
+.PP
+The expression area contains assignments of expressions to
+identifiers.
+Identifiers may be modified by a postpended single quote, "'",
+in which case a value of one has the meaning "don't_care" for the unmodified
+indentifier.
+.PP
+Numeric values may be passed from the command line, they appear as
+.BR $m .
+The (zero based)
+.RI m th
+occurence of
+.BI \- n
+one the command line substitutes the value
+.I n
+for the symbol
+.BR $m .
+.SH EXAMPLES
+.IP
+.ftCW
+.ps8
+.vs10
+.nf
+ /*
+ * bkrom
+ * classifies the location of the
+ * black king.
+ * 0-6 manhattan distance to center
+ * 7 orig square
+ * 8-11 k-side
+ * 12-15 q-side
+ */
+ .x
+ bkrom 74S287
+ .i
+ wkx0 wkx1 wkx2
+ wky0 wky1 wky2
+ GND1 GND2 GND3
+ .o
+ kb0 kb1 kb2 kb3
+ .f
+ kx = wkx0 wkx1 wkx2
+ ky = wky0 wky1 wky2
+ kb = kb0 kb1 kb2 kb3
+ .e
+ xd = (kx) { 3, 2, 1, 0, 0, 1, 2, 3 }
+ yd = (ky) { 3, 2, 1, 0, 0, 1, 2, 3 }
+ d = xd \+ yd
+ kb =
+ (ky == 6)?
+ (kx) { 12, 13, d, d, d, d, 8, 9 }:
+ (ky == 7)?
+ (kx) { 14, 15, d, d, 7, d, 10, 11 }:
+ d
+ /*
+ * By convention the output enable term for
+ * PAL's is 100 + the corresponding pin number.
+ * this example includes a .tt line for use by wcheck.
+ */
+ .x Bpal PAL16L8A
+ .tt iiiiiiiiign222222n2v
+ .i
+ A0 : 1 A1 : 2 A2 : 3 A3 : 4
+ A4 : 5 A5 : 6 A6 : 7 A7 : 8
+ A8 : 9
+ .o
+ SE+ : 12 RNE+ : 13 TD+ : 14 TU+ : 15
+ SFSE : 16 Y5 : 17 BRDY : 19
+
+ e12 = 112 e13 = 113 e14 = 114 e15 = 115
+ e16 = 116 e17 = 117 e19 = 119
+
+ .f
+ cnt = A0 A1 A2 A3 A4
+ ardy = A5
+ crdy = A6
+ flushb- = A8
+ flusha- = A7
+ .e
+ tmp = ((cnt == 0) ? ardy ? 1 : 0 :
+ (cnt == 6) ? (crdy || !flushb-) ? 1 : 0 : 1 )
+
+ /* shift enable + for major data path, also count enable */
+ SE+ = !tmp
+
+ /* random number clock enable - */
+ RNE+ = !(!flusha- ? 0 : tmp )
+
+ /* transfer down - for ireg */
+ TD+ = !((cnt == 0) && ardy)
+
+ /* transfer up + (invert outside) for oreg<0:3> */
+ TU+ = !((cnt == 6) && crdy && flushb-)
+
+ /* shift flush status enable */
+ SFSE = !(cnt == 3)
+
+ /* ack- back to ardy */
+ Y5 = !!((cnt == 0) && ardy)
+
+ /* ready to A */
+ BRDY = !( (cnt == 0)? 1 : 0)
+
+ e12 = 1 e13 = 1 e14 = 1 e15 = 1
+ e16 = 1 e17 = 1 e19 = 1
+ /*
+ * An example using parameter passing and Don't_care
+ */
+ .x dram PAL16R6
+ .tt iiiiiinnngin222222nv
+ .i
+ CK:1 OE-:11
+ dreq:2 stall:3 cerr:4 read:5 qword:6
+ rasefb=18 casxfb=17 casyfb=16 wefb=15
+ dsfb0=14 dsfb1=13
+ .o
+ rase:18 casx:17 casy:16 we:15
+ ds0:14
+ ds1:13
+ .f
+ DS = rase casx casy we ds1 ds0
+ DSfb = rasefb casxfb casyfb wefb dsfb1 dsfb0
+ .e
+ X.NCAS = 0100 /* don't care bits */
+
+ DC = 0200 /* don't care state */
+ S.RAS = 040
+ S.CAS = 020
+ S.NCAS = 010
+ S.WE = 004
+
+ /* low order 2 bits of state vector */
+ A = $0 B = $1 C = $2 D = $3
+
+ I0 = C /* state assignement */
+ D10 = S.RAS + A
+ D11 = S.RAS + S.CAS + X.NCAS + B
+ D12 = S.RAS + S.CAS + X.NCAS + A
+ D13 = S.RAS + S.NCAS + B
+ D23 = S.RAS + B
+ D14 = S.RAS + S.NCAS + D
+ D24 = S.RAS + D
+ D15 = S.RAS + S.NCAS + C
+ D25 = B
+ D16 = A
+ D26 = D
+ D31 = S.RAS + S.CAS + X.NCAS + D
+ D32 = S.RAS + S.CAS + X.NCAS + S.WE + A
+ D33 = S.RAS + S.NCAS + S.WE + B
+ D43 = S.RAS + S.CAS + X.NCAS + S.WE + B
+ D34 = S.RAS + S.NCAS + S.WE + D
+ D44 = S.RAS + S.CAS + X.NCAS + S.WE + D
+ D35 = S.RAS + S.NCAS + S.WE + C
+ D36 = S.WE
+
+ DS- = DSfb {
+ I0: dreq ? D10 : I0, /* idle state */
+ D10: read ? D11 : D31,
+ D31: stall ? D31 : D32,
+ D32: qword ? (stall ? D32 : D33) : D36,
+ D33: stall ? D43 : D34,
+ D43: stall ? D43 : D34,
+ D34: stall ? D44 : D35,
+ D44: stall ? D44 : D35,
+ D35: D36,
+ D36: I0,
+ D11: stall ? D11 : D12,
+ D12: qword ? D13 : D16,
+ D13: cerr ? D23 : D14,
+ D23: D14,
+ D14: cerr ? D24 : D15,
+ D24: D15,
+ D15: cerr ? D25 : D16,
+ D25: D16,
+ D16: cerr ? D26 : I0,
+ D26: dreq ? D10 : I0,
+ : DC
+ }
+
+ DS = 077 ^ DS-
+ DS' = (DS- == DC ) ? ~0 :
+ ((DS- & X.NCAS) ? S.NCAS : 0)
+.ft
+.ps
+.vs
+.nf
diff --git a/static/v10/man5/lnode.5 b/static/v10/man5/lnode.5
new file mode 100644
index 00000000..ea07da47
--- /dev/null
+++ b/static/v10/man5/lnode.5
@@ -0,0 +1,166 @@
+.TH LNODE 5 SHARE
+.SH NAME
+lnode \- kernel user shares structure
+.SH SYNOPSIS
+.B "#include <sys/lnode.h>"
+.SH DESCRIPTION
+The kernel
+.I lnode
+structure is used to maintain per-user shares while a user has processes running.
+.I Lnodes
+are installed by
+.IR login (8)
+via the
+.IR limits (2)
+system call when a new user logs into the system.
+.I Dead
+lnodes are removed by
+.IR sharer (8)
+when the last process for a user exits.
+The layout as given in the include file is:
+.PP
+.nf
+.ift .ta 1.1i 1.9i
+.ifn .ta 24n 35n
+/*
+ * Structure for active shares
+ */
+
+typedef short uid_t;
+
+.ift .ta .3i 1.1i 1.9i
+.ifn .ta 2n +10n +13n
+struct lnode
+{
+ uid_t l_uid; /* real uid for owner of this node */
+ u_short l_flags; /* (see below) */
+ u_short l_shares; /* allocated shares */
+ uid_t l_group; /* uid for this node's scheduling group */
+ float l_usage; /* decaying accumulated costs */
+ float l_charge; /* long term accumulated costs */
+};
+
+/*
+ * Meaning of bits in l_flags
+ */
+
+.ift .ta .6i 1.8i 2.4i
+.ifn .ta +8n +11n +6n
+#define \s-1ACTIVELNODE\s0 001 /* this lnode is on active list */
+#define \s-1LASTREF\s0 002 /* set for L_DEADLIM if last reference to this lnode */
+#define \s-1DEADGROUP\s0 004 /* group account is dead */
+#define \s-1CHNGDLIMITS\s0 020 /* this lnode's limits have changed */
+#define \s-1NOTSHARED\s0 040 /* this lnode does not get a share of the m/c */
+.DT
+.fi
+.PP
+.I Lnodes
+are grouped together in a tree.
+At any level in the tree,
+the share of resources allocated to an individual lnode is that
+proportion of the group's resources
+represented by the ratio of the lnode's shares
+to the total shares of all the lnodes in the group.
+The
+.I l_group
+field represents the
+.I uid
+of the group leader's lnode.
+The top of the tree is represented by
+.IR root 's
+lnode, which is initialised at system boot time.
+.PP
+The
+.SM LASTREF
+bit in
+.I l_flags
+is set for the
+.SM L_DEADLIM
+request to the
+.IR limits (2)
+system call if the last process referencing the
+.I lnode
+has exited.
+The
+.SM DEADGROUP
+bit is set if this
+.I lnode
+was the last one referencing it's group.
+Dead groups are collected via the
+.SM L_DEADGROUP
+request to the
+.IR limits (2)
+system call.
+.PP
+The
+.I l_charge
+field is the long term accumulated charge for consumption of resources.
+For group leaders, it represents the charge for the whole group.
+The
+.I l_usage
+field is a number representing recent usage of resources,
+and is used by the scheduler to determine current share of resources.
+.SS kern_lnode
+Each user's
+.I lnode
+is embedded in a larger structure to hold temporary values for use
+by the scheduler, known as a
+.IR kern_lnode .
+The layout as given in the include file is:
+.PP
+.nf
+.ift .ta 1.9i
+.ifn .ta 28n
+/*
+ * Kernel user share structure
+ */
+
+typedef struct kern_lnode * KL_p;
+
+.ift .ta .3i 1.1i 1.9i
+.ifn .ta 2n +13n +13n
+struct kern_lnode
+{
+ KL_p kl_next; /* next in active list */
+ KL_p kl_prev; /* prev in active list */
+ KL_p kl_parent; /* group parent */
+ KL_p kl_gnext; /* next in parent's group */
+ KL_p kl_ghead; /* start of this group */
+ struct lnode kl; /* user parameters (as above) */
+ float kl_gshares; /* total shares for this group */
+ float kl_eshare; /* effective share for this group */
+ float kl_norms; /* share**2 for this lnode */
+ float kl_usage; /* kl.l_usage / kl_norms */
+ float kl_rate; /* active process rate for this lnode */
+ float kl_temp; /* temporary for scheduler */
+ float kl_spare; /* <spare> */
+ u_long kl_cost; /* cost accumulating in current period */
+ u_long kl_muse; /* memory pages used */
+ u_short kl_refcount; /* processes attached to this lnode */
+ u_short kl_children; /* lnodes attached to this lnode */
+};
+.DT
+.fi
+.PP
+Every process has a pointer to its owner's
+.I kern_lnode
+called
+.I p_lnode.
+Every time a process incurs a clock tick,
+the value
+.I p_lnode\->kl_usage
+multipied by
+.I p_lnode\->kl_rate
+is added to its scheduling priority in
+.IR p_sharepri .
+.I p_sharepri
+is decayed by the clock by an amount depending on the process's
+.I p_nice
+value \(em the ``nicer'' the process, the slower the decay.
+This value is copied into the low-level scheduler's priority in
+.I p_pri
+whenever the process is run in user space.
+.SH "SEE ALSO"
+limits(2),
+share(5),
+sharer(8).
diff --git a/static/v10/man5/log.5 b/static/v10/man5/log.5
new file mode 100644
index 00000000..66def999
--- /dev/null
+++ b/static/v10/man5/log.5
@@ -0,0 +1,126 @@
+.TH LOG 5
+.CT 1 sa_nonmortals secur
+.SH NAME
+log \- format of security logging records
+.SH SYNOPSIS
+.B #include <sys/log.h>
+.SH DESCRIPTION
+The structure of system log file records
+as declared in
+.B <sys/log.h>
+is
+.EX
+.ta \w'struct 'u +\w'logbuf 'u +\w'body[LOGLEN]; 'u
+struct logbuf {
+ short len; /* total length of whole record */
+ short pid; /* process id */
+ long slug; /* transaction number */
+ char code; /* kind of record */
+ char mode; /* sub-kind */
+ char colon; /* ':', aids sync */
+ char body[LOGLEN];
+};
+.EE
+The
+.BR code
+field identifies the kind of record;
+for legal values see the include file.
+In kernel records the
+.B mode
+field identifies where in the kernel
+the logging record originated,
+for user records it contains the minor device number of the
+.BI /dev/log/log xx
+file used to create the record.
+.LP
+The
+.B body
+field contains the logging record proper; its actual length is
+determined from the
+.B len
+field.
+In kernel records the
+.B body
+is a sequence of values,
+each prefixed by one or more format bytes according to
+the following list.
+Multibyte numbers are represented low byte first.
+.TP
+.B s
+Next two bytes are a byte count for following
+string.
+.TP
+.B $
+Next one byte is a byte count for following string, which
+is typically a file component name.
+.TP
+.B C
+Next byte is a byte count for following string, which is
+the command name.
+.TP
+.B j
+Next value is a security label: two bytes of
+.B lb_priv
+followed by two bytes of index into the kernel's
+shared label table for the
+lattice value of the label; see
+.IR getflab (2).
+.TP
+.B J
+Next value is a security label: two bytes of
+.B lb_priv
+followed by two bytes of index into the kernel's
+shared label table for the
+lattice value of the label,
+followed by 60 bytes of
+bits of the lattice value of the label.
+.TP
+.I n
+Next
+.I n
+bytes
+.RI (n =1,2,3,4)
+represent a number.
+.TP
+.B I
+Next bytes name an inode:
+two bytes of device followed by two bytes of inumber.
+.TP
+.B E
+The current system call suffered an
+.B ELAB
+error.
+.TP
+.B e
+Next byte is an
+.I errno
+code; see
+.IR intro (2).
+.PP
+The various bits of the log mask (see
+.IR syslog (2)
+are named
+.BR LN ,
+.BR LS ,
+.BR LU ,
+.BR LI ,
+.BR LD ,
+.BR LP ,
+.BR LL ,
+.BR LA ,
+.BR LX ,
+.BR LE ,
+.BR LT ,
+with the same meanings as the corresponding key letters defined in
+.IR syslog (8).
+.SH FILES
+.F /dev/log
+.SH "SEE ALSO"
+.IR syslog (2),
+.IR log (4),
+.IR syslog (8)
+.SH BUGS
+The various kinds of kernel logging records are understandable only
+by reading the kernel source code.
+.br
+It takes 7 bytes, not 4, to name an inode.
diff --git a/static/v10/man5/map.5 b/static/v10/man5/map.5
new file mode 100644
index 00000000..345ab80e
--- /dev/null
+++ b/static/v10/man5/map.5
@@ -0,0 +1,83 @@
+.TH MAP 5
+.CT 1 inst_info graphics
+.SH NAME
+map \- digitized map formats
+.SH DESCRIPTION
+Files used by
+.IR map (7)
+are a sequence of structures of the form:
+.PP
+.EX
+struct {
+ signed char patchlatitude;
+ signed char patchlongitude;
+ short n;
+ union {
+ struct {
+ short latitude;
+ short longitude;
+ } point[n];
+ struct {
+ short latitude;
+ short longitude;
+ struct {
+ signed char latdiff;
+ signed char londiff;
+ } point[\-n];
+ } highres;
+ } segment;
+};
+.EE
+.PP
+Fields
+.L patchlatitude
+and
+.L patchlongitude
+tell to what
+10-degree by 10-degree
+patch of the earth's surface a segment belongs.
+Their values range from \-9 to 8 and from \-18 to 17,
+respectively, and indicate the coordinates of the
+southeast corner of the patch in units of 10 degrees.
+.PP
+Each segment of
+.RB | n |
+points is connected; consecutive segments
+are not necessarily related.
+Latitude and longitude
+are measured in units of 0.0001 radian.
+If
+.B n
+is negative, then
+differences to the first and succeeding points
+are measured in units of 0.00001 radian.
+Latitude is counted positive to the north and
+longitude positive to the west.
+.PP
+The patches are ordered lexicographically by
+.L patchlatitude
+then
+.LR patchlongitude .
+A printable
+index to the first segment of each patch
+in a file named
+.I data
+is kept in an associated file named
+.IB data .x .
+Each line of an index file contains
+.L patchlatitude,
+.L patchlongitude
+and the byte position
+of the patch
+in the map file.
+Both the map file and the index file are ordered by
+patch latitude and longitude.
+.PP
+Shorts are stored in little-endian order, low byte first,
+regardless of computer architecture.
+To assure portability,
+.I map
+accesses them bytewise.
+.SH "SEE ALSO"
+.IR map (7),
+.IR proj (3)
diff --git a/static/v10/man5/math.5 b/static/v10/man5/math.5
new file mode 100755
index 00000000..92ed3a57
--- /dev/null
+++ b/static/v10/man5/math.5
@@ -0,0 +1,104 @@
+.\"#ident "@(#)ccsman:g5/math 1.2"
+'\"macro stdmacro
+.ie n \{\
+.ds pI \fIpi\fP
+.ds sR \fIsquare root of\fP\}
+.el \{\
+.ds pI \(*p
+.ds sR \(sr\}
+.nr X
+.if \nX=0 .ds x} MATH 5 "630 MTG" "\&"
+.TH \*(x}
+.SH NAME
+math \- math functions and constants
+.SH SYNOPSIS
+.B #include <ccs/math.h>
+.SH DESCRIPTION
+This file contains declarations of all the functions in the
+Math Library (described in Section 3M),
+as well as various other functions
+that return floating-point values.
+.P
+It defines the structure and constants used by the
+.IR matherr (3M)
+error-handling mechanisms, including
+the following constant used as an
+error-return value:
+.P
+.TP 20
+.SM
+HUGE
+The maximum value of a single-precision floating-point number.
+.P
+The following mathematical constants are defined for user convenience:
+.P
+.TP 20
+.SM
+M_E
+The base of natural logarithms
+.RI ( e ).
+.TP 20
+.SM
+M_LOG2E
+The base-2 logarithm of
+.IR e .
+.TP 20
+.SM
+M_LOG10E
+The base-10 logarithm of
+.IR e .
+.TP 20
+.SM
+M_LN2
+The natural logarithm of 2.
+.TP 20
+.SM
+M_LN10
+The natural logarithm of 10.
+.TP 20
+.SM
+M_PI
+\*(pI, the ratio of the circumference of a circle to its diameter.
+.TP 20
+.SM
+M_PI_2
+\*(pI/2.
+.TP 20
+.SM
+M_PI_4
+\*(pI/4.
+.TP 20
+.SM
+M_1_PI
+1/\*(pI.
+.TP 20
+.SM
+M_2_PI
+2/\*(pI.
+.TP 20
+.SM
+M_2_SQRTPI
+.EQ
+2 over sqrt pi
+.EN
+.TP 20
+.SM
+M_SQRT2
+.EQ
+sqrt 2
+.EN
+.TP 20
+.SM
+M_SQRT1_2
+.EQ
+sqrt {1 over 2}
+.EN
+.P
+For the definitions of various machine-dependent ``constants,''
+see \f2values(5)\f1.
+.SH FILES
+$DMD/include/ccs/math.h
+.SH "SEE ALSO"
+matherr(3M),
+values(5).
+.Ee
diff --git a/static/v10/man5/mcolor.5 b/static/v10/man5/mcolor.5
new file mode 100644
index 00000000..bf0181fd
--- /dev/null
+++ b/static/v10/man5/mcolor.5
@@ -0,0 +1,60 @@
+.ds dP /usr/lib/postscript
+.ds dT /usr/lib/tmac
+.TH MCOLOR 5
+.SH NAME
+.B mcolor
+\- color and reverse video macro
+.SH SYNOPSIS
+\*(mBtroff \-mcolor\f1
+.OP "" options []
+.OP "" files []
+.SH DESCRIPTION
+.B mcolor
+is a macro package for color selection and reverse video printing
+on PostScript printers.
+The package is compatible with most existing macro packages
+and includes the following macro:
+.TP 1.25i
+.MI .CL "\0color\0text"
+Prints
+.I text
+in
+.IR color .
+No arguments restores the default color (black).
+If
+.I text
+is omitted the selected
+.I color
+remains in effect until another
+.I color
+is selected.
+If two arguments are given the
+.I text
+is printed in
+.I color
+and then the default color is restored.
+.PP
+Both the text and background color can be selected.
+A
+.I color
+argument of
+.RI `` color1
+.MW on
+.IR color2 ''
+prints text in
+.I color1
+on a background in
+.I color2 .
+.PP
+Named colors must be listed in the
+``colordict''
+dictionary in file
+.MR \*(dP/color.ps .
+.SH FILES
+.MW \*(dT/tmac.color
+.br
+.MW \*(dP/color.ps
+.SH SEE ALSO
+.BR troff (1),
+.BR dpost (1),
+.BR mps (5)
diff --git a/static/v10/man5/mds.10.5 b/static/v10/man5/mds.10.5
new file mode 100644
index 00000000..1cd11866
--- /dev/null
+++ b/static/v10/man5/mds.10.5
@@ -0,0 +1,239 @@
+.TH MDS 10.5 UCDS
+.SH NAME
+mds \- kollmorgen symbolic data format
+.SH DESCRIPTION
+.sp
+.PP
+MDS is the symbolic format for the Kollmorgen Pck Division channel router.
+This is an abbreviated description of the format.
+.sp
+.I Introduction
+.PP
+All MDS data is made up of integers, symbols and keywords. All coordinates
+are expressed in mils, i.e., 1/1000 of an inch (just like fizz!). Coordinates
+can be negative or positive and are denoted by matching parentheses of
+the form (X Y). Symbols require quotes around them if
+not made up of numbers, letters, $ or a _.
+.sp
+.I Data types
+.PP
+There are 15 data types identified by their reserved word. The following is
+a list of valid types:
+.sp
+.ta 1.5i
+.nf
+Border Board edges and keepouts
+Check Design rules to check (not required)
+Design Name of the design
+F2 From-to (before routing)
+Fail Failed from-to (after routing)
+File pointer to another file
+Fix Hand routed wire
+Hole Drill hole
+Level Wiring surface (typically only two: COMP and PBSN)
+Net Net
+Panel Board of some type (optional)
+Route Routed from-to with intermediate points at each bend
+Term Termination site for a net (optional)
+Wire Wire path
+Wire_region Routing zone for layers
+.fi
+.Ce
+.sp
+.B Border id coordinates
+.PP
+Borders are closed loops composed by the coordinates and named by a identifier.
+.sp
+.B Check [rule] [-MIN: n] [-ON|-OFF]
+.PP
+Specifies what design rules should be checked by the
+.I repair
+program.
+.sp
+.B Design [name]
+.PP
+Names a design. Strictly optional.
+.sp
+.B F2 netname coordinates [switches]
+.PP
+From-tos are the principal data format of the routing system. They are
+created from nets by F2gen. Intermediate points are specified by
+following the coordinate by a -I or -W. Valid switches include:
+.ta 0.75i,1.5i
+.nf
+ -LEVEL: level
+ level name (or number)
+ -ORDER: cost_function
+ Sets cost function (see section below)
+ -IFL: n
+ number of inflection points; default 9
+ -MIN_FS_END:
+ sets minimum first and last segment length. Default = 0.
+ -MIN_WIRE_END:
+ sets only wire end segment length.
+ -MDR: n
+ manhattan distance ratio (in tenths, default 1.5 = 15)
+ -AXIAL | -ESCAPE | -EITHER | -DIAGONAL
+ Route path direction; Axial is along axes, escape indicates
+ diagonals on ends only.
+ -AWD: n
+ Adjacent Wire Distance
+ -CLW: window
+ -XDW: window
+ CLW checks for coupled length violations within window {n,l}
+ where n is the center to center distance and l is the length.
+ -XOVER: limit
+ Crossover limit
+.fi
+.sp
+.B Fail netname coordinates [switches]
+.PP
+Fails are identical to from-tos except for be called fails.
+See above list of switches.
+.sp
+.B File [filename] [switches]
+.PP
+This include the filename. The switch specifies what kind of file it is.
+.sp
+.B Fix sequence_no [switches] coordinates
+.PP
+Specifies a hand routed net. It is identical to route records (see below).
+The endpoints must agree with the fail it fixes.
+.sp
+.B Hole code [switches] coordinates
+.PP
+Specifies a drilled or LASER'ed hole. The switches are:
+.nf
+ -SIZE: n
+ size of n mils
+ -WIRED | -NOTWIRED
+ dictates if hole can be wired
+ -TOLERENCE: n
+ -LASED -LEVEL: n | -DRILLED
+ if not drilled, only one layer can be specified
+.fi
+.sp
+.B Level level [-F2_DENSITY: n]
+.PP
+Specifies wiring level directly; designs are assumed to be on one level unless
+otherwise told. The optional switch specifies density of routes on the layer.
+.sp
+.B Net [pre_switches]
+or
+.B Net name [pre_switches] coordinates [post_switches]
+.PP
+If the net name is omitted, then the switches are global. The pre_switches
+include all of the from-to switches plus the following:
+.nf
+ -LINK: n
+ Limit of from-tos using this node; default: 2
+ -FIX | -DECOMP
+ Fixes order in from-to list or decomposes it
+ -FIX_START | -NOFIX_START
+ -FIX_END | -NOFIX_END
+ Treat first or last node as if LINK: 1; default: NOFIX
+ -TERM_TO: pool
+ -TERM_END: pool
+ -TERM_WIRE_END: pool
+ -TERM_LIMIT: n
+ -NOTERM
+ Reduces link by 1. Assigns terminator from pool. Default is -NOTERM
+ -ORDER: cost_function
+ Possible cost functions are:
+ AIR_SL - Airline, shortest to longest
+ AIR_LS - Airline, longest to shortest
+ MAN_SL - Manhattan, shortest to longest
+ MAN_LS - Manhattan, longest to shortest
+ X_SL - X, shortest to longest
+ X_LS - X, longest to shortest
+ Y_SL - Y, shortest to longest
+ Y_LS - Y, longest to shortest
+ -BALANCE: cost_function
+ Possible cost functions are:
+ COUNT - by from-to count
+ AIR - by "airline distance"
+ MAN - by "Manhattan metric"
+ X - by X coordinate
+ Y - by Y coordinate
+ -SUPPLY | -SIGNAL
+ -SUPPLY nets are ignored; default is -SIGNAL.
+.fi
+.PP
+The post_switches are:
+.nf
+ -LINK: n
+ -FIX | -DECOMP
+ -TERM_TO: pool
+.fi
+.sp
+.B Panel [name] coordinates [-DESIGN: name]
+.PP
+Defines a coordinate system for translated output data. Strictly optional.
+.sp
+.B Route [sequence_no] [switches] coordinates
+.PP
+If the sequence number and coordinates are
+omitted, then the switches are globally applied.
+Valid switches include:
+.nf
+ -NET: name
+ -LEVEL: level
+ -W_DIA: n
+ Used by wire clearance checks
+ -CLW: window
+ -XDW: window
+ -AWD: n
+ Adjacent Wire Distance (default 0)
+ -PASS: n
+ Set pass number (starts at 1)
+ -XOVER: limit
+ Sets limit to wire crossovers; can be NONE, ONE or TWO.
+.fi
+.sp
+.B Term pool coordinates
+.PP
+Pool together a set of coordinates of terminals given by XY coordinates.
+Typically used by the TERMGEN program to assign terminators automatically.
+Used by ECL freaks.
+.sp
+.B Wire [sequence_no] [switches] coordinates
+.PP
+Just like routes except ...
+.sp
+.B Wire_region [zone] [switches]
+.PP
+Specifies an XY plane where wiring can be done by the router. If the zone
+is omitted then the specification is global. The switches are:
+.nf
+ -LEVEL: level
+ -AWE_WE: n
+ Axial Wire Edge to Wire Edge distance
+ -AWE_HE: n
+ Axial Wire Edge to Hole Edge distance
+ -DWE_WE: n
+ Diagonal Wire Edge to Wire Edge distance
+ -DWE_HE: n
+ Diagonal Wire Edge to Hole Edge distance
+ -W_DIA: n
+ Wire diameter
+ -NSID: n
+ Normal/Segment Intercept Distance.
+ -MAX_HTURN: n
+ Maximum turn angle (in degrees)
+ -DIR: name | -DBECTORY: name
+ Prepend this name to map file output name.
+.fi
+.sp
+The following is a typical map file for input to Mapgen:
+.sp
+.nf
+.Cs
+Level COMP
+Level PBSN -F2_density: 50
+Net -balance: air
+Wire_region A -Level: COMP -Max_Hturn: 135 -NSID: 15 -W_dia: 8
+Wire_region A -AWE_WE: 8 -AWE_HE: 15 -DWE_WE: 27 -DWE_HE: 8
+Wire_region B -Level: PBSN -Max_Hturn: 135 -NSID: 15 -W_dia: 8
+Wire_region B -AWE_WE: 8 -AWE_HE: 15 -DWE_WE: 27 -DWE_HE: 8
+.Ce
+.fi
diff --git a/static/v10/man5/minterm.10.5 b/static/v10/man5/minterm.10.5
new file mode 100644
index 00000000..085a24e7
--- /dev/null
+++ b/static/v10/man5/minterm.10.5
@@ -0,0 +1,78 @@
+.TH MINTERM 10.5 UCDS
+.SH NAME
+minterm \- minterm file format
+.SH DESCRIPTION
+The
+.I minterm
+file format consists of at least one binary valued function
+definition.
+A function definition begins
+.B .o
+.I n ...
+followed by line(s) that have the form
+.IR term : mask
+\&...
+The first
+.I n
+following
+.B .o
+is a numeric symbol of the function
+(usually an output pin number of a rom or pal integrated circuit).
+Any other
+.IR n 's
+are numeric symbols of input binary variables.
+.I Term
+and
+.I mask
+are decimal numbers.
+.PP
+There is a correspondence between the bits of the numbers in binary
+representation and the input symbols, the first input symbol
+is associated with the least significant bit.
+The meaning of a bit with value 1 in
+.I mask
+is `do care',
+and the meaning of a bit with value 1 in
+.I term
+is `input must be 1'.
+Thus the
+.IR term : mask
+is a implicant, and a set of them when
+.IR or 'ed
+together
+describes the input conditions for which the output symbol will have
+a value of 1.
+.PP
+For example:
+.IP
+.ft 8
+ .o 3 1 2
+ 3:3
+ .o 4 1 2
+ 1:3 2:3 3:3
+ .o 5 2 3
+ 1:3 2:3
+ .o 11
+ .o 9
+ 0:0
+.ft
+.PP
+Output 3 is the
+.I and
+function of inputs 1 and 2;
+output 4 is the
+.I or
+function of inputs 1 and 2
+.RI ( quine (10.1)
+would change this to 1:1 2:2);
+output 5 is the
+.I exclusive-or
+function of inputs 2 and 3;
+output 11 is a constant 0 and output 9 is
+a constant 1.
+.SH SEE ALSO
+.IR lde (10.1),
+.IR quine (10.1),
+.IR cover (10.1),
+.IR hazard (10.1),
+.IR pal (10.1)
diff --git a/static/v10/man5/minus.z.5 b/static/v10/man5/minus.z.5
new file mode 100644
index 00000000..a80e6138
--- /dev/null
+++ b/static/v10/man5/minus.z.5
@@ -0,0 +1,77 @@
+This shows the changes needed to a System V or UNIX 5.0 UUCP to
+implement the -z option. The -n option is in the standard system,
+but you usually want to be notified if something goes wrong.
+
+I looked at the 4.0 sources and compared them to the 5.0. The programs
+have changed but the changes aren't many. Only uucp.h, uux.c, and uuxqt.c
+need be changed. I'll be putting in the changes once I get permission from
+our systems people.
+
+==============================================================
+---- uucp.h ---- 137,139 ----
+ #define X_USER 'U'
+ #define X_NONOTI 'N'
+ > #define X_NONZERO 'Z' /* don't notify if zero return */
+ #define X_SENDFILE 'S'
+==============================================================
+---- uux.c ---- 54, 55 ----
+ int nonoti = 0;
+ > #ifdef X_NONZERO
+ > int nonzero = 0;
+ > #endif
+ int uid, ret;
+---- uux.c ---- 146,149 ----
+ case 'n':
+ nonoti = 1;
+ break;
+ > #ifdef X_NONZERO
+ > case 'z':
+ > nonzero = 1;
+ > break;
+ > #endif
+ default:
+---- uux.c ---- 218,221 ----
+ if (nonoti)
+ fprintf(fprx,"%c\n", X_NONOTI);
+ > #ifdef X_NONZERO
+ > if (nonzero)
+ > fprintf(fprx,"%c\n", X_NONZERO);
+ > #endif
+ if (statop)
+ fprintf(fprx,"%c %s\n", X_MAILF, Sfile);
+==============================================================
+---- uuxqt.c ---- 185,188 ----
+ int stcico = 0;
+ int argnok;
+ > #ifdef X_NONZERO
+ > int nonzero = 0;
+ > #endif
+ char xcmd[200];
+---- uuxqt.c ---- 43, 45 ----
+ case X_NONOTI:
+ notiok = 0;
+ break;
+ > #ifdef X_NONZERO
+ > /*
+ > * notify only if non-zero status return
+ > */
+ > case X_NONZERO:
+ > nonzero = 1;
+ > break;
+ > #endif
+ default:
+---- uuxqt.c ---- 273,278 ----
+ if (strcmp(xcmd, "rmail") != SAME
+ > #ifndef X_NONZERO
+ && strcmp(xcmd, "mail") != SAME) {
+ > #else
+ > && strcmp(xcmd, "mail") != SAME
+ > && (!nonzero || (nonzero && ret != 0)) {
+ > #endif
+
+ /*
+ * see if user wants respcifiction
+ */
+==============================================================
+
+
diff --git a/static/v10/man5/mpictures.5 b/static/v10/man5/mpictures.5
new file mode 100644
index 00000000..0924716f
--- /dev/null
+++ b/static/v10/man5/mpictures.5
@@ -0,0 +1,220 @@
+.ds dT /usr/lib/tmac
+.TH MPICTURES 5
+.SH NAME
+.B mpictures
+\- picture inclusion macros
+.SH SYNOPSIS
+\*(mBtroff \-mpictures\f1
+.OP "" options []
+.OP "" files []
+.SH DESCRIPTION
+.B mpictures
+is a macro package used to include PostScript pictures in
+.B troff
+documents.
+The package is compatible with many existing
+.B troff
+macro packages and includes the following three macros:
+.TP
+.MI .BP "\0file\0height\0width\0position\0offset\0flags\0label"
+.sp 0.3v
+Places the picture
+.I file
+in the space set aside by
+.IR height ,
+.IR width ,
+.IR position ,
+and
+.IR offset ,
+which together define and position the picture frame.
+The macro arguments are:
+.in +0.75i
+.de XX
+.sp 3p
+.ti -0.75i
+\f2\\$1\fP
+.sp -1v
+..
+.XX file
+Pathname of a PostScript picture
+.IR file .
+Appending
+.MI ( n )
+to
+.I file
+selects page number
+.I n
+from a multiple-page picture
+.IR file .
+By default the first page in
+.I file
+is selected.
+.XX height
+Vertical extent of the frame.
+The default is
+.MR 3i .
+.XX width
+Horizontal extent of the frame.
+The default is the current length of a line of text.
+.XX position
+One of
+.MR l ,
+.MR c ,
+or
+.MW r
+used to align the left, center, or
+right of the frame with the corresponding position
+on the current line of text.
+The default is
+.MR l .
+.XX offset
+Moves the frame right (positive) or left (negative)
+from the selected
+.IR position .
+The default is
+.MR 0i .
+.XX flags
+A string built from one or more of the following:
+.in +0.5i
+.sp 3p
+.de YY
+.br
+.ti -0.5i
+\*(mW\\$1\f1
+.sp -1v
+..
+.YY a[\f2d\*(mW]
+Rotate the picture clockwise
+.I d
+degrees.
+If
+.I d
+is omitted, 90 degrees is added to the
+current angle, which starts at zero.
+.YY o
+Outline the picture with a box.
+.YY s
+Freely scale both picture dimensions.
+.YY w
+White out (erase) the area to be occupied by the picture.
+.YY l
+Attach the picture to the left side of the frame.
+.YY r
+Attach the picture to the right side of the frame.
+.YY t
+Attach the picture to the top of the frame.
+.YY b
+Attach the picture to the bottom of the frame.
+.in -0.5i
+.XX label
+Place
+.I label
+1.5 vertical lines below the frame.
+.in -0.75i
+.sp 0.3v
+If there is room
+.MW .BP
+fills text around the frame.
+Everything destined for either side of the frame first
+goes into a diversion and only reappears when the accumulated
+text sweeps past the trap set by
+.MW .BP
+or when the diversion is explicitly closed
+by the
+.MW .EP
+macro (see below).
+.sp 0.5v
+Null arguments, represented by
+.MR \&"" ,
+are replaced by the defaults as noted above.
+.TP
+.MI .PI "\0file\0height,\|width,\|yoffset,\|xoffset\0flags"
+.sp 0.3v
+A low level macro used by
+.MR .BP .
+It can help if you are trying to do things that
+.MW .BP
+will not allow or does not do well.
+The two arguments not already described are:
+.in +0.75i
+.XX xoffset
+Moves the frame right (positive) or left (negative) from the
+left margin.
+The default is
+.MR 0i .
+.XX yoffset
+Moves the frame down (positive) or up (negative) from
+the current baseline.
+The default is
+.MR 0i .
+.in -0.75i
+.sp 0.3v
+The second argument is a comma separated list of four numbers,
+and although defaults are available, supplying values for all
+four numbers is recommended.
+.br
+.ne 2v
+.TP
+.MW .EP
+Ends a picture started by
+.MW .BP .
+An explicit
+.MW .EP
+call is not often required.
+Instead
+.MW .EP
+is usually called by
+.MW .BP
+at the bottom of each frame.
+.PP
+Much of what is done depends on file structuring comments
+commonly found in PostScript files.
+If the comments needed to isolate a particular page are missing
+the entire
+.I file
+is included.
+If a
+.MW %%BoundingBox
+comment is missing the picture is
+assumed to fill an 8.5\(mu11-inch page.
+A picture
+.I file
+that cannot be read when the
+.B troff
+postprocessor runs is replaced by white space.
+Nothing done in
+.MW .BP
+or
+.MW .PI
+guarantees the picture has not been placed off the page.
+All dimensions should be explicitly given in inches.
+.SH BUGS
+A picture and associated text can silently disappear if
+the diversion trap set by
+.MW .BP
+is not reached.
+Including a call to
+.MW .EP
+at the end of the paper
+should recover whatever appears to be missing.
+.PP
+Macros in other packages occasionally break the adjustments
+made to the line length and indent when text is being placed
+around a picture.
+.PP
+A missing or improper
+.MW %%BoundingBox
+comment often
+explains why a picture does not properly fill the space
+that has been set aside.
+.SH FILES
+.MW \*(dT/tmac.pictures
+.SH SEE ALSO
+.BR troff (1),
+.BR dpost (1),
+.BR picpack (1),
+.BR mps (5)
+.SH REFERENCE
+R. L. Drechsler and A. R. Wilks,
+.ul
+PostScript Pictures in Troff Documents
diff --git a/static/v10/man5/mpxio.5 b/static/v10/man5/mpxio.5
new file mode 100644
index 00000000..11479a8e
--- /dev/null
+++ b/static/v10/man5/mpxio.5
@@ -0,0 +1,187 @@
+.TH MPXIO 5
+.UC 4
+.SH NAME
+mpxio \- multiplexed i/o
+.SH SYNOPSIS
+.B #include <sys/mx.h>
+.PP
+.B #include <sgtty.h>
+.SH DESCRIPTION
+Data transfers on
+mpx files
+(see
+.IR mpx (2))
+are multiplexed by
+imposing
+a record structure on the io stream.
+Each record represents data
+from/to
+a particular channel or
+a control or status message associated with a particular channel.
+.PP
+The prototypical data record read from an mpx file is as follows
+.PP
+.in +.5i
+.nf
+struct input_record {
+ short index;
+ short count;
+ short ccount;
+ char data[];
+};
+.PP
+.fi
+where
+.I index
+identifies the channel,
+and
+.I count
+specifies the number of characters in
+.I data.
+If
+.I count
+is zero,
+.I ccount
+gives the size of
+.I data,
+and the record is a control or status message.
+Although
+.I count
+or
+.I ccount
+might be odd,
+the operating system aligns records
+on short (i.e. 16\-bit) boundaries
+by skipping bytes when necessary.
+.PP
+Data written to an mpx file must be formatted as an array
+of record structures defined as follows
+.PP
+.in +.5i
+.nf
+struct output_record {
+ short index;
+ short count;
+ short ccount;
+ char *data;
+};
+.fi
+.PP
+where the data portion of the record is referred
+to indirectly and the other cells have the same interpretation
+as in
+.I input_record.
+.PP
+The
+control messages listed below may be read from
+a multiplexed file descriptor.
+They are presented as two 16-bit integers:
+the first number is the message code
+(defined in
+.IR <sys/mx.h> ),
+the second is an optional parameter meaningful
+only with M_WATCH, M_BLK, and M_SIG.
+.PP
+.TP "\w'M_WATCH 'u"
+M_WATCH
+a process `wants to attach' on this channel.
+The second parameter is the 16-bit
+user-id of the process that executed the open.
+.TP
+M_CLOSE
+the channel is closed.
+This message is generated when the last
+file descriptor referencing
+a channel is closed.
+The
+.I detach
+command
+(see
+.IR mpx (2)
+should be used in response to this message.
+.TP
+M_EOT
+indicates logical end of file on a channel.
+If the channel is joined to a typewriter,
+EOT (control-d)
+will cause the M_EOT message
+under the conditions specified in
+.IR tty (4)
+for end of file.
+If the channel is attached to a process,
+M_EOT will be generated whenever the process
+writes zero bytes on the channel.
+.TP
+M_BLK
+if non-blocking mode has been enabled on an
+mpx file descriptor
+.I xd
+by executing
+.IR "ioctl(xd, MXNBLK, 0)" ,
+write operations on the file are truncated in the kernel
+when internal queues become full.
+This is done on a per-channel basis:
+the parameter
+is a count of the number of characters
+not transferred to the channel on which
+M_BLK is received.
+.TP
+M_UBLK
+is generated for a channel
+after M_BLK when the internal queues have
+drained below a threshold.
+.TP
+M_SIG
+is generated instead of a normal asynchronous
+signal on channels that are joined to typewriters.
+The parameter is the signal number.
+.PP
+Two other messages may be generated by the kernel.
+As with other messages, the first
+16-bit quantity is the message code.
+.br
+.TP "\w'M_IOCTL 'u"
+M_OPEN
+is generated in conjunction with
+`listener' mode (see
+.IR mpx (2)).
+The uid of the calling process follows the message code
+as with M_WATCH.
+This is followed by a null-terminated string
+which is the name of the file being opened.
+.TP
+M_IOCTL
+is generated for a channel connected
+to a process
+when that process executes the
+.I "ioctl(fd, cmd, &vec)"
+call on the channel file descriptor.
+The M_IOCTL code is followed by
+the
+.I cmd
+argument given to
+.I ioctl
+followed by
+the contents of the structure
+.I vec.
+It is assumed,
+not needing a better compromise at this time,
+that the length of
+.I vec
+is determined by
+.I "sizeof (struct sgttyb)"
+as declared in
+.IR <sgtty.h> .
+.in -1i
+.PP
+Two control messages are understood by the operating system.
+M_EOT may be sent through an mpx file to a channel.
+It is equivalent to propagating a zero-length record
+through the channel;
+i.e. the channel is allowed to drain and the process or
+device at the other end receives a zero-length
+transfer before data starts flowing through the channel again.
+M_IOANS can also be sent through a channel to reply to a M_IOCTL.
+The format is identical to that received from M_IOCTL.
+.SH SEE ALSO
+mpx(2)
diff --git a/static/v10/man5/netnews.5 b/static/v10/man5/netnews.5
new file mode 100644
index 00000000..f5eedbac
--- /dev/null
+++ b/static/v10/man5/netnews.5
@@ -0,0 +1,123 @@
+.TH NETNEWS 5
+.CT 1 inst_info
+.SH NAME
+netnews \- usenet news articles, utility files
+.SH DESCRIPTION
+.PP
+There are two formats of news articles:
+A and B.
+Format A is the only format that the older
+.IR netnews (A)
+understands.
+.I Readnews
+and
+.IR postnews (7)
+deal with both formats, but produce B
+by default.
+.PP
+Format A looks like this:
+.LP
+.BI A article-ID
+.br
+.I newsgroups
+.br
+.I path
+.br
+.I date
+.br
+.I title
+.br
+.I body of article
+.br
+.LP
+Format B
+contains two extra pieces of information: receipt date and expiration
+date.
+A file in B format consists of a series of headers and then the body.
+A header
+is a line with a capital letter in the 1st column and
+a colon somewhere on the line.
+Unrecognized header fields are ignored.
+News is stored in whichever format it was created.
+The following fields are among those recognized:
+.IP
+.EX
+From:
+Newsgroups:
+Subject:
+Date:
+Date-Received:
+Expires:
+Reply-To:
+References: \fRID of article this is a follow-up to\fP
+Control: \fRText of a control message\fP
+.EE
+.LP
+Each line of the control file
+.F /usr/lib/news/sys
+file line has four fields, separated by colons:
+.LP
+.IB system-name : subscriptions : flags ":\fItransmission command\fP"
+.PP
+Only the
+.I system-name
+and
+.I subscriptions
+need to be present.
+.PP
+The
+.I system name
+is the name of the system being sent to.
+The
+.I subscriptions
+are the newsgroups it gets.
+The
+.L flags
+are a set of letters describing how the article should be transmitted.
+The default is
+.BR B .
+Valid flags include
+.BR A ,
+.BR B ,
+.B N
+(use ihave/sendme protocol),
+.B U
+(use
+.L uux -c
+and the name of the stored article in a
+.L %s
+string).
+.LP
+The
+.I transmission command
+is executed by the shell with the article to be transmitted as the standard
+input.
+The default is
+.BI "uux \- \-z \-r " sysname !rnews .
+.LP
+Somewhere in the control
+file, there must be a line for the host system.
+This line has no
+.IR flags
+or
+.I transmission commands.
+A
+.L #
+as the first character in a line denotes a comment.
+.SH FILES
+.TF /usr/spool/netnews/*
+.TP
+.F /usr/lib/news/*
+.TP
+.F /usr/spool/news/*
+.SH SEE ALSO
+.IR postnews (7),
+.IR readnews (7)
+.br
+M. Horton,
+.I
+Standard for the Interchange of USENET Messages,
+RFC850,
+DARPA Information Processing Techniques Office,
+Arlington VA,
+1983
diff --git a/static/v10/man5/news.5 b/static/v10/man5/news.5
new file mode 100644
index 00000000..7a02e36f
--- /dev/null
+++ b/static/v10/man5/news.5
@@ -0,0 +1,146 @@
+.TH NEWS 5
+.SH NAME
+news \- USENET network news article, utility files
+.SH DESCRIPTION
+.PP
+There are two formats of news articles:
+.BR A " and " B.
+.B A
+format is the only format that version 1 netnews systems can read or write.
+Systems running the version 2 netnews can read either format and there
+are provisions for the version 2 netnews to write in
+.BR A " format. " A " format"
+looks like this:
+.LP
+.BI A article-ID
+.br
+.I newsgroups
+.br
+.I path
+.br
+.I date
+.br
+.I title
+.br
+.I Body of article
+.br
+.LP
+Only version 2 netnews systems can read and write
+.BR B " format. " B " format"
+contains two extra pieces of information: receival date and expiration
+date. The basic structure of a
+.B B
+format file consists of a series of headers and then the body. A header
+field is defined as a line with a capital letter in the 1st column and
+a colon somewhere on the line. Unrecognized header fields are ignored.
+News is stored in the same format transmitted, see ``Standard for the
+Interchange of USENET Messages'' for a full description.
+The following fields are among those recognized:
+.TP 15
+Header
+Information
+.TP 15
+.B From:
+.I user@host.domain[.domain ...] (Full Name)
+.TP 15
+.B Newsgroups:
+.I Newsgroups
+.TP 15
+.B Message-ID:
+.I <Unique Identifier>
+.TP 15
+.B Subject:
+.I descriptive title
+.TP 15
+.B Date:
+.I Date Posted
+.TP 15
+.B Date-Received:
+.I Date received on local machine
+.TP 15
+.B Expires:
+.I Expiration Date
+.TP 15
+.B Reply-To:
+.I Address for mail replies
+.TP 15
+.B References:
+.I Article ID of article this is a follow-up to.
+.TP 15
+.B Control:
+.I Text of a control message
+.LP
+Here is an example of an article:
+.LP
+.nf
+Relay-Version: B 2.10 2/13/83 cbosgd.UUCP
+Posting-Version: B 2.10 2/13/83 eagle.UUCP
+Path: cbosgd!mhuxj!mhuxt!eagle!jerry
+From: jerry@eagle.uucp (Jerry Schwarz)
+Newsgroups: net.general
+Subject: Usenet Etiquette -- Please Read
+Message-ID: <642@eagle.UUCP>
+Date: Friday, 19-Nov-82 16:14:55 EST
+Followup-To: net.news
+Expires: Saturday, 1-Jan-83 00:00:00 EST
+Date-Received: Friday, 19-Nov-82 16:59:30 EST
+Organization: Bell Labs, Murray Hill
+
+The body of the article comes here, after a blank line.
+.fi
+.LP
+A
+.I sys
+file line has four fields, each seperated by colons:
+.LP
+.I system-name:subscriptions:flags:transmission command
+.PP
+Of these fields, on the
+.IR system-name " and " subscriptions " need"
+to be present.
+.PP
+The
+.I system name
+is the name of the system being sent to. The
+.I subscriptions
+is the list of newsgroups to be transmitted to the system. The
+.I flags
+are a set of letters describing how the article should be transmitted.
+The default is B.
+Valid flags include A (send in A format), B (send in B format),
+N (use ihave/sendme protocol),
+U (use uux -c and the name of the stored article in a %s string).
+.LP
+The
+.I transmission command
+is executed by the shell with the article to be transmitted as the standard
+input.
+The default is
+.BI "uux \- \-z \-r " sysname !rnews.
+Some examples:
+.LP
+.B "xyz:net.all"
+.br
+.B "oldsys:net.all,fa.all,to.oldsys:A"
+.br
+.B "berksys:net.all,ucb.all::/usr/lib/news/sendnews \-b berksys\\:rnews"
+.br
+.B "arpasys:net.all,arpa.all::/usr/lib/news/sendnews \-a rnews@arpasys"
+.br
+.B "old2:net.all,fa.all:A:/usr/lib/sendnews \-o old2\\:rnews"
+.br
+.B "user:fa.sf-lovers::mail user"
+.LP
+Somewhere in a
+.I sys
+file, there must be a line for the host system. This line has no
+.IR flags " or " commands .
+A # as the first character in a line denotes a comment.
+.LP
+The history, active, and ngfile files have one line per item.
+.SH SEE ALSO
+inews(1),
+postnews(1),
+sendnews(8),
+uurec(8),
+readnews(1)
diff --git a/static/v10/man5/newsrc.5 b/static/v10/man5/newsrc.5
new file mode 100644
index 00000000..7e126f0b
--- /dev/null
+++ b/static/v10/man5/newsrc.5
@@ -0,0 +1,50 @@
+.TH NEWSRC 5
+.SH NAME
+newsrc \- information file for readnews(1) and checknews(1)
+.SH DESCRIPTION
+The
+.I .newsrc
+file contains the list of previously read articles and an optional
+options line for
+.IR readnews(1) " and " checknews(1).
+Each newsgroup that articles
+have been read from has a line of the form:
+.LP
+.I newsgroup: range
+.LP
+The
+.I range
+is a list of the articles read. It is basically a list of no.'s
+separated by commas with sequential no.'s collapsed with hyphens.
+For instance:
+.LP
+.B general: 1-78,80,85-90
+.br
+.B fa.info-cpm: 1-7
+.br
+.B net.news: 1
+.br
+.B fa.info-vax! 1-5
+.br
+.LP
+If the : is replaced with an ! (as in info-vax above) the newsgroup
+is not subscribed to and will not be shown to the user.
+.LP
+An options line starts with the word
+.B options
+(left-justified). Then there are the list of options just as they
+would be on the command line. For instance:
+.LP
+.B "options \-n all !fa.sf-lovers !fa.human-nets \-r"
+.br
+.B "options \-c \-r"
+.LP
+A string of lines beginning with a space or tab after the initial options
+line will be considered continuation lines.
+.SH FILES
+.TP 25
+~/.newsrc
+options and list of previously read articles
+.SH SEE ALSO
+readnews(1),
+checknews(1)
diff --git a/static/v10/man5/paddle.10.5 b/static/v10/man5/paddle.10.5
new file mode 100644
index 00000000..34de4ebd
--- /dev/null
+++ b/static/v10/man5/paddle.10.5
@@ -0,0 +1,63 @@
+.TH PADDLE 10.5 UCDS
+.de Cs
+.sp
+.ne 3
+.nf
+.ft L
+..
+.de Ce
+.fi
+.ft R
+..
+.SH NAME
+paddle \- pal description language
+.SH DESCRIPTION
+.I paddle
+is a description language for detailing the fuse format of
+programmable devices.
+.I paddle
+is used by
+.IR xpal (10)
+to create the fuse map that
+.IR urom (1)
+and friends want.
+.I paddle
+permits multiple fuse arrays provided they are given unique names.
+Each definition begins by defining the name of the part along
+with possible synonyms. This is followed by (1) an array declaration
+(2) a fuse block definition (3) a type declaration (the .tt line)
+and lastly, a (4) pins declaration. The array declaration permits
+declaration of input and output pins to the array. The use of the
+.I complement
+keyword create 2 input lines for a given pin. The general form
+of a pin declaration is pin:#terms=fuse, where #terms is the
+.I maximum
+number of terms for the pin and fuse is the optional fuse number.
+Here is part of the declaration of a 20L10:
+.Cs
+20L10=NS20L10=AM20L10 {
+ array and/or {
+ inputs {
+ complement+ external {
+ 2, 1,
+ .
+ .
+ .
+ 11, 13
+ }
+ }
+ outputs {
+ external {
+ 123:1,
+ 23:3,
+ .
+ .
+ .
+ }
+ }
+ }
+type "iiiiiiiiiiig i3455555555v"
+}
+.Ce
+.SH SEE ALSO
+.IR xpal (10.1)
diff --git a/static/v10/man5/passwd.5 b/static/v10/man5/passwd.5
new file mode 100644
index 00000000..23f55875
--- /dev/null
+++ b/static/v10/man5/passwd.5
@@ -0,0 +1,33 @@
+.pa 1
+.he 'PASSWD (V)'12/11/72'PASSWD (V)'
+.ti 0
+NAME passwd -- password file
+.sp
+.ti 0
+DESCRIPTION passwd______
+contains for each user the
+following information:
+
+ name (login name, contains no upper case)
+ encrypted password
+ numerical user ID
+ GCOS job number and box number
+ initial working directory
+ program to use as Shell
+
+This is an ASCII file. Each field within each user's entry
+is separated from the next by a colon.
+The job and box numbers are separated by a comma.
+Each user is separated from the next by a new-line.
+If the password field is null, no password is demanded;
+if the Shell field is null, the Shell itself
+is used.
+
+This file resides in directory /etc.
+Because of the encrypted
+passwords, it can and does have general read
+permission and can be used, for example,
+to map numerical user ID's to names.
+.sp
+.ti 0
+SEE ALSO login(I), crypt(III), passwd(I)
diff --git a/static/v10/man5/picfile.5 b/static/v10/man5/picfile.5
new file mode 100644
index 00000000..3dfe06fd
--- /dev/null
+++ b/static/v10/man5/picfile.5
@@ -0,0 +1,157 @@
+.TH PICFILE 5
+.CT 1 inst_info graphics
+.SH NAME
+picfile \- raster graphic image format
+.SH DESCRIPTION
+Files in this format store images represented as two-dimensional
+arrays of multiple-channel pixels.
+A
+.I picfile
+consists of an
+.SM ASCII
+header followed by binary data encoding the pixels
+in row-major order.
+The header is a list of attribute/value pairs
+separated by newlines, terminated by an
+empty line.
+Each header line has the form
+.IB name = value.
+The name may not contain an
+.SM ASCII NUL,
+newline or
+.LR = ;
+the value may not contain null or newline.
+The last line of a header is empty.
+.PP
+The standard attributes are described below; all but
+.BR TYPE
+and
+.BR WINDOW
+are optional.
+.B TYPE
+must come first; otherwise order is irrelevant.
+As any unrecognised attribute is passed over uninterpreted by all standard software,
+applications are welcome to include arbitrary annotations, like
+.BR SHOESIZE=10 ,
+if they wish.
+.TP
+.BI TYPE= type
+How the pixels are encoded.
+Standard types are
+.PD 0
+.RS
+.TF runcode
+.TP
+.B runcode
+A run-length encoding.
+The data are a sequence of
+.RI ( nchan +1)-byte
+records each containing a count
+.I k
+and
+.I nchan
+bytes giving a pixel value to be repeated
+.IR k +1
+times.
+A run may not span scanlines.
+.TP
+.B dump
+A two-dimensional array of
+.IR nchan -byte
+records in row major order.
+.TP
+.B bitmap
+One-bit pixels, packed into bytes high bit leftmost.
+Zero bits are white, one bits are black.
+Rows are padded with zeros to a multiple of 16 bits.
+.TP
+.B ccitt-g4
+A black-and-white image under CCITT FAX Group 4 compression.
+This format is highly compressive on images of text and line art.
+Similarly,
+.L ccitt-g31
+and
+.L ccitt-g32
+for Group 3, 1-D and 2-D.
+.TP
+.B pico
+A sequence of
+.I nchan
+two-dimensional arrays of single bytes.
+.TP
+.B ccir601
+Pixels are in dump order, 2 bytes per pixel
+encoded according to the IEEE digital component video standard.
+.RE
+.TP
+.BI WINDOW= "x0 y0 x1 y1
+The
+.I x,y
+coordinates of the upper left corner and
+the point just diagonally outside the lower right corner,
+.I x
+increasing to the right,
+.I y
+down.
+.TP
+.BI NCHAN= nchan
+The number of channels, default 1.
+.TP
+.BI CHAN= value
+The order of channels.
+.TP
+.BI RES= "x y
+The digitizing resolution horizontally and vertically, in pixels/inch.
+.PD
+.TP
+.B CMAP=
+(The value is empty.)
+A color map, a 256\(mu3-byte translation table for
+color values, follows the header.
+In a full-color picture, each color-map row maps pixel
+values of the corresponding channel.
+In a monochrome picture, pixel values index
+the color map to yield red, green and blue, like this:
+.IP
+.EX
+unsigned char cmap[256][3];
+red=cmap[pixel][0];
+green=cmap[pixel][1];
+blue=cmap[pixel][2];
+.EE
+.SH EXAMPLES
+.TP
+.B sed '/^$/q' image
+Print a header.
+A sample header follows.
+.LP
+.EX
+TYPE=dump
+WINDOW=0 0 512 512
+NCHAN=1
+CHAN=m
+RES=300 300
+CMAP=
+COMMAND= antiquantize 'halftone CLASSIC' 512.halftone LIBERTY.anticlassic
+COMMAND= halftone CLASSIC 512.liberty 512.halftone 1.75 512.halftone
+COMMAND= transpose IN OUT
+COMMAND= resample 512 IN OUT
+COMMAND= transpose IN OUT
+COMMAND= resample 512 IN OUT
+COMMAND= clip 400 400 LIBERTY OUT
+.EE
+.SH "SEE ALSO"
+.IR bcp (1),
+.IR cscan (1),
+.IR imscan (1),
+.IR pico (1),
+.IR flicks (9.1),
+.IR mugs
+in
+.IR face (9.7),
+.IR rebecca (9.1),
+.IR flickfile (9.5)
+.br
+T. Duff,
+`The 10th Edition Raster Graphics System',
+this manual, Volume\ 2
diff --git a/static/v10/man5/plot.5 b/static/v10/man5/plot.5
new file mode 100644
index 00000000..7fde38b5
--- /dev/null
+++ b/static/v10/man5/plot.5
@@ -0,0 +1,453 @@
+.TH PLOT 5
+.CT 1 graphics
+.SH NAME
+plot \- graphics interface
+.SH DESCRIPTION
+Files of this format are produced by routines
+described in
+.IR plot (3),
+and are interpreted for various devices
+by commands described in
+.IR plot (1).
+A graphics file is an ASCII stream of
+instruction lines.
+Arguments are delimited by spaces, tabs, or commas.
+Numbers may be floating point.
+Punctuation marks (except
+.LR : )
+,
+spaces, and tabs at the beginning of lines are ignored.
+Comments run from
+.L :
+to newline.
+Extra letters appended to a valid instruction are ignored.
+Thus
+.LR ...line ,
+.LR line , and
+.L li
+all mean the same thing.
+Arguments are interpreted as follows:
+.TP
+1.
+If an instruction requires no arguments, the rest of the line is ignored.
+.TP
+2.
+If it requires a string argument, then all the line
+after the first field separator is passed as argument.
+Quote marks may be used to preserve leading blanks.
+Strings may include newlines represented as
+.LR \en .
+.TP
+3.
+Between numeric arguments alphabetic characters and
+punctuation marks are ignored.
+Thus
+.L
+line from 5 6 to 7 8
+draws a line from (5, 6) to (7, 8).
+.TP
+4.
+Instructions with numeric arguments remain in effect until
+a new instruction is read.
+Such commands may spill over many lines. Thus
+the following sequence will draw a polygon
+with vertices
+(4.5, 6.77), (5.8, 5.6), (7.8, 4.55), and (10.0, 3.6).
+.IP
+.EX
+move 4.5 6.77
+vec 5.8, 5.6 7.8
+4.55 10.0, 3.6 4.5, 6.77
+.EE
+.PP
+The instructions are executed in order.
+The last designated point in a
+.BR line ", " move ", " rmove ,
+.BR vec ", " rvec ", " arc ,
+or
+.B point
+command becomes the `current point'
+.RI ( X,Y )
+for the next command.
+Each of the following descriptions
+corresponds to a routine in
+.IR plot (3).
+.SS "Open & Close"
+.PD0
+.TP 10
+.BI o " string"
+Open plotting device.
+For
+.I troff,
+.I string
+specifies the size of the plot
+(default is
+.LR 6i. )
+.TP 10
+.B cl
+Close plotting device.
+.PD
+.SS "Basic Plotting Commands"
+.PD0
+.TP 10
+.B e
+Start another frame of output
+or erase the screen on CRT terminals without scroll.
+.TP 10
+.BI m " x y"
+(move) Current point becomes
+.I "x y."
+.TP 10
+.BI rm " dx dy"
+Current point becomes
+.I "X+dx Y+dy."
+.TP 10
+.BI poi " x y"
+Plot the point
+.I "x y"
+and make it the current point.
+.TP 10
+.BI v " x y"
+Draw a vector from the current point to
+.I "x y."
+.TP 10
+.BI rv " dx dy"
+Draw vector from current point to
+.RI X + dx
+.RI Y + dy
+.TP 10
+.BI li " x1 y1 x2 y2"
+Draw a line from
+.I "x1 y1"
+to
+.I "x2 y2."
+Make the current point
+.I "x2 y2."
+.TP 10
+.BI t " string"
+Place the
+.I string
+so that its
+first character is centered on the current point (default).
+If
+.I string
+begins with
+.L \eC
+.RL ( \eR ),
+it is centered (right-adjusted) on the current point.
+A backslash at the beginning of the string may
+be escaped with another backslash.
+.TP 10
+.BI a " x1 y1 x2 y2 xc yc r"
+Draw a circular arc from
+.I "x1 y1"
+to
+.I "x2 y2"
+with center
+.I "xc yc"
+and radius
+.I r.
+If the radius is positive, the arc is drawn counterclockwise;
+negative, clockwise.
+The starting point is exact but the ending point is approximate.
+.TP 10
+.BI ci " xc yc r"
+Draw a circle centered at
+.I "xc yc"
+with radius
+.I r.
+If the range and frame parameters do not specify a square,
+the `circle' will be elliptical.
+.TP 10
+.BI di " xc yc r"
+Draw a disc centered at
+.I "xc yc"
+with radius
+.I r
+using the filling color (see
+.B cfill
+below).
+Only works on the 5620; on other devices
+is the same as
+.BR circle .
+.TP 10
+.BI bo " x1 y1 x2 y2"
+Draw a box with lower left corner at
+.I "x1 y1"
+and upper right corner at
+.I "x2 y2."
+.TP 10
+.BI sb " x1 y1 x2 y2"
+Draw a solid box with lower left corner at
+.I "x1 y1"
+and upper right corner at
+.I "x2 y2"
+using the filling color (see
+.B cfill
+below).
+.TP 10
+.BI par " x1 y1 x2 y2 xg yg"
+Draw a parabola from
+.I "x1 y1"
+to
+.I "x2 y2"
+`guided' by
+.I "xg yg."
+The parabola passes through the midpoint of the line joining
+.I "xg yg"
+with the midpoint of the line
+joining
+.I "x1 y1"
+and
+.I "x2 y2"
+and is tangent to the lines from
+.I "xg yg"
+to the endpoints.
+.TP 10
+.BI "pol { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fP} }\fI"
+Draw polygons with vertices
+.I "x1 y1 ... xn yn"
+and
+.I "X1 Y1 ... Xm Ym."
+If only one polygon is specified, the inner brackets are
+not needed.
+.TP 10
+.BI "fi { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\fP} }\fI"
+Fill a polygon.
+The arguments are the same as those for
+.B pol
+except that the first vertex is automatically repeated to
+close each polygon.
+The polygons do not have to be connected.
+Enclosed polygons appear as holes.
+.TP 10
+.BI "sp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\f5} }\fI"
+Draw a parabolic spline guided by
+.I "x1 y1 ... xn yn"
+with simple endpoints.
+.TP 10
+.BI "fsp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\f5} }\fI"
+Draw a parabolic spline guided by
+.I "x1 y1 ... xn yn"
+with double first endpoint.
+.TP 10
+.BI "lsp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\f5} }\fI"
+Draw a parabolic spline guided by
+.I "x1 y1 ... xn yn"
+with double last endpoint.
+.TP 10
+.BI "dsp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\f5} }\fI"
+Draw a parabolic spline guided by
+.I "x1 y1 ... xn yn"
+with double endpoints.
+.TP 10
+.BI "csp { {" "x1 y1 ... xn yn" } " ... " { "X1 Y1 ... Xm Ym\f5} }\fI"
+.TP 10
+.BI in " filename"
+(include) Take commands from
+.I filename.
+.TP 10
+.BI de " string " { " commands " }
+Define
+.I string
+as
+.I commands.
+.TP 10
+.BI ca " string scale"
+Invoke commands defined as
+.I string
+applying
+.I scale
+to all coordinates.
+.PD
+.SS "Commands Controlling the Environment"
+.PD0
+.TP 10
+.BI co " string"
+Draw lines with color
+.I string.
+Available colors depend on the device.
+.I String
+may contain definitions for several devices separated by
+.LR / .
+Colors possible for the various devices are:
+.RS
+.IP pen
+.BR black ,
+.BR red ,
+.BR green ,
+.BR blue ,
+.BR Tblack ,
+.BR Tred ,
+.BR Tgreen ,
+.B Tblue
+(assumes default carousel,
+.BR T =thick)
+.br
+.BR 1 - 8
+(pen number)
+.br
+.BI /S number
+character size as % of plotting area
+.IP troff
+.BI /F font
+.br
+.BI /P "point size"
+.IP 2621
+.BI /H character
+for plotting
+.RE
+.PD
+.TP 10
+.BI pe " string"
+Use
+.I string
+as the style for drawing lines.
+Not all pen styles are implemented for all devices.
+.I String
+may contain definitions for several devices separated by
+.LR / .
+The available pen styles are:
+.RS
+.IP pen
+.BR solid ,
+.BR dott [ed],
+.BR short ,
+.BR long ,
+.BR dotd [ashed] ,
+.BR cdash ,
+.BR ddash
+.PD0
+.IP 4014
+solid ,
+.BR dott [ed] ,
+.BR short ,
+.BR long ,
+.BR dotd [ashed] ,
+.BR ddash
+.IP troff
+.BR solid ,
+.BR dash
+only straight lines will be dashed
+.IP 5620
+.BI /B number
+line thickness
+.IP 2621
+.BI /H character
+for plotting
+.fi
+.PD
+.RE
+.TP 10
+.BI cf " string"
+Color for filling;
+may contain the definitions for several devices.
+separated by
+.LR / .
+The following colors are available on the specified devices:
+.RS
+.IP pen
+.BR black ,
+.BR red ,
+.BR green ,
+.BR blue ,
+.BR Tblack ,
+.BR Tred ,
+.BR Tgreen ,
+.BR Tblue
+.br
+.BR 1 - 8
+pen number
+.PD0
+.IP 5620
+.BI B texture
+string with octal numbers for texture; see
+.IR types (9.5).
+The 16 words of texture should be followed by one word for the mode used by
+.IR texture() ;
+see
+.IR bitblt (9.3).
+.IP 2621
+.BI H character
+for filling
+.IP All devices
+.BI /A degrees
+slant of shading lines
+.br
+.BI /G number
+gap between shading lines (in user units)
+.RE
+.PD
+.TP 10
+.BI ra " x1 y1 x2 y2"
+The data will fall between
+.I "x1 y1"
+and
+.I "x2 y2."
+The plot will be magnified or reduced to fit
+the device as closely as possible.
+.IP
+Range settings that exactly fill the plotting area
+with unity scaling appear below for
+devices supported by the filters of
+.IR plot (1).
+The upper limit is just outside the plotting area.
+In every case the plotting area is taken to be square;
+points outside may be displayable on
+devices with nonsquare faces.
+.RS
+.TP 10n
+4014
+.L range 0. 0. 3120. 3120.
+.br
+.ns
+.TP 10n
+troff
+.L range 0. 0. 6144. 6144.
+.br
+.ns
+.TP 10n
+2621
+.L range 0. 0. 22. 22.
+.br
+.ns
+.TP 10n
+5620
+range dependent on layer size
+.br
+.ns
+.TP 10n
+pen
+range dependent on paper size
+.RE
+.TP 10
+.BI fr " px1 py1 px2 py2"
+Plot the data in the fraction of the display
+specified by
+.I "px1 py1"
+for lower left corner
+and
+.I "px2 py2"
+for upper right corner.
+Thus
+.L frame .5 0 1. .5
+plots in the lower right
+quadrant of the display;
+.L frame 0. 1. 1. 0.
+uses the whole display but
+inverts the
+.I y
+coordinates.
+.TP 10
+.B sa
+Save the current environment, and move to a new one.
+The new environment inherits the old one.
+There are 7 levels.
+.TP 10
+.B re
+Restore previous environment.
+.PD
+.SH "SEE ALSO"
+.IR plot (1),
+.IR plot (3),
+.IR graph (1)
diff --git a/static/v10/man5/poly.5 b/static/v10/man5/poly.5
new file mode 100644
index 00000000..eacdb490
--- /dev/null
+++ b/static/v10/man5/poly.5
@@ -0,0 +1,141 @@
+.EQ
+delim $$
+.EN
+.TH POLY 5 bowell
+.CT 1 inst_info
+.SH NAME
+poly \- polyhedron database
+.SH DESCRIPTION
+The directory
+.B /usr/lib/polyhedra
+contains an index file and many polyhedron description files,
+each describing a solid polyhedron and its (not necessarily unique) planar net.
+Each line of the index file consists of a polyhedron's number followed
+by a horizontal tab and the polyhedron's name.
+The polyhedron's number is also the name of its description file.
+The routines of
+.IR poly (3)
+read such description files.
+.PP
+Each description file consists of a number of fields.
+Each field begins with a line consisting of
+.L :
+and the field name.
+The field continues until the next header line or end of file.
+Some fields contain
+.IR values ,
+which consist of a floating point number
+optionally followed by an algebraic expression enclosed in
+.LR [] ,
+or
+.IR angles ,
+which are a
+.I value
+in radians and optionally two more values (sin and cos) separated by
+.LR @ .
+The fields include,
+but are not limited to,
+.TF vertices
+.TP
+.B number
+The polyhedron's number.
+.PD
+.TP
+.B name
+The polyhedron's name, less than 128 characters long and not capitalized.
+.TP
+.B symbol
+The
+.if n Schlaefli
+.if t Schlaefli
+symbol, a tab, and the Johnson symbol for the polyhedron,
+given in
+.IR eqn (1)
+style with delimiters
+.LR @@ .
+.TP
+.B dual
+The name of the dual polyhedron optionally followed by a horizontal tab
+and the number of the dual.
+.TP
+.B vertices
+The first line is the number of vertices, which follow, one per line.
+Each vertex has a coordinate (three
+.I values
+separated by spaces),
+a number
+.IR n ,
+and
+.I n
+face,edge pairs that surround the vertex.
+.TP
+.B faces
+The first line contains the number of faces and the maximum number of
+vertices in any face.
+The remaining lines are the faces, each with a vertex count
+.IR n ,
+followed by
+.RI 2 n
+vertex numbers (planar, solid),
+.RI 2 n
+edge numbers (planar, solid),
+and
+.I n
+angles.
+The vertices of each face are listed in the same order for both the
+planar and solid forms:
+counter-clockwise as viewed from above the planar net
+(i.e. from
+.IR z >0)
+which generally corresponds to outside the solid polyhedron.
+.TP
+.B edges
+The first line contains the number of edges.
+Each edge is one line:
+.IR "face1 vertex1 face2 vertex2 length angle" .
+The length is a
+.IR value .
+.TP
+.B summary
+The three lines summarise the different kinds of faces,
+vertices and edges respectively.
+Each line consists of a total and a list of
+.I "count example symbolic"
+triples; where
+.I example
+is an index into the appropriate list and
+.I symbolic
+is given in
+.IR eqn (1)
+style with delimiters
+.LR @@ .
+.TP
+.B EOF
+The end of the polyhedron's description.
+(Another polyhedron description may follow in this file.)
+.PP
+An expression in a
+.I value
+gives the exact value in the syntax of
+.IR bc (1)
+using these functions:
+$a(x) ~=~ {tan sup -1 {( x )}}$,
+$b(x) ~=~ { ( x ) } sup { 1/3 }$,
+$c(x) ~=~ {cos ( {x} ) }$,
+$d(x) ~=~ {tan {( x )}}$,
+$p ~=~ {pi}$,
+$q(x) ~=~ {{x} sup 2}$,
+$r(x) ~=~ {cos sup -1 {( x )}}$,
+$s(x) ~=~ {sin ( {x} )}$,
+$t ~=~ phi ~=~ (1 + sqrt 2 )/2$.
+The code may include assignments but does not include white space.
+.SH FILES
+.ta 31n
+.F "/usr/lib/polyhedra/index "
+index file
+.br
+.F "/usr/lib/polyhedra/[0-9]* "
+description files
+.SH "SEE ALSO"
+.IR poly (3),
+.IR poly (7)
diff --git a/static/v10/man5/privs.5 b/static/v10/man5/privs.5
new file mode 100644
index 00000000..1a93b792
--- /dev/null
+++ b/static/v10/man5/privs.5
@@ -0,0 +1,282 @@
+.TH PRIVS 5
+.SH NAME
+privs \- privilege file
+.SH DESCRIPTION
+The file
+.F /etc/privs
+expresses the rules whereby
+.IR priv (1)
+grants privilege.
+It consists of a list of statements,
+each terminated by a semicolon.
+One or more comments, each extending from
+.L #
+to newline, may precede each statement.
+.SS Rights
+Rights are defined thus:
+.IP
+.BI DEFINE " rights-list" ;
+.LP
+Each right in the comma-separated rights-list
+has a name, and optionally a parenthesized parameter type.
+The types are
+.TP
+.B LAB
+Label, ordered by lattice value.
+.TP
+.B RE
+Regular expression ordered by language inclusion.
+Regular expressions are in the form of
+.IR regexp (3),
+with enclosing
+.L ^(
+and
+.L )$
+understood.
+.TP
+.B PRIV
+Set of privileges in
+.I atopriv
+form, ordered by inclusion; see
+.IR labtoa (3).
+.LP
+Examples:
+.IP
+.L
+DEFINE ceiling(LAB), filename(RE), privinstall;
+.PP
+Rights are identifiers
+used solely by
+.IR priv ;
+they have no other manifestation in the system.
+In the example, the
+.L ceiling
+right involves label comparisons, but has no necessary
+connection to process ceilings.
+The name could be changed globally to, say,
+.L floor
+without affecting the interpretation of
+.FR /etc/privs .
+.SS Authorization
+Authorization is expressed by a tree.
+Nodes of the authorization tree are named, like
+files in the file system, by full pathnames starting
+from the root,
+.LR / .
+Associated with each node are statements to grant rights,
+and statements to admit access to the node.
+Rights are monotone in the tree:
+the rights at a node must be a subset of the rights at its
+parent.
+Access to a node implies access to its children.
+.PP
+Right-granting statements have the form
+.IP
+.BI RIGHTS " nodename rights-list" ;
+.LP
+A
+.I rights-list
+is as in a rights
+definition, but with explicit values for parameters.
+White space or one of the metacharacters
+.L ;,()
+may be included in a value by placing double
+quotes around it.
+Examples:
+.IP
+.EX
+.ta \w'RIGHTS 'u +\w'/admin/operations 'u
+RIGHTS /admin priv(upxnl), ceiling(ffff...);
+RIGHTS /admin/security priv(p), ceiling("ffff ...");
+RIGHTS /admin/operations priv(xn)
+.EE
+.DT
+.PP
+Access statements have the form
+.IP
+.BI ACCESS " nodename pred-list" ;
+.LP
+Access to the named node is granted when the comma-separated
+.I pred-list
+is nonempty and all the predicates in the list are satisfied.
+A node may have more than one
+.B ACCESS
+statement.
+Legal predicates are
+.TP
+.BI ID( lognames )
+A regular expression for login names
+that have access to this node.
+.TP
+.BI PW( name\ ... )
+The password associated with one of the
+.I names
+in
+.IR pwfile (5)
+must be presented.
+.TP
+.BI SRC( source )
+A regular expression for the stream identifier of
+the standard input.
+.SS Rules
+Rules give patterns for
+requests and show the prerequisite rights for
+and the actions to carry out each request:
+.IP
+.BI REQUEST( arguments ") NEEDS" " rights " DOES " actions \fB;"
+.LP
+The request part shows
+.I arguments
+supplied to
+.IR priv (1);
+normally the arguments spell out the prefix of a
+.SM UNIX
+command.
+The
+.B NEEDS
+part tells what rights are needed to perform the request.
+The rights are as in a rights statement, with substituted parameters;
+see `Parameter values'.
+.PP
+If the process has access to a node that grants
+the needed rights (with the parameter in each grant dominating
+the parameter of the corresponding need), then the
+.I actions
+for the request are performed.
+Otherwise the request is denied.
+Legal actions are
+.TP
+.B PRIV(gunxlp)
+Set one or more process licenses, abbreviated as in
+.IR labtoa (3).
+.TP
+.BI EXEC( args )
+Execute a program given by the
+.I args.
+Members of the
+.I args
+list are separated by white space and may specify
+substitutions; see `Parameter values'.
+.B EXEC
+does not do a
+.IR sh (1)-like
+.B $PATH
+search.
+.TP
+.BI DAEMON( args )
+Same as
+.BR EXEC ,
+but do not wait for the command to complete.
+.TP
+.BI CEILING( label )
+Set the process ceiling.
+.TP
+.BI PRIVEDIT( "node file" )
+Read editing commands from the named
+.IR file .
+Only the subtree at
+.I node
+is editable; nodes closer to the root cannot be touched.
+.TP
+.B ANYSRC
+Skip the normal check for a trusted source; see
+.IR priv (1).
+.PP
+The order in which nodes of the authorization tree are
+visited in evaluating a
+.B NEEDS
+clause is undefined, however at each node the predicates of the
+request are evaluated in order.
+The actions of a granted request are also performed in order,
+with effects such as privilege settings persisting
+until the end of the
+.I priv
+command or until overridden by a later action.
+.SS Parameter values
+Parameter values appear in members of
+.B NEEDS
+and
+.B DOES
+lists.
+A value may be surrounded by double quotes, in which case the
+value may contain white space or one of the metacharacters
+.LR ,;() .
+A value may contain substitution marks,
+.BR $0 ,
+.BR $1 ,
+\&...
+Each such mark is replaced from the
+.I priv
+invocation,
+.B $0
+standing for the match to the first
+.I argument
+of the
+.B REQUEST
+and so on.
+If a star is appended to the mark (e.g.
+.BR $0* ,
+.BR $1* ),
+the argument and all following ones are copied
+into the parameter list.
+Nothing can follow a star mark in a parameter.
+.SS Editing
+Statements of the above forms may be used with action
+.B PRIVEDIT
+to augment a
+.I privs
+file.
+Further types of statements exist for editing only:
+.TP
+.BI RMDEFINE " rights-list " ;
+Remove all occurrences of the listed rights from the file.
+.TP
+.BI RMACCESS " nodename pred-list " ;
+.PD 0
+.TP
+.BI RMRIGHTS " nodename rights-list " ;
+Remove the given access list or the given rights
+from the named node.
+If the list is empty, remove all access lists or rights.
+.PD
+.TP
+.BI RMREQUEST( arguments ) ;
+Remove the
+.B REQUEST
+with identical
+.I arguments.
+.TP
+.BI RMNODE " path-list" ;
+Remove the listed subtrees.
+.PP
+.BR DEFINE ,
+.BR RMDEFINE ,
+.BR REQUEST ,
+and
+.BR RMREQUEST
+are understood to modify the root.
+.SH EXAMPLES
+.EX
+REQUEST(session -l)
+ NEEDS ceiling($2)
+ DOES PRIV(nx) EXEC(/bin/session -l $2);
+REQUEST(/etc/downgrade -l)
+ NEEDS downgrade($2)
+ DOES PRIV(nx) EXEC($*);
+.EE
+.SH FILES
+.F /etc/privs
+.SH SEE ALSO
+.IR priv (1),
+.IR privserv (8)
+.SH BUGS
+There is no way to quote a newline or an initial
+double quote in parameters.
+.br
+If an
+.B ACCESS
+or
+.B RMACCESS
+statement contains duplicate predicates,
+.B RMACCESS
+may remove an unintended list.
diff --git a/static/v10/man5/pwfile.5 b/static/v10/man5/pwfile.5
new file mode 100644
index 00000000..b8f662df
--- /dev/null
+++ b/static/v10/man5/pwfile.5
@@ -0,0 +1,52 @@
+.TH PWFILE 5
+.CT 1 sa_nonmortals secur
+.SH NAME
+pwfile \- user security clearances file
+.SH DESCRIPTION
+The file
+.F /etc/pwfile
+is used by
+.IR session (1)
+to authorize clearances.
+Each (valid) line contains the following
+fields, separated by colons:
+.IP
+.nf
+name
+encrypted password
+SNK key
+process license (unused)
+clearance (maximum ceiling)
+.fi
+.PP
+The license and label fields are in the form
+understood by
+.IR labtoa (3);
+thus the label field
+may contain white space.
+Lines with fewer than five fields
+are ignored.
+.PP
+The name field contains a user name for option
+.B -u
+of
+.FR /bin/session .
+It is customary, but not necessary, for `users' in
+.I pwfile
+also to be registered in
+.IR passwd (5).
+.PP
+The label field gives the maximum permissible label for option
+.BR -l ,
+and the ceiling label otherwise.
+.PP
+Because this file ultimately determines which users
+may access which data, it is not generally writable by the public.
+.SH FILES
+.F /etc/pwfile
+.SH "SEE ALSO"
+.IR getplab (2),
+.IR session (1),
+.IR passwd (1),
+.IR pwserv (8),
+.IR pwquery (3)
diff --git a/static/v10/man5/saf.10.5 b/static/v10/man5/saf.10.5
new file mode 100644
index 00000000..55f6fa4b
--- /dev/null
+++ b/static/v10/man5/saf.10.5
Binary files differ
diff --git a/static/v10/man5/share.5 b/static/v10/man5/share.5
new file mode 100644
index 00000000..8b70bcd8
--- /dev/null
+++ b/static/v10/man5/share.5
@@ -0,0 +1,309 @@
+.TH SHARE 5 SHARE
+.SH NAME
+Share \- Share Scheduling on Unix
+.SH SYNOPSIS
+Scheduling for a share of the machine
+.SH DESCRIPTION
+.I Share
+is a term covering those elements of the Unix kernel
+that affect the priority of a user's job.
+The basic scheduler in Unix schedules processes on a short term
+.I per-process
+basis.
+The
+.I "share scheduler"
+takes account of the history of a user's
+usage of the resources of the machine, and introduces a
+.I per-user
+long term scheduler.
+To do this, several variables are available to the scheduler in a per-user data
+structure known as an
+.I lnode.
+These record the intended share of the machine that the user should get,
+the recent history of resources consumed (``usage''),
+and the number of active (running) processes belonging to the user.
+Together, these affect the priority of each of the processes
+so that consumption of resources is adjusted toward the intended share.
+.P
+A user's
+.I usage
+is calculated by accumulating the charges incurred by use of resources,
+and decaying the result over time.
+The share scheduler affects the low-level scheduling of a user's processes
+by adding the user's
+.I usage
+divided by the allocated share,
+and multiplied by the active process count,
+to the priority of a process
+every time that process incurs a clock tick.
+Since the larger its priority,
+the less often a process is scheduled,
+processes belonging to users with high
+.IR usage ,
+low share, or many active processes
+will get a smaller share of resources.
+Note that at any one time, a user can use all of the resources available
+provided there is no competition from others.
+.SS "SCHEDULING GROUPS"
+.I lnodes
+are organised into a tree.
+For any particular sub-tree,
+the sub-tree's share of resources
+is divided up between the
+lnodes
+according to their relative shares.
+Sub-trees are also known as groups.
+The root
+.I lnode
+of the group is the group owner,
+and the leaf
+.I lnodes
+are its users.
+The total shares issued to the group include both those issued to the owner,
+as well as those issued to the users.
+Both owner and users are known as group members.
+The share of the group's resources
+allocated to any particular member of the group
+is in the proportion
+of the member's shares divided by the group's shares.
+.P
+The most interesting group is the one at the top of the tree,
+whose owner is ``root'',
+and its group members are the primary scheduling groups.
+\&``root''
+gets 100% of the available resources,
+which is split as above between the primary scheduling groups.
+.P
+Not all group owners represent real users,
+and in these cases there is no need to allocate them a share of resources.
+Such lnodes are indicated by the \s-1NOTSHARED\s0 flag,
+which causes the scheduler to ignore their shares when allocating
+their group's resources among its members.
+However,
+the long term
+.I charge
+of a group owner
+always includes all the charges levied on any member of its group.
+.P
+For reasons of system management,
+\&``root'' is always allocated 100% of the resources whenever it needs them.
+However, since all real users run on their own lnodes,
+the \s-1NOTSHARED\s0 flag is turned on for ``root'',
+and thus the primary scheduling groups
+have 100% of the available resources to share between themselves.
+However, for instrumentation purposes,
+``root''s
+.I charge
+only represents its own consumption of resources,
+but the total consumption of resources is accumulated in the
+.I kl_temp
+field of
+\&``root''s
+.I kern_lnode
+(see
+.IR lnode (5)
+for details of a
+.IR kern_lnode .)
+.SS CHARGES
+Charges making up the accumulating usage figure
+are levied by default as follows:-
+.RS
+.PD 0
+.TP "\w'system servicesXX'u"
+cpu
+100%
+.TP
+disk i/o
+0%
+.TP
+terminal i/o
+0%
+.TP
+system services
+0%
+.TP
+memory
+0%
+.PD
+.RE
+.P
+Memory charges are levied every scheduler cycle,
+but note that
+.I root
+is never charged for the memory it uses.
+These charges can be varied at different times of the day to reflect
+their popularity by using the command
+.IR charge (1).
+.P
+Usage is decayed at an exponential rate intended to ensure that
+all users of the machine get an equal chance to compete for resources
+over a particular time period.
+The default decay results in a
+.I half-life
+of 2 minutes.
+Use
+.IR charges (1)
+to find out the current decay rate and resource charges.
+.SS NICE
+The
+.IR nice (2)
+system call has a slightly different effect under Share.
+The
+.I nice
+parameter for a process now affects the rate at which its priority decays
+to a higher priority over time.
+.I Nicing
+a process will make it run slower,
+by reducing its effective share of the resources,
+but it may not run slower than another user's processes
+if that user has an even lower effective share of the resources.
+However, processes with a
+.I nice
+priority of 19 are guaranteed only to run when no other processes need the CPU.
+.I Niced
+processes are charged less for CPU time than normal processes,
+priority 19 processes are charged almost nothing for CPU time.
+.SS MANAGEMENT
+There are three flags that control the operation of the share scheduler.
+.TP "\w'LIMSHAREXX'u"
+.SM NOSHARE
+This turns off the scheduler.
+Since this will leave the parameters in a ``frozen'' state,
+it should probably only be done at system boot time.
+This flag is on by default when the system is booted,
+so the command
+.IR charge (1)
+must be run to activate the scheduler.
+Note that the program
+.IR login (8)
+won't attach users to their own
+.I lnodes
+while this flag is on,
+instead each user will remain attached to
+.IR root 's
+lnode.
+[Value 01]
+.TP
+.SM ADJGROUPS
+This flags turns on global group effective share adjustment.
+If any group is found to be getting less than
+.SM MINGSHARE
+times its allocated share,
+then the costs incurred by its members are reduced proportionately.
+[Value 02]
+.TP
+.SM LIMSHARE
+This flag deals with an
+``edge effect''
+that occurs when users first log in.
+It may be that their
+.I usage
+field has decayed to the point where they might temporarily be allocated
+nearly 100% of the machine.
+This flag limits any one user's share of the resources to no more than
+MAXUSHARE times their intended share.
+Of course, this still may be nearly 100%, if no other users are logged in,
+or the other users have very small shares.
+[Value 04]
+.P
+The
+.IR charge (1)
+command is used to manipulate these flags, and the charging parameters above.
+There are also other parameters which may be changed with
+.IR charge :-
+.TP "\w'MAXNORMUSAGEXX'u"
+.BI DecayRate
+The decay rate for users'
+.IR "active process rates" .
+This parameter is calculated by counting the active proceses
+per user every clock scan,
+and is decayed every clock scan.
+The usual value for this should result in a
+.I half-life
+for the rate of about 10 seconds.
+.TP
+.BI DecayUsage
+The decay rate for users' usages.
+This may be altered to produce a
+.I half-life
+for usage ranging from a few seconds to many days.
+.TP
+.BI Delta
+The run frequency of the share scheduler in seconds.
+The default value of 4 is fine.
+.TP
+.BI MAXGROUPS
+This sets the maximum group nesting (depth of scheduling tree) allowed,
+not including ``root''s group.
+.TP
+.BI MAXPRI
+Absolute upper bound for a process's priority.
+.TP
+.BI MAXUPRI
+Upper bound for normal processes' priorities.
+.I Idle
+processes run with priorities in the range
+\s-1MAXUPRI\s0 < \fIpri\fP < \s-1MAXPRI\s0.
+.TP
+.BI MAXUSAGE
+Upper bound for ``reasonable'' usages.
+Users with usages larger than this are grouped together and given
+process priorities
+which prevent them from interfering with ``normal'' users.
+The usage
+(multiplied by the
+.IR "active process rate" )
+is added to a running process's priority
+every time it incurs a clock tick,
+so the upper bound should be small enough not to overrun the value
+.SM MAXUPRI
+in too short a time interval
+.TP
+.BI MAXUSERS
+Sets the maximum number of users and groups that can be active.
+Note that this cannot exceed the maximum configured in the kernel.
+.TP
+.BI PriDecay
+This is the decay rate for maximally niced processes.
+A reasonable minimum value for the
+.I half-life
+is about 100 seconds,
+but see the comment for
+.SM MAXUSAGE
+above.
+.TP
+.BI PriDecayBase
+The base for calculating the decay rate
+for process priorities with normal \fInice\fP.
+This should be set low enough so that the priorities of processes
+for users with low share don't decay too quickly.
+A reasonable minimum value for the
+.I half-life
+is about 2 seconds.
+.SH FILES
+.PD 0
+.TP "\w'/usr/include/sys/charges.hXX'u"
+.IR /usr/include/sys/share.h
+Definition of scheduler parameters.
+.TP
+.IR /usr/include/sys/charges.h
+Default scheduler parameters.
+.PD
+.SH "SEE ALSO"
+charge(1),
+pl(1),
+rates(1),
+shstats(1),
+ustats(1),
+lnode(5),
+shares(5),
+login(8),
+sharer(8).
+.SH REFERENCES
+"Scheduling for a Share of the Machine", J Larmouth, SP&E, Vol 5 1975 pp 29-49
+.br
+"Scheduling for Immediate Turnaround", J Larmouth, SP&E, Vol 8 1978 pp 559-578
+.br
+"A Fair Share Scheduler", J Kay & P Lauder, TM 11275-870319-01
+.br
+"Share Scheduler Administration", P Lauder
diff --git a/static/v10/man5/shares.5 b/static/v10/man5/shares.5
new file mode 100644
index 00000000..569bc8df
--- /dev/null
+++ b/static/v10/man5/shares.5
@@ -0,0 +1,64 @@
+.TH SHARES 5 SHARE
+.SH NAME
+/etc/shares \- shares data-base file for share system
+.SH DESCRIPTION
+.I /etc/shares
+is an direct access data-base indexed on
+.I uid
+containing the uid, scheduling group and allocated shares
+for each user on the system.
+It also contains other scheduling data as defined in the files
+.I <shares.h>
+and
+.IR <sys/lnode.h> .
+.P
+Operations on the shares file are made via the shares routines
+described in section 3.
+.P
+Data from the shares file are installed in kernel
+.I lnode
+structures for active users by
+.IR login (8).
+When users become inactive,
+the lnode structures are removed from the kernel
+and updated in the shares file by
+.IR sharer (8).
+.P
+The number of shares and the scheduling group of a user may be changed by using
+.IR passwd (1),
+with the -a or -n flags,
+or by
+.IR lim (1).
+Data in the shares file may be examined with either
+.IR pl (1)
+or
+.IR pwintf (1).
+.SH FILES
+.PD 0
+.TP "\w'/usr/include/sys/lnode.hXX'u"
+/etc/shares
+User data base.
+.TP
+/usr/include/shares.h
+Format of an /etc/shares record.
+.TP
+/usr/include/sys/lnode.h
+Format of an
+.I lnode
+structure in an /etc/shares record.
+.PD
+.SH "SEE ALSO"
+lim(1),
+pl(1),
+pwintf(1),
+closeshares(3),
+getshares(3),
+getshput(3),
+openshares(3),
+putshares(3),
+setupshares(3),
+sharesfile(3),
+lnode(5),
+share(5),
+login(8),
+sharer(8).
diff --git a/static/v10/man5/speakm.5 b/static/v10/man5/speakm.5
new file mode 100644
index 00000000..c0cb9065
--- /dev/null
+++ b/static/v10/man5/speakm.5
@@ -0,0 +1,42 @@
+.pa 1
+.he '2/5/73''SPEAK.M (V)'
+.ti 0
+NAME /etc/speak.m -- voice synthesizer vocabulary
+.sp
+.ti 0
+DESCRIPTION The memory file for
+.ul
+speak.
+It contains:
+.sp
+- a word containing n, the number of entries
+.br
+- n 4-word entries, counted 0,1...n-1
+.br
+- a word containing m, the number of bytes of strings
+.br
+- m bytes of strings, counted 0,1...m-1, each null-terminated
+.sp
+The entries are arranged in a tree.
+Each consists of four pointers.
+Zero pointers point nowhere.
+The pointers are:
+.sp
+- the number (in string storage) of the first byte of the
+word for this entry
+.br
+- the number of the first byte of the phonetic line
+for the word. The line is coded according to vsp___ (VII).
+.br
+- the number of an entry that precedes the present word
+in ascii lexicographic order
+.br
+- the number of an entry that follows the present
+word in lexicographic order
+.br
+.sp
+Entry zero points to no word.
+Byte zero of string storage is null.
+.sp
+.ti 0
+SEE ALSO speak(I), vsp(VII)
diff --git a/static/v10/man5/src.5 b/static/v10/man5/src.5
new file mode 100644
index 00000000..d53aceb3
--- /dev/null
+++ b/static/v10/man5/src.5
@@ -0,0 +1,27 @@
+.TH SRC 5
+.SH NAME
+src \- form of a stream identifier
+.SH DESCRIPTION
+Stream identifiers, defined in
+.IR stream (4),
+are conventionally set by
+.IR init (8)
+and
+.IR dkmgr (8)
+to designate the source of the login stream.
+A datakit source begins with
+.B dk!
+followed by a dial string.
+.PP
+.IR Session (1)
+may append to the stream identifier of the
+standard input a colon and a name,
+which is understood by
+.IR pwserv (8)
+as an assertion that the agent on that stream
+knows the password associated with that name,
+which obviates further demands for that password.
+.SH EXAMPLES
+.B dk!201/mu/attbl:doug
+.SH SEE ALSO
+.IR getstsrc (3)
diff --git a/static/v10/man5/stab.5 b/static/v10/man5/stab.5
new file mode 100644
index 00000000..a41ca185
--- /dev/null
+++ b/static/v10/man5/stab.5
@@ -0,0 +1,211 @@
+.TH STAB 5
+.CT 1 lib_obj
+.SH NAME
+stab \- symbol table types
+.SH SYNOPSIS
+.B "#include <stab.h>"
+.SH DESCRIPTION
+The include file
+.L <stab.h>
+defines some values of the
+.L n_type
+field of the symbol table of object files; see
+.IR a.out (5).
+These are the types for permanent symbols
+used by the compilers
+.IR cc (1)
+and
+.IR f77 (1)
+and the debugger
+.IR pi (9.1).
+Symbol table entries are produced by assembler directives:
+.TP \w'\f5.stabs\ \ \fP'u
+.B .stabs
+specifies a name in quotes \f5" "\fR, a symbol type
+.RL ( n_type ),
+one char
+.RL ( n_other ),
+one short
+.RL ( n_desc),
+and an unsigned long
+.RL ( n_value ,
+usually an address).
+.PD 0
+.TP
+.B .stabd
+the same, referring to the current location without an explicit
+name.
+.TP
+.B .stabn
+generates entries with no name.
+.PD
+.LP
+The loader
+.IR ld (1)
+preserves the order of symbol table entries produced
+by these directives.
+.PP
+The low bits of the
+.L n_type
+field place a symbol into
+at most one segment, according to
+the following masks, defined in
+.BR <a.out.h> .
+.PP
+.EX
+.ta \w'#define\ 'u +\w'N_FNAME\ 'u +\w'0x0\ \ \ 'u
+#define N_UNDF 0x0 /* undefined */
+#define N_ABS 0x2 /* absolute */
+#define N_TEXT 0x4 /* text */
+#define N_DATA 0x6 /* data */
+#define N_BSS 0x8 /* bss */
+#define N_EXT 0x1 /* external bit, or'ed in */
+.EE
+.PP
+The
+.L n_value
+field of a symbol is relocated by
+.I ld
+as an address within the appropriate segment,
+or is unchanged for a symbol not in any segment.
+In addition, the loader will discard certain symbols, according to rules
+of its own, unless the
+.L n_type
+field has one of the following bits set:
+.PP
+.L
+#define N_STAB 0xe0
+.PP
+This allows up to 112 symbol types, split among the various
+segments.
+Some of these have already been claimed.
+Option
+.B -g
+of
+.I cc
+uses the following values, all 4 mod 16, for text symbols.
+Comments show the pertinent fields of the
+.B .stabs
+directive.
+.PP
+.EX
+.ta \w'#define\ 'u +\w'N_ECOMM\ 'u +\w'0x0\ \ \ 'u +\n(wwu
+#define N_BFUN 0x24 /* procedure: name,,0,lineno,address */
+#define N_FUN 0x24
+#define N_NARGS 0x34 /* function call: ,,0,nbytes,address */
+#define N_SLINE 0x44 /* src line: ,,0,lineno,address */
+#define N_SO 0x64 /* source file: name,,0,lineno,address */
+#define N_SOL 0x84 /* #include file: name,,0,lineno,address */
+#define N_ESO 0x94 /* end source file: name,,0,lineno,address */
+#define N_ENTRY 0xa4 /* alternate entry: name,,0,lineno,address */
+#define N_RFUN 0xb4 /* return from function: ,,0,lineno,address */
+#define N_LBRAC 0xc4 /* left bracket: ,,0,level,address */
+#define N_RBRAC 0xd4 /* right bracket: ,,0,level,address */
+#define N_EFUN 0xf4 /* end of function: name,,0,lineno,address */
+.EE
+.PP
+These values, all 8 mod 16, are used for data symbols:
+.PP
+.EX
+#define N_LCSYM 0x28 /* .lcomm symbol: name,,0,type,address */
+#define N_ECOML 0xe8 /* end common (local name): ,,address */
+.EE
+.PP
+And these for non-relocated symbols:
+.PP
+.EX
+#define N_GSYM 0x20 /* global symbol: name,,0,type,0 */
+#define N_FNAME 0x22 /* procedure name (f77 kludge): name,,0 */
+#define N_STFUN 0x32 /* static function: name,,0,type,0 */
+#define N_RSYM 0x40 /* register sym: name,,0,type,register */
+#define N_BSTR 0x5c /* begin structure: name,,0,type,length */
+#define N_ESTR 0x5e /* end structure: name,,0,type,length */
+#define N_SSYM 0x60 /* structure elt: name,,0,type,offset */
+#define N_SFLD 0x70 /* structure field: name,,0,type,offset */
+#define N_LSYM 0x80 /* local sym: name,,0,type,offset */
+#define N_PSYM 0xa0 /* parameter: name,,0,type,offset */
+#define N_BCOMM 0xe2 /* begin common: name,, */
+#define N_ECOMM 0xe4 /* end common: name,, */
+#define N_VER 0xf0 /* symbol table version number */
+#define N_TYID 0xfa /* struct, union, or enum name */
+#define N_DIM 0xfc /* dimension for arrays */
+.EE
+.PP
+Field
+.L n_desc
+holds a type specifier in the form used by
+.IR cc (1),
+by up to 6 qualifiers, with
+.B q1
+most significant:
+.PP
+.EX
+.ta \w'#define 'u +\w'short\ \ 'u
+struct desc {
+ short q6:2, q5:2, q4:2, q3:2, q2:2, q1:2;
+ short basic:5;
+};
+.EE
+.PP
+The qualifiers are coded thus:
+.2C
+\f50\fR none
+\f51\fR pointer
+\f52\fR function
+\f53\fR array
+.1C
+.PP
+The basic types are coded thus:
+.2C
+\f50\fR undefined
+\f51\fR function argument
+\f52\fR character
+\f53\fR short
+\f54\fR int
+\f55\fR long
+\f56\fR float
+\f57\fR double
+\f58\fR structure
+\f59\fR union
+\f510\fR enumeration
+\f511\fR member of enumeration
+\f512\fR unsigned character
+\f513\fR unsigned short
+\f514\fR unsigned int
+\f515\fR unsigned long
+\f516\fR void
+.1C
+.PP
+The Pascal compiler,
+.IR pc (A),
+uses the following
+.L n_type
+value:
+.PP
+.L
+#define N_PC 0x30 /* global pascal symbol: name,,0,subtype,line */
+.PP
+and uses the following subtypes to do type checking across separately
+compiled files:
+.2C
+\f51\fR source file name
+\f52\fR included file name
+\f53\fR global label
+\f54\fR global constant
+\f55\fR global type
+\f56\fR global variable
+\f57\fR global function
+\f58\fR global procedure
+\f59\fR external function
+\f510\fR external procedure
+.1C
+.SH "SEE ALSO"
+.IR a.out (5),
+.IR pi (9.1),
+.IR as (1),
+.IR ld (1)
+.SH BUGS
+.PP
+The loader's relocation conventions limit the number of useful
+.LR n_type
+values.
diff --git a/static/v10/man5/stock.10.5 b/static/v10/man5/stock.10.5
new file mode 100644
index 00000000..433072f3
--- /dev/null
+++ b/static/v10/man5/stock.10.5
@@ -0,0 +1,18 @@
+.TH STOCK 10.5 UCDS
+.SH NAME
+stock \- stock list
+.SH DESCRIPTION
+.PP
+The stock file is a plain text file.
+The first column is the part name, the second column
+is the bin (bins have the form <bin number><section><drawer>), the
+third column is the quantity and the remaining string is the chip
+description. The latest entries include the manufacturer at the end of
+the line in the form "[manufacturer]".
+.SH SEE ALSO
+.IR findparts (10.1),
+.IR ics (10.1)
+.SH FILES
+.F /usr/ucds/lib/stock
+.SH BUGS
+The quantity is seldom up to date.
diff --git a/static/v10/man5/tap.5 b/static/v10/man5/tap.5
new file mode 100644
index 00000000..2bc1171d
--- /dev/null
+++ b/static/v10/man5/tap.5
@@ -0,0 +1,68 @@
+.pa 1
+.he 'TAP (V)'6/12/72'TAP (V)'
+.ti 0
+NAME tap -- DEC/mag tape formats
+.sp
+.ti 0
+DESCRIPTION The
+DECtape command tap___ and
+the magtape command mt__
+dump and extract files to and
+from their respective tape media.
+The formats of these tapes are the same except
+that magtapes have larger directories.
+.sp
+Block zero of the tape is not used.
+It is available to contain a boot program to be
+used in a stand-alone environment.
+This has proved valuable for DEC diagnostic programs.
+.sp
+Blocks 1 through 24
+for DECtape (1 through 146 for magtape)
+contain a directory of the tape.
+There are 192 (resp. 1168) entries in the directory;
+8 entries per block;
+64 bytes per entry.
+Each entry has the following format:
+.sp
+.in +3
+path name 32 bytes
+.br
+mode 1 byte
+.br
+uid 1 byte
+.br
+size 2 bytes
+.br
+time modified 4 bytes
+.br
+tape address 2 bytes
+.br
+unused 20 bytes
+.br
+check sum 2 bytes
+.sp
+.in -3
+The path name entry is the path name of the
+file when put on the tape.
+If the pathname starts with a zero word,
+the entry is empty.
+It is at most 32 bytes long and ends in a null byte.
+Mode, uid, size and time modified
+are the same as described under i-nodes (see file system (V))
+The tape address is the tape block number of the start of
+the contents of the file.
+Every file
+starts on a block boundary.
+The file occupies (size+511)/512 blocks
+of continuous tape.
+The checksum entry has a value such that
+the sum of the 32 words of the directory entry is zero.
+.sp
+Blocks 25 (resp. 147) on are available for file storage.
+.sp
+A fake entry (see mt(I), tap(I))
+has a size of zero.
+.sp
+.ti 0
+SEE ALSO filesystem(V), mt(I), tap(I)
diff --git a/static/v10/man5/termcap.5 b/static/v10/man5/termcap.5
new file mode 100644
index 00000000..6dce97cb
--- /dev/null
+++ b/static/v10/man5/termcap.5
@@ -0,0 +1,350 @@
+.TH TERMCAP 5
+.CT 2 comm_term
+.SH NAME
+termcap \- terminal capability file
+.SH DESCRIPTION
+.I Termcap
+describes terminals as used, for example, by
+.IR vi (1)
+and
+.IR curses (3)
+or in the
+.B TERMCAP
+environment variable.
+A
+.I termcap
+entry is a line containing fields separated by
+.LR : .
+Lines may be broken;
+.L \e
+at the end of a line signifies continuation.
+Empty fields are ignored.
+.PP
+The first field for each entry gives names
+for a terminal separated by
+.LR | .
+The first name is conventionally two characters long
+for the benefit of older systems; the
+second name is the customary abbreviation; and
+the last name fully identifies
+the terminal.
+.PP
+There are three types of capability: Boolean for the presence of
+a feature, numeric for sizes and time delays, and
+strings for performing operations.
+Some string fields may be preceded by a number, which
+specifies padding, a time delay required with the operation.
+These capabilities are marked
+`P' or `P*' below.
+Padding is measured in milliseconds;
+P* signifies that the padding is proportional to the
+number of lines (or characters) affected,
+for example,
+.L 3.5*
+specifies 3.5 milliseconds per unit.
+.de fq
+\f5\\$1\fR \\$2 \\$3 \\$4
+..
+.ft B
+.ta \w'Name 'u +\w'Type 'u +\w'Pad 'u
+.nf
+.PP
+Name Type Pad Description
+.ftR
+.fq ae str P "End alternate character set
+.fq al str P* "Add new blank line
+.fq am bool "" "Automatic margin
+.fq as str P "Start alternate character set
+.fq bc str "" "Backspace char if not \f5^H\fP
+.fq bs bool "" "Terminal can backspace
+.fq bt str P "Back tab
+.fq bw bool "" "Backspace wraps from column 0 to last column
+.fq CC str "" "Command character in prototype if terminal settable
+.fq cd str P* "Clear to end of display
+.fq ce str P "Clear to end of line
+.fq ch str P "Like \f5cm\fP but horizontal motion only
+.fq cl str P* "Clear screen
+.fq cm str P "Cursor motion
+.fq co num "" "Number of columns
+.fq cr str P* "Carriage return, default \f5^M\fR
+.fq cs str P "Change scrolling region (vt100), like cm
+.fq cv str P "Like ch, but vertical only
+.fq da bool "" "Display may be retained above
+.fq dB num "" "Backspace delay
+.fq db bool "" "Display may be retained below
+.fq dC num "" "Carriage return delay
+.fq dc str P* "Delete character
+.fq dF num "" "Form feed delay
+.fq dl str P* "Delete line
+.fq dm str "" "Enter delete mode
+.fq dN num "" "Newline delay
+.fq do str "" "Down one line
+.fq dT num "" "tab delay
+.fq ed str "" "End delete mode
+.fq ei str "" "End insert mode; give \f5:ei=:\fR if \f5ic\fR
+.fq eo str "" "Can erase overstrikes with blank
+.fq ff str P* "Hard copy page eject, default \f5^L\fR
+.fq hc bool "" "Hardcopy terminal
+.fq hd str "" "Half line down
+.fq ho str "" "Home cursor if no \f5cm\fR
+.fq hu str "" "Half line up
+.fq hz str "" "Hazeltine, can't print \f5~\fR
+.fq ic str P "Insert character
+.fq if str "" "Name of file containing initialization\f5is\fR
+.fq im bool "" "Enter insert mode; give \f5:im=:\fR if \f5ic\fR
+.fq in bool "" "Insert mode distinguishes nulls on display
+.fq ip str P* "Insert pad after character insert
+.fq is str "" "Terminal initialization string
+.fq k0\fR-\fPk9 str "" "Other function key codes
+.fq kb str "" "Backspace key code
+.fq kd str "" "Down arrow key code
+.fq ke str "" "Leave keypad transmit mode
+.fq kh str "" "Home key code
+.fq kl str "" "Left arrow key code
+.fq kn num "" "Number of function keys
+.fq ko str "" "Termcap entries for other non-function keys
+.fq kr str "" "Right arrow key code
+.fq ks str "" "Enter keypad transmit mode
+.fq ku str "" "Up arrow key code
+.fq l0\fR-\fP9 str "" "Labels on other function keys
+.fq li num "" "Number of lines on screen or page
+.fq ll str "" "Last line, first column, if no \f5cm\fR
+.fq ma str "" "Arrow key map
+.fq mi bool "" "Safe to move in insert mode
+.fq ml str "" "Memory lock above cursor
+.fq ms bool "" "Safe to move in standout or underline mode
+.fq mu str "" "Turn off memory lock
+.fq nc bool "" "No correctly working CR (DM2500, H2000)
+.fq nd str "" "Nondestructive space (cursor right)
+.fq nl str P* "Newline character, default \f5\en\fR
+.fq ns bool "" "Nonscrolling CRT
+.fq os bool "" "Terminal overstrikes
+.fq pc str "" "Pad character, default NUL
+.fq pt bool "" "Has hardware tabs (possibly set by \f5is\fR)
+.fq se str "" "Leave standout mode
+.fq sf str P "Scroll forward
+.fq sg num "" "Number of blanks left by \f5so\fR, \f5se\fR
+.fq so str "" "Enter standout mode
+.fq sr str P "Scroll reverse (backward)
+.fq ta str P "Tab, if not \f5^I\fR or if padded
+.fq tc str "" "Entry of similar terminal, must be last
+.fq te str "" "String to end programs that use \f5cm\fR
+.fq ti str "" "String to begin programs that use \f5cm\fR
+.fq uc str "" "Underscore one char and move past it
+.fq ue str "" "Leave underscore mode
+.fq ug num "" "Number of blanks left by \f5us\fR, \f5ue\fR
+.fq ul bool "" "Terminal underlines but doesn't overstrike
+.fq up str "" "Cursor up one line
+.fq us str "" "Enter underscore mode
+.fq vb str "" "Visible bell, (may not move cursor)
+.fq ve str "" "Leave open/visual mode
+.fq vs str "" "Enter open/visual mode
+.fq xb bool "" "Beehive (\f5f1\fR=escape, \f5f2\fR=\f5^C\fR)
+.fq xn bool "" "Newline ignored after wrap (Concept)
+.fq xr bool "" "Return acts like \f5ce \er \en\fR (Delta Data)
+.fq xs bool "" "Standout not erased by writing over (HP264?)
+.fq xt bool "" "Tabs are destructive, magic \f5so\fR (Teleray 1061)
+.fi
+.PP
+The following example is one of the
+more elaborate
+.I termcap
+entries.
+(Do not believe it; see the file for current facts.)
+.HP
+.EX
+co|c100|concept 100:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200\eEo\e47\eE:\e
+:al=3*\eE^R:am:bs:cd=16*\eE^C:ce=16\eE^S:cl=2*^L:cm=\eEa%+ %+ :co#80:\e
+:dc=16\eE^A:dl=3*\eE^B:ei=\eE\e200:eo:im=\eE^P:in:ip=16*:li#24:mi:\e
+:nd=\eE=:se=\eEd\eE:so=\eED\eEE:ta=8\et:ul:up=\eE;vb=\eEk\eEk:xn:
+.EE
+.PP
+Among the Boolean capabilities shown for the Concept are
+automatic margins
+.LR am :
+automatic return and linefeed at the end of a line.
+Numeric capabilities are indicated by
+.LR # ;
+.L co#80
+means the Concept has 80 columns.
+String capabilities are indicated by
+.LR = ;
+to clear to end of line
+.RL ( ce )
+on the Concept, issue <escape> <control-C> and pad
+with 16 milliseconds delay.
+.PP
+In strings the
+.SM ASCII ESC
+character is represented by
+.LR \eE
+and control characters are represented by
+.BI ^ c,
+where character
+.I c
+has
+.SM ASCII
+code 0100 greater than the desired control character.
+Newline, return, tab, backspace, form feed,
+.B \e
+and
+.B ^
+are represented by
+.BR "\en \er \et \eb \ef \e\e \e^" .
+Backslash
+.L \e
+followed by 3 digits specifies a byte in octal.
+A null character is encoded
+.LR \e200 :
+the routines that use
+.I termcap
+information mask out the high bit of all bytes.
+.PP
+Local cursor motions are undefined if they run off the
+left or top of the screen; the
+.I curses
+routines refrain from issuing such motions.
+It is assumed that the screen will scroll up upon running
+off the bottom; this assumption is negated by
+.LR ns .
+Capability
+.L am
+(automatic margin) describes the handling of the right margin.
+.PP
+Cursor addressing is described by capability
+.LR cm ,
+which contains
+.IR printf (3)-like
+format codes for line and column positions.
+The leftmost column is column 0.
+.IP
+.nf
+.fq %d "as in \fIprintf\fR
+.fq %2 "like \f5%2d\fR
+.fq %3 "like \f5%3d\fR
+.fq %. "like \f5%c\fR
+.fq %+\fIx\fR "adds \fIx\fR before converting
+.fq %>\fIxy\fR "if value exceeds \fIx\fR, add \fIy\fR, no output
+.fq %r "reverse order of line and column, no output
+.fq %i "increment line/column (1-origin)
+.fq %% "single \f5%\fR
+.fq %n "exclusive or row and column with 0140 (DM2500)
+.fq %B "BCD: 16\(**(\fIx/10) + (\fIx\fR%10), no output
+.fq %D "Reverse coding: \fIx\fR\-2\(**(\fIx\fR%16), no output
+.fi
+.PP
+For example, to go to line 3 column 12, a HP2645 terminal
+must get
+.B \eE&a12c03Y
+padded for 6 milliseconds:
+.L :cm=6\eE&%r%2c%2Y: .
+.PP
+Capability
+.L al
+adds an empty line before the line where the cursor is
+and leaves the cursor on the new line.
+This will always be done with the cursor at column 0.
+Capability
+.L dl
+deletes the line where the cursor is and is also done
+with the cursor at column 0.
+Capabilities
+.L da
+and
+.L db
+warn that off-screen lines may appear at the top or bottom of
+the screen upon scrolling or deleting lines.
+The
+.I curses
+routines do not use this feature, but do guard against
+its effects.
+.PP
+Insert-character operations usually affect only
+the current line and shift
+characters off the end of the line rigidly.
+Some terminals, such as the Concept 100, distinguish
+typed from untyped blanks on the screen, shifting upon insertion
+only up to an untyped blank, i.e. a space caused by cursor motion;
+these terminals have capability
+.L in
+(insert null).
+.PP
+Some terminals have an insertion mode; others require a special
+sequence to open up a blank position on the current line.
+Insertion mode is entered and left by
+.L im
+and
+.LR ie ,
+which should be null strings if there is no insertion mode.
+String
+.L ic
+is sent just before each character to be inserted, and
+padding
+.L ip
+is sent after.
+Capability
+.L mi
+says it is possible to move around without leaving insertion
+mode.
+Delete mode works similarly: enter with
+.LR dm ,
+leave with
+.LR de ,
+and issue
+.L dc
+before each character.
+.PP
+Highlighting, or `standout' mode is entered by
+.L so
+and left by
+.LR se .
+Underline mode is entered by
+.L us
+and left by
+.LR ue .
+Terminals that underline characters individually have capability
+.LR uc .
+The visual bell capability
+.L vb
+flashes the screen without moving the cursor.
+.PP
+A terminal with a keypad that transmits cursor motions
+may be described by capabilities
+.L
+kl kr ku kd kh
+that give the codes for left, right, up, down, and home.
+Up to ten function keys may be described by
+.L k0
+through
+.LR k9 .
+Special labels for the function keys may be given as
+.L l0
+through
+.LR l9 .
+.PP
+The initialization string
+.L is
+is expected to set tabs if that is necessary.
+That string may come from a file
+.RL ( if );
+if both are present
+.L is
+is done first.
+.PP
+The entry for a terminal may be continued by jumping
+to another entry given by
+.LR tc .
+Duplicate capabilities are resolved in favor of the first.
+.SH FILES
+.F /etc/termcap
+.SH SEE ALSO
+.IR curses (3),
+.IR termcap (3),
+.IR vi (1),
+.IR ul (1)
+.SH BUGS
+.I Termcap
+entries, including
+.L tc
+continuations, are limited to 1024 characters.
+.br
diff --git a/static/v10/man5/tp.5 b/static/v10/man5/tp.5
new file mode 100644
index 00000000..7d3802c1
--- /dev/null
+++ b/static/v10/man5/tp.5
@@ -0,0 +1,68 @@
+.th TP V 9/10/73
+.sh NAME
+tp \*- DEC/mag tape formats
+.sh DESCRIPTION
+The
+command
+.it tp
+dumps and extracts files to and
+DECtape and magtape.
+The formats of these tapes are the same except
+that magtapes have larger directories.
+.s3
+Block zero contains a
+copy of a stand-alone bootstrap program.
+See boot procedures (VIII).
+.s3
+Blocks 1 through 24
+for DECtape (1 through 62 for magtape)
+contain a directory of the tape.
+There are 192 (resp. 496) entries in the directory;
+8 entries per block;
+64 bytes per entry.
+Each entry has the following format:
+.s3
+.lp +24 20
+path name 32 bytes
+.lp +24 20
+mode 2 bytes
+.lp +24 20
+uid 1 byte
+.lp +24 20
+gid 1 byte
+.lp +24 20
+unused 1 byte
+.lp +24 20
+size 3 bytes
+.lp +24 20
+time modified 4 bytes
+.lp +24 20
+tape address 2 bytes
+.lp +24 20
+unused 16 bytes
+.lp +24 20
+check sum 2 bytes
+.s3
+.i0
+The path name entry is the path name of the
+file when put on the tape.
+If the pathname starts with a zero word,
+the entry is empty.
+It is at most 32 bytes long and ends in a null byte.
+Mode, uid, gid, size and time modified
+are the same as described under i-nodes (file system (V)).
+The tape address is the tape block number of the start of
+the contents of the file.
+Every file
+starts on a block boundary.
+The file occupies (size+511)/512 blocks
+of continuous tape.
+The checksum entry has a value such that
+the sum of the 32 words of the directory entry is zero.
+.s3
+Blocks 25 (resp. 63) on are available for file storage.
+.s3
+A fake entry (see tp(I))
+has a size of zero.
+.sh "SEE ALSO"
+file system(V), tp(I)
diff --git a/static/v10/man5/troff.5 b/static/v10/man5/troff.5
new file mode 100644
index 00000000..22405618
--- /dev/null
+++ b/static/v10/man5/troff.5
@@ -0,0 +1,202 @@
+.TH TROFF 5
+.CT 1 writing_output
+.SH NAME
+troff \- device-independent output
+.SH DESCRIPTION
+.IR Troff (1)
+produces an ASCII representation of a typeset document,
+expressed in the following syntax.
+Strings inside
+.B [
+.B ]
+are optional.
+The string
+.B \en
+represents newline.
+White space (spaces or newlines) may occur
+between commands and is sometimes necessary to terminate numbers.
+.PP
+.TP
+.BI s n
+Set point size to
+.I n.
+.PD 0
+.TP
+.BI f n
+Use font in position
+.I n.
+Normally fonts
+are mounted starting at position 1; 0 is reserved.
+.I troff.
+.TP
+.BI c x
+Place character
+.I x
+at the current location on the page;
+.I x
+is a single ASCII character.
+.TP
+.BI C name
+Place special character.
+The
+.I name
+of the character is delimited by white space.
+.TP
+.BI H n
+Go to horizontal location
+.I n,
+expressed in basic units.
+.TP
+.BI h n
+Add
+.I n
+to the current horizontal location (relative goto).
+.TP
+.BI V n
+Go to vertical location
+.I n,
+measured positive downward.
+.TP
+.BI v n
+Add
+.I n
+to the current vertical location.
+.TP
+.I nnx
+A two-digit number followed by an ASCII character; equivalent to
+.BI h nn c x.
+.TP
+.BI n b\ a
+End of line.
+No action is required;
+.I troff
+will explicitly reset the location.
+Number
+.IR b
+is the amount of space before
+the line,
+.IR a ,
+the amount of space after the line.
+.TP
+.B w
+A
+.B w
+appears between words of the input document.
+No action is
+required.
+.TP
+.BI p n
+Begin a new page with page number
+.I n.
+The vertical location on the page becomes 0.
+.TP
+.BI # \ .... \en
+Comment.
+.TP
+.BI Dl " x y" \en
+Draw a line from the current location by
+.IR x , y .
+.TP
+.BI Dc " d" \en
+Draw a circle of diameter
+.I d
+with the leftmost edge at the current location,
+.IR x , y .
+The current location becomes
+.IR x + d , y .
+.TP
+.BI De " dx dy" \en
+Draw an ellipse with
+.IR x -axis
+.I dx
+and
+.IR y -axis
+.I dy.
+The leftmost edge
+of the ellipse will be at the current location.
+The current location becomes
+.IR x + dx , y .
+.TP
+.BI Da " x y u v" \en
+Draw an arc counterclockwise from the current location to
+.IR x + u,
+.IR y + v,
+with center offset
+.IR x , y
+from the current location.
+The end of the arc becomes the current location.
+.TP
+.BI D~ " x y x y ..." \en
+Draw a spline curve (wiggly line) from the
+current location, moving by
+.I x,y
+each time.
+The end of the curve becomes the current location.
+.TP
+.B x\ i[nit]\en
+Initialize the typesetting device.
+The actions required depend on the device.
+.TP
+.BI x\ T \ dest \en
+The name of the typesetter is
+.IR dest ,
+as in option
+.BR \-T
+of
+.IR troff (1).
+.TP
+.BI "x r[es]" " n h v" \en
+The resolution of the typesetting device is
+.IR n
+units per inch.
+Horizontal motions must be multiples of
+.I h
+units, vertical motions
+.I v
+units.
+.TP
+.B x p[ause]\en
+Pause.
+Cause the current page to finish but do not relinquish the
+typesetter.
+.TP
+.B x s[top]\en
+Stop.
+Cause the current page to finish and then relinquish the typesetter.
+.TP
+.B x t[railer]\en
+Generate a trailer if necessary.
+.TP
+.BI "x f[ont]" " n name" \en
+Load font
+.I name
+into position
+.IR n .
+.TP
+.BI "x H[eight] " n \en
+Set the character height to
+.I n
+points.
+This causes the letters
+to be elongated or shortened.
+It does not affect the width
+of a letter.
+Not all typesetters can do this.
+.TP
+.BI "x S[lant] " n \en
+Set the slant to
+.I n
+degrees, if possible.
+.TP
+.BI x "..." \en
+Arbitrary; may be used for device-specific functions.
+.SH SEE ALSO
+.IR troff (1),
+.IR d202 (1),
+.IR apsend (1),
+.IR lp (1),
+.IR proof (9.1)
+.br
+B. W. Kernighan,
+.I "A Typesetter-Independent Troff
+this manual, volume 2.
diff --git a/static/v10/man5/ttys.5 b/static/v10/man5/ttys.5
new file mode 100644
index 00000000..e3f34fc8
--- /dev/null
+++ b/static/v10/man5/ttys.5
@@ -0,0 +1,41 @@
+.TH TTYS 5
+.CT 1 comm_term
+.SH NAME
+ttys \- terminal initialization data
+.SH DESCRIPTION
+The file
+.F /etc/ttys
+directs
+.IR init (8)
+in associating login processes with terminal ports.
+It contains one line per port.
+.PP
+If the first character of a line is
+.L 0
+the line will be ignored;
+if it is
+.L 1
+the line will be effective.
+The second character is used as an argument to
+.IR getty (8),
+which performs such tasks as baud-rate recognition,
+reading the login name,
+and calling
+.IR login (8).
+For normal lines,
+the character is
+.LR 0 .
+Other characters can be used, for example, with hard-wired terminals
+where speed recognition is unnecessary
+or which have special characteristics; see
+.IR getty (8)
+for a list.
+The remainder of the line is the terminal's entry
+in the device directory,
+.FR /dev .
+.SH FILES
+.F /etc/ttys
+.SH "SEE ALSO"
+.IR init (8),
+.IR getty (8),
+.IR login (8)
diff --git a/static/v10/man5/ttytype.5 b/static/v10/man5/ttytype.5
new file mode 100644
index 00000000..c102d4e7
--- /dev/null
+++ b/static/v10/man5/ttytype.5
@@ -0,0 +1,23 @@
+.TH TTYTYPE 5 10/25/79 5
+.UC 4
+.SH NAME
+ttytype \- data base of terminal types by port
+.SH SYNOPSIS
+/etc/ttytype
+.SH DESCRIPTION
+.I Ttytype
+is a database containing, for each tty port on the system,
+the kind of terminal that is attached to it.
+There is one line per port,
+containing the terminal kind (as a name listed in termcap (5)),
+a space, and the name of the tty, minus /dev/.
+.PP
+This information is read by
+.IR tset (1)
+and by
+.IR login (1)
+to initialize the TERM variable at login time.
+.SH "SEE ALSO"
+tset(1), login(1)
+.SH BUGS
+Some lines are merely known as \*(lqdialup\*(rq or \*(lqplugboard\*(rq.
diff --git a/static/v10/man5/types.5 b/static/v10/man5/types.5
new file mode 100644
index 00000000..b6a5d02a
--- /dev/null
+++ b/static/v10/man5/types.5
@@ -0,0 +1,42 @@
+.TH TYPES 5
+.CT 2 sa data_man
+.SH NAME
+types \- primitive system data types
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.SH DESCRIPTION
+The data types defined in the include file
+are used in the operating system.
+Some data of these types are useful in user code.
+.PP
+.EX
+.ta \w'typedef 'u +\w'unsigned short 'u +\w'label_t[14]; 'u
+typedef long daddr_t; \fRdisk block number, see \fIfilsys\fR(5)\f5
+typedef char * caddr_t; \fRgeneral memory pointer\f5
+typedef unsigned short ino_t; \fRinode number, \fIfilsys\fR(5)\f5
+typedef long size_t; \fRfile size, \fIstat\fR(2)\f5
+typedef long time_t; \fRtime, \fItime\fR(2)\f5
+typedef unsigned short dev_t; \fRdevice code, \fIstat\fR(2)\f5
+typedef long off_t; \fRfile offset, \fIlseek\fR(2)\f5
+.EE
+.PP
+The following macros analyze and synthesize device numbers;
+see
+.IR intro (4).
+.PP
+.EX
+#define major(x) ((int)(((unsigned)(x)>>8)&0377))
+#define minor(x) ((int)((x)&0377))
+#define makedev(x,y) ((dev_t)(((x)<<8) | (y)))
+.EE
+.PP
+The file contains other definitions as well,
+internal to the system
+or specific to particular system calls.
+Pages in section 2
+tell which calls need
+.BR <sys/types.h> .
+.SH SEE ALSO
+.IR filsys (5),
+.IR time (2),
+.IR intro (4)
diff --git a/static/v10/man5/uids.5 b/static/v10/man5/uids.5
new file mode 100644
index 00000000..c7d9bd8e
--- /dev/null
+++ b/static/v10/man5/uids.5
@@ -0,0 +1,33 @@
+.pa 1
+.he '3/15/72''UIDS (V)'
+.ti 0
+NAME /etc/uids -- map user names to user IDs
+.sp
+.ti 0
+SYNOPSIS --
+.sp
+.ti 0
+DESCRIPTION This file
+allows programs to map user names into user numbers and vice versa.
+Anyone can read it.
+It resides in directory /etc, and should be updated
+along with the password file when a user is added or deleted.
+
+The format is an ASCII name,
+followed by a colon, followed by a decimal ASCII
+user ID number.
+.sp
+.ti 0
+FILES --
+.sp
+.ti 0
+SEE ALSO --
+.sp
+.ti 0
+DIAGNOSTICS --
+.sp
+.ti 0
+BUGS --
+.sp
+.ti 0
+OWNER dmr, ken
diff --git a/static/v10/man5/utmp.5 b/static/v10/man5/utmp.5
new file mode 100644
index 00000000..8b506847
--- /dev/null
+++ b/static/v10/man5/utmp.5
@@ -0,0 +1,23 @@
+.pa 1
+.he 'UTMP (V)'3/15/72'UTMP (V)'
+.ti 0
+NAME /tmp/utmp -- user information
+.sp
+.ti 0
+DESCRIPTION This
+file allows one to discover information about who is currently
+using UNIX.
+The file is binary; each entry is 16(10) bytes long.
+The first eight bytes contain a user's login name or
+are null if the table slot is unused.
+The low order byte of the next word contains the last
+character of a typewriter name.
+The next two words contain the user's login time.
+The last word is unused.
+
+This file resides in directory /tmp.
+.sp
+.ti 0
+SEE ALSO /etc/init, which maintains the file;
+.br
+who(I), which interprets it.
diff --git a/static/v10/man5/uuencode.5 b/static/v10/man5/uuencode.5
new file mode 100644
index 00000000..c016a021
--- /dev/null
+++ b/static/v10/man5/uuencode.5
@@ -0,0 +1,49 @@
+.TH UUENCODE 5 6/1/80
+.UC 4
+.SH NAME
+uuencode \- format of an encoded uuencode file
+.SH DESCRIPTION
+Files output by
+.I uuencode(1)
+consist of a header line,
+followed by a number of body lines,
+and a trailer line.
+.I Uudecode(1)
+will ignore any lines preceding the header or
+following the trailer.
+Lines preceding a header must not, of course,
+look like a header.
+.PP
+The header line is distinguished by having the first
+6 characters \*(lqbegin\ \*(rq.
+The word
+.I begin
+is followed by a mode (in octal),
+and a string which names the remote file.
+A space separates the three items in the header line.
+.PP
+The body consists of a number of lines, each at most 62 characters
+long (including the trailing newline).
+These consist of a character count,
+followed by encoded characters,
+followed by a newline.
+The character count is a single printing character,
+and represents an integer, the number of bytes
+the rest of the line represents.
+Such integers are always in the range from 0 to 63 and can
+be determined by subtracting the character space (octal 40)
+from the character.
+.PP
+Groups of 3 bytes are stored in 4 characters, 6 bits per character.
+All are offset by a space to make the characters printing.
+The last line may be shorter than the normal 45 bytes.
+If the size is not a multiple of 3, this fact can be determined
+by the value of the count on the last line.
+Extra garbage will be included to make the character count a multiple
+of 4.
+The body is terminated by a line with a count of zero.
+This line consists of one ASCII space.
+.PP
+The trailer line consists of \*(lqend\*(rq on a line by itself.
+.SH SEE\ ALSO
+uuencode(1), uusend(1), uucp(1), mail(1)
diff --git a/static/v10/man5/values.5 b/static/v10/man5/values.5
new file mode 100755
index 00000000..f842738f
--- /dev/null
+++ b/static/v10/man5/values.5
@@ -0,0 +1,84 @@
+.\"#ident "@(#)ccsman:g5/values 1.2"
+'\"macro stdmacro
+.nr X
+.if \nX=0 .ds x} VALUES 5 "630 MTG" "\&"
+.TH \*(x}
+.SH NAME
+values \- machine-dependent values
+.SH SYNOPSIS
+.B #include <ccs/values.h>
+.SH DESCRIPTION
+This file contains a set of manifest constants,
+conditionally defined for particular processor architectures.
+.P
+The model assumed for integers is two's complement binary,
+where the sign is represented by the value of the high-order bit.
+.P
+.TP 20
+.RI \s-1BITS\s0( type\^ )
+The number of bits in a specified type (e.g., int).
+.TP 20
+.SM
+HIBITS
+The value of a short integer with only the high-order bit set
+(0x8000).
+.TP 20
+.SM
+HIBITL
+The value of a long integer with only the high-order bit set
+(0x80000000).
+.TP 20
+.SM
+HIBITI
+The value of a regular integer with only the high-order bit set
+(the same as \s-1HIBITS\s0).
+.TP 20
+.SM
+MAXSHORT
+The maximum value of a signed short integer
+(0x7FFF \(== 32767).
+.TP 20
+.SM
+MAXLONG
+The maximum value of a signed long integer
+(0x7FFFFFFF \(== 2147483647).
+.TP 20
+.SM
+MAXINT
+The maximum value of a signed regular integer
+(the same as \s-1MAXSHORT\s0).
+.TP 30
+.SM
+MAXFLOAT, LN_MAXFLOAT
+The maximum value of a single-precision floating-point number,
+and its natural logarithm.
+.TP 30
+.SM
+MAXDOUBLE, LN_MAXDOUBLE
+The maximum value of a double-precision floating-point number,
+and its natural logarithm.
+.TP 30
+.SM
+MINFLOAT, LN_MINFLOAT
+The minimum positive value of a single-precision floating-point number,
+and its natural logarithm.
+.TP 30
+.SM
+MINDOUBLE, LN_MINDOUBLE
+The minimum positive value of a double-precision floating-point number,
+and its natural logarithm.
+.TP 20
+.SM
+FSIGNIF
+The number of significant bits in the mantissa of a single-precision
+floating-point number.
+.TP 20
+.SM
+DSIGNIF
+The number of significant bits in the mantissa of a double-precision
+floating-point number.
+.SH FILES
+$DMD/include/ccs/values.h
+.SH "SEE ALSO"
+math(5).
+.Ee
diff --git a/static/v10/man5/vfont.5 b/static/v10/man5/vfont.5
new file mode 100644
index 00000000..6c4a062e
--- /dev/null
+++ b/static/v10/man5/vfont.5
@@ -0,0 +1,88 @@
+.TH VFONT 5 2/26/79 5
+.UC
+.SH NAME
+vfont \- font formats for the Benson-Varian or Versatec
+.SH SYNOPSIS
+.B /usr/lib/vfont/\(**
+.SH DESCRIPTION
+The fonts for the printer/plotters have the following format.
+Each file contains a header, an array of 256 character description
+structures, and then the bit maps for the characters themselves.
+The header has the following format:
+.in +5
+.nf
+.sp
+.ta 8n +\w'unsigned short 'u
+struct header {
+ short magic;
+ unsigned short size;
+ short maxx;
+ short maxy;
+ short xtnd;
+} header;
+.fi
+.in -5
+.PP
+The
+.I magic
+number is 0436 (octal).
+The
+.I maxx,
+.I maxy,
+and
+.I xtnd
+fields are not used at the current time.
+.I Maxx
+and
+.I maxy
+are intended to be the maximum horizontal and vertical size of
+any glyph in the font, in raster lines.
+The
+.I size
+is the size of the
+bit maps for the characters in bytes.
+Before the maps for the characters is an array of 256 structures for
+each of the possible characters in the font.
+Each element of the array has the form:
+.in +5
+.nf
+.sp
+.ta 8n +\w'unsigned short 'u
+struct dispatch {
+ unsigned short addr;
+ short nbytes;
+ char up;
+ char down;
+ char left;
+ char right;
+ short width;
+};
+.fi
+.in -5
+.PP
+The
+.I nbytes
+field is nonzero for characters which actually exist.
+For such characters, the
+.I addr
+field is an offset into the rest of the file where the data for
+that character begins.
+There are
+.I up+down
+rows of data for each character,
+each of which has
+.I left+right
+bits, rounded up to a number of bytes.
+The
+.I width
+field is not used by vcat,
+although it is used by
+.IR vwidth (1)
+to make width tables for
+.IR troff .
+It represents the logical width of the glyph, in raster lines,
+and shows where the base point of the next glyph would be.
+.SH FILES
+/usr/lib/vfont/\(**
+.SH SEE ALSO
+troff(1), pti(1), vpr(1), vtroff(1), vwidth(1), vfontinfo(1), fed(1)
diff --git a/static/v10/man5/view2d.5 b/static/v10/man5/view2d.5
new file mode 100644
index 00000000..78aa3ddb
--- /dev/null
+++ b/static/v10/man5/view2d.5
@@ -0,0 +1,65 @@
+.TH VIEW2D 5
+.CT 1 graphics
+.SH NAME
+view2d \- movie of a function f(x, y, t)
+.SH DESCRIPTION
+Files of this format are produced by functions in
+.IR view2d (3),
+and displayed by commands in
+.IR view2d (1).
+A movie file consists of one or more frames,
+each consisting of a header and a sequence
+of 16-bit signed integer values for each
+pixel, scanned left to right and bottom to top.
+(Left-to-right is the inner loop.)
+.PP
+The header consists of the 32-bit magic number 0135246,
+then eight 16-bit integers:
+.TP
+.I VER
+The version number.
+.TP
+.I NX, NY
+The number of pixels in the frame.
+These may not vary from frame to frame.
+.TP
+.I u, v
+relate pixel values
+.I p
+in the file to user function values
+.I f
+by
+.IP
+.I p
+=
+.I u
+\+
+.if t .I f\^\(mu2\u\-v\d.
+.if n .IR f/ 2 **v.
+.TP
+.I FIXUV
+normally 0; 1 if
+.I u, v, PMIN, PMAX
+of first frame
+give a bound on the data in the entire file.
+.TP
+.I PMIN, PMAX
+limits of the data; only used when
+.IR FIXUV =1.
+.LP
+and finally a 16-byte
+.SM ASCII
+representation of a floating point value:
+.TP
+.I TIME
+is a frame index, typically set to simulated time or
+to an iteration counter.
+This need not be uniformly spaced from frame to frame,
+but should be nondecreasing.
+.PP
+The range of displayable pixel values is [\-32765,32765].
+Values below this range are deemed out of bounds
+and not plotted; values above are reserved.
+.SH "SEE ALSO"
+.IR view2d (1),
+.IR view2d (3)
diff --git a/static/v10/man5/whoami.5 b/static/v10/man5/whoami.5
new file mode 100644
index 00000000..6eec1959
--- /dev/null
+++ b/static/v10/man5/whoami.5
@@ -0,0 +1,14 @@
+.TH WHOAMI 5
+.CT 1 inst_info
+.SH NAME
+whoami \- computer name
+.SH DESCRIPTION
+The file
+.F /etc/whoami
+contains one line of information \- the name of the computer,
+as used in
+.IR mail (1)
+and
+.IR uucp (1).
+.SH FILES
+.F /etc/whoami
diff --git a/static/v10/man5/worm.5 b/static/v10/man5/worm.5
new file mode 100644
index 00000000..f5b7872c
--- /dev/null
+++ b/static/v10/man5/worm.5
@@ -0,0 +1,103 @@
+.TH WORM 5
+.CT 1 dirs
+.SH NAME
+worm \- format of worm disks
+.SH SYNOPSIS
+.B #include <worm.h>
+.SH DESCRIPTION
+A
+.SM WORM
+disk is a linked list of `superblocks', roughly one for every
+.I "worm write"
+on the
+.SM WORM.
+The `governing' superblock is at block zero if it exists and
+has a valid magic number;
+otherwise the governing superblock is the last superblock in
+the linked list starting at block 1.
+(The link to the next superblock is preallocated
+and thus the last superblock in the list will be unwritten.)
+Each superblock has some status information and a pointer
+to a set of `inodes' describing a set of files.
+The status information for the
+.SM WORM
+is that of the governing superblock;
+the set of files on the
+.SM WORM
+is the accumulation of all the superblocks
+taken in order.
+The structure of a superblock as given in the
+include file is:
+.LP
+.EX
+.ta \w'#define 'u +\w'unsigned 'u +\w'mment[128]; 'u
+#define SMAGIC 0x21746967
+#define VLINK 1 /* linked list superblock */
+#define VBTREE 2 /* cbt superblock */
+typedef struct superblock
+{
+ long magic; /* magic number for superblock */
+ unsigned short blocksize; /* physical size of blocks */
+ short version; /* type of superblock */
+ long nblocks; /* number of blocks on device */
+ long zero; /* first logical data block */
+ long nfree; /* number of free blocks */
+ long ninodes; /* number of inodes */
+ long ninochars; /* number of bytes of inode names */
+ long binodes; /* start of inodes */
+ long nextffree; /* next free file block */
+ long nextsb; /* next superblock */
+ short fd; /* fildes for device (in core) */
+ char vol_id[128]; /* name the disk can be mounted as */
+ char comment[128]; /* comments */
+ long myblock; /* where this superblock is */
+ long nF; /* bytes for .F (VBTREE) */
+ long nT; /* bytes for .T (VBTREE) */
+ long ctime; /* create time for this superblock */
+} superblock;
+.EE
+.PP
+superblocks are padded with zeros to
+.BR blocksize .
+.PP
+Following each
+.B VLINK
+superblock is a set of inodes, a string table, and then the data blocks
+for the files described by the inodes.
+Following a (there is at most one)
+.B VBTREE
+superblock
+there is a set of inodes, a string table and the
+.B .F
+and
+.B .T
+files for a
+.IR cbt (1)
+database where the keys are filenames and the data is an inode number.
+.LP
+.EX
+#define DMAGIC 0x3A746967
+typedef struct Inode
+{
+ long magic; /* magic number for Dirent */
+ long block; /* starting block of file */
+ long nbytes; /* bytes in file */
+ long ctime; /* creation time */
+ union {
+ char *n; /* core - name */
+ long o; /* disk - offset into chars block */
+ } name; /* filename */
+ long pad1 /* to 32 bytes */
+ short mode /* as in \fIstat\fP(2) */
+ short uid /* owner */
+ short gid /* owner */
+ short pad2 /* to 32 bytes */
+} Inode
+.EE
+.PP
+If the
+.B block
+field of an inode is negative,
+the file has been deleted.
+.SH "SEE ALSO"
+.IR worm (8)
diff --git a/static/v10/man5/wtmp.5 b/static/v10/man5/wtmp.5
new file mode 100644
index 00000000..5e840a6c
--- /dev/null
+++ b/static/v10/man5/wtmp.5
@@ -0,0 +1,21 @@
+.pa 1
+.he 'WTMP (V)'3/15/72'WTMP (V)'
+.ti 0
+NAME /tmp/wtmp -- user login history
+.sp
+.ti 0
+DESCRIPTION This
+file records all logins and logouts.
+Its format is exactly like utmp(V) except that
+a null user name indicates a logout on the associated
+typewriter, and the typewriter name 'x' indicates
+that UNIX was rebooted at that point.
+
+Wtmp is maintained by login(I) and init(VII).
+Neither of these programs creates the file,
+so if it is removed record-keeping is turned off.
+
+This file resides in directory /tmp.
+.sp
+.ti 0
+SEE ALSO init(VII), login(I), acct(VIII), swtmp(VIII)