diff options
| author | Charles.Forsyth <devnull@localhost> | 2007-06-14 14:10:50 +0000 |
|---|---|---|
| committer | Charles.Forsyth <devnull@localhost> | 2007-06-14 14:10:50 +0000 |
| commit | 150ed664169adc7de05ac8c4fdcf87a0987bc372 (patch) | |
| tree | 0aff34048f1f67f6e45c9ae0374abbba7f3543fe /man/lib | |
| parent | 36d90ed95f4c8a9bd69f7c664696a5986cbafcc7 (diff) | |
20070614-1508 initial vac things, man/lib
Diffstat (limited to 'man/lib')
| -rw-r--r-- | man/lib/checkman.awk | 187 | ||||
| -rw-r--r-- | man/lib/colophon | 26 | ||||
| -rw-r--r-- | man/lib/lookman/junkwords | 509 | ||||
| -rwxr-xr-x | man/lib/lookman/mkindex | 13 | ||||
| -rw-r--r-- | man/lib/notes | 10 | ||||
| -rw-r--r-- | man/lib/preface | 73 | ||||
| -rwxr-xr-x | man/lib/secindex | 43 | ||||
| -rw-r--r-- | man/lib/title | 77 | ||||
| -rw-r--r-- | man/lib/trademarks | 46 |
9 files changed, 984 insertions, 0 deletions
diff --git a/man/lib/checkman.awk b/man/lib/checkman.awk new file mode 100644 index 00000000..ea17e8d6 --- /dev/null +++ b/man/lib/checkman.awk @@ -0,0 +1,187 @@ +# Usage: awk -f checkman.awk man?/*.? +# +# Checks: +# - .TH is first line, and has proper name section number +# - sections are in order NAME, SYNOPSIS, DESCRIPTION, EXAMPLES, +# FILES, SOURCE, SEE ALSO, DIAGNOSTICS, BUGS +# - there's a manual page for each cross-referenced page + +BEGIN { + +# .SH sections should come in the following order + + Weight["NAME"] = 1 + Weight["SYNOPSIS"] = 2 + Weight["DESCRIPTION"] = 4 + Weight["EXAMPLE"] = 8 + Weight["EXAMPLES"] = 16 + Weight["FILES"] = 32 + Weight["SOURCE"] = 64 + Weight["SEE ALSO"] = 128 + Weight["DIAGNOSTICS"] = 256 + Weight["SYSTEM CALLS"] = 512 + Weight["BUGS"] = 1024 +} + +FNR==1 { + n = length(FILENAME) + seclen = 0 + if (substr(FILENAME, 2, 1) == "/") + seclen = 1 + else if (substr(FILENAME, 3, 1) == "/") + seclen = 2 + if(seclen == 0) + print "FILENAME", FILENAME, "not of form [0-9][0-9]?/*" + else if(!(substr(FILENAME, seclen+2, n-seclen-1) ~ /^[A-Z]+$/)){ + section = substr(FILENAME, 1, seclen) + name = substr(FILENAME, seclen+2, n-seclen-1) + if($1 != ".TH" || NF != 3) + print "First line of", FILENAME, "not a proper .TH" + else if($2 != toupper(name) || substr($3, 1, seclen) != section){ + if($2!="INTRO" || name!="0intro") + print ".TH of", FILENAME, "doesn't match filename" + }else + Pages[section "/" $2] = 1 + } + Sh = 0 + } + +$1 == ".SH" { + if(inex) + print "Unterminated .EX in", FILENAME, ":", $0 + inex = 0; + if (substr($2, 1, 1) == "\"") { + if (NF == 2) { + print "Unneeded quote in", FILENAME, ":", $0 + $2 = substr($2, 2, length($2)-2) + } else if (NF == 3) { + $2 = substr($2, 2) substr($3, 1, length($3)-1) + NF = 2 + } + } + w = Weight[$2] + if (w) { + if (w < Sh) + print "Heading", $2, "out of order in", FILENAME + Sh += w + } +} + +$1 == ".EX" { + if(inex) + print "Nested .EX in", FILENAME, ":", $0 + inex = 1 +} + +$1 == ".EE" { + if(!inex) + print "Bad .EE in", FILENAME, ":", $0 + inex = 0; +} + +$0 ~ /^\..*\([0-9]\)/ { + if ($1 == ".IR" && $3 ~ /\([0-9]\)/) { + name = $2 + section = $3 + }else if ($1 == ".RI" && $2 == "(" && $4 ~ /\([0-9]\)/) { + name = $3 + section = $4 + }else if ($1 == ".IR" && $3 ~ /9.\([0-9]\)/) { + name = $2 + section = "9" + }else if ($1 == ".RI" && $2 == "(" && $4 ~ /9.\([0-9]\)/) { + name = $3 + section = "9" + } else { + print "Possible bad cross-reference format in", FILENAME + print $0 + next + } + gsub(/[^0-9]/, "", section) + Refs[section "/" toupper(name)]++ +} + +END { + print "Checking Cross-Referenced Pages" + for (i in Refs) { + if (!(i in Pages)) + print "Need", tolower(i) + } + print "" + print "Checking commands" + getindex("/usr/inferno/doc/man/1") + getindex("/usr/inferno/doc/man/8") + Skipdirs["lib"] = 1 + getbinlist("/usr/inferno/dis") + for (i in List) { + if (!(i in Index)) + print "Need", i, "(in " List[i] ")" + } + clearindex() + clearlist() + print "" + print "Checking libraries" + getindex("/usr/inferno/doc/man/2") + getbinlist("/usr/inferno/dis/lib") + for (i in List) { + if (!(i in Index)) + print "Need", i, "(in " List[i] ")" + } +} + +func getindex(dir, fname) +{ + fname = dir "/INDEX" + while ((getline < fname) > 0) + Index[$1] = dir + close(fname) +} + +func getindex9(dir, fname) +{ + fname = dir "/INDEX" + while ((getline < fname) > 0) + if($2 ~ "(getflags|picopen|getcmap)") + Index[$1] = dir + close(fname) +} + +func getbinlist(dir, cmd, subdirs, nsd) +{ + cmd = "ls -p -l " dir + nsd = 0 + while (cmd | getline) { + if ($1 ~ /^d/) { + if (!($10 in Skipdirs)) + subdirs[++nsd] = $10 + } else { + sub(".dis", "", $10) + List[$10] = dir + } + } + for ( ; nsd > 0 ; nsd--) + getbinlist(dir "/" subdirs[nsd]) + close(cmd) +} + +func getnmlist(lib, cmd) +{ + cmd = "nm -g -h " lib + while (cmd | getline) { + if (($1 == "T" || $1 == "L") && $2 !~ "^_") + List[$2] = lib + } + close(cmd) +} + +func clearindex( i) +{ + for (i in Index) + delete Index[i] +} + +func clearlist( i) +{ + for (i in List) + delete List[i] +} diff --git a/man/lib/colophon b/man/lib/colophon new file mode 100644 index 00000000..ac7180e8 --- /dev/null +++ b/man/lib/colophon @@ -0,0 +1,26 @@ +.sp |3i +.vs 12 +.ll 5.1i +.in |0.4i +.fp 1 R LucidaSans +.ft 1 +.fi +This book was typeset by the authors using +.sp +.ft CW +.ps -1 +.ce +eqn | tbl | troff -mpm | lp -d stdout | cropmarks +.ps +1 +.ft R +.sp +The input text was characters from the Unicode Standard encoded in UTF-8. +.sp +The fonts used were Lucida Sans, +in a special version incorporating over 1700 characters from the Unicode Standard, +along with Lucida Sans Italic, +Lucida Sans DemiBold, and +Lucida Typewriter, +designed by Bigelow & Holmes, Atherton, California. +The hinted Adobe Type 1 representation of the fonts was +provided by Y&Y Inc., 45 Walden Street, Concord, MA, 01742, USA. diff --git a/man/lib/lookman/junkwords b/man/lib/lookman/junkwords new file mode 100644 index 00000000..a0e8c6d4 --- /dev/null +++ b/man/lib/lookman/junkwords @@ -0,0 +1,509 @@ + +a +about +above +according +across +act +action +after +again +against +ago +air +all +allowed +almost +along +already +also +although +always +american +among +an +and +another +any +anything +appear +appears +appropriate +are +area +areas +argument +arguments +around +as +asked +associated +at +available +away +b +back +be +became +because +become +been +before +began +begin +beginning +begins +behind +being +below +best +better +between +big +board +body +both +boy +brought +business +but +by +c +call +called +calls +came +can +cannot +car +case +cause +causes +certain +change +changed +changes +changing +children +church +city +close +college +come +command +commands +community +company +contain +containing +contents +corresponding +could +country +course +court +currently +d +day +days +death +depending +description +development +did +didnt +different +do +does +doesnt +done +dont +door +down +during +e +each +early +economic +effect +either +element +elements +else +empty +encountered +end +enough +even +ever +every +example +examples +experience +eyes +f +face +fact +family +far +federal +feet +felt +few +field +find +first +five +followed +following +follows +for +force +form +found +four +free +from +function +functions +g +gave +general +get +give +given +gives +giving +go +god +going +good +got +government +great +group +h +had +half +hand +hands +has +have +having +he +head +heard +held +help +her +here +high +him +himself +his +history +home +house +how +however +human +i +if +ignored +im +immediately +implemented +important +in +including +individual +information +initial +instead +interest +interpreted +into +is +it +its +itself +j +job +john +just +k +keep +kind +knew +know +known +l +large +last +later +law +least +left +less +let +life +light +like +line +little +local +long +look +looked +love +m +made +major +make +makes +making +man +many +marked +matter +may +me +meaning +means +members +men +might +mind +miss +moment +money +more +most +mr +mrs +much +multiple +must +my +n +name +named +national +need +never +new +next +night +no +nonzero +normal +normally +not +nothing +now +number +numbers +o +of +off +office +often +old +on +once +one +only +open +or +order +other +others +otherwise +our +out +over +own +p +part +passed +past +people +per +perhaps +period +place +placed +point +political +position +possible +power +preceded +present +president +previous +probably +problem +problems +program +public +put +q +question +quite +r +rather +really +reason +represented +respectively +result +right +room +s +said +same +saw +say +school +second +see +seemed +seems +seen +sense +separate +separated +sequence +service +set +sets +several +shall +she +should +show +side +simple +since +single +small +so +social +society +some +something +south +special +specified +start +starting +state +states +still +street +study +subsequent +such +supplied +sure +synopsis +system +t +take +taken +tell +terminated +terminating +than +that +the +their +them +themselves +then +there +these +they +thing +things +think +this +those +though +thought +three +through +thus +to +today +together +told +too +took +top +toward +trailing +treated +true +turn +turned +two +u +under +united +until +up +upon +us +use +used +useful +uses +usually +v +very +w +want +war +was +water +way +we +week +well +went +were +west +what +when +where +whether +which +while +white +who +whole +whose +why +will +with +within +without +word +words +work +world +would +x +y +year +years +yet +york +you +young +your +z +zero +zeros diff --git a/man/lib/lookman/mkindex b/man/lib/lookman/mkindex new file mode 100755 index 00000000..45c48d74 --- /dev/null +++ b/man/lib/lookman/mkindex @@ -0,0 +1,13 @@ +#!/bin/rc +# creates the index used by lookman +>index +for(i in /usr/inferno/man/[0-9]*/[a-z0-9:]*){ + p=`{echo $i | sed 's@/usr/inferno(/man/.*)$@\1@'} + deroff -w < $i | + tr 'A-Z' 'a-z' | + sort -u | + comm -23 - junkwords | + sed 's@$@ '$p'@' >>index # stick file name on end of line +} +sort -o index index +mv index /usr/inferno/man/index diff --git a/man/lib/notes b/man/lib/notes new file mode 100644 index 00000000..5ea602d9 --- /dev/null +++ b/man/lib/notes @@ -0,0 +1,10 @@ +.fp 1 R LucidaSans +.ft 1 +.ps 20 +.sp |0.5i +.ce +Notes +.bp +.sp |0.5i +.ce +Notes diff --git a/man/lib/preface b/man/lib/preface new file mode 100644 index 00000000..a49bc721 --- /dev/null +++ b/man/lib/preface @@ -0,0 +1,73 @@ +.FP lucidasans +.nr PS -1 +.nr VS -1 +.TL +Preface +.SP 0.4i exactly +.LP +Inferno benefits from the results of many years of systems research +at the Computing Science Research Center at Lucent Technologies, Bell Labs. +The system is clearly a cultural descendent of the earliest Unix systems, +and amongst Inferno's inventors, listed below, are several venerable programmers +associated with the development of Unix. +Inferno looks out on a very different world from Unix: complexity is no longer +confined to large mainframes, but has sprawled +across world wide networks, trapping programmers in its web. +.LP +Inferno tackles this as radically now as Unix did then. +First, it adopts key ideas from the system Plan 9, also from Bell Labs: +.IP \(bu +Replace a plethora of protocols by a simple, unifying file service protocol (Styx), +that can be served even by tiny devices, giving a uniform +way to access objects throughout the network. +.IP \(bu +Let applications `compute a name space': all resources are represented +as file systems, which an application assembles into an application-specific +hierarchy or `name space', private or shared, that hides their source (local or remote) +and nature (static or dynamic), for completely transparent access. +.IP \(bu +Using those primitives, implement windowing systems, networked graphics, remote debugging, +device control, and much more, with remarkable ease +and great simplicity. +.LP +Inferno carries Plan 9's ideas further. +Plan 9 virtualised resources; Inferno virtualises the whole system. +The operating system kernel can run both native and `hosted' on a range +of platforms presenting identical interfaces on all, offering wider portability. +The Limbo programming language offers proper concurrent programming, +and straightforward yet dynamic modularity. +The Dis virtual machine allows applications to cross architecture boundaries +invisibly during execution. +Inferno shows the `continued appliance of computer science'. +.LP +The original development team at Bell Labs was +Sean Dorward, Rob Pike and Phil Winterbottom, +with Eric Grosse, Jim McKie, Dave Presotto, +Dennis Ritchie, Ken Thompson and Howard Trickey. +Many others have contributed much since then, both within Lucent and without. +.LP +Inferno® is now a supported, commercial product of Vita Nuova. +The Third Edition of the Programmer's manual marked that event. +The Fourth Edition brings many changes in content, but also makes the full +source available as Free Software under a new `dual licence' scheme. +.LP +.sp +.in 4i +.nf +.ft I +.ce 100 +Dave Atkin +John Bates +Danny Byrne +John Firth +Charles Forsyth +Michael Jeffrey +Chris Locke +Roger Peppé +Nigel Roles +.sp +Vita Nuova +.br +June 2003 +.ce 0 +.in -4i diff --git a/man/lib/secindex b/man/lib/secindex new file mode 100755 index 00000000..060e7a6a --- /dev/null +++ b/man/lib/secindex @@ -0,0 +1,43 @@ +#!/bin/rc +U='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +L='abcdefghijklmnopqrstuvwxyz' +builtin cd $1 +for (i in [a-z0-9:]*) { + sed -n ' + /SH *NAM/,/SH/{ + /SH/d + s/, *$// + ty + :y + s/ *\\*-.*// + tx + s/ *\\\(mi.*// + tx + s/[,:] */\ +/g + s/\n\\n/\ +/g + y/'$U'/'$L'/ + s/\n/ '$i'&/g + s/$/ '$i'/ + p + } + /SH *DES/q + d + :x + s/ *\\*-.*// + s/ *\\\(mi.*// + /^$/d + s/[,:] */\ +/g + s/\n\n/\ +/g + y/'$U'/'$L'/ + s/\n/ '$i'&/g + s/(.|\n)*$/& '$i'/ + p + q +' $i +kw=`{echo $i | sed 's/0intro/intro/'} +echo $kw $i +} | sort -u diff --git a/man/lib/title b/man/lib/title new file mode 100644 index 00000000..f9b2f6ec --- /dev/null +++ b/man/lib/title @@ -0,0 +1,77 @@ +.fp 1 R LucidaSans +.fp 2 I LucidaSansI +.ps36 +.sp |2i +.ce +Inferno\s36\u\s8\u™ +.sp |3.275i +.ps24 +.ce +Programmer's Manual +.sp .3i +.ce +Volume 1 +.ps12 +.sp |4.8i +.ft I +.ce +Fourth Edition +.sp |7.6i +.ce +Vita Nuova Holdings Limited +.ce +3 Innovation Close +.ce +York Science Park +.ce +University Road +.ce +York YO10 5ZF +.ce +England +.bp +.ft R +\" .ll 5.5i +\" .in .5i +.hy 0 +.vs 10p +.ps 10 +.sp |1i +.nf +Published by Vita Nuova Holdings Limited, +3 Innovation Close, +York Science Park, +University Road, +York YO10 5ZF, +England +.sp 3 +.ps 8 +Copyright © 1995-1999 Lucent Technologies Inc. All Rights Reserved. +Portions Copyright © 1999-2005 Vita Nuova Holdings Limited. All Rights Reserved. +Portions of Section 9 are derived from works which themselves are +Copyright © 1990 The Regents of the University of California, and +Copyright © 1994-1996 Sun Microsystems, Inc. +subject to the terms described in the copyright notice in Section 9. +.ps 10 +.sp 3 +All rights reserved; no part of this publication may be reproduced, +stored in a retrieval system or transmitted in any form or by any means, +electronic, mechanical, photocopying, recording or otherwise without +the prior written permission of the publishers. +.sp 3 +First published 2000. This edition published 2005. +.sp 3 +.ig +ISBN for complete set of 2 volumes: 0 9538701 0 3 +.br +ISBN for this volume: 0 9538701 1 1 +.sp 3 +.ft I +Printed in Great Britain by +William Clowes, +Beccles, +Suffolk NR34 9QE, +England. +.ft R +.sp 3 +Cover Design: Jeff Parker diff --git a/man/lib/trademarks b/man/lib/trademarks new file mode 100644 index 00000000..efa19bb0 --- /dev/null +++ b/man/lib/trademarks @@ -0,0 +1,46 @@ +.sp |2i +.vs 12 +.fp 1 R LucidaSans +.ft 1 +.fi +Trademarks referenced in this document: +.sp 2 +.ps -1 +.vs -1 +.nf +Inferno, Dis, Styx and Limbo are registered trademarks of Vita Nuova Holdings Limited + in the United States and other countries. +68020 and 68040 are trademarks of Motorola. +AMD is a trade mark of Advanced Micro Devices. +ARM is a trade mark of Advanced Risc Machines, Limited. +DSP3210 is a trade mark of AT&T. +Aladdin Ghostscript is a trademark of Aladdin Enterprises. +CGA is a trademark of International Business Machines Corporation. +Challenge, Indigo\s-2\u2\d\s0, Indy, and POWER Series are trademarks of Silicon Graphics, Inc. +Ethernet is a trademark of Xerox Corporation. +IBM, PS/2, and VGA are registered trademarks of International Business Machines Corporation. +IDEA is a trademark of Ascom-Tech AG. +Intel, i386, 960, 8088, 80286, 80386, 80486, and Pentium are trademarks of Intel Corporation. +Java is a trademark and Sun is a registered trademark of Sun Microsystems Inc. +Lucida and Pellucida are registered trademarks of Bigelow & Holmes. +MIPS and R3000 are registered trademarks of MIPS Technologies, Inc. +Microsoft is a registered trademark of Microsoft Corporation. +Windows, Windows NT and MS-DOS are registered trademarks of Microsoft Corporation + in the United States and other countries. +NFS is a registered trademark of Sun Microsystems, Inc. +PDP and VAX are registered trademarks of Digital Equipment Corp. +Plan 9 is a trademark of Lucent Technologies Inc. +PostScript is a registered trademark of Adobe Systems Incorporated. +ProPhone is a registered trademark of Prolink Corporation. +R2000, R6000, R4000, and R4400 are trademarks of MIPS Technologies, Inc. +RC4 is a registered trademark of RSA Security Inc. +SecureNet is a registered trademark of Digital Pathways, Inc. +Silicon Graphics, IRIS Indigo, IRIS, and IRIX are registered trademarks of Silicon Graphics, Inc. +Sound Blaster is a registered trademark of Creative Labs, Inc. +SPARC is a registered trademark of SPARC International, Inc. +StrongARM is a registered trademark of Advanced RISC Machines, Ltd. +ThinkJet is a registered trademark of the Hewlett-Packard Company. +Unicode is a registered trademark of Unicode, Inc. +UNIX is a registered trademark of The Open Group. +.ps +.vs |
