diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 21:07:28 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 21:07:28 -0400 |
| commit | 711594636704defae873be1a355a292505585afd (patch) | |
| tree | 59ee13f863830d8beba6cfd02bbe813dd486c26f /static/v10/man5 | |
| parent | 3258a063c1f189d7b019e40e525b46bef9b9a7b1 (diff) | |
docs: Added UNIX V10 Manuals
Diffstat (limited to 'static/v10/man5')
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 Binary files differnew file mode 100644 index 00000000..55f6fa4b --- /dev/null +++ b/static/v10/man5/saf.10.5 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) |
