BSD 4_1_snap development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 3 Apr 1981 07:31:36 +0000 (23:31 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Fri, 3 Apr 1981 07:31:36 +0000 (23:31 -0800)
Work on file usr/man/man1/echo.1
Work on file usr/man/man1/edit.1
Work on file usr/man/man1/ed.1
Work on file usr/man/man1/diffdir.1
Work on file usr/man/man1/diffh.1
Work on file usr/man/man1/ex.1
Work on file usr/man/man1/enroll.1
Work on file usr/man/man1/expand.1
Work on file usr/man/man1/efl.1
Work on file usr/man/man1/error.1
Work on file usr/man/man1/eqn.1
Work on file usr/man/man1/egrep.1
Work on file usr/man/man1/expr.1
Work on file usr/man/man1/explain.1
Work on file usr/man/man1/eyacc.1
Work on file usr/man/man1/false.1
Work on file usr/man/man1/file.1
Work on file usr/man/man1/fgrep.1
Work on file usr/man/man1/finger.1
Work on file usr/man/man1/fmt.1
Work on file usr/man/man1/from.1
Work on file usr/man/man1/fold.1
Work on file usr/man/man1/find.1
Work on file usr/man/man1/iostat.1
Work on file usr/man/man1/grep.1
Work on file usr/man/man1/gets.1
Work on file usr/man/man1/graph.1g
Work on file usr/man/man1/join.1
Work on file usr/man/man1/head.1
Work on file usr/man/man1/iul.1
Work on file usr/man/man1/intro.1
Work on file usr/man/man1/ld.1
Work on file usr/man/man1/lastcomm.1
Work on file usr/man/man1/kill.1
Work on file usr/man/man1/learn.1
Work on file usr/man/man1/leave.1
Work on file usr/man/man1/lex.1
Work on file usr/man/man1/look.1
Work on file usr/man/man1/login.1
Work on file usr/man/man1/lock.1
Work on file usr/man/man1/lisp.1
Work on file usr/man/man1/lorder.1
Work on file usr/man/man1/ln.1
Work on file usr/man/man1/lint.1
Work on file usr/man/man1/lookbib.1
Work on file usr/man/man1/ls.1
Work on file usr/man/man1/lprm.1
Work on file usr/man/man1/lpr.1
Work on file usr/man/man1/lpq.1
Work on file usr/man/man1/mail.1
Work on file usr/man/man1/lxref.1
Work on file usr/man/man1/man.1
Work on file usr/man/man1/make.1
Work on file usr/man/man1/m4.1
Work on file usr/man/man1/mkstr.1
Work on file usr/man/man1/mkdir.1
Work on file usr/man/man1/mesg.1
Work on file usr/man/man1/mv.1
Work on file usr/man/man1/msgs.1
Work on file usr/man/man1/neqn.1
Work on file usr/man/man1/net.1
Work on file usr/man/man1/netlpr.1
Work on file usr/man/man1/netlog.1
Work on file usr/man/man1/netlogin.1
Work on file usr/man/man1/netmail.1
Work on file usr/man/man1/netcp.1
Work on file usr/man/man1/netq.1
Work on file usr/man/man1/nettroff.1
Work on file usr/man/man1/newaliases.1
Work on file usr/man/man1/netrm.1
Work on file usr/man/man1/nice.1
Work on file usr/man/man1/nm.1
Work on file usr/man/man1/nroff.1
Work on file usr/man/man1/newcsh.1
Work on file usr/man/man1/newgrp.1
Work on file usr/man/man1/num.1
Work on file usr/man/man1/passwd.1
Work on file usr/man/man1/page.1
Work on file usr/man/man1/pc.1
Work on file usr/man/man1/pi.1
Work on file usr/man/man1/pix.1
Work on file usr/man/man1/plot.1g
Work on file usr/man/man1/prmail.1
Work on file usr/man/man1/pr.1
Work on file usr/man/man1/print.1
Work on file usr/man/man1/printenv.1
Work on file usr/man/man1/prof.1
Work on file usr/man/man1/pti.1
Work on file usr/man/man1/px.1
Work on file usr/man/man1/ptx.1
Work on file usr/man/man1/pwd.1
Work on file usr/man/man1/pxp.1
Work on file usr/man/man1/pxref.1
Work on file usr/man/man1/ranlib.1
Work on file usr/man/man1/ratfor.1
Work on file usr/man/man1/refer.1
Work on file usr/man/man1/rmdir.1
Work on file usr/man/man1/rev.1
Work on file usr/man/man1/reset.1
Work on file usr/man/man1/rm.1
Work on file usr/man/man1/script.1
Work on file usr/man/man1/sdb.1
Work on file usr/man/man1/sed.1
Work on file usr/man/man1/see.1
Work on file usr/man/man1/size.1
Work on file usr/man/man1/soelim.1
Work on file usr/man/man1/sleep.1
Work on file usr/man/man1/sort.1
Work on file usr/man/man1/split.1
Work on file usr/man/man1/spline.1g
Work on file usr/man/man1/spell.1
Work on file usr/man/man1/strings.1
Work on file usr/man/man1/strip.1
Work on file usr/man/man1/struct.1
Work on file usr/man/man1/ssp.1
Work on file usr/man/man1/su.1
Work on file usr/man/man1/style.1
Work on file usr/man/man1/sum.1
Work on file usr/man/man1/tbl.1
Work on file usr/man/man1/tail.1
Work on file usr/man/man1/symorder.1
Work on file usr/man/man1/tc.1
Work on file usr/man/man1/time.1
Work on file usr/man/man1/tp.1
Work on file usr/man/man1/tk.1
Work on file usr/man/man1/tee.1
Work on file usr/man/man1/touch.1
Work on file usr/man/man1/test.1
Work on file usr/man/man1/tr.1
Work on file usr/man/man1/troff.1
Work on file usr/man/man1/true.1
Work on file usr/man/man1/trman.1
Work on file usr/man/man1/tra.1
Work on file usr/man/man1/uniq.1
Work on file usr/man/man1/ul.1
Work on file usr/man/man1/tty.1
Work on file usr/man/man1/units.1
Work on file usr/man/man1/uncompact.1
Work on file usr/man/man1/uptime.1
Work on file usr/man/man1/tset.1
Work on file usr/man/man1/tsort.1
Work on file usr/man/man1/users.1
Work on file usr/man/man1/uudiff.1c
Work on file usr/man/man1/uucp.1c
Work on file usr/man/man1/uuclean.1c
Work on file usr/man/man1/uuencode.1c
Work on file usr/man/man1/uusend.1c
Work on file usr/man/man1/vfontinfo.1
Work on file usr/man/man1/uulog.1c
Work on file usr/man/man1/vpq.1
Work on file usr/man/man1/vi.1
Work on file usr/man/man1/vprm.1
Work on file usr/man/man1/vpr.1
Work on file usr/man/man1/vprint.1
Work on file usr/man/man1/wc.1
Work on file usr/man/man1/wait.1
Work on file usr/man/man1/whereis.1
Work on file usr/man/man1/whatis.1
Work on file usr/man/man1/w.1
Work on file usr/man/man1/wall.1
Work on file usr/man/man1/which.1
Work on file usr/man/man1/xsend.1
Work on file usr/man/man1/xget.1
Work on file usr/man/man1/who.1
Work on file usr/man/man1/whoami.1
Work on file usr/man/man1/xstr.1
Work on file usr/man/man1/write.1
Work on file usr/man/man1/yes.1
Work on file usr/man/man2/access.2
Work on file usr/man/man2/chdir.2
Work on file usr/man/man2/acct.2
Work on file usr/man/man2/brk.2
Work on file usr/man/man2/alarm.2
Work on file usr/man/man2/close.2
Work on file usr/man/man2/dup.2
Work on file usr/man/man2/creat.2
Work on file usr/man/man2/chown.2
Work on file usr/man/man2/getuid.2
Work on file usr/man/man2/fork.2
Work on file usr/man/man2/exit.2
Work on file usr/man/man2/getpid.2
Work on file usr/man/man2/indir.2
Work on file usr/man/man2/getpgrp.2j
Work on file usr/man/man2/intro.2
Work on file usr/man/man2/ioctl.2
Work on file usr/man/man2/link.2
Work on file usr/man/man2/lseek.2
Work on file usr/man/man2/mknod.2
Work on file usr/man/man2/mount.2
Work on file usr/man/man2/killpg.2j
Work on file usr/man/man2/mpx.2
Work on file usr/man/man2/pause.2
Work on file usr/man/man2/open.2
Work on file usr/man/man2/ptrace.2
Work on file usr/man/man2/read.2
Work on file usr/man/man2/profil.2
Work on file usr/man/man2/pipe.2
Work on file usr/man/man2/setpgrp.2j
Work on file usr/man/man2/setuid.2
Work on file usr/man/man2/reboot.2v
Work on file usr/man/man2/stime.2
Work on file usr/man/man2/signal.2
Work on file usr/man/man2/stty.2
Work on file usr/man/man2/time.2
Work on file usr/man/man2/sync.2
Work on file usr/man/man2/syscall.2
Work on file usr/man/man2/times.2
Work on file usr/man/man2/utime.2
Work on file usr/man/man2/vadvise.2v
Work on file usr/man/man2/unlink.2
Work on file usr/man/man2/umask.2
Work on file usr/man/man2/vread.2v
Work on file usr/man/man2/vhangup.2v
Work on file usr/man/man2/vtimes.2v
Work on file usr/man/man2/vwrite.2v
Work on file usr/man/man2/vswapon.2v
Work on file usr/man/man2/write.2
Work on file usr/man/man2/wait3.2j
Work on file usr/man/man2/wait.2
Work on file usr/man/man3/atof.3
Work on file usr/man/man3/abort.3
Work on file usr/man/man3/abs.3
Work on file usr/man/man3/assert.3x
Work on file usr/man/man3/crypt.3
Work on file usr/man/man3/ctype.3
Work on file usr/man/man3/ctime.3
Work on file usr/man/man3/exp.3m
Work on file usr/man/man3/dbm.3x
Work on file usr/man/man3/ecvt.3
Work on file usr/man/man3/end.3
Work on file usr/man/man3/ferror.3s
Work on file usr/man/man3/frexp.3
Work on file usr/man/man3/fread.3s
Work on file usr/man/man3/floor.3m
Work on file usr/man/man3/fclose.3s
Work on file usr/man/man3/getc.3s
Work on file usr/man/man3/fseek.3s
Work on file usr/man/man3/getarg.3f
Work on file usr/man/man3/gamma.3m
Work on file usr/man/man3/getenv.3
Work on file usr/man/man3/getlogin.3
Work on file usr/man/man3/getpw.3
Work on file usr/man/man3/getgrent.3
Work on file usr/man/man3/getfsent.3
Work on file usr/man/man3/getpass.3
Work on file usr/man/man3/gets.3s
Work on file usr/man/man3/j0.3m
Work on file usr/man/man3/getpwent.3
Work on file usr/man/man3/intro.3
Work on file usr/man/man3/hypot.3m
Work on file usr/man/man3/l3tol.3
Work on file usr/man/man3/mktemp.3
Work on file usr/man/man3/malloc.3
Work on file usr/man/man3/nlist.3
Work on file usr/man/man3/perror.3
Work on file usr/man/man3/monitor.3
Work on file usr/man/man3/jobs.3j
Work on file usr/man/man3/puts.3s
Work on file usr/man/man3/regex.3
Work on file usr/man/man3/popen.3s
Work on file usr/man/man3/plot.3x
Work on file usr/man/man3/rand.3
Work on file usr/man/man3/putc.3s
Work on file usr/man/man3/qsort.3
Work on file usr/man/man3/sin.3m
Work on file usr/man/man3/setbuf.3s
Work on file usr/man/man3/scanf.3s
Work on file usr/man/man3/signal.3
Work on file usr/man/man3/setjmp.3
Work on file usr/man/man3/sigset.3
Work on file usr/man/man3/swab.3
Work on file usr/man/man3/sinh.3m
Work on file usr/man/man3/sleep.3
Work on file usr/man/man3/system.3
Work on file usr/man/man3/stdio.3s
Work on file usr/man/man3/string.3
Work on file usr/man/man3/termcap.3
Work on file usr/man/man3/ungetc.3s
Work on file usr/man/man3/ttyname.3
Work on file usr/man/man3/termlib.3
Work on file usr/man/man3/varargs.3
Work on file usr/man/man3/valloc.3
Work on file usr/man/man4/cons.4
Work on file usr/man/man4/lp.4
Work on file usr/man/man4/mail.4
Work on file usr/man/man4/intro.4
Work on file usr/man/man4/kmem.4
Work on file usr/man/man4/rv.4
Work on file usr/man/man4/null.4
Work on file usr/man/man4/newtty.4
Work on file usr/man/man4/va.4
Work on file usr/man/man5/acct.5
Work on file usr/man/man5/a.out.5
Work on file usr/man/man5/aliases.5
Work on file usr/man/man5/ar.5
Work on file usr/man/man5/core.5
Work on file usr/man/man5/dir.5
Work on file usr/man/man5/dump.5
Work on file usr/man/man5/environ.5
Work on file usr/man/man5/filsys.5
Work on file usr/man/man5/group.5
Work on file usr/man/man5/fstab.5
Work on file usr/man/man5/mpxio.5
Work on file usr/man/man5/mtab.5
Work on file usr/man/man5/passwd.5
Work on file usr/man/man5/plot.5
Work on file usr/man/man5/stab.5
Work on file usr/man/man5/ttys.5
Work on file usr/man/man5/termcap.5
Work on file usr/man/man5/tp.5
Work on file usr/man/man5/types.5
Work on file usr/man/man5/ttytype.5
Work on file usr/man/man5/vfont.5
Work on file usr/man/man5/uuencode.5
Work on file usr/man/man5/utmp.5
Work on file usr/man/man5/wtmp.5
Work on file usr/man/man6/aliens.6
Work on file usr/man/man6/aardvark.6
Work on file usr/man/man6/banner.6
Work on file usr/man/man6/arithmetic.6
Work on file usr/man/man6/bcd.6
Work on file usr/man/man6/backgammon.6
Work on file usr/man/man6/boggle.6
Work on file usr/man/man6/chase.6
Work on file usr/man/man6/chess.6
Work on file usr/man/man6/ching.6
Work on file usr/man/man6/fortune.6
Work on file usr/man/man6/fish.6
Work on file usr/man/man6/cribbage.6
Work on file usr/man/man6/mille.6
Work on file usr/man/man6/monop.6
Work on file usr/man/man6/quiz.6
Work on file usr/man/man6/number.6
Work on file usr/man/man6/snake.6
Work on file usr/man/man6/rogue.6
Work on file usr/man/man6/worm.6
Work on file usr/man/man6/wump.6
Work on file usr/man/man6/zork.6
Work on file usr/man/man7/ascii.7
Work on file usr/man/man7/eqnchar.7
Work on file usr/man/man7/greek.7
Work on file usr/man/man7/man.7
Work on file usr/man/man7/me.7
Work on file usr/man/man7/ms.7
Work on file usr/man/man7/term.7
Work on file usr/man/man8/accton.8
Work on file usr/man/man8/ac.8
Work on file usr/man/man8/arff.8
Work on file usr/man/man8/catman.8
Work on file usr/man/man8/adduser.8
Work on file usr/man/man8/arcv.8
Work on file usr/man/man8/analyze.8
Work on file usr/man/man8/chown.8
Work on file usr/man/man8/chgrp.8
Work on file usr/man/man8/clri.8
Work on file usr/man/man8/cron.8
Work on file usr/man/man8/dcheck.8
Work on file usr/man/man8/delivermail.8
Work on file usr/man/man8/dumpdir.8
Work on file usr/man/man8/dmesg.8
Work on file usr/man/man8/flcopy.8
Work on file usr/man/man8/icheck.8
Work on file usr/man/man8/getty.8
Work on file usr/man/man8/makekey.8
Work on file usr/man/man8/mknod.8
Work on file usr/man/man8/mklost+found.8
Work on file usr/man/man8/mount.8
Work on file usr/man/man8/ncheck.8
Work on file usr/man/man8/quot.8
Work on file usr/man/man8/renice.8
Work on file usr/man/man8/restor.8
Work on file usr/man/man8/sa.8
Work on file usr/man/man8/sync.8
Work on file usr/man/man8/update.8
Work on file usr/man/man8/swapon.8
Work on file usr/man/man8/vipw.8
Work on file usr/man/man8/sticky.8
Work on file usr/man/man8/vpac.8
Work on file usr/man/break
Work on file usr/man/tocrc

Synthesized-from: CSRG/cd1/4.1.snap

380 files changed:
usr/man/break [new file with mode: 0644]
usr/man/man1/diffdir.1 [new file with mode: 0644]
usr/man/man1/diffh.1 [new file with mode: 0644]
usr/man/man1/echo.1 [new file with mode: 0644]
usr/man/man1/ed.1 [new file with mode: 0644]
usr/man/man1/edit.1 [new file with mode: 0644]
usr/man/man1/efl.1 [new file with mode: 0644]
usr/man/man1/egrep.1 [new file with mode: 0644]
usr/man/man1/enroll.1 [new file with mode: 0644]
usr/man/man1/eqn.1 [new file with mode: 0644]
usr/man/man1/error.1 [new file with mode: 0644]
usr/man/man1/ex.1 [new file with mode: 0644]
usr/man/man1/expand.1 [new file with mode: 0644]
usr/man/man1/explain.1 [new file with mode: 0644]
usr/man/man1/expr.1 [new file with mode: 0644]
usr/man/man1/eyacc.1 [new file with mode: 0644]
usr/man/man1/false.1 [new file with mode: 0644]
usr/man/man1/fgrep.1 [new file with mode: 0644]
usr/man/man1/file.1 [new file with mode: 0644]
usr/man/man1/find.1 [new file with mode: 0644]
usr/man/man1/finger.1 [new file with mode: 0644]
usr/man/man1/fmt.1 [new file with mode: 0644]
usr/man/man1/fold.1 [new file with mode: 0644]
usr/man/man1/from.1 [new file with mode: 0644]
usr/man/man1/gets.1 [new file with mode: 0644]
usr/man/man1/graph.1g [new file with mode: 0644]
usr/man/man1/grep.1 [new file with mode: 0644]
usr/man/man1/head.1 [new file with mode: 0644]
usr/man/man1/intro.1 [new file with mode: 0644]
usr/man/man1/iostat.1 [new file with mode: 0644]
usr/man/man1/iul.1 [new file with mode: 0644]
usr/man/man1/join.1 [new file with mode: 0644]
usr/man/man1/kill.1 [new file with mode: 0644]
usr/man/man1/lastcomm.1 [new file with mode: 0644]
usr/man/man1/ld.1 [new file with mode: 0644]
usr/man/man1/learn.1 [new file with mode: 0644]
usr/man/man1/leave.1 [new file with mode: 0644]
usr/man/man1/lex.1 [new file with mode: 0644]
usr/man/man1/lint.1 [new file with mode: 0644]
usr/man/man1/lisp.1 [new file with mode: 0644]
usr/man/man1/ln.1 [new file with mode: 0644]
usr/man/man1/lock.1 [new file with mode: 0644]
usr/man/man1/login.1 [new file with mode: 0644]
usr/man/man1/look.1 [new file with mode: 0644]
usr/man/man1/lookbib.1 [new file with mode: 0644]
usr/man/man1/lorder.1 [new file with mode: 0644]
usr/man/man1/lpq.1 [new file with mode: 0644]
usr/man/man1/lpr.1 [new file with mode: 0644]
usr/man/man1/lprm.1 [new file with mode: 0644]
usr/man/man1/ls.1 [new file with mode: 0644]
usr/man/man1/lxref.1 [new file with mode: 0644]
usr/man/man1/m4.1 [new file with mode: 0644]
usr/man/man1/mail.1 [new file with mode: 0644]
usr/man/man1/make.1 [new file with mode: 0644]
usr/man/man1/man.1 [new file with mode: 0644]
usr/man/man1/mesg.1 [new file with mode: 0644]
usr/man/man1/mkdir.1 [new file with mode: 0644]
usr/man/man1/mkstr.1 [new file with mode: 0644]
usr/man/man1/msgs.1 [new file with mode: 0644]
usr/man/man1/mv.1 [new file with mode: 0644]
usr/man/man1/neqn.1 [new file with mode: 0644]
usr/man/man1/net.1 [new file with mode: 0644]
usr/man/man1/netcp.1 [new file with mode: 0644]
usr/man/man1/netlog.1 [new file with mode: 0644]
usr/man/man1/netlogin.1 [new file with mode: 0644]
usr/man/man1/netlpr.1 [new file with mode: 0644]
usr/man/man1/netmail.1 [new file with mode: 0644]
usr/man/man1/netq.1 [new file with mode: 0644]
usr/man/man1/netrm.1 [new file with mode: 0644]
usr/man/man1/nettroff.1 [new file with mode: 0644]
usr/man/man1/newaliases.1 [new file with mode: 0644]
usr/man/man1/newcsh.1 [new file with mode: 0644]
usr/man/man1/newgrp.1 [new file with mode: 0644]
usr/man/man1/nice.1 [new file with mode: 0644]
usr/man/man1/nm.1 [new file with mode: 0644]
usr/man/man1/nroff.1 [new file with mode: 0644]
usr/man/man1/num.1 [new file with mode: 0644]
usr/man/man1/page.1 [new file with mode: 0644]
usr/man/man1/passwd.1 [new file with mode: 0644]
usr/man/man1/pc.1 [new file with mode: 0644]
usr/man/man1/pi.1 [new file with mode: 0644]
usr/man/man1/pix.1 [new file with mode: 0644]
usr/man/man1/plot.1g [new file with mode: 0644]
usr/man/man1/pr.1 [new file with mode: 0644]
usr/man/man1/print.1 [new file with mode: 0644]
usr/man/man1/printenv.1 [new file with mode: 0644]
usr/man/man1/prmail.1 [new file with mode: 0644]
usr/man/man1/prof.1 [new file with mode: 0644]
usr/man/man1/pti.1 [new file with mode: 0644]
usr/man/man1/ptx.1 [new file with mode: 0644]
usr/man/man1/pwd.1 [new file with mode: 0644]
usr/man/man1/px.1 [new file with mode: 0644]
usr/man/man1/pxp.1 [new file with mode: 0644]
usr/man/man1/pxref.1 [new file with mode: 0644]
usr/man/man1/ranlib.1 [new file with mode: 0644]
usr/man/man1/ratfor.1 [new file with mode: 0644]
usr/man/man1/refer.1 [new file with mode: 0644]
usr/man/man1/reset.1 [new file with mode: 0644]
usr/man/man1/rev.1 [new file with mode: 0644]
usr/man/man1/rm.1 [new file with mode: 0644]
usr/man/man1/rmdir.1 [new file with mode: 0644]
usr/man/man1/script.1 [new file with mode: 0644]
usr/man/man1/sdb.1 [new file with mode: 0644]
usr/man/man1/sed.1 [new file with mode: 0644]
usr/man/man1/see.1 [new file with mode: 0644]
usr/man/man1/size.1 [new file with mode: 0644]
usr/man/man1/sleep.1 [new file with mode: 0644]
usr/man/man1/soelim.1 [new file with mode: 0644]
usr/man/man1/sort.1 [new file with mode: 0644]
usr/man/man1/spell.1 [new file with mode: 0644]
usr/man/man1/spline.1g [new file with mode: 0644]
usr/man/man1/split.1 [new file with mode: 0644]
usr/man/man1/ssp.1 [new file with mode: 0644]
usr/man/man1/strings.1 [new file with mode: 0644]
usr/man/man1/strip.1 [new file with mode: 0644]
usr/man/man1/struct.1 [new file with mode: 0644]
usr/man/man1/style.1 [new file with mode: 0644]
usr/man/man1/su.1 [new file with mode: 0644]
usr/man/man1/sum.1 [new file with mode: 0644]
usr/man/man1/symorder.1 [new file with mode: 0644]
usr/man/man1/tail.1 [new file with mode: 0644]
usr/man/man1/tbl.1 [new file with mode: 0644]
usr/man/man1/tc.1 [new file with mode: 0644]
usr/man/man1/tee.1 [new file with mode: 0644]
usr/man/man1/test.1 [new file with mode: 0644]
usr/man/man1/time.1 [new file with mode: 0644]
usr/man/man1/tk.1 [new file with mode: 0644]
usr/man/man1/touch.1 [new file with mode: 0644]
usr/man/man1/tp.1 [new file with mode: 0644]
usr/man/man1/tr.1 [new file with mode: 0644]
usr/man/man1/tra.1 [new file with mode: 0644]
usr/man/man1/trman.1 [new file with mode: 0644]
usr/man/man1/troff.1 [new file with mode: 0644]
usr/man/man1/true.1 [new file with mode: 0644]
usr/man/man1/tset.1 [new file with mode: 0644]
usr/man/man1/tsort.1 [new file with mode: 0644]
usr/man/man1/tty.1 [new file with mode: 0644]
usr/man/man1/ul.1 [new file with mode: 0644]
usr/man/man1/uncompact.1 [new file with mode: 0644]
usr/man/man1/uniq.1 [new file with mode: 0644]
usr/man/man1/units.1 [new file with mode: 0644]
usr/man/man1/uptime.1 [new file with mode: 0644]
usr/man/man1/users.1 [new file with mode: 0644]
usr/man/man1/uuclean.1c [new file with mode: 0644]
usr/man/man1/uucp.1c [new file with mode: 0644]
usr/man/man1/uudiff.1c [new file with mode: 0644]
usr/man/man1/uuencode.1c [new file with mode: 0644]
usr/man/man1/uulog.1c [new file with mode: 0644]
usr/man/man1/uusend.1c [new file with mode: 0644]
usr/man/man1/vfontinfo.1 [new file with mode: 0644]
usr/man/man1/vi.1 [new file with mode: 0644]
usr/man/man1/vpq.1 [new file with mode: 0644]
usr/man/man1/vpr.1 [new file with mode: 0644]
usr/man/man1/vprint.1 [new file with mode: 0644]
usr/man/man1/vprm.1 [new file with mode: 0644]
usr/man/man1/w.1 [new file with mode: 0644]
usr/man/man1/wait.1 [new file with mode: 0644]
usr/man/man1/wall.1 [new file with mode: 0644]
usr/man/man1/wc.1 [new file with mode: 0644]
usr/man/man1/whatis.1 [new file with mode: 0644]
usr/man/man1/whereis.1 [new file with mode: 0644]
usr/man/man1/which.1 [new file with mode: 0644]
usr/man/man1/who.1 [new file with mode: 0644]
usr/man/man1/whoami.1 [new file with mode: 0644]
usr/man/man1/write.1 [new file with mode: 0644]
usr/man/man1/xget.1 [new file with mode: 0644]
usr/man/man1/xsend.1 [new file with mode: 0644]
usr/man/man1/xstr.1 [new file with mode: 0644]
usr/man/man1/yes.1 [new file with mode: 0644]
usr/man/man2/access.2 [new file with mode: 0644]
usr/man/man2/acct.2 [new file with mode: 0644]
usr/man/man2/alarm.2 [new file with mode: 0644]
usr/man/man2/brk.2 [new file with mode: 0644]
usr/man/man2/chdir.2 [new file with mode: 0644]
usr/man/man2/chown.2 [new file with mode: 0644]
usr/man/man2/close.2 [new file with mode: 0644]
usr/man/man2/creat.2 [new file with mode: 0644]
usr/man/man2/dup.2 [new file with mode: 0644]
usr/man/man2/exit.2 [new file with mode: 0644]
usr/man/man2/fork.2 [new file with mode: 0644]
usr/man/man2/getpgrp.2j [new file with mode: 0644]
usr/man/man2/getpid.2 [new file with mode: 0644]
usr/man/man2/getuid.2 [new file with mode: 0644]
usr/man/man2/indir.2 [new file with mode: 0644]
usr/man/man2/intro.2 [new file with mode: 0644]
usr/man/man2/ioctl.2 [new file with mode: 0644]
usr/man/man2/killpg.2j [new file with mode: 0644]
usr/man/man2/link.2 [new file with mode: 0644]
usr/man/man2/lseek.2 [new file with mode: 0644]
usr/man/man2/mknod.2 [new file with mode: 0644]
usr/man/man2/mount.2 [new file with mode: 0644]
usr/man/man2/mpx.2 [new file with mode: 0644]
usr/man/man2/open.2 [new file with mode: 0644]
usr/man/man2/pause.2 [new file with mode: 0644]
usr/man/man2/pipe.2 [new file with mode: 0644]
usr/man/man2/profil.2 [new file with mode: 0644]
usr/man/man2/ptrace.2 [new file with mode: 0644]
usr/man/man2/read.2 [new file with mode: 0644]
usr/man/man2/reboot.2v [new file with mode: 0644]
usr/man/man2/setpgrp.2j [new file with mode: 0644]
usr/man/man2/setuid.2 [new file with mode: 0644]
usr/man/man2/signal.2 [new file with mode: 0644]
usr/man/man2/stime.2 [new file with mode: 0644]
usr/man/man2/stty.2 [new file with mode: 0644]
usr/man/man2/sync.2 [new file with mode: 0644]
usr/man/man2/syscall.2 [new file with mode: 0644]
usr/man/man2/time.2 [new file with mode: 0644]
usr/man/man2/times.2 [new file with mode: 0644]
usr/man/man2/umask.2 [new file with mode: 0644]
usr/man/man2/unlink.2 [new file with mode: 0644]
usr/man/man2/utime.2 [new file with mode: 0644]
usr/man/man2/vadvise.2v [new file with mode: 0644]
usr/man/man2/vhangup.2v [new file with mode: 0644]
usr/man/man2/vread.2v [new file with mode: 0644]
usr/man/man2/vswapon.2v [new file with mode: 0644]
usr/man/man2/vtimes.2v [new file with mode: 0644]
usr/man/man2/vwrite.2v [new file with mode: 0644]
usr/man/man2/wait.2 [new file with mode: 0644]
usr/man/man2/wait3.2j [new file with mode: 0644]
usr/man/man2/write.2 [new file with mode: 0644]
usr/man/man3/abort.3 [new file with mode: 0644]
usr/man/man3/abs.3 [new file with mode: 0644]
usr/man/man3/assert.3x [new file with mode: 0644]
usr/man/man3/atof.3 [new file with mode: 0644]
usr/man/man3/crypt.3 [new file with mode: 0644]
usr/man/man3/ctime.3 [new file with mode: 0644]
usr/man/man3/ctype.3 [new file with mode: 0644]
usr/man/man3/dbm.3x [new file with mode: 0644]
usr/man/man3/ecvt.3 [new file with mode: 0644]
usr/man/man3/end.3 [new file with mode: 0644]
usr/man/man3/exp.3m [new file with mode: 0644]
usr/man/man3/fclose.3s [new file with mode: 0644]
usr/man/man3/ferror.3s [new file with mode: 0644]
usr/man/man3/floor.3m [new file with mode: 0644]
usr/man/man3/fread.3s [new file with mode: 0644]
usr/man/man3/frexp.3 [new file with mode: 0644]
usr/man/man3/fseek.3s [new file with mode: 0644]
usr/man/man3/gamma.3m [new file with mode: 0644]
usr/man/man3/getarg.3f [new file with mode: 0644]
usr/man/man3/getc.3s [new file with mode: 0644]
usr/man/man3/getenv.3 [new file with mode: 0644]
usr/man/man3/getfsent.3 [new file with mode: 0644]
usr/man/man3/getgrent.3 [new file with mode: 0644]
usr/man/man3/getlogin.3 [new file with mode: 0644]
usr/man/man3/getpass.3 [new file with mode: 0644]
usr/man/man3/getpw.3 [new file with mode: 0644]
usr/man/man3/getpwent.3 [new file with mode: 0644]
usr/man/man3/gets.3s [new file with mode: 0644]
usr/man/man3/hypot.3m [new file with mode: 0644]
usr/man/man3/intro.3 [new file with mode: 0644]
usr/man/man3/j0.3m [new file with mode: 0644]
usr/man/man3/jobs.3j [new file with mode: 0644]
usr/man/man3/l3tol.3 [new file with mode: 0644]
usr/man/man3/malloc.3 [new file with mode: 0644]
usr/man/man3/mktemp.3 [new file with mode: 0644]
usr/man/man3/monitor.3 [new file with mode: 0644]
usr/man/man3/nlist.3 [new file with mode: 0644]
usr/man/man3/perror.3 [new file with mode: 0644]
usr/man/man3/plot.3x [new file with mode: 0644]
usr/man/man3/popen.3s [new file with mode: 0644]
usr/man/man3/putc.3s [new file with mode: 0644]
usr/man/man3/puts.3s [new file with mode: 0644]
usr/man/man3/qsort.3 [new file with mode: 0644]
usr/man/man3/rand.3 [new file with mode: 0644]
usr/man/man3/regex.3 [new file with mode: 0644]
usr/man/man3/scanf.3s [new file with mode: 0644]
usr/man/man3/setbuf.3s [new file with mode: 0644]
usr/man/man3/setjmp.3 [new file with mode: 0644]
usr/man/man3/signal.3 [new file with mode: 0644]
usr/man/man3/sigset.3 [new file with mode: 0644]
usr/man/man3/sin.3m [new file with mode: 0644]
usr/man/man3/sinh.3m [new file with mode: 0644]
usr/man/man3/sleep.3 [new file with mode: 0644]
usr/man/man3/stdio.3s [new file with mode: 0644]
usr/man/man3/string.3 [new file with mode: 0644]
usr/man/man3/swab.3 [new file with mode: 0644]
usr/man/man3/system.3 [new file with mode: 0644]
usr/man/man3/termcap.3 [new file with mode: 0644]
usr/man/man3/termlib.3 [new file with mode: 0644]
usr/man/man3/ttyname.3 [new file with mode: 0644]
usr/man/man3/ungetc.3s [new file with mode: 0644]
usr/man/man3/valloc.3 [new file with mode: 0644]
usr/man/man3/varargs.3 [new file with mode: 0644]
usr/man/man4/cons.4 [new file with mode: 0644]
usr/man/man4/intro.4 [new file with mode: 0644]
usr/man/man4/kmem.4 [new file with mode: 0644]
usr/man/man4/lp.4 [new file with mode: 0644]
usr/man/man4/mail.4 [new file with mode: 0644]
usr/man/man4/newtty.4 [new file with mode: 0644]
usr/man/man4/null.4 [new file with mode: 0644]
usr/man/man4/rv.4 [new file with mode: 0644]
usr/man/man4/va.4 [new file with mode: 0644]
usr/man/man5/a.out.5 [new file with mode: 0644]
usr/man/man5/acct.5 [new file with mode: 0644]
usr/man/man5/aliases.5 [new file with mode: 0644]
usr/man/man5/ar.5 [new file with mode: 0644]
usr/man/man5/core.5 [new file with mode: 0644]
usr/man/man5/dir.5 [new file with mode: 0644]
usr/man/man5/dump.5 [new file with mode: 0644]
usr/man/man5/environ.5 [new file with mode: 0644]
usr/man/man5/filsys.5 [new file with mode: 0644]
usr/man/man5/fstab.5 [new file with mode: 0644]
usr/man/man5/group.5 [new file with mode: 0644]
usr/man/man5/mpxio.5 [new file with mode: 0644]
usr/man/man5/mtab.5 [new file with mode: 0644]
usr/man/man5/passwd.5 [new file with mode: 0644]
usr/man/man5/plot.5 [new file with mode: 0644]
usr/man/man5/stab.5 [new file with mode: 0644]
usr/man/man5/termcap.5 [new file with mode: 0644]
usr/man/man5/tp.5 [new file with mode: 0644]
usr/man/man5/ttys.5 [new file with mode: 0644]
usr/man/man5/ttytype.5 [new file with mode: 0644]
usr/man/man5/types.5 [new file with mode: 0644]
usr/man/man5/utmp.5 [new file with mode: 0644]
usr/man/man5/uuencode.5 [new file with mode: 0644]
usr/man/man5/vfont.5 [new file with mode: 0644]
usr/man/man5/wtmp.5 [new file with mode: 0644]
usr/man/man6/aardvark.6 [new file with mode: 0644]
usr/man/man6/aliens.6 [new file with mode: 0644]
usr/man/man6/arithmetic.6 [new file with mode: 0644]
usr/man/man6/backgammon.6 [new file with mode: 0644]
usr/man/man6/banner.6 [new file with mode: 0644]
usr/man/man6/bcd.6 [new file with mode: 0644]
usr/man/man6/boggle.6 [new file with mode: 0644]
usr/man/man6/chase.6 [new file with mode: 0644]
usr/man/man6/chess.6 [new file with mode: 0644]
usr/man/man6/ching.6 [new file with mode: 0644]
usr/man/man6/cribbage.6 [new file with mode: 0644]
usr/man/man6/fish.6 [new file with mode: 0644]
usr/man/man6/fortune.6 [new file with mode: 0644]
usr/man/man6/mille.6 [new file with mode: 0644]
usr/man/man6/monop.6 [new file with mode: 0644]
usr/man/man6/number.6 [new file with mode: 0644]
usr/man/man6/quiz.6 [new file with mode: 0644]
usr/man/man6/rogue.6 [new file with mode: 0644]
usr/man/man6/snake.6 [new file with mode: 0644]
usr/man/man6/worm.6 [new file with mode: 0644]
usr/man/man6/wump.6 [new file with mode: 0644]
usr/man/man6/zork.6 [new file with mode: 0644]
usr/man/man7/ascii.7 [new file with mode: 0644]
usr/man/man7/eqnchar.7 [new file with mode: 0644]
usr/man/man7/greek.7 [new file with mode: 0644]
usr/man/man7/man.7 [new file with mode: 0644]
usr/man/man7/me.7 [new file with mode: 0644]
usr/man/man7/ms.7 [new file with mode: 0644]
usr/man/man7/term.7 [new file with mode: 0644]
usr/man/man8/ac.8 [new file with mode: 0644]
usr/man/man8/accton.8 [new file with mode: 0644]
usr/man/man8/adduser.8 [new file with mode: 0644]
usr/man/man8/analyze.8 [new file with mode: 0644]
usr/man/man8/arcv.8 [new file with mode: 0644]
usr/man/man8/arff.8 [new file with mode: 0644]
usr/man/man8/catman.8 [new file with mode: 0644]
usr/man/man8/chgrp.8 [new file with mode: 0644]
usr/man/man8/chown.8 [new file with mode: 0644]
usr/man/man8/clri.8 [new file with mode: 0644]
usr/man/man8/cron.8 [new file with mode: 0644]
usr/man/man8/dcheck.8 [new file with mode: 0644]
usr/man/man8/delivermail.8 [new file with mode: 0644]
usr/man/man8/dmesg.8 [new file with mode: 0644]
usr/man/man8/dumpdir.8 [new file with mode: 0644]
usr/man/man8/flcopy.8 [new file with mode: 0644]
usr/man/man8/getty.8 [new file with mode: 0644]
usr/man/man8/icheck.8 [new file with mode: 0644]
usr/man/man8/makekey.8 [new file with mode: 0644]
usr/man/man8/mklost+found.8 [new file with mode: 0644]
usr/man/man8/mknod.8 [new file with mode: 0644]
usr/man/man8/mount.8 [new file with mode: 0644]
usr/man/man8/ncheck.8 [new file with mode: 0644]
usr/man/man8/quot.8 [new file with mode: 0644]
usr/man/man8/renice.8 [new file with mode: 0644]
usr/man/man8/restor.8 [new file with mode: 0644]
usr/man/man8/sa.8 [new file with mode: 0644]
usr/man/man8/sticky.8 [new file with mode: 0644]
usr/man/man8/swapon.8 [new file with mode: 0644]
usr/man/man8/sync.8 [new file with mode: 0644]
usr/man/man8/update.8 [new file with mode: 0644]
usr/man/man8/vipw.8 [new file with mode: 0644]
usr/man/man8/vpac.8 [new file with mode: 0644]
usr/man/tocrc [new file with mode: 0755]

diff --git a/usr/man/break b/usr/man/break
new file mode 100644 (file)
index 0000000..4ae5b8c
--- /dev/null
@@ -0,0 +1,3 @@
+\a
+;
+:
diff --git a/usr/man/man1/diffdir.1 b/usr/man/man1/diffdir.1
new file mode 100644 (file)
index 0000000..998b38d
--- /dev/null
@@ -0,0 +1,5 @@
+.pl 1
+The ``diffdir'' command is obsolete, as it has been incorporated into
+``diff'' by specifying ``diff dir1 dir2''.  Note, however, that the
+``\-h'' option of ``diffdir'' is now the ``\-l'' option in ``diff'',
+as diff already had a ``\-h'' option.
diff --git a/usr/man/man1/diffh.1 b/usr/man/man1/diffh.1
new file mode 100644 (file)
index 0000000..d3e5e70
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/diff.1
diff --git a/usr/man/man1/echo.1 b/usr/man/man1/echo.1
new file mode 100644 (file)
index 0000000..b3dc0f6
--- /dev/null
@@ -0,0 +1,23 @@
+.TH ECHO 1 
+.SH NAME
+echo \- echo arguments
+.SH SYNOPSIS
+.B echo
+[
+.B \-n
+]
+[ arg ] ...
+.SH DESCRIPTION
+.I Echo
+writes its arguments separated by blanks and terminated by
+a newline on the standard output.
+If the flag
+.B \-n
+is used,
+no newline is added to the output.
+.PP
+.I Echo
+is useful for producing diagnostics in
+shell programs and for writing constant data on pipes.
+To send diagnostics to the standard error file, do
+`echo ... 1>&2'.
diff --git a/usr/man/man1/ed.1 b/usr/man/man1/ed.1
new file mode 100644 (file)
index 0000000..41e3092
--- /dev/null
@@ -0,0 +1,761 @@
+.TH ED 1 9/14/79
+.UC
+.if t .ds q \(aa
+.if n .ds q '
+.SH NAME
+ed \- text editor
+.SH SYNOPSIS
+.B ed
+[
+.B \-
+] [
+.BR \-p [prompt]
+] [
+.B \-u
+] [
+.B \-x
+] [ name ]
+.SH DESCRIPTION
+.I Ed
+is the standard text editor.
+.PP
+If a
+.I name
+argument is given,
+.I ed
+simulates an
+.I e
+command (see below)\| on the named file; that is to say,
+the file is read into
+.I ed's
+buffer so that it can be edited.
+If
+.B \-p
+is present,
+.I ed
+prompts for commands
+with `* '
+(or
+.I prompt
+if given.)
+If
+.B \-u
+is present,
+all lower case text in the buffer
+is converted to upper case.
+If 
+.B \-x
+is present, an
+.I x
+command is simulated first to handle an encrypted file.
+The optional
+.B \-
+suppresses the printing
+of explanatory output
+and should be used
+when the standard input is
+an editor script.
+.PP
+.I Ed
+operates on a copy of any file it is editing; changes made
+in the copy have no effect on the file until a
+.IR w ""
+(write)\|
+command is given.
+The copy of the text being edited resides
+in a temporary file called the 
+.IR buffer .
+.PP
+Commands to
+.I ed
+have a simple and regular structure: zero or
+more
+.I addresses
+followed by a single character
+.I command,
+possibly
+followed by parameters to the command.
+These addresses specify one or more lines in the buffer.
+Missing addresses are supplied by default.
+.PP
+In general, only one command may appear on a line.
+Certain commands allow the 
+addition of text to the buffer.
+While
+.I ed
+is accepting text, it is said
+to be in
+.I  "input mode."
+In this mode, no commands are recognized;
+all input is merely collected.
+Input mode is left by typing a period `\fB.\fR' alone at the
+beginning of a line.
+.PP
+.I Ed
+supports a limited form of
+.I "regular expression"
+notation.
+A regular expression specifies
+a set of strings of characters.
+A member of this set of strings is said to be
+.I matched
+by the regular expression.
+In the following specification for regular expressions
+the word `character' means any character but newline.
+.IP 1.
+Any character except a special character
+matches itself.
+Special characters are
+the regular expression delimiter plus
+.RB \e\|[\| .
+and sometimes ^\|*\|$.
+.IP 2.
+A
+.B .
+matches any character.
+.IP 3.
+A \e followed by any character except a digit or (\|) matches that character.
+.IP 4.
+A nonempty string
+.I s
+bracketed
+.RI [ \|s\| ]
+(or
+.RI [^ s\| ])
+matches any character in (or not in)
+.I s.
+In 
+.I s,
+\e has no special meaning, and ] may only appear as
+the first letter.
+A substring 
+.I a\-b,
+with
+.I a
+and
+.I b
+in ascending ASCII order, stands for the inclusive
+range of ASCII characters.
+.IP 5.
+A regular expression of form 1-4 followed by * matches a sequence of
+0 or more matches of the regular expression.
+.IP 6.
+A regular expression,
+.I x,
+of form 1-8, bracketed
+.RI \e( \|x\| \e)
+matches what
+.I x
+matches.
+.IP 7.
+A \e followed by a digit 
+.I n
+matches a copy of the string that the
+bracketed regular expression beginning with the
+.IR n th
+\e( matched.
+.IP 8.
+A regular expression of form 1-8,
+.I x,
+followed by a regular expression of form 1-7,
+.I y
+matches a match for
+.I x
+followed by a match for
+.I y,
+with the
+.I x
+match being as long as possible while still permitting a
+.I y
+match.
+.IP 9.
+A regular expression of form 1-8 preceded by ^
+(or followed by $), is constrained to matches that
+begin at the left (or end at the right) end of a line.
+.IP 10.
+A regular expression of form 1-9 picks out the
+longest among the leftmost matches in a line.
+.IP 11.
+An empty regular expression stands for a copy of the
+last regular expression encountered.
+.PP
+Regular expressions are used in addresses to specify
+lines and in one command
+(see
+.I s
+below)\|
+to specify a portion of a line which is to be replaced.
+If it is desired to use one of
+the regular expression metacharacters as an ordinary
+character, that character may be preceded by `\e'.
+This also applies to the character bounding the regular
+expression (often `/')\| and to `\e' itself.
+.PP
+To understand addressing in
+.I ed
+it is necessary to know that at any time there is a
+.I  "current line."
+Generally speaking, the current line is
+the last line affected by a command; however,
+the exact effect on the current line
+is discussed under the description of
+the command.
+Addresses are constructed as follows.
+.TP
+1.
+The character `\fB.\fR' addresses the current line.
+.TP
+2.
+The character `$' addresses the last line of the buffer.
+.TP
+3.
+A decimal number
+.I n
+addresses the
+.IR n -th
+line of the buffer.
+.TP
+4.
+`\(fm\fIx\fR' addresses the line marked with the name
+.IR x ,
+which must be a lower-case letter.
+Lines are marked with the
+.I k
+command described below.
+.TP
+5.
+A regular expression enclosed in slashes `/' addresses
+the line found by searching forward from the current line
+and stopping at the first line containing a
+string that matches the regular expression.
+If necessary the search wraps around to the beginning of the
+buffer.
+.TP
+6.
+A regular expression enclosed in queries `?' addresses
+the line found by searching backward from the current line
+and stopping at the first line containing
+a string that matches the regular expression.
+If necessary
+the search wraps around to the end of the buffer.
+.TP
+7.
+An address followed by a plus sign `+'
+or a minus sign `\-' followed by a decimal number specifies that address plus
+(resp. minus)\| the indicated number of lines.
+The plus sign may be omitted.
+.TP
+8.
+If an address begins with `+' or `\-'
+the addition or subtraction is taken with respect to the current line;
+e.g. `\-5' is understood to mean `\fB.\fR\-5'.
+.TP
+9.
+If an address ends with `+' or `\-',
+then 1 is added (resp. subtracted).
+As a consequence of this rule and rule 8,
+the address `\-' refers to the line before the current line.
+Moreover,
+trailing
+`+' and `\-' characters
+have cumulative effect, so `\-\-' refers to the current
+line less 2.
+.TP
+10.
+To maintain compatibility with earlier versions of the editor,
+the character `^' in addresses is 
+equivalent to `\-'.
+.PP
+Commands may require zero, one, or two addresses.
+Commands which require no addresses regard the presence
+of an address as an error.
+Commands which accept one or two addresses
+assume default addresses when insufficient are given.
+If more addresses are given than such a command requires,
+the last one or two (depending on what is accepted)\| are used.
+.PP
+Addresses are separated from each other typically by a comma
+`\fB,\fR'.
+They may also be separated by a semicolon
+`\fB;\fR'.
+In this case the current line `\fB.\fR' is set to
+the previous address before the next address is interpreted.
+This feature can be used to determine the starting
+line for forward and backward searches (`/', `?')\|.
+The second address of any two-address sequence
+must correspond to a line following the line corresponding to the first address.
+The special form `%'
+is an abbreviation for the address pair `1,$'.
+.PP
+In the following list of
+.I ed
+commands, the default addresses
+are shown in parentheses.
+The parentheses are not part of
+the address, but are used to show that the given addresses are
+the default.
+.PP
+As mentioned, it is generally illegal for more than one
+command to appear on a line.
+However, most commands may be suffixed by `p'
+or by `l', in which case
+the current line is either
+printed or listed respectively
+in the way discussed below.
+Commands may also be suffixed by `n',
+meaning the output of the command is to
+be line numbered.
+These suffixes may be combined in any order.
+.TP 5
+.RB (\| .\| )\|a
+.br
+.ns
+.TP 5
+<text>
+.br
+.ns
+.TP 5
+.B .
+.br
+The append command reads the given text
+and appends it after the addressed line.
+`\fB.\fR' is left
+on the last line input, if there
+were any, otherwise at the addressed line.
+Address `0' is legal for this command; text is placed
+at the beginning of the buffer.
+.TP 5
+.RB (\| .\| ,\  .\| )\|c
+.br
+.ns
+.TP 5
+<text>
+.br
+.ns
+.TP 5
+.B .
+.br
+The change
+command deletes the addressed lines, then accepts input
+text which replaces these lines.
+`\fB.\fR' is left at the last line input; if there were none,
+it is left at the line preceding the deleted lines.
+.TP 5
+.RB (\| .\| ,\  .\| )\|d
+The delete command deletes the addressed lines from the buffer.
+The line originally after the last line deleted becomes the current line;
+if the lines deleted were originally at the end,
+the new last line becomes the current line.
+.TP 5
+e filename
+The edit
+command causes the entire contents of the buffer to be deleted,
+and then the named file to be read in.
+`\fB.\fR' is set to the last line of the buffer.
+The number of characters read is typed.
+`filename' is remembered for possible use as a default file name
+in a subsequent
+.I r
+or
+.I w
+command.
+If `filename' is missing, the remembered name is used.
+.TP 5
+E filename
+This command is the same as
+.I e,
+except that no diagnostic results when no
+.I w
+has been given since the last buffer alteration.
+.TP 5
+f filename
+The filename command prints the currently remembered file name.
+If `filename' is given,
+the currently remembered file name is changed to `filename'.
+.TP 5
+(1,$)\|g/regular expression/command list
+In the global
+command, the first step is to mark every line which matches
+the given regular expression.
+Then for every such line, the
+given command list is executed with `\fB.\fR' initially set to that line.
+A single command or the first of multiple commands
+appears on the same line with the global command.
+All lines of a multi-line list except the last line must be ended with `\e'.
+.I A,
+.I i,
+and
+.I c
+commands and associated input are permitted;
+the `\fB.\fR' terminating input mode may be omitted if it would be on the
+last line of the command list.
+The commands
+.I g
+and
+.I v
+are not permitted in the command list.
+.TP 5
+.RB (\| .\| )\|i
+.ns
+.TP 5
+<text>
+.br
+.ns
+.TP 5
+.B .
+.br
+This command inserts the given text before the addressed line.
+`\fB.\fR' is left at the last line input, or, if there were none,
+at the line before the addressed line.
+This command differs from the
+.I a
+command only in the placement of the
+text.
+.TP 5
+.RB (\| .\| ,\  . +1)\|j
+This command joins the addressed lines into a single line;
+intermediate newlines simply disappear.
+`\fB.\fR' is left at the resulting line.
+.TP 5
+( \fB. \fR)\|k\fIx\fR
+The mark command marks the addressed line with
+name
+.I x,
+which must be a lower-case letter.
+The address form `\(fm\fIx\fR' then addresses this line.
+.ne 2.5
+.TP 5
+.RB (\| .\| ,\  .\| )\|l
+The list command
+prints the addressed lines in an unambiguous way:
+non-graphic characters are
+printed in two-digit octal,
+and long lines are folded.
+The
+.I l
+command may be placed on the same line after any non-i/o
+command.
+.TP 5
+.RB (\| .\| ,\  .\| )\|m\fIa
+The move command repositions the addressed lines after the line
+addressed by
+.IR a .
+The last of the moved lines becomes the current line.
+.TP 5
+.RB (\| .\| ,\  .\| )\|n
+The number command prints the addressed lines
+with line numbers and a tab at the left.
+.TP 5
+.RB (\| .\| ,\  .\| )\|p
+The print command prints the addressed lines.
+`\fB.\fR'
+is left at the last line printed.
+The
+.I p
+command
+may
+be placed on the same line after any non-i/o command.
+.TP
+.RB (\| .\| ,\  .\| )\|P
+This command is a synonym for
+.I p.
+.TP 5
+q
+The quit command causes
+.I ed
+to exit.
+No automatic write
+of a file is done.
+.TP 5
+Q
+This command is the same as
+.I q,
+except that no diagnostic results when no
+.I w
+has been given since the last buffer alteration.
+.TP 5
+($)\|r filename
+The read command
+reads in the given file after the addressed line.
+If no file name is given,
+the remembered file name, if any, is used
+(see
+.I e
+and
+.I f
+commands)\|.
+The file name is remembered if there was no
+remembered file name already.
+Address `0' is legal for
+.I r
+and causes the
+file to be read at the beginning of the buffer.
+If the read is successful, the number of characters
+read is typed.
+`\fB.\fR' is left at the last line read in from the file.
+.TP 5
+(\| \fB.\fR\|, \fB.\fR\|)\|s/regular expression/replacement/       or,
+.br
+.ns
+.TP 5
+(\| \fB.\fR\|, \fB.\fR\|)\|s/regular expression/replacement/g
+The substitute command searches each addressed
+line for an occurrence of the specified regular expression.
+On each line in which a match is found,
+all matched strings are replaced by the replacement specified,
+if the global replacement indicator `g' appears after the command.
+If the global indicator does not appear, only the first occurrence
+of the matched string is replaced.
+It is an error for the substitution to fail on all addressed lines.
+Any punctuation character
+may be used instead of `/' to delimit the regular expression
+and the replacement.
+`\fB.\fR' is left at the last line substituted.
+.IP
+An ampersand `&' appearing in the replacement
+is replaced by the string matching the regular expression.
+The special meaning of `&' in this context may be
+suppressed by preceding it by `\e'.
+The characters
+.I `\|\en'
+where
+.I n
+is a digit,
+are replaced by the text matched by the
+.IR n -th
+regular subexpression
+enclosed between `\e(' and `\e)'.
+When
+nested, parenthesized subexpressions
+are present,
+.I n
+is determined by counting occurrences of `\e(' starting from the left.
+.IP
+Lines may be split by substituting new-line characters into them.
+The new-line in the
+replacement string
+must be escaped by preceding it by `\e'.
+.IP
+One or two trailing delimiters may be omitted,
+implying the `p' suffix.
+The special form `s' followed by
+.I no
+delimiters
+repeats the most recent substitute command
+on the addressed lines.
+The `s' may be followed by the letters
+.B r
+(use the most recent regular expression for the
+left hand side, instead of the most recent
+left hand side of a substitute command),
+.B p
+(complement the setting of the
+.I p
+suffix from the previous substitution), or
+.B g
+(complement the setting of the
+.I g
+suffix).
+These letters may be combined in any order.
+.TP 5
+.RB (\| .\| ,\  .\| )\|t\|\fIa
+This command acts just like the
+.I m
+command, except that a copy of the addressed lines is placed
+after address
+.I a
+(which may be 0).
+`\fB.\fR' is left on the last line of the copy.
+.TP 5
+.RB (\| .\| ,\  .\| )\|u
+The undo command restores the buffer to it's state
+before the most recent buffer modifying command.
+The current line is also restored.
+Buffer modifying commands are
+.I a, c, d, g, i, k, m, r, s, t,
+and
+.I v.
+For purposes of undo,
+.I g
+and
+.I v
+are considered to be a single buffer modifying command.
+Undo is its own inverse.
+.IP
+When
+.I ed
+runs out of memory
+(at about 8000 lines on any 16 bit mini-computer
+such as the PDP-11)
+This full undo is not possible, and
+.I u
+can only undo the effect of the most recent
+substitute on the current line.
+This restricted undo also applies to editor scripts
+when
+.I ed
+is invoked with the
+.B -
+option.
+.TP 5
+(1, $)\|v/regular expression/command list
+This command is the same as the global command
+.I g
+except that the command list is executed
+.I g
+with `\fB.\fR' initially set to every line
+.I except
+those
+matching the regular expression.
+.TP 5
+(1, $)\|w filename
+.br
+The write command writes the addressed lines onto
+the given file.
+If the file does not exist,
+it is created.
+The file name is remembered if there was no 
+remembered file name already.
+If no file name is given,
+the remembered file name, if any, is used
+(see
+.I e
+and
+.I f
+commands)\|.
+`\fB.\fR' is unchanged.
+If the command is successful, the number of characters written is
+printed.
+.TP
+(1, $)\|W filename
+This command is the same as
+.I w,
+except that the addressed lines are appended to the file.
+.TP 5
+(1, $)\|wq filename
+This command is the same as
+.I w
+except that afterwards a
+.I q
+command is done,
+exiting the editor
+after the file is written.
+.TP 5
+x
+A key string is demanded from the standard input.
+Later
+.I r, e
+and
+.I w
+commands will encrypt and decrypt the text 
+with this key by the algorithm of 
+.IR crypt (1).
+An explicitly empty key turns off encryption.
+.RB (\| .\| +1)\|z     or,
+.br
+.ns
+.TP 5
+.RB (\| .\| +1)\|z\fIn
+This command scrolls through the buffer starting at the addressed line.
+22 (or
+.I n,
+if given)
+lines are printed.
+The last line printed becomes the current line.
+The value
+.I n
+is sticky, in that it becomes the default for
+future
+.I z
+commands.
+.TP 5
+($)\|=
+The line number of the addressed line is typed.
+`\fB.\fR' is unchanged by this command.
+.TP 5
+!<shell command>
+The remainder of the line after the `!' is sent
+to
+.IR sh (1)
+to be interpreted as a command.
+.RB ` . '
+is unchanged.
+.TP 5
+.RB (\| . +1,\| . +1)\|<newline>
+An address alone on a line causes the addressed line to be printed.
+A blank line alone is equivalent to `.+1p'; it is useful
+for stepping through text.
+If two addresses are present with no
+intervening semicolon,
+.I ed
+prints the range of lines.
+If they are separated by a semicolon,
+the second line is printed.
+.PP
+If an interrupt signal (ASCII DEL)\| is sent,
+.I ed
+prints `?interrupted'
+and returns to its command level.
+.PP
+Some size limitations:
+512 characters per line,
+256 characters per global command list,
+64 characters per file name,
+and, on mini computers,
+128K characters in the temporary file.
+The limit on the number of lines depends on the amount of core:
+each line takes 2 words.
+.PP
+When reading a file,
+.I ed
+discards ASCII NUL characters
+and all characters after the last newline.
+It refuses to read files containing non-ASCII characters.
+.SH FILES
+/tmp/e*
+.br
+edhup: work is saved here if terminal hangs up
+.SH "SEE ALSO"
+B. W. Kernighan,
+.I
+A Tutorial Introduction to the ED Text Editor
+.br
+B. W. Kernighan,
+.I Advanced editing on UNIX
+.br
+sed(1), crypt(1)
+.SH DIAGNOSTICS
+`?name' for inaccessible file;
+`?self-explanitory message'
+for other errors.
+.PP
+To protect against throwing away valuable work,
+a
+.I q
+or
+.I e
+command is considered to be in error, unless a
+.I w
+has occurred since the last buffer change.
+A second
+.I q
+or
+.I e
+will be obeyed regardless.
+.SH BUGS
+The 
+.I l
+command mishandles DEL.
+.br
+The
+.I undo
+command causes marks to be lost on affected lines.
+.br
+The
+.I x
+command,
+.B -x
+option,
+and
+special treatment of hangups
+only work on UNIX.
diff --git a/usr/man/man1/edit.1 b/usr/man/man1/edit.1
new file mode 100644 (file)
index 0000000..4096354
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/ex.1
diff --git a/usr/man/man1/efl.1 b/usr/man/man1/efl.1
new file mode 100644 (file)
index 0000000..5a4788f
--- /dev/null
@@ -0,0 +1,70 @@
+.TH EFL 1
+.SH NAME
+efl \- Extended Fortran Language
+.SH SYNOPSIS
+.B efl
+[ option ... ]
+[ filename ... ]
+.SH DESCRIPTION
+.I Efl
+compiles a program written in the EFL language into clean Fortran.
+.I Efl
+provides the same control flow constructs as does Ratfor (1),
+which are essentially identical to those in C:
+.TP
+statement grouping with braces;
+decision-making with if, if-else, and switch-case;
+while,
+for,
+Fortran do,
+repeat,
+and repeat...until loops;
+multi-level break and next.
+In addition, EFL has C-like data structures,
+and more uniform and convenient input/output syntax,
+generic functions.
+EFL also provides
+some syntactic sugar to make programs easier to read and write:
+.TP
+free form input:
+multiple statements/line; automatic continuation
+statement label names (not just numbers),
+.TP
+comments:
+# this is a comment
+.TP
+translation of relationals:
+>, >=, etc., become .GT., .GE., etc.
+.TP
+return (expression)
+returns expression to caller from function
+.TP
+define:
+define name replacement
+.TP
+include:
+include filename
+.PP
+.fi
+The Efl command option
+.B \-w
+suppresses warning messages.
+The option
+.B \-C
+causes comments to be copied through to the Fortran output (default);
+.B \-#
+prevents comments from being copied through.
+If a command argument contains an embedded equal sign,
+that argument is treated as if it had appeared in an
+.B option
+statement at the beginning of the program.
+.I Efl
+is best used with
+.IR f77 (1).
+.SH "SEE ALSO"
+f77(1),
+ratfor(1).
+.br
+S. I. Feldman,
+.IR "The Programming Language EFL",
+Bell Labs Computing Science Technical Report #78.
diff --git a/usr/man/man1/egrep.1 b/usr/man/man1/egrep.1
new file mode 100644 (file)
index 0000000..979b88d
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/grep.1
diff --git a/usr/man/man1/enroll.1 b/usr/man/man1/enroll.1
new file mode 100644 (file)
index 0000000..2818503
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/xsend.1
diff --git a/usr/man/man1/eqn.1 b/usr/man/man1/eqn.1
new file mode 100644 (file)
index 0000000..51f313e
--- /dev/null
@@ -0,0 +1,303 @@
+.EQ
+delim $$
+.EN
+.TH EQN 1
+.SH NAME
+eqn, neqn, checkeq \- typeset mathematics
+.SH SYNOPSIS
+.B eqn
+[
+.BR \-d xy
+] [
+.BR \-p n
+] [
+.BR \-s n
+] [
+.BR \-f n
+] 
+[ file ] ...
+.br
+.B checkeq
+[ file ] ...
+.SH DESCRIPTION
+.I Eqn
+is a
+troff(1)
+preprocessor
+for typesetting mathematics
+on a Graphic Systems phototypesetter,
+.I neqn
+on terminals.
+Usage is almost always
+.PP
+       eqn file ... | troff
+.br
+       neqn file ... | nroff
+.PP
+If no files are specified, 
+these programs
+reads from the standard input.
+A line beginning with `.EQ' marks the start of an equation;
+the end of an equation
+is marked by a line beginning with `.EN'.
+Neither of these lines is altered,
+so they may be defined in macro packages
+to get
+centering, numbering, etc.
+It is also possible to set two characters as `delimiters';
+subsequent text between delimiters is also treated as
+.ul
+eqn
+input.
+Delimiters may be set to characters
+.I x
+and
+.I y
+with the command-line argument
+.BI \-d xy
+or (more commonly) with
+`delim
+.IR xy '
+between .EQ and .EN.
+The left and right delimiters may be identical.
+Delimiters are turned off by `delim off'.
+All text that is neither between delimiters nor between .EQ and .EN
+is passed through untouched.
+.PP
+The program
+.I checkeq
+reports missing or unbalanced delimiters and .EQ/.EN pairs.
+.PP
+Tokens within
+.I eqn
+are separated by
+spaces, tabs, newlines, braces, double quotes,
+tildes or circumflexes.
+Braces {} are used for grouping;
+generally speaking,
+anywhere a single character like
+.I x
+could appear, a complicated construction
+enclosed in braces may be used instead.
+Tilde ~ represents a full space in the output,
+circumflex ^ half as much.
+.PP
+.vs 13p
+Subscripts and superscripts are produced with the keywords
+.B sub
+and
+.B sup.
+Thus
+.I "x sub i" 
+makes
+$x sub i$, 
+.I "a sub i sup 2"
+produces
+$a sub i sup 2$,
+and
+.I "e sup {x sup 2 + y sup 2}"
+gives
+$e sup {x sup 2 + y sup 2}$.
+.PP
+Fractions are made with
+.BR over :
+.I "a over b"
+yields $a over b$.
+.PP
+.B sqrt
+makes square roots:
+.I "1 over sqrt {ax sup 2 +bx+c}"
+results in
+$1 over sqrt {ax sup 2 +bx+c}$ .
+.PP
+The keywords
+.B from
+and
+.B to
+introduce lower and upper
+limits on arbitrary things:
+$lim from {n-> inf} sum from 0 to n x sub i$
+is made with
+.I "lim from {n\-> inf } sum from 0 to n x sub i."
+.PP
+Left and right brackets, braces, etc., of the right height are made with
+.B left
+and
+.B right:
+.I "left [ x sup 2 + y sup 2 over alpha right ] ~=~1"
+produces
+$left [ x sup 2 + y sup 2 over alpha right ] ~=~1$.
+The
+.B right
+clause is optional.
+Legal characters after 
+.B left
+and
+.B right
+are braces, brackets, bars,
+.B c
+and
+.B f
+for ceiling and floor,
+and "" for nothing at all (useful for a right-side-only bracket).
+.PP
+Vertical piles of things are made with 
+.BR pile ,
+.BR lpile ,
+.BR cpile ,
+and
+.BR rpile :
+.I "pile {a above b above c}"
+produces
+$pile {a above b above c}$.
+There can be an arbitrary number of elements in a pile.
+.B lpile
+left-justifies,
+.B pile
+and
+.B cpile
+center, with different vertical spacing,
+and 
+.B rpile
+right justifies.
+.PP
+Matrices are made with
+.BR matrix :
+.I "matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 } }"
+produces
+$matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 } }$.
+In addition, there is
+.B rcol
+for a right-justified column.
+.PP
+.vs 12p
+Diacritical marks are made with
+.BR dot ,
+.BR dotdot ,
+.BR hat ,
+.BR tilde ,
+.BR bar ,
+.BR vec ,
+.BR dyad ,
+and
+.BR under :
+.I "x dot = f(t) bar"
+is
+$x dot = f(t) bar$,
+.I "y dotdot bar ~=~ n under"
+is
+$y dotdot bar ~=~ n under$,
+and
+.I "x vec ~=~ y dyad"
+is
+$x vec ~=~ y dyad$.
+.PP
+Sizes and font can be changed with
+.B size
+.I n
+or
+.B size
+.BI \(+- n,
+.BR roman ,
+.BR italic ,
+.BR bold ,
+and
+.BR font
+.I n.
+Size and fonts can be changed globally in a document by
+.B gsize
+.I n
+and
+.B gfont
+.IR n ,
+or by the command-line arguments
+.BI \-s n
+and
+.BI \-f n.
+.PP
+Normally subscripts and superscripts are reduced by
+3 point sizes from the previous size;
+this may be changed by the command-line argument
+.BI \-p n.
+.PP
+Successive display arguments can be lined up.
+Place
+.B mark
+before the desired lineup point in the first equation;
+place
+.B lineup
+at the place that is to line up vertically in subsequent equations.
+.PP
+Shorthands may be defined
+or existing keywords redefined with
+.BI define :
+.I "define thing % replacement %"
+defines a new token called
+.I thing
+which will be replaced by
+.I replacement
+whenever it appears thereafter.
+The 
+.I %
+may be any character that does not occur in
+.I replacement.
+.PP
+Keywords like 
+.I sum
+.EQ
+( sum )
+.EN
+.I int
+.EQ
+( int )
+.EN
+.I inf
+.EQ
+( inf )
+.EN
+and shorthands like
+>=
+.EQ
+(>=)
+.EN
+\->
+.EQ
+(->),
+.EN
+and
+!=
+.EQ
+( != )
+.EN
+are recognized.
+Greek letters are spelled out in the desired case, as in
+.I alpha
+or
+.I GAMMA.
+Mathematical words like sin, cos, log are made Roman automatically.
+.IR Troff (1)
+four-character escapes like \e(bs (\(bs)
+can be used anywhere.
+Strings enclosed in double quotes "..."
+are passed through untouched;
+this permits keywords to be entered as text,
+and can be used to communicate
+with 
+.I troff
+when all else fails.
+.SH "SEE ALSO"
+.PP
+troff(1), tbl(1), ms(7), eqnchar(7)
+.br
+B. W. Kernighan and L. L. Cherry,
+.ul
+Typesetting Mathematics\(emUser's Guide
+.br
+J. F. Ossanna,
+.ul
+NROFF/TROFF User's Manual
+.SH BUGS
+.PP
+To embolden digits, parens, etc.,
+it is necessary to quote them,
+as in `bold "12.3"'.
diff --git a/usr/man/man1/error.1 b/usr/man/man1/error.1
new file mode 100644 (file)
index 0000000..10dba7a
--- /dev/null
@@ -0,0 +1,289 @@
+.TH ERROR 1
+.UC 4
+.SH NAME
+error \- analyze and disperse compiler error messages
+.SH SYNOPSIS
+.B error
+[
+.B \-n
+] [
+.B \-s
+] [
+.B \-q
+] [
+.B \-v
+] [
+.B \-t
+suffixlist
+] [
+.B \-I
+ignorefile
+] [ name ]
+.SH DESCRIPTION
+.I Error
+analyzes and optionally disperses the diagnostic error messages
+produced by a number of compilers and language processors to the source
+file and line where the errors occurred.  It can replace the painful,
+traditional methods of scribbling abbreviations of errors on paper, and
+permits error messages and source code to be viewed simultaneously
+without machinations of multiple windows in a screen editor.
+.PP
+.I Error
+looks at the error messages,
+either from the specified file \fIname\fR
+or from the standard input,
+and attempts to determine which
+language processor produced each error message,
+determines the source file and line number to which the error message refers,
+determines if the error message is to be ignored or not,
+and inserts the (possibly slightly modified) error message into
+the source file as a comment on the line preceeding to which the
+line the error message refers.
+Error messages which can't be categorized by language processor
+or content are not inserted into any file,
+but are sent to the standard output.
+.I Error
+touches source files only after all input has been read.
+By specifying the
+.B \-q
+query option,
+the user is asked to confirm any potentially
+dangerous (such as touching a file) or verbose action.
+Otherwise
+.I error
+proceeds on its merry business.
+If the
+.B \-t
+touch option and associated suffix list is given, 
+.I error
+will restrict itself to touch only those files with suffices
+in the suffix list.
+Error also can be asked (by specifying
+.B \-v)
+to invoke
+.IR vi (1)
+on the files in which error messages were inserted; this obviates
+the need to remember the names of the files with errors.
+.PP
+.I Error
+is intended to be run
+with its standard input
+connected via a pipe to the error message source.
+Some language processors put error messages on their standard error file;
+others put their messages on the standard output.
+Hence, both error sources should be piped together into
+.I error.
+For example, when using the \fIcsh\fP syntax,
+.IP
+make \-s lint |\|& error \-q \-v
+.LP
+will analyze all the error messages produced
+by whatever programs
+.I make
+runs when making lint.
+.PP
+.I Error
+knows about the error messages produced by:
+.I make,
+.I cc,
+.I cpp,
+.I ccom,
+.I as,
+.I ld,
+.I lint,
+.I pi,
+.I pc
+and
+.I f77.
+.I Error
+knows a standard format for error messages produced by
+the language processors,
+so is sensitive to changes in these formats.
+For all languages except 
+.I Pascal,
+error messages are restricted to be on one line.
+Some error messages refer to more than one line in more than
+one files;
+.I error
+will duplicate the error message and insert it at
+all of the places referenced.
+.PP
+.I Error
+will do one of six things with error messages.
+.TP 10
+.I synchronize
+Some language processors produce short errors describing
+which file it is processing.
+.I Error 
+uses these to determine the file name for languages that
+don't include the file name in each error message.
+These synchronization messages are consumed entirely by
+.I error.
+.TP 10
+.I discard
+Error messages from
+.I lint
+that refer to one of the two
+.I lint
+libraries,
+.I /usr/lib/llib-lc
+and
+.I /usr/lib/llib-port
+are discarded,
+to prevent accidently touching these libraries.
+Again, these error messages are consumed entirely by
+.I error.
+.TP 10
+.I nullify
+Error messages from
+.I lint
+can be nullified if they refer to a specific function,
+which is known to generate diagnostics which are not interesting.
+Nullified error messages are not inserted into the source file,
+but are written to the standard output.
+The names of functions to ignore are taken from
+either the file named
+.I .errorrc
+in the users's home directory, 
+or from the file named by the
+.B \-I
+option.
+If the file does not exist,
+no error messages are nullified.
+If the file does exist, there must be one function
+name per line.
+.TP 10
+.I not file specific
+Error messages that can't be intuited are grouped together,
+and written to the standard output before any files are touched.
+They will not be inserted into any source file.
+.TP 10
+.I file specific
+Error message that refer to a specific file,
+but to no specific line,
+are written to the standard output when
+that file is touched.
+.TP 10
+.I true errors
+Error messages that can be intuited are candidates for
+insertion into the file to which they refer.
+.PP
+Only true error messages are candidates for inserting into
+the file they refer to.
+Other error messages are consumed entirely by
+.I error
+or are written to the standard output.
+.I Error
+inserts the error messages into the source file on the line
+preceeding the line the language processor found in error.
+Each error message is turned into a one line comment for the
+language,
+and is internally flagged
+with the string ``###'' at
+the beginning of the error,
+and ``%%%'' at the end of the error.
+This makes pattern searching for errors easier with an editor,
+and allows the messages to be easily removed.
+In addition, each error message contains the source line number
+for the line the message refers to.
+A reasonably formatted source program can be recompiled
+with the error messages still in it,
+without having the error messages themselves cause future errors.
+For poorly formatted source programs in free format languages,
+such as C or Pascal,
+it is possible to insert a comment into another comment,
+which can wreak havoc with a future compilation.
+To avoid this, format the source program so there are no
+language statements on the same line as the end of a comment.
+.PP
+Options available with
+.I error
+are:
+.TP 5
+.B \-n
+Do
+.I not
+touch any files; all error messages are sent to the
+standard output.
+.TP 5
+.B \-q
+The user is
+.I queried
+whether s/he wants to touch the file.
+A ``y'' or ``n'' to the question is necessary to continue.
+Absence of the
+.B \-q
+option implies that all referenced files
+(except those refering to discarded error messages)
+are to be touched.
+.TP 5
+.B \-v
+After all files have been touched,
+overlay the visual editor
+.I vi
+with it set up to edit all files touched,
+and positioned in the first touched file at the first error.
+If
+.I vi 
+can't be found, try
+.I ex
+or
+.I ed
+from standard places.
+.TP 5
+.B \-t
+Take the following argument as a suffix list.
+Files whose suffices do not appear in the suffix list are not touched.
+The suffix list is dot seperated, and ``*'' wildcards work.
+Thus the suffix list:
+.IP
+\&     ".c.y.foo*.h"
+.IP
+allows
+.I error
+to touch files ending with ``.c'', ``.y'', ``.foo*'' and ``.y''.
+.TP 5
+.B \-s
+Print out 
+.I statistics
+regarding the error categorization.
+Not too useful.
+.PP
+.I Error
+catches interrupt and terminate signals,
+and if in the insertion phase,
+will orderly terminate what it is doing.
+.SH AUTHOR
+Robert Henry
+.SH FILES
+.ta 2i
+~/.errorrc     function names to ignore for \fIlint\fP error messages
+.br
+/dev/tty       user's teletype
+.SH BUGS
+.PP
+Opens the teletype directly to do user querying.
+.PP
+Source files with links make a new copy of the file with
+only one link to it.
+.PP
+Changing a language processor's format of error messages
+may cause 
+.I error
+to not understand the error message.
+.PP
+.I Error,
+since it is purely mechanical,
+will not filter out subsequent errors caused by `floodgating'
+initiated by one syntactically trivial error.
+Humans are still much better at discarding these related errors.
+.PP
+Pascal error messages belong after the lines affected
+(error puts them before).  The alignment of the `\||\|' marking
+the point of error is also disturbed by
+.I error.
+.PP
+.I Error
+was designed for work on CRT's at reasonably high speed.
+It is less pleasant on slow speed terminals, and has never been
+used on hardcopy terminals.
diff --git a/usr/man/man1/ex.1 b/usr/man/man1/ex.1
new file mode 100644 (file)
index 0000000..5e4766c
--- /dev/null
@@ -0,0 +1,139 @@
+.TH EX 1 8/26/80
+.UC 4
+.SH NAME
+ex, edit \- text editor
+.SH SYNOPSIS
+.B ex
+[
+.B \-
+] [
+.B \-v
+] [
+.B \-t 
+tag
+] [
+.B \-r
+] [
+\fB\+\fIcommand\fR
+] [
+.B \-l
+]
+name ...
+.br
+.B edit
+[
+ex options
+]
+.SH DESCRIPTION
+.I Ex
+is the root of a family of editors:
+.I edit,
+.I ex
+and
+.I vi.
+.I Ex
+is a superset of
+.I ed,
+with the most notable extension being a display editing facility.
+Display based editing is the focus of
+.I vi.
+.PP
+If you have not used
+.I ed,
+or are a casual user, you will find that the editor
+.I edit
+is convenient for you.
+It avoids some of the complexities of
+.I ex
+used mostly by systems programmers and persons very familiar with
+.I ed.
+.PP
+If you have a \s-2CRT\s0 terminal, you may wish to use a display
+based editor; in this case
+see
+.IR vi (1),
+which is a command which focuses on the display editing portion of
+.I ex.
+.SH DOCUMENTATION
+The document
+.I "Edit: A tutorial"
+provides a comprehensive introduction to
+.I edit
+assuming no previous knowledge of computers or the \s-2UNIX\s0 system.
+.PP
+The
+.I "Ex Reference Manual \- Version 3.5"
+is a comprehensive and complete manual for the command mode features
+of
+.I ex,
+but you cannot learn to use the editor by reading it.
+For an introduction to
+more advanced forms of editing using the command mode of
+.I ex
+see the editing documents written by Brian Kernighan for the editor
+.I ed;
+the material in the introductory and advanced documents works also with
+.I ex.
+.PP
+.I "An Introduction to Display Editing with Vi"
+introduces the display editor
+.I vi
+and provides reference material on
+.I vi.
+All of these documents can be found in volume 2c of the Programmer's Manual.
+In addition, the
+.I "Vi Quick Reference"
+card summarizes the commands
+of
+.I vi
+in a useful, functional way, and is useful with the
+.I Introduction.
+.SH FILES
+.DT
+/usr/lib/ex?.?strings          error messages
+.br
+/usr/lib/ex?.?recover          recover command
+.br
+/usr/lib/ex?.?preserve         preserve command
+.br
+/etc/termcap                   describes capabilities of terminals
+.br
+~/.exrc                                editor startup file
+.br
+/tmp/Ex\fInnnnn\fR                     editor temporary
+.br
+/tmp/Rx\fInnnnn\fR                     named buffer temporary
+.br
+/usr/preserve                  preservation directory
+.SH SEE ALSO
+awk(1), ed(1), grep(1), sed(1), grep(1), vi(1), termcap(5), environ(5)
+.SH AUTHOR
+Originally written by William Joy
+.br
+Mark Horton has maintained the editor since version 2.7, adding macros,
+support for many unusual terminals,
+and other features such as word abbreviation mode.
+.SH BUGS
+The
+.I undo
+command causes all marks to be lost on lines changed and then restored
+if the marked lines were changed.
+.PP
+.I Undo
+never clears the buffer modified condition.
+.PP
+The
+.I z
+command prints a number of logical rather than physical lines.
+More than a screen full of output may result if long lines are present.
+.PP
+File input/output errors don't print a name if the command line \fB`\-'\fR
+option is used.
+.PP
+There is no easy way to do a single scan ignoring case.
+.PP
+The editor does not warn if text is placed in named buffers and not used
+before exiting the editor.
+.PP
+Null characters are discarded in input files, and cannot appear in resultant
+files.
diff --git a/usr/man/man1/expand.1 b/usr/man/man1/expand.1
new file mode 100644 (file)
index 0000000..9677db6
--- /dev/null
@@ -0,0 +1,48 @@
+.TH EXPAND 1
+.UC 4
+.SH NAME
+expand, unexpand \- expand tabs to spaces, and vice versa
+.SH SYNOPSIS
+.B expand
+[
+\-tabstop
+] [
+\-tab1,tab2,...,tabn
+] [
+file ...
+]
+.br
+.B unexpand
+[
+.B \-a
+] [
+file ...
+]
+.SH DESCRIPTION
+.I Expand
+processes the named files or the standard input writing
+the standard output with tabs changed into blanks.
+Backspace characters are preserved into the output and decrement
+the column count for tab calculations.
+.I Expand
+is useful for pre-processing character files
+(before sorting, looking at specific columns, etc.) that
+contain tabs.
+.PP
+If a single
+.I tabstop
+argument is given then tabs are set
+.I tabstop
+spaces apart instead of the default 8.
+If multiple tabstops are given then the tabs are set at those
+specific columns.
+.PP
+.I Unexpand
+puts tabs back into the data from the standard input or the named
+files and writes the result on the standard output.
+By default only leading blanks and tabs
+are reconverted to maximal strings of tabs.  If the
+.B \-a
+option is given, then tabs are inserted whenever they would compress the
+resultant file by replacing two or more characters.
+.SH BUGS
diff --git a/usr/man/man1/explain.1 b/usr/man/man1/explain.1
new file mode 100644 (file)
index 0000000..ed9e981
--- /dev/null
@@ -0,0 +1,58 @@
+.TH DICTION 1 
+.SH NAME
+diction,explain \- print wordy sentences; thesaurus for diction
+.SH SYNOPSIS
+.B diction
+[
+.B \-ml
+] [
+.B \-mm
+] [
+.B \-n
+] [
+.B \-f
+pfile ]
+file ...
+.br
+.B explain
+.LP
+.SH DESCRIPTION
+.I Diction
+finds all sentences in a document that contain phrases
+from a data base of bad or wordy diction.
+Each phrase is bracketed with [ ].
+Because
+.I diction
+runs
+.I deroff
+before looking at the text, formatting
+header files should be included as part of the input.
+The default macro package
+.B \-ms
+may be overridden with the flag
+.B \-mm.
+The flag
+.B \-ml
+which causes 
+.B deroff
+to skip lists, should be used if the document contains many lists of
+non-sentences.
+The user may supply her/his own pattern file to be used in addition to the default file
+with
+.B \-f
+.I pfile.
+If the flag
+.B \-n
+is also supplied the default file will be suppressed.
+.PP
+.I Explain
+is an interactive thesaurus for the phrases found by diction.
+.SH "SEE ALSO"
+deroff(1)
+.SH BUGS
+Use of non-standard formatting macros may cause
+incorrect sentence breaks.
+In particular,
+.I diction
+doesn't grok
+.B \-me.
diff --git a/usr/man/man1/expr.1 b/usr/man/man1/expr.1
new file mode 100644 (file)
index 0000000..520337e
--- /dev/null
@@ -0,0 +1,102 @@
+.TH EXPR 1 
+.SH NAME
+expr \- evaluate arguments as an expression
+.SH SYNOPSIS
+.B expr
+arg
+.B .\|.\|.
+.SH DESCRIPTION
+The arguments are taken as an expression.
+After evaluation, the result is written on the standard output.
+Each token of the expression is a separate argument.
+.PP
+The operators and keywords are listed below.
+The list is in order of increasing precedence,
+with equal precedence operators grouped.
+.TP
+.I expr | expr
+yields the first
+.I expr
+if it is neither null nor `0', otherwise
+yields the second
+.I expr.
+.TP
+.I expr & expr
+yields the first
+.I expr
+if neither
+.I expr
+is null or `0', otherwise yields `0'.
+.TP
+.I expr relop expr
+where
+.I relop is one of
+< <= = != >= >,
+yields `1' if the indicated comparison is true, `0' if false.
+The comparison is numeric if both
+.I expr
+are integers, otherwise lexicographic.
+.TP
+.IR expr " + " expr
+.br
+.ns
+.TP
+.IR expr " \- " expr
+.br
+addition or subtraction of the arguments.
+.TP
+.IR expr " * " expr
+.br
+.ns
+.TP
+.IR expr " / " expr
+.br
+.ns
+.TP
+.IR expr " % " expr
+.br
+multiplication, division, or remainder of the arguments.
+.TP
+.IR expr " : " expr
+The matching operator compares the string first argument
+with the regular expression second argument;
+regular expression syntax is the same as that of
+.IR ed (1).
+The
+\fB\\(\|.\|.\|.\|\\)\fP
+pattern symbols can be used to select a portion of the
+first argument.
+Otherwise,
+the matching operator yields the number of characters matched
+(`0' on failure).
+.TP
+.RI ( " expr " )
+parentheses for grouping.
+.PP
+Examples:
+.PP
+To add 1 to the Shell variable
+.IR a :
+.IP
+a=\`expr $a + 1\`
+.PP
+To find the filename part (least significant part)
+of the pathname stored in variable
+.I a,
+which may or may not contain `/':
+.IP
+expr $a : \'.*/\e(\^.*\e)\' \'\^|\' $a
+.LP
+Note the quoted Shell metacharacters.
+.SH "SEE ALSO"
+sh(1), test(1)
+.SH DIAGNOSTICS
+.I Expr
+returns the following exit codes:
+.PP
+       0       if the expression is neither null nor `0',
+.br
+       1       if the expression
+is null or `0',
+.br
+       2       for invalid expressions.
diff --git a/usr/man/man1/eyacc.1 b/usr/man/man1/eyacc.1
new file mode 100644 (file)
index 0000000..31ccc83
--- /dev/null
@@ -0,0 +1,41 @@
+.TH EYACC 1
+.UC 4
+.SH NAME
+eyacc \- modified yacc allowing much improved error recovery
+.SH SYNOPSIS
+.B eyacc
+[
+.B \-v
+]
+[ grammar ]
+.SH DESCRIPTION
+.I Eyacc
+is an old version of
+.IR yacc (1),
+which produces tables used by the Pascal system and its error recovery
+routines.
+.I Eyacc
+fully enumerates test actions in its parser when an error token
+is in the look-ahead set.
+This prevents the parser from making undesirable reductions
+when an error occurs before the error is detected.
+The table format is different in
+.I eyacc
+than it was in the old
+.I yacc,
+as minor changes had been made for efficiency reasons.
+.SH "SEE ALSO"
+yacc(1)
+.br
+``Practical LR Error Recovery'' by Susan L. Graham, Charles B. Haley
+and W. N. Joy; SIGPLAN Conference on Compiler Construction, August 1979.
+.SH AUTHOR
+S. C. Johnson
+.PP
+.I Eyacc
+modifications by Charles Haley and William Joy.
+.SH BUGS
+.I Pc
+and its error recovery routines should be made into a library
+of routines for the new
+.I yacc.
diff --git a/usr/man/man1/false.1 b/usr/man/man1/false.1
new file mode 100644 (file)
index 0000000..0336736
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/true.1
diff --git a/usr/man/man1/fgrep.1 b/usr/man/man1/fgrep.1
new file mode 100644 (file)
index 0000000..979b88d
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/grep.1
diff --git a/usr/man/man1/file.1 b/usr/man/man1/file.1
new file mode 100644 (file)
index 0000000..5b648a5
--- /dev/null
@@ -0,0 +1,20 @@
+.TH FILE 1 
+.SH NAME
+file \- determine file type
+.SH SYNOPSIS
+.B file
+file ...
+.SH DESCRIPTION
+.I File
+performs a series of tests on each argument
+in an attempt to classify it.
+If an argument appears to be ascii,
+.I file
+examines the first 512 bytes
+and tries to guess its language.
+.SH BUGS
+It often makes mistakes.
+In particular it often suggests that
+command files are C programs.
+.PP
+Does not recognize Pascal or LISP.
diff --git a/usr/man/man1/find.1 b/usr/man/man1/find.1
new file mode 100644 (file)
index 0000000..bad926d
--- /dev/null
@@ -0,0 +1,169 @@
+.TH FIND 1 
+.SH NAME
+find \- find files
+.SH SYNOPSIS
+.B find
+pathname-list  expression
+.SH DESCRIPTION
+.I Find
+recursively descends
+the directory hierarchy for
+each pathname in the
+.I pathname-list
+(i.e., one or more pathnames)
+seeking files that match a boolean
+.I expression
+written in the primaries given below.
+In the descriptions, the argument
+.I n
+is used as a decimal integer
+where
+.I +n
+means more than
+.I n,
+.I \-n
+means less than
+.I n
+and
+.I n
+means exactly
+.IR n .
+.TP 10n
+.BR \-name " filename"
+True if the
+.I filename
+argument matches the current file name.
+Normal
+Shell
+argument syntax may be used if escaped (watch out for
+`[', `?' and `*').
+.TP
+.BR \-perm " onum"
+True if the file permission flags
+exactly
+match the
+octal number
+.I onum
+(see
+.IR  chmod (1)).
+If
+.I onum
+is prefixed by a minus sign,
+more flag bits (017777, see
+.IR   stat (2))
+become significant and
+the flags are compared:
+.IR (flags&onum)==onum .
+.TP
+.BR \-type " c"
+True if the type of the file
+is
+.I c,
+where
+.I c
+is
+.B "b, c, d"
+or
+.B f
+for
+block special file, character special file,
+directory or plain file.
+.TP
+.BR \-links " n"
+True if the file has
+.I n
+links.
+.TP
+.BR \-user " uname"
+True if the file belongs to the user
+.I uname
+(login name or numeric user ID).
+.TP
+.BR \-group " gname"
+True if the file belongs to group
+.I gname
+(group name or numeric group ID).
+.TP
+.BR \-size " n"
+True if the file is
+.I n
+blocks long (512 bytes per block).
+.TP
+.BR \-inum " n"
+True if the file has inode number
+.I n.
+.TP
+.BR \-atime " n"
+True if the file has been accessed in
+.I n
+days.
+.TP
+.BR \-mtime " n"
+True if the file has been modified in
+.I n
+days.
+.TP
+.BR \-exec " command"
+True if the executed command returns
+a zero value as exit status.
+The end of the command must be punctuated by an escaped
+semicolon.
+A command argument `{}' is replaced by the
+current pathname.
+.TP
+.BR \-ok " command"
+Like
+.B \-exec
+except that the generated command is written on
+the standard output, then the standard input is read
+and the command executed only upon response
+.BR y .
+.TP
+.B  \-print
+Always true;
+causes the current pathname to be printed.
+.TP
+.BR \-newer " file"
+True if
+the current file has been modified more recently than the argument
+.I file.
+.PP
+The primaries may be combined using the following operators
+(in order of decreasing precedence):
+.TP 4
+1)
+A parenthesized group of primaries and operators
+(parentheses are special to the Shell and must be escaped).
+.TP 4
+2)
+The negation of a primary
+(`!' is the unary
+.I not
+operator).
+.TP 4
+3)
+Concatenation of primaries
+(the
+.I and
+operation
+is implied by the juxtaposition of two primaries).
+.TP 4
+4)
+Alternation of primaries
+.RB "(`" \-o "' is the"
+.I or
+operator).
+.SH EXAMPLE
+To remove all files named
+`a.out' or `*.o' that have not been accessed for a week:
+.IP "" .2i
+find / \\( \-name a.out \-o \-name '*.o' \\)
+\-atime +7 \-exec rm {} \\;
+.SH FILES
+/etc/passwd
+.br
+/etc/group
+.SH "SEE ALSO"
+sh(1), test(1), filsys(5)
+.SH BUGS
+The syntax is painful.
diff --git a/usr/man/man1/finger.1 b/usr/man/man1/finger.1
new file mode 100644 (file)
index 0000000..0057b2c
--- /dev/null
@@ -0,0 +1,76 @@
+.TH FINGER 1
+.UC 4
+.SH NAME
+finger \- user information lookup program
+.SH SYNOPSIS
+.B finger
+[
+options
+] name ...
+.SH DESCRIPTION
+By default
+.I finger
+lists the login name, full name, terminal name and write status
+(as a '*' before the terminal name if write permission is denied),
+idle time, login time, and office location and phone number
+(if they are known) for each current UNIX user.
+(Idle time is minutes if it is a single integer, hours and minutes if a ':'
+is present, or days and hours if a 'd' is present.)
+.PP
+A longer format also exists and is used by
+.I finger
+whenever a list of peoples names is given.  (Account names as well as
+first and last names of users are accepted.)
+This format is multi-line, and includes all the information described above
+as well as the user's home
+directory and login shell, any plan which the person has placed in the file
+.I \&.plan
+in their home
+directory, and the project on which they are working from the file
+.I \&.project
+also in the home directory.
+.PP
+.I Finger
+options include:
+.TP
+.B \-m
+Match arguments only on user name.
+.TP
+.B \-l
+Force long output format.
+.TP
+.B \-p
+Suppress printing of the
+.I \&.plan
+files
+.TP
+.B \-s
+Force short output format.
+.SH FILES
+.ta 2i
+/etc/utmp      who file
+.br
+/etc/passwd    for users names, offices, ...
+.br
+/usr/adm/lastlog       last login times
+.br
+~/.plan        plans
+.br
+~/.project     projects
+.SH "SEE ALSO"
+w(1), who(1)
+.SH AUTHOR
+Earl T. Cohen
+.SH BUGS
+Only the first line of the
+.I .project
+file is printed.
+.PP
+The encoding of the gcos field is UCB dependent \- it knows that an office
+`197MC' is `197M Cory Hall', and that `529BE' is `529B Evans Hall'.
+.PP
+A user information data base is in the works and will radically alter
+the way the information that
+.I finger
+uses is stored.  Finger will require extensive modification when
+this is implemented.
diff --git a/usr/man/man1/fmt.1 b/usr/man/man1/fmt.1
new file mode 100644 (file)
index 0000000..c172821
--- /dev/null
@@ -0,0 +1,39 @@
+.TH FMT 1 2/24/79
+.UC
+.SH NAME
+fmt \- simple text formatter
+.SH SYNOPSIS
+.B fmt
+[
+name ...
+]
+.SH DESCRIPTION
+.I Fmt
+is a simple text formatter which reads the concatenation of input
+files (or standard input if none are given) and produces on
+standard output a version of its input with lines as close to
+72 characters long as possible.  The spacing at the beginning
+of the input lines is preserved in the output, as are blank lines
+and interword spacing.
+.PP
+.I Fmt
+is meant to format mail messages prior to sending, but may also be useful
+for other simple tasks.
+For instance,
+within visual mode of the
+.I ex
+editor (e.g.
+.IR vi )
+the command
+.br
+       !}fmt
+.br
+will reformat a paragraph,
+evening the lines.
+.SH "SEE ALSO"
+nroff(1), mail(1)
+.SH AUTHOR
+Kurt Shoens
+.SH BUGS
+The program was designed to be simple and fast \- for more complex
+operations, the standard text processors are likely to be more appropriate.
diff --git a/usr/man/man1/fold.1 b/usr/man/man1/fold.1
new file mode 100644 (file)
index 0000000..e8a4672
--- /dev/null
@@ -0,0 +1,30 @@
+.TH FOLD 1 2/24/79
+.UC
+.SH NAME
+fold \- fold long lines for finite width output device
+.SH SYNOPSIS
+.B fold
+[
+\-width
+] [
+file ...
+]
+.SH DESCRIPTION
+.I Fold
+is a filter which will fold the contents of the specified files,
+or the standard input if no files are specified,
+breaking the lines to have maximum width
+.I width.
+The default for
+.I width
+is 80.
+.I Width
+should be a multiple of 8 if tabs are present, or the tabs should
+be expanded using
+.IR expand (1)
+before coming to
+.I fold.
+.SH SEE\ ALSO
+expand(1)
+.SH BUGS
+If underlining is present it may be messed up by folding.
diff --git a/usr/man/man1/from.1 b/usr/man/man1/from.1
new file mode 100644 (file)
index 0000000..318ee61
--- /dev/null
@@ -0,0 +1,27 @@
+.TH FROM 1
+.UC 4
+.SH NAME
+from \- who is my mail from?
+.SH SYNOPSIS
+.B from
+[
+.B \-s
+sender
+]
+[
+user
+]
+.SH DESCRIPTION
+.I From
+prints out the mail header lines in your mailbox file
+to show you who your mail is from.
+If
+.I user
+is specified, then \fIuser\fP's mailbox is examined instead of your own.
+If the -s option is given, then only headers for mail sent by
+.I sender
+are printed.
+.SH FILES
+/usr/spool/mail/*
+.SH "SEE ALSO"
+biff(1), mail(1), prmail(1)
diff --git a/usr/man/man1/gets.1 b/usr/man/man1/gets.1
new file mode 100644 (file)
index 0000000..66fddb8
--- /dev/null
@@ -0,0 +1,55 @@
+.TH GETS 1 deprecated
+.UC 4
+.SH NAME
+gets \- get a string from standard input
+.SH SYNOPSIS
+.B gets
+[ default ]
+.SH DESCRIPTION
+.B N.B.:
+This command was introduced for use in \fI.login\fR scripts when the facilities
+of the 
+.IR tset (1)
+command were not totally adequate in setting the terminal type.
+This is no longer true, and
+.I gets
+should no longer be needed.
+To boot, a construct ``$<'' is available in
+.IR csh (1)
+now which has the functionality of
+.IR gets:
+.IP
+\fBset a=$<\fR
+.br
+\fBif ($a == '') set a=default
+.LP
+replaces
+.IP
+\fBset a=`gets default`\fR
+.LP
+Users of
+.IR sh (1)
+should use its
+.I read
+command rather than
+.I gets.
+.PP
+.I Gets
+can be used with
+.IR csh (1)
+to read a string from the standard input.
+If a
+.I default
+is given it is used if just return is typed, or if an error occurs.
+The resultant string (either the default or as read from the standard
+input is written to the standard output.
+If no
+.I default
+is given and an error occurs,
+.I gets
+exits with exit status 1.
+.SH "SEE ALSO"
+csh (1)
+.SH BUGS
+.I Gets
+is obsolete.
diff --git a/usr/man/man1/graph.1g b/usr/man/man1/graph.1g
new file mode 100644 (file)
index 0000000..27c7dc0
--- /dev/null
@@ -0,0 +1,112 @@
+.TH GRAPH 1G 
+.SH NAME
+graph \- draw a graph
+.SH SYNOPSIS
+.B graph
+[ option ] ...
+.SH DESCRIPTION
+.I Graph
+with no options takes pairs of numbers from the
+standard input as abscissas and
+ordinates of a graph.
+Successive points are connected by straight lines.
+The graph is encoded on the standard output
+for display by the
+.IR  plot (1)
+filters.
+.PP
+If the coordinates of a point are followed by
+a nonnumeric string, that string is printed as a
+label beginning on the point.
+Labels may be surrounded with quotes "...", in
+which case they may be empty or contain blanks
+and numbers;
+labels never contain newlines.
+.PP
+The following options are recognized,
+each as a separate argument.
+.TP
+.B  \-a
+Supply abscissas automatically (they are missing from
+the input); spacing is given by the next
+argument (default 1).
+A second optional argument is the starting point for
+automatic abscissas (default 0 or lower limit given by
+.BR \-x ).
+.TP
+.B  \-b
+Break (disconnect) the graph after each label in the input.
+.TP
+.B  \-c
+Character string given by next argument
+is default label for each point.
+.TP
+.B  \-g
+Next argument is grid style,
+0 no grid, 1 frame with ticks, 2 full grid (default).
+.TP
+.B  \-l
+Next argument is label for graph.
+.TP
+.B  \-m
+Next argument is mode (style)
+of connecting lines:
+0 disconnected, 1 connected (default).
+Some devices give distinguishable line styles
+for other small integers.
+.TP
+.B  \-s
+Save screen, don't erase before plotting.
+.TP
+\fB\-x\fR [ \fBl\fR ]
+If
+.B l
+is present, x axis is logarithmic.
+Next 1 (or 2) arguments are lower (and upper)
+.IR x ""
+limits.
+Third argument, if present, is grid spacing on 
+.I x
+axis.
+Normally these quantities are determined automatically.
+.TP
+\fB\-y\fR [ \fBl\fR ]
+Similarly for
+.IR y .
+.TP
+.B  \-h
+Next argument is fraction of space for height.
+.TP
+.B  \-w
+Similarly for width.
+.TP
+.B  \-r
+Next argument is fraction of space to move right before plotting.
+.TP
+.B  \-u
+Similarly to move up before plotting.
+.TP
+.B  \-t
+Transpose horizontal and vertical axes.
+(Option
+.B \-x
+now applies to the vertical axis.)
+.PP
+A legend indicating grid range is produced
+with a grid unless the
+.B \-s
+option is present.
+.PP
+If a specified lower limit exceeds the upper limit,
+the axis
+is reversed.
+.SH "SEE ALSO"
+spline(1), plot(1)
+.SH BUGS
+.I Graph
+stores all points internally and drops those for which
+there isn't room.
+.br
+Segments that run out of bounds are dropped, not windowed.
+.br
+Logarithmic axes may not be reversed.
diff --git a/usr/man/man1/grep.1 b/usr/man/man1/grep.1
new file mode 100644 (file)
index 0000000..ed8ca6d
--- /dev/null
@@ -0,0 +1,177 @@
+.TH GREP 1 8/11/80
+.UC 4
+.SH NAME
+grep, egrep, fgrep \- search a file for a pattern
+.SH SYNOPSIS
+.B grep
+[ option ] ...
+expression [ file ] ...
+.LP
+.B egrep 
+[ option ] ...
+[ expression ]
+[ file ] ...
+.PP
+.B fgrep
+[ option ] ...
+[ strings ]
+[ file ]
+.SH DESCRIPTION
+Commands of the
+.I grep
+family search the input
+.I files
+(standard input default)
+for lines matching
+a pattern.
+Normally, each line found
+is copied to the standard output.
+.I Grep
+patterns are limited regular expressions in the style of
+.IR ex (1);
+it uses a compact nondeterministic algorithm.
+.I Egrep
+patterns are full regular expressions;
+it uses a fast deterministic algorithm that
+sometimes needs exponential space.
+.I Fgrep
+patterns are fixed strings; it is fast and compact.
+The following options are recognized.
+.TP
+.B \-v
+All lines but those matching
+are printed.
+.TP
+.B \-x
+(Exact) only lines matched in their entirety are printed
+.RI ( fgrep
+only).
+.TP
+.B \-c
+Only a count of matching lines is printed.
+.TP
+.B \-l
+The names of files with matching lines are listed (once)
+separated by newlines.
+.TP
+.B \-n
+Each line is preceded by
+its relative line number in the file.
+.TP
+.B \-b
+Each line is preceded by the block number
+on which it was found.
+This is sometimes useful in locating
+disk block numbers by context.
+.TP
+.B \-i
+The case of letters is ignored in making comparisons.
+(E.g. upper and lower case are considered identical.)
+(\fIgrep\fR\| and \fIfgrep\fR only)
+.TP
+.B \-s
+Silent mode.
+Nothing is printed (except error messages).
+This is useful for checking the error status.
+.TP
+.B \-w
+The expression is searched for as a word
+(as if surrounded by `\e<' and `\e>', see
+.IR ex (1).)
+(\fIgrep\fR\| only)
+.TP
+.BI \-e " expression"
+Same as a simple
+.I expression 
+argument,
+but useful when the
+.I expression
+begins with a \-.
+.TP
+.BI \-f " file"
+The regular expression
+.RI ( egrep )
+or string list
+.RI ( fgrep ) 
+is taken from the
+.I file.
+.PP
+In all cases the file name is shown if there is more than one input file.
+Care should be taken when
+using the characters
+$ * [ ^ | ( ) and \\ in the
+.I expression
+as they are
+also meaningful to the Shell.
+It is safest to enclose the
+entire
+.I expression
+argument in single quotes \' \'.
+.PP
+.I Fgrep
+searches for lines that contain one of the (newline-separated)
+.I strings.
+.PP
+.I Egrep
+accepts extended regular expressions.
+In the following description `character' excludes
+newline:
+.IP
+A \e followed by a single character
+other than newline
+matches that character.
+.IP
+The character ^ ($) matches the beginning (end) of
+a line.
+.IP
+A 
+.B .
+matches any character.
+.IP
+A single character not otherwise endowed with special
+meaning matches that character.
+.IP
+A string enclosed in brackets [\|]
+matches any single character from the string.
+Ranges of ASCII character codes may be abbreviated
+as in `a\-z0\-9'.
+A ]
+may occur only as the first character of the string.
+A literal \- must be placed where it can't be
+mistaken as a range indicator.
+.IP
+A regular expression followed by * (+, ?) matches a sequence
+of 0 or more (1 or more, 0 or 1)
+matches of the regular expression.
+.IP
+Two regular expressions concatenated
+match a match of the first followed by a match of 
+the second.
+.IP
+Two regular expressions separated by | or newline
+match either a match for the first or a match for the
+second.
+.IP
+A regular expression enclosed in parentheses
+matches a match for the regular expression.
+.LP
+The order of precedence of operators
+at the same parenthesis level
+is [\|] then
+*+? then concatenation then | and newline.
+.SH "SEE ALSO"
+ex(1),
+sed(1),
+sh(1)
+.SH DIAGNOSTICS
+Exit status is 0 if any matches are found,
+1 if none, 2 for syntax errors or inaccessible files.
+.SH BUGS
+Ideally there should be only one
+.I grep,
+but we don't know a single algorithm that spans a wide enough
+range of space-time tradeoffs.
+.PP
+Lines
+are limited to 256 characters;
+longer lines are truncated.
diff --git a/usr/man/man1/head.1 b/usr/man/man1/head.1
new file mode 100644 (file)
index 0000000..320a21b
--- /dev/null
@@ -0,0 +1,21 @@
+.TH HEAD 1 2/24/79
+.UC
+.SH NAME
+head \- give first few lines
+.SH SYNOPSIS
+.B head
+[
+.BR \- count
+] [
+file ...
+]
+.SH DESCRIPTION
+This filter gives the first
+.I count
+lines of each of the specified files, or of the standard input.
+If
+.I count
+is omitted it defaults to
+10.
+.SH SEE\ ALSO
+tail(1)
diff --git a/usr/man/man1/intro.1 b/usr/man/man1/intro.1
new file mode 100644 (file)
index 0000000..b855143
--- /dev/null
@@ -0,0 +1,51 @@
+.TH INTRO 1 
+.UC 4
+.SH NAME
+intro \- introduction to commands
+.SH DESCRIPTION
+This section describes publicly accessible commands
+in alphabetic order.
+Certain distinctions of purpose are made in the headings:
+.TP
+(1)
+Commands of general utility.
+.TP
+(1C)
+Commands for communication with other systems.
+.TP
+(1G)
+Commands used primarily for graphics and computer-aided design.
+.PP
+N.B.: Commands related to system maintenance, which appeared in
+section 1, distinguished by (1M), in previous versions of the manual
+have been moved to section 8, as they are of little interest to most
+users.
+.PP
+The word `VAX-11' at the foot of a page means that some or all
+of the description applies only to the implementation for the
+Digital Equipment Corporation VAX-11.
+Pages added or changed between the distribution of UNIX/32V and the
+Berkeley Distribution indicate `3rd Berkeley Distribution' or
+`4th Berkeley Distribution' at the lower left, as appropriate.
+.SH SEE ALSO
+Section (6) for computer games, section (8) for system maintenance
+commands.
+.PP
+.I How to get started,
+in the Introduction.
+.SH DIAGNOSTICS
+Upon termination each command returns two bytes of status,
+one supplied by the system giving the cause for
+termination, and (in the case of `normal' termination)
+one supplied by the program,
+see
+.I wait
+and
+.IR exit (2).
+The former byte is 0 for normal termination, the latter
+is customarily 0 for successful execution, nonzero
+to indicate troubles such as erroneous parameters, bad or inaccessible data,
+or other inability to cope with the task at hand.
+It is called variously `exit code', `exit status' or
+`return code', and is described only where special
+conventions are involved.
diff --git a/usr/man/man1/iostat.1 b/usr/man/man1/iostat.1
new file mode 100644 (file)
index 0000000..4d6aa37
--- /dev/null
@@ -0,0 +1,45 @@
+.TH IOSTAT 1
+.UC 4
+.SH NAME
+iostat \- report I/O statistics
+.SH SYNOPSIS
+.B iostat
+[ interval [ count ] ]
+.SH DESCRIPTION
+.I Iostat
+iteratively reports the number of characters read and written to terminals,
+and, for each disk, the number of seeks and transfers per second,
+and the milliseconds per average seek.
+It also gives the percentage of time the system has
+spent in user mode, in user mode running low priority (niced) processes,
+in system mode, and idling.
+.PP
+To compute this information, for each disk, seeks and data transfer completions
+and number of words transferred are counted;
+for terminals collectively, the number
+of input and output characters are counted.
+Also, each sixtieth of a second,
+the state of each disk is examined
+and a tally is made if the disk is active.
+From these numbers and given the transfer rates
+of the devices it is possible to determine
+average seek times for each device.
+.PP
+The optional
+.I interval
+argument causes
+.I iostat
+to report once each
+.I interval
+seconds.
+The first report is for  all time since a reboot and each
+subsequent report is for the last interval only.
+.PP
+The optional
+.I count
+argument restricts the number of reports.
+.SH FILES
+/dev/kmem
+/vmunix
+.SH SEE ALSO
+vmstat(1)
diff --git a/usr/man/man1/iul.1 b/usr/man/man1/iul.1
new file mode 100644 (file)
index 0000000..692493d
--- /dev/null
@@ -0,0 +1,4 @@
+.pl 1
+The ``iul'' command is obsolete.  Use the ``-i'' (indicate) option to
+the ``ul'' command instead.  Thus ``nroff -ms foo | iul'' is replaced
+by ``nroff -ms foo | ul -i''.
diff --git a/usr/man/man1/join.1 b/usr/man/man1/join.1
new file mode 100644 (file)
index 0000000..fe45af8
--- /dev/null
@@ -0,0 +1,104 @@
+.TH JOIN 1 
+.SH NAME
+join \- relational database operator
+.SH SYNOPSIS
+.B join
+[
+options
+]
+file1 file2
+.SH DESCRIPTION
+.I Join
+forms, on the standard output,
+a join
+of the two relations specified by the lines of
+.I file1
+and
+.IR file2 .
+If
+.I file1
+is `\-', the standard input is used.
+.PP
+.I File1
+and 
+.I file2
+must be sorted in increasing ASCII collating
+sequence on the fields
+on which they are to be joined,
+normally the first in each line.
+.PP
+There is one line in the output 
+for each pair of lines in 
+.I file1 
+and 
+.I file2
+that have identical join fields.
+The output line normally consists of the common field,
+then the rest of the line from 
+.IR file1 ,
+then the rest of the line from
+.IR file2 .
+.PP
+Fields are normally separated by blank, tab or newline.
+In this case, multiple separators count as one, and
+leading separators are discarded.
+.PP
+These options are recognized:
+.TP
+.BI \-a n
+In addition to the normal output,
+produce a line for each unpairable line in file
+.IR n ,
+where
+.I n
+is 1 or 2.
+.TP
+.BI \-e \ s
+Replace empty output fields by string
+.IR s .
+.TP
+.BI \-j n\ m
+Join on the
+.IR m th
+field of file
+.IR n .
+If
+.I n
+is missing, use the
+.IR m th
+field in each file.
+.TP
+.BI \-o \ list
+Each output line comprises the fields specifed in
+.IR list ,
+each element of which has the form
+.IR n . m ,
+where
+.I n
+is a file number and
+.I m
+is a field number.
+.PP
+.TP
+.BI \-t c
+Use character
+.I c
+as a separator (tab character).
+Every appearance of
+.I c
+in a line is significant.
+.SH "SEE ALSO"
+sort(1), comm(1), awk(1)
+.SH BUGS
+With default field separation,
+the collating sequence is that of
+.IR sort\ \-b ;
+with
+.BR \-t ,
+the sequence is that of a plain sort.
+.PP
+The conventions of
+.I join, sort, comm, uniq, look
+and
+.IR awk (1)
+are wildly incongruous.
diff --git a/usr/man/man1/kill.1 b/usr/man/man1/kill.1
new file mode 100644 (file)
index 0000000..d0972b7
--- /dev/null
@@ -0,0 +1,72 @@
+.TH KILL 1 
+.UC 4
+.SH NAME
+kill \- terminate a process with extreme prejudice
+.SH SYNOPSIS
+.B kill
+[
+.BR \- sig
+]
+processid ...
+.br
+.B kill
+.B \-l
+.SH DESCRIPTION
+.I Kill
+sends the TERM (terminate, 15) signal to the specified processes.
+If a signal name or number preceded by `\-' is given
+as first argument, that signal is sent instead of
+terminate
+(see
+.IR  signal (2)).
+The signal names are listed by
+`kill \-l', and are as given in
+.I /usr/include/signal.h,
+stripped of the common SIG prefix.
+.PP
+The terminate signal will kill processes that do not catch the signal;
+`kill \-9 ...' is a sure kill, as the KILL (9) signal cannot be caught.
+By convention, if process number 0 is specified, all members
+in the process group (i.e. processes resulting from 
+the current login) are signaled (but beware: this works only
+if you use
+.IR sh (1);
+not if you use
+.IR csh (1).)
+The killed processes must belong
+to the current user unless
+he is the super-user.
+.PP
+To shut the system down and bring it up single user
+the super-user may send the initialization process a TERM (terminate)
+signal by `kill 1'; see
+.IR init (8).
+To force
+.I init
+to close and open terminals
+according to what is currently in
+/etc/ttys
+use `kill \-HUP 1' (sending a hangup, signal 1).
+.PP
+The process number of an asynchronous process
+started with `&' is reported by the shell.
+Process numbers can also be found by using
+.I Kill
+is a built-in to
+.IR csh (1);
+it allows job specifiers ``%...''
+so process id's are not as often used as
+.I kill
+arguments.
+See
+.IR csh (1)
+for details.
+.SH "SEE ALSO"
+csh(1), ps(1), kill(2), signal(2)
+.SH BUGS
+An option to kill process groups ala
+.IR killpg (2)
+should be provided; a replacement for ``kill 0''
+for
+.IR csh (1)
+users should be provided.
diff --git a/usr/man/man1/lastcomm.1 b/usr/man/man1/lastcomm.1
new file mode 100644 (file)
index 0000000..f6be8c4
--- /dev/null
@@ -0,0 +1,47 @@
+.TH LASTCOMM 1 10/27/79
+.UC
+.SH NAME
+lastcomm \- show last commands executed in reverse order
+.SH SYNOPSIS
+.B lastcomm
+[ command name ] ... [user name] ...
+.SH DESCRIPTION
+.PP
+.I Lastcomm
+gives information on previously executed commands.
+.I Lastcomm
+with no arguments prints information about all the commands recorded
+during the current accounting file's lifetime.
+If called with arguments, only those accounting entries whose command
+name or user name matches one of the arguments are printed.
+So, for example,
+.br
+       lastcomm a.out
+.br
+would produce a listing of all the
+executions of commands named a.out, and
+.br
+       lastcomm root
+.br
+would produce a listing of all the commands executed by user root.
+.LP
+
+.PP
+For each process entry, the following are printed.
+.br
+       The name of the user who ran the process.
+.br
+       The command name under which the process was called.
+.br
+       The amount of cpu time used by the process (in seconds).
+.br
+       The time the process exited.
+.br
+.LP
+
+.SH "AUTHOR"
+Len Edmondson
+
+.SH "SEE ALSO"
+last (1)
+.br
diff --git a/usr/man/man1/ld.1 b/usr/man/man1/ld.1
new file mode 100644 (file)
index 0000000..f67be45
--- /dev/null
@@ -0,0 +1,228 @@
+.TH LD 1 VAX-11
+.UC 4
+.SH NAME
+ld \- link editor
+.SH SYNOPSIS
+.B ld
+[ option ] ... file ...
+.SH DESCRIPTION
+.I Ld
+combines several
+object programs into one, resolves external
+references, and searches libraries.
+In the simplest case several object
+.I files
+are given, and
+.I ld
+combines them, producing
+an object module which can be either executed or
+become the input for a further
+.I ld
+run.
+(In the latter case, the
+.B \-r
+option must be given
+to preserve the relocation bits.)\ 
+The output of
+.I ld
+is left on
+.BR a.out .
+This file is made executable
+only if no errors occurred during the load.
+.PP
+The argument routines are concatenated in the order
+specified.  The entry point of the output is the
+beginning of the first routine (unless the \fB\-e\fP option is specified).
+.PP
+If any argument is a library, it is searched exactly once
+at the point it is encountered in the argument list.
+Only those routines defining an unresolved external
+reference are loaded.
+If a routine from a library
+references another routine in the library,
+and the library has not been processed by
+.IR ranlib (1),
+the referenced routine must appear after the
+referencing routine in the library.
+Thus the order of programs within libraries
+may be important.
+The first member of a library
+should be a file named `\_\^\_.SYMDEF',
+which is understood to be a dictionary for the library as produced by
+.IR ranlib (1);
+the dictionary is searched iteratively to satisfy as many references as
+possible.
+.PP
+The symbols `\_etext', `\_edata' and `\_end'
+(`etext', `edata' and `end' in C)
+are reserved, and if referred to,
+are set to the first location above the program,
+the first location above initialized data,
+and the first location above all data respectively.
+It is erroneous to define these symbols.
+.PP
+.I Ld
+understands several options.
+Except for
+.BR \-l ,
+they should appear before the file names.
+.TP
+.B \-A
+This option specifies incremental loading, i.e.
+linking is to be done in a manner so that the resulting object
+may be read into an already executing program.
+The next argument is the name of a file whose symbol table will be
+taken as a basis on which to define additional symbols.
+Only newly linked material will be entered into the text and
+data portions of 
+.BR a.out,
+but the new symbol table will reflect
+every symbol defined before and after the incremental load.
+This argument must appear before any other object file in the argument list.
+The
+.B \-T
+option may be used as well, and will be taken to mean that the
+newly linked segment will commence at the corresponding address
+(which must be a multiple of 1024).
+The default value is the old value of _end.
+.TP
+.B \-D
+Take the next argument as a hexadecimal number and pad the data segment
+with zero bytes to the indicated length.
+.TP 
+.B  \-d
+Force definition of common storage
+even if the
+.B \-r
+flag is present.
+.TP
+.B \-e
+The following argument is taken to be the
+name of the entry point of the loaded
+program; location 0 is the default.
+.TP 
+.BI \-l x
+This
+option is an abbreviation for the library name
+.RI `/lib/lib x .a',
+where
+.I x
+is a string.
+If that does not exist,
+.I ld
+tries
+.RI `/usr/lib/lib x .a'
+A library is searched when its name is encountered,
+so the placement of a
+.B  \-l
+is significant.
+.TP
+.B \-M
+produce a primitive load map, listing the names of the files
+which will be loaded.
+.TP
+.B \-N
+Do not make the text portion read only or sharable.  (Use "magic number" 0407.)
+.TP 
+.B  \-n
+Arrange (by giving the output file a 0410 "magic number") that
+when the output file is executed,
+the text portion will be read-only and shared
+among all users executing the file.
+This involves moving the data areas up to the first
+possible 1024 byte boundary following the
+end of the text.
+.TP 
+.B  \-o
+The
+.I name
+argument after
+.B \-o
+is used as the name of the
+.I ld
+output file, instead of
+.BR a.out .
+.TP 
+.B  \-r
+Generate relocation bits in the output file
+so that it can be the subject of another
+.I ld
+run.
+This flag also prevents final definitions from being
+given to common symbols,
+and suppresses the `undefined symbol' diagnostics.
+.TP
+.B \-S
+`Strip' the output by removing all symbols except locals and globals.
+.TP 
+.B  \-s
+`Strip' the output, that is, remove the symbol table
+and relocation bits to save space (but impair the
+usefulness of the debuggers).
+This information can also be removed by
+.IR  strip (1).
+.TP
+.B \-T
+The next argument is a hexadecimal number which sets the text segment origin.
+The default origin is 0.
+.TP
+.B \-t
+("trace")  Print the name of each file as it is processed.
+.TP 
+.B  \-u
+Take the following argument as a symbol and enter
+it as undefined in the symbol table.  This is useful
+for loading wholly from a library, since initially the symbol
+table is empty and an unresolved reference is needed
+to force the loading of the first routine.
+.TP 
+.B  \-X
+Save local symbols
+except for those whose names begin with `L'.
+This option is used by
+.IR cc (1)
+to discard internally-generated labels while
+retaining symbols local to routines.
+.TP 
+.B  \-x
+Do not preserve local
+(non-.globl) symbols in the output symbol table; only enter
+external symbols.
+This option saves some space in the output file.
+.TP
+\fB\-y\fIsym\fR
+Indicate each file in which
+.I sym
+appears, its type and whether the file defines or references it.
+Many such options may be given to trace many symbols.
+(It is usually necessary to begin
+.I sym
+with an `_', as external C, FORTRAN and Pascal variables begin
+with underscores.)
+.TP
+.B \-z
+Arrange for the process to be loaded on
+demand from the resulting executable file (413 format)
+rather than preloaded.
+This is the default.
+Results in a 1024 byte header on the output file followed by
+a text and data segment each of which have size a multiple of 1024 bytes
+(being padded out with nulls in the file if necessary).
+With this format the first few BSS segment symbols may actually appear
+(from the output of
+.IR size (2))
+to live in the data segment;
+this to avoid wasting the space resulting from data segment size roundup.
+.SH FILES
+.ta \w'/usr/local/lib/lib*.a\ \ 'u
+/lib/lib*.a    libraries
+.br
+/usr/lib/lib*.a        more libraries
+.br
+/usr/local/lib/lib*.a  still more libraries
+.br
+a.out  output file
+.SH "SEE ALSO"
+as(1), ar(1), cc(1), ranlib(1)
+.SH BUGS
+There is no way to force data to be page aligned.
diff --git a/usr/man/man1/learn.1 b/usr/man/man1/learn.1
new file mode 100644 (file)
index 0000000..1cc64e4
--- /dev/null
@@ -0,0 +1,74 @@
+.TH LEARN 1
+.SH NAME
+learn \- computer aided instruction about UNIX
+.SH SYNOPSIS
+.B learn
+[
+.BR \- directory
+]
+[ subject [ lesson  [ speed ] ] ]
+.SH DESCRIPTION
+.I Learn
+gives CAI courses and practice in the use of UNIX.
+To get started
+simply type `learn'.
+The program will ask questions to find out what
+you want to do.
+The questions may be bypassed by naming a
+.I subject,
+and the last
+.I lesson
+number that
+.I learn
+told you in the previous session.
+You may also include a
+.I speed
+number that was given with the lesson number
+(but without the parentheses that
+.I learn
+places around the speed number).
+If
+.I lesson
+is `\-', 
+.I learn
+prompts for each lesson;
+this is useful for debugging.
+.PP
+The
+.I subjects
+presently handled are
+.sp
+.nf
+      editor
+      eqn
+      files
+      macros
+      morefiles
+      C
+.fi
+.PP
+The special command
+`bye' terminates a 
+.I learn
+session.
+.PP
+The
+.BI \- directory
+option allows one to exercise a script in
+a nonstandard place.
+.SH FILES
+/usr/learn and all dependent directories and files
+.SH BUGS
+The main strength of
+.I learn,
+that it asks the student to use the real
+UNIX, also makes possible baffling mistakes.
+It is helpful, especially for nonprogrammers,
+to have a UNIX initiate near at hand during the first
+sessions.
+.PP
+Occasionally lessons are incorrect, sometimes because the local version
+of a command operates in a non-standard way.
+Such lessons may be skipped,
+but it takes some sophistication to recognize
+the situation.
diff --git a/usr/man/man1/leave.1 b/usr/man/man1/leave.1
new file mode 100644 (file)
index 0000000..8ad6ca0
--- /dev/null
@@ -0,0 +1,43 @@
+.TH LEAVE 1
+.UC
+.SH NAME
+leave \- remind you when you have to leave
+.SH SYNOPSIS
+.B leave
+[ hhmm ]
+.SH DESCRIPTION
+.I Leave
+waits until the specified time, then reminds you that you
+have to leave.
+You are reminded 5 minutes and 1 minute before the actual
+time, at the time, and every minute thereafter.
+When you log off,
+.I leave
+exits just before it would have
+printed the next message.
+.PP
+The time of day is in the form hhmm where hh is a time in
+hours (on a 12 or 24 hour clock).
+All times are converted to a 12 hour clock, and assumed to
+be in the next 12 hours.
+.PP
+If no argument is given,
+.I leave
+prompts with "When do you
+have to leave?". A reply of newline causes
+.I leave
+to exit,
+otherwise the reply is assumed to be a time.
+This form is suitable for inclusion in a
+.I .login
+or
+.I .profile.
+.PP
+Leave ignores interrupts, quits, and terminates.
+To get rid of it you should either log off or use ``kill \-9''
+giving its process id.
+.SH SEE ALSO
+calendar(1)
+.SH AUTHOR
+Mark Horton
+.SH BUGS
diff --git a/usr/man/man1/lex.1 b/usr/man/man1/lex.1
new file mode 100644 (file)
index 0000000..16bc836
--- /dev/null
@@ -0,0 +1,64 @@
+.TH LEX 1 
+.SH NAME
+lex \- generator of lexical analysis programs
+.SH SYNOPSIS
+.B lex
+[
+.B \-tvfn
+] [ file ] ...
+.SH DESCRIPTION
+.I Lex
+generates programs to be used in simple lexical analyis of text.
+The input
+.I files
+(standard input default)
+contain regular expressions
+to be searched for, and actions written in C to be executed when
+expressions are found.
+.PP
+A C source program, `lex.yy.c' is generated, to be compiled thus:
+.IP
+cc lex.yy.c \-ll
+.LP
+This program, when run, copies unrecognized portions of
+the input to the output,
+and executes the associated
+C action for each regular expression that is recognized.
+.PP
+The following 
+.I lex
+program converts upper case to lower,
+removes blanks at the end of lines,
+and replaces multiple blanks by single blanks.
+.IP ""
+.nf
+.ta \w'[A\-Z] 'u
+%%
+[A\-Z] putchar(yytext[0]+\'a\'\-\'A\');
+[ ]+$
+[ ]+   putchar(\' \');
+.fi
+.PP
+The options have the following meanings.
+.TP
+.B \-t
+Place the result on the standard output instead of in file
+`lex.yy.c'.
+.TP
+.B \-v
+Print a one-line summary of statistics of the generated analyzer.
+.TP
+.B \-n
+Opposite of
+.BR \-v ;
+.B \-n
+is default.
+.TP
+.B \-f
+`Faster' compilation: don't bother to pack
+the resulting tables; limited to small programs.
+.SH "SEE ALSO"
+yacc(1), sed(1)
+.br
+M. E. Lesk and E. Schmidt,
+.I LEX \- Lexical Analyzer Generator
diff --git a/usr/man/man1/lint.1 b/usr/man/man1/lint.1
new file mode 100644 (file)
index 0000000..9911eee
--- /dev/null
@@ -0,0 +1,147 @@
+.TH LINT 1
+.UC 4
+.SH NAME
+lint \- a C program verifier
+.SH SYNOPSIS
+.B lint
+[
+.B \-abchnpuvx
+]
+file ...
+.SH DESCRIPTION
+.I Lint
+attempts to detect features of the C program
+.I files
+which are
+likely to be bugs, or non-portable, or wasteful.
+It also checks the type usage of the program more strictly
+than the compilers.
+Among the things which are currently found are
+unreachable statements,
+loops not entered at the top,
+automatic variables declared and not used,
+and logical expressions whose value is constant.
+Moreover, the usage of functions is checked to find
+functions which return values in some places and not in others,
+functions called with varying numbers of arguments,
+and functions whose values are not used.
+.PP
+By default, it is assumed that all the
+.I files
+are to be loaded together; they are checked for
+mutual compatibility.
+Function definitions for certain libraries are available to
+.IR lint ;
+these libraries are referred to by a
+conventional name,
+such as `\-lm', in the style of
+.IR ld (1).
+.PP
+Any number of the options in the following list
+may be used.
+The
+.SM
+.BR \-D "\*S,"
+.SM
+.BR \-U "\*S,"
+and
+.SM
+.B \-I
+options of
+.IR cc (1)
+are also recognized as separate arguments.
+.TP
+.B p
+Attempt to check portability to the
+.I IBM
+and
+.I GCOS
+dialects of C.
+.TP
+.B h
+Apply a number of heuristic tests to attempt to
+intuit bugs, improve style, and reduce waste.
+.TP
+.B b
+Report
+.I break
+statements that cannot be reached.
+(This is not the default because, unfortunately,
+most
+.I lex
+and many
+.I yacc
+outputs produce dozens of such comments.)
+.TP
+.B v
+Suppress complaints about unused arguments in functions.
+.TP
+.B x
+Report variables referred to by extern declarations,
+but never used.
+.TP
+.B a
+Report assignments of long values to int variables.
+.TP
+.B c
+Complain about casts which have questionable portability.
+.TP
+.B u
+Do not complain about functions and variables used and not
+defined, or defined and not used (this is suitable for running
+.I lint
+on a subset of files out of a larger program).
+.TP
+.B n
+Do not check compatibility against the standard library.
+.PP
+.IR Exit (2)
+and other functions which do not return
+are not understood; this causes various lies.
+.PP
+Certain conventional comments in the C source
+will change the behavior of
+.IR lint :
+.TP
+/*NOTREACHED*/
+at appropriate points
+stops comments about unreachable code.
+.TP
+.RI /*VARARGS n */
+suppresses
+the usual checking for variable numbers of arguments
+in the following function declaration.
+The data types of the first
+.I n
+arguments are checked;
+a missing
+.I n
+is taken to be 0.
+.TP
+/*NOSTRICT*/
+shuts off strict type checking in the next expression.
+.TP
+/*ARGSUSED*/
+turns on the
+.B \-v
+option for the next function.
+.TP
+/*LINTLIBRARY*/
+at the beginning of a file shuts off complaints about
+unused functions in this file.
+.SH FILES
+.ta \w'/usr/lib/llib-port  'u
+/usr/lib/lint/lint[12] programs
+.br
+/usr/lib/lint/llib-lc declarations for standard functions
+.br
+/usr/lib/lint/llib-port declarations for portable functions
+.SH SEE ALSO
+cc(1)
+.br
+S. C. Johnson,
+.I Lint, a C Program Checker
+.SH BUGS
+There are some things you just
+.B can't
+get lint to shut up about.
diff --git a/usr/man/man1/lisp.1 b/usr/man/man1/lisp.1
new file mode 100644 (file)
index 0000000..87a6772
--- /dev/null
@@ -0,0 +1,54 @@
+.TH LISP 1 10/1/80
+.UC 4
+.SH NAME
+lisp \- lisp interpreter
+.SH SYNOPSIS
+.B lisp
+.SH DESCRIPTION
+.I Lisp
+is a lisp interpreter for a dialect which
+closely resembles MIT's M\s-2ACLISP\s0.
+This lisp, known as F\s-2RANZ\s0\ L\s-2ISP\s0, features
+an I/O facility which allows the user to change the input
+and output syntax, add
+macro characters, and maintain compatibility with upper-case
+only lisp systems;
+infinite precision integer arithmetic, and
+an error facility which allows the user to trap system errors in 
+many different ways.
+Interpreted functions may be mixed with code compiled by
+.IR liszt (1)
+and both may be debugged using the
+``Joseph Lister'' trace package.
+A
+.I lisp
+containing compiled and interpreted code may be dumped into
+a file for later use.
+.LP
+There are too many functions to list here; one should refer to the
+manuals listed below.
+.SH AUTHORS
+An early version was written by Jeff Levinsky, Mike Curry, and John Breedlove.
+Keith Sklower wrote and is maintaining the current version,
+with the assistance of John Foderaro.
+The garbage collector was implemented by Bill Rowan.
+.SH FILES
+.ta 2.4i
+/usr/lib/lisp/auxfns0.l        common functions
+.br
+/usr/lib/lisp/auxfns1.l        less common functions
+.br
+/usr/lib/lisp/trace.l  Joseph Lister trace package
+.br
+/usr/lib/lisp/toplevel.l       top level read-eval-print loop
+.SH SEE ALSO
+liszt(1), 
+lxref(1)
+.br
+`F\s-2RANZ\s0\ L\s-2ISP\s0  Manual, Version 1'
+by John K. Foderaro
+.br
+M\s-2ACLISP\s0 Manual
+.SH "BUGS"
+The error system is in a state of flux and not all error messages are
+as informative as they could be.
diff --git a/usr/man/man1/ln.1 b/usr/man/man1/ln.1
new file mode 100644 (file)
index 0000000..a147b6c
--- /dev/null
@@ -0,0 +1,46 @@
+.TH LN 1 11/16/79
+.UC 4
+.SH NAME
+ln \- make links
+.SH SYNOPSIS
+.B ln
+name1 [ name2 ]
+.br
+.B ln
+name ... directory
+.SH DESCRIPTION
+A link is a directory entry referring
+to a file; the same file (together with
+its size, all its protection
+information, etc.)
+may have several links to it.
+There is no way to distinguish a link to a file
+from its original directory entry;
+any changes in the
+file are effective
+independently of the name by which the file is known.
+.PP
+Given one or two arguments,
+.I ln
+creates a link to an existing file
+.IR name1 .
+If
+.I name2
+is given, the link has that name;
+.I name2
+may also be a directory in which to place the link;
+otherwise it is placed in the current directory.
+If only the directory is specified, the link will be made with
+its name the same as the last component
+of
+.IR name1 .
+.PP
+Given more than two arguments,
+.I ln
+makes links to all the named files in the named directory.
+The links made will have the same name as the files being linked to.
+.PP
+It is forbidden to link to a directory
+or to link across file systems.
+.SH "SEE ALSO"
+rm(1), cp(1), mv(1)
diff --git a/usr/man/man1/lock.1 b/usr/man/man1/lock.1
new file mode 100644 (file)
index 0000000..4092540
--- /dev/null
@@ -0,0 +1,17 @@
+.TH LOCK 1 2/24/79
+.UC
+.SH NAME
+lock \- reserve a terminal
+.SH SYNOPSIS
+.B lock
+.SH DESCRIPTION
+.I Lock
+requests a password from the user, then prints "LOCKED" on
+the terminal and refuses to relinquish the terminal until
+the password is repeated.  If the user forgets the password,
+he has no other recourse but to login elsewhere and kill
+the lock process.
+.SH AUTHOR
+Kurt Shoens
+.SH BUGS
+Should timeout after 15 minutes.
diff --git a/usr/man/man1/login.1 b/usr/man/man1/login.1
new file mode 100644 (file)
index 0000000..7f1a5c2
--- /dev/null
@@ -0,0 +1,92 @@
+.TH LOGIN 1 4/1/81
+.UC 4
+.SH NAME
+login \- sign on
+.SH SYNOPSIS
+.B login
+[ username ]
+.SH DESCRIPTION
+The
+.I login
+command
+is used when a user initially
+signs on, or it may be used at any time to change
+from one user to another.
+The latter case is the one summarized above and
+described here.
+See \*(lqHow to Get Started\*(rq for how to dial up initially.
+.PP
+If
+.I login
+is invoked without an argument,
+it asks for a user name, and, if
+appropriate, a password.
+Echoing is turned off (if possible) during the typing of the password,
+so it will not appear on the written record of the
+session.
+.PP
+After a successful login,
+accounting files are updated and
+the user is informed of the
+existence of mail,
+and
+the message of the day is printed,
+as is the time he last logged in (unless he has a \*(lq.hushlogin\*(rq
+file in his home directory \- this
+is mostly used to make life easier for non-human users, such as
+.IR uucp ).
+.PP
+.I Login
+initializes the user and group IDs and the working directory,
+then executes a command interpreter (usually
+.IR  sh (1))
+according to specifications found in a password file.
+Argument 0 of the command interpreter is \*(lq\-sh\*(rq, or
+more generally the name of the command interpreter with
+a leading dash (\*(lq\-\*(rq) prepended.
+.PP
+Login also initializes the
+environment
+.IR environ (5)
+with information specifying home directory, command interpreter, terminal
+type (if available) and user name.
+.PP
+If the file /etc/nologin exists
+.I login
+prints its contents on the user's terminal and exits. This is
+used by
+.IR shutdown (8)
+to stop users logging in when the system is about to go down.
+.PP
+Login is recognized by
+.IR sh (1)
+and
+.IR csh (1)
+and executed directly (without forking).
+.SH FILES
+.ta \w'/usr/spool/mail/*\ \ 'u
+/etc/utmp      accounting
+.br
+/usr/adm/wtmp  accounting
+.br
+/usr/spool/mail/*      mail
+.br
+/etc/motd      message-of-the-day
+.br
+/etc/passwd    password file
+.br
+/etc/nologin   stops logins
+.br
+\&.hushlogin   makes login quieter
+.br
+/etc/securetty lists ttys that root may log in on
+.SH "SEE ALSO"
+init(8), newgrp(1), getty(8), mail(1), passwd(1), passwd(5), environ(5),
+shutdown(8)
+.SH DIAGNOSTICS
+\*(lqLogin incorrect,\*(rq
+if the name or the password is bad.
+.br
+\*(lqNo Shell\*(rq, \*(lqcannot open password file\*(rq,
+\*(lqno directory\*(rq:
+consult a programming counselor.
diff --git a/usr/man/man1/look.1 b/usr/man/man1/look.1
new file mode 100644 (file)
index 0000000..e8a3f9a
--- /dev/null
@@ -0,0 +1,44 @@
+.TH LOOK 1 
+.SH NAME
+look \- find lines in a sorted list
+.SH SYNOPSIS
+.B look
+[
+.B \-df
+]
+string
+[ file ]
+.SH DESCRIPTION
+.I Look
+consults a sorted
+.I file
+and prints all lines that begin with
+.IR string .
+It uses binary search.
+.PP
+The options 
+.B d
+and
+.B f
+affect comparisons as in
+.IR  sort (1):
+.TP 4
+.B  d
+`Dictionary' order:
+only letters, digits,
+tabs and blanks participate in comparisons.
+.TP 4
+.B  f
+Fold.
+Upper case letters compare equal to lower case.
+.PP
+If no
+.I file
+is specified,
+.I /usr/dict/words
+is assumed with collating sequence
+.B \-df.
+.SH FILES
+/usr/dict/words
+.SH "SEE ALSO"
+sort(1), grep(1)
diff --git a/usr/man/man1/lookbib.1 b/usr/man/man1/lookbib.1
new file mode 100644 (file)
index 0000000..c782038
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/refer.1
diff --git a/usr/man/man1/lorder.1 b/usr/man/man1/lorder.1
new file mode 100644 (file)
index 0000000..b2d6fb6
--- /dev/null
@@ -0,0 +1,43 @@
+.TH LORDER 1 
+.UC 4
+.SH NAME
+lorder \- find ordering relation for an object library
+.SH SYNOPSIS
+.B lorder
+file ...
+.SH DESCRIPTION
+The input
+is one or more object or library archive (see
+.IR ar (1))
+.I files.
+The standard output
+is a list of pairs of object file names,
+meaning that the first file of the pair refers to
+external identifiers defined in the second.
+The output may be processed by
+.IR  tsort (1)
+to find an ordering of
+a library suitable for one-pass access by
+.IR  ld (1).
+.PP
+This brash one-liner intends to build a new library
+from existing `.o' files.
+.IP
+ar cr library \`\|lorder *.o | tsort\`
+.PP
+The need for lorder may be vitiated by use of 
+.IR ranlib (1),
+which converts an ordered archive into a randomly
+accessed library.
+.SH FILES
+*symref, *symdef
+.br
+nm(1), sed(1), sort(1), join(1)
+.SH "SEE ALSO"
+tsort(1),
+ld(1),
+ar(1),
+ranlib(1)
+.SH BUGS
+The names of object files, in and out of libraries, must end with `.o';
+nonsense results otherwise.
diff --git a/usr/man/man1/lpq.1 b/usr/man/man1/lpq.1
new file mode 100644 (file)
index 0000000..c51a0c5
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/lpr.1
diff --git a/usr/man/man1/lpr.1 b/usr/man/man1/lpr.1
new file mode 100644 (file)
index 0000000..02447bf
--- /dev/null
@@ -0,0 +1,70 @@
+.TH LPR 1 4/1/81
+.UC 4
+.SH NAME
+lpr, lprm, lpq, print \- line printer spooler
+.SH SYNOPSIS
+.B lpr
+[
+.B \-m
+] [ name ... ]
+.br
+.B lprm
+[
+id ...
+] [
+filename ...
+] [
+owner ...
+]
+.br
+.B lpq
+.br
+.B print
+file ...
+.SH DESCRIPTION
+.I Lpr 
+causes the
+named files
+to be queued for printing.
+If no files are named, the standard input is read.
+The option
+.B \-m
+causes notification via
+.IR mail (1)
+to be sent when the job completes.
+.PP
+.I Lprm
+removes an entry from the line printer queue.
+The id, filename or owner should be that reported by
+.I lpq.
+All appropriate files will be removed.
+The id of each file removed from the queue will be printed.
+.PP
+.I Lpq
+prints the line printer queue.
+Each entry in the queue is printed showing the owner of the queue entry,
+an identification number,
+the size of the entry in characters,
+and the file which is to be printed.
+The
+.I id
+is useful for removing a specific entry from the printer queue using
+.IR lprm (1).
+.PP
+.I Print
+.I pr's
+a copy of each named file on the line printer.
+It is a one line shell script:
+.PP
+.DT
+       pr $* | lpr
+.SH FILES
+.ta 2i
+/usr/spool/lpd/*       spool area
+.br
+/usr/lib/lpd   printer daemon
+.br
+/usr/lib/lpf   filter to handle banners and underlining
+.SH SEE\ ALSO
+pr(1)
+.SH BUGS
diff --git a/usr/man/man1/lprm.1 b/usr/man/man1/lprm.1
new file mode 100644 (file)
index 0000000..c51a0c5
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/lpr.1
diff --git a/usr/man/man1/ls.1 b/usr/man/man1/ls.1
new file mode 100644 (file)
index 0000000..3b24c29
--- /dev/null
@@ -0,0 +1,251 @@
+.TH LS 1 8/26/80
+.UC
+.SH NAME
+ls \- list contents of directory
+.SH SYNOPSIS
+.B ls
+[
+.B \-abcdfgilmqrstux1CFR
+] name ...
+.br
+.B l
+[ \fIls\fR options ] name ...
+.ig
+.br
+.B lf
+[ \fIls\fR options ] name ...
+.br
+.B lx
+[ \fIls\fR options ] name ...
+..
+.SH DESCRIPTION
+For each directory argument,
+.I ls
+lists the contents of the directory;
+for each file argument,
+.I ls
+repeats its name and any other information requested.
+The output is sorted alphabetically by default.
+When no argument is given, the current directory is listed.
+When several arguments are given,
+the arguments are first sorted appropriately,
+but file arguments appear
+before directories and their contents.
+.PP
+There are three major listing formats.
+The format chosen depends on whether the output is going
+to a teletype, and may also be controlled by option flags.
+The default format for a teletype is to list the contents of directories
+in multi-column format, with the entries sorted down the columns.
+(Files which are not the contents of a directory being interpreted
+are always sorted across the page rather than down the page in columns.
+This is because the individual file names may be arbitrarily long.)
+If the standard output is not a teletype, the default format is to
+list one entry per line.
+Finally, there is a stream output format in which files are listed
+across the page, separated by `,' characters.
+The
+.B \-m
+flag enables this format;
+when invoked as
+.I l
+this format is also used.
+.PP
+There are an unbelievable number of options:
+.TP
+.B  \-l
+List in long format, giving mode, number of links, owner,
+size in bytes, and time of last modification
+for each file.
+(See below.)
+If the file is a special file the size field will instead contain
+the major and minor device numbers.
+.TP
+.B  \-t
+Sort by time modified (latest first) instead of
+by name, as is normal.
+.TP
+.B  \-a
+List all entries; usually
+.RB ` . '
+and
+.RB ` .. '
+are suppressed.
+.TP
+.B  \-s
+Give size in blocks,
+including indirect blocks, for each entry.
+.TP
+.B  \-d
+If argument is a directory, list only its name, not
+its contents (mostly used with
+.B \-l
+to get status
+on directory).
+.TP
+.B  \-r
+Reverse the order of sort to get reverse alphabetic
+or oldest first as appropriate.
+.TP
+.B  \-u
+Use time of last access instead of last
+modification for sorting
+.RB ( \-t )
+or printing
+.RB ( \-l ).
+.TP
+.B  \-c
+Use time of file creation for sorting or printing.
+.TP
+.B  \-i
+Print i-number in first column
+of the report for each file listed.
+.TP
+.B  \-f
+Force each argument to be interpreted as a directory
+and list the name found in each slot.
+This option turns off
+.B "\-l, \-t, \-s,"
+and
+.B \-r,
+and
+turns on
+.B \-a;
+the order is the order in which entries
+appear in the directory.
+.TP
+.B  \-g
+Give group ID instead of owner ID in long listing.
+.TP
+.B  \-m
+force stream output format
+.TP
+.B  \-1
+force one entry per line output format, e.g. to a teletype
+.TP
+.B  \-C
+force multi-column output, e.g. to a file or a pipe
+.TP
+.B  \-q
+force printing of non-graphic characters in file names as
+the character `?'; this normally happens only if the output device is
+a teletype
+.TP
+.B  \-b
+force printing of non-graphic characters to be in the \eddd
+notation, in octal.
+.TP
+.B  \-x
+force columnar printing to be sorted across rather than
+down the page;
+this is the default if the last character of the name the program is invoked
+with is an `x'.
+.TP
+.B  \-F
+cause directories to be marked with a trailing `/' and executable
+files to be marked with a trailing `*';
+this is the default if the last character of the name the program is invoked
+with is a `f'.
+.TP
+.B  \-R
+recursively list subdirectories encountered.
+.PP
+The mode printed under the
+.B \-l
+option contains 11 characters
+which are interpreted
+as follows:
+the first character is
+.TP 3
+.B  d
+if the entry is a directory;
+.br
+.ns
+.TP 3
+.B  b
+if the entry is a block-type special file;
+.br
+.ns
+.TP 3
+.B  c
+if the entry is a character-type special file;
+.br
+.ns
+.TP 3
+.B  m
+if the entry is a multiplexor-type character special file;
+.br
+.ns
+.TP 3
+.B  \-
+if the entry is a plain file.
+.PP
+The next 9 characters are interpreted
+as three sets of three bits each.
+The first set refers to owner permissions;
+the next to permissions to others in the same user-group;
+and the last to all others.
+Within each set the three characters indicate
+permission respectively to read, to write, or to
+execute the file as a program.
+For a directory, `execute' permission is interpreted
+to mean permission to search the directory
+for a specified file.
+The permissions are indicated as follows:
+.TP 3
+.B  r
+if the file is readable;
+.br
+.ns
+.TP 3
+.B  w
+if the file is writable;
+.br
+.ns
+.TP 3
+.B  x
+if the file is executable;
+.br
+.ns
+.TP 3
+.B  \-
+if the indicated permission is not granted.
+.PP
+The group-execute permission character is given
+as
+.B s
+if the file has set-group-ID mode;
+likewise the user-execute permission character is given
+as
+.B s
+if the file has set-user-ID mode.
+.PP
+The last character of the mode (normally `x' or `\-') is 
+.B t
+if the 1000 bit of the mode is on.
+See
+.IR  chmod (1)
+for the meaning of this mode.
+.PP
+When the sizes of the files in a directory
+are listed, a total count of blocks,
+including indirect blocks is printed.
+.SH FILES
+/etc/passwd to get user ID's for
+`ls \-l'.
+.br
+/etc/group to get group ID's for
+`ls \-g'.
+.SH BUGS
+Newline and tab are considered printing characters in file names.
+.PP
+The output device is assumed to be 80 columns wide.
+.PP
+The option setting based on whether the output is a teletype is
+undesirable as ``ls\ \-s'' is much different than ``ls\ \-s\ |\ lpr''.
+On the other hand, not doing this setting would make old shell scripts
+which used
+.I ls
+almost certain losers.
+.PP
+Column widths choices are poor for terminals which can tab.
diff --git a/usr/man/man1/lxref.1 b/usr/man/man1/lxref.1
new file mode 100644 (file)
index 0000000..b6f3396
--- /dev/null
@@ -0,0 +1,37 @@
+.TH LXREF 1 9/24/80
+.UC 4
+.SH NAME
+lxref \- lisp cross reference program
+.SH SYNOPSIS
+.B lxref
+[
+.B \-N
+] file ...
+.SH DESCRIPTION
+.I Lxref
+reads cross reference file(s) written by the lisp compiler 
+.I liszt
+and prints a cross reference listing on the standard output.
+.I Liszt
+will create a cross reference file during compilation when it is 
+given the \-x switch.
+Cross reference files usually end in `.x' and consequently
+.I lxref
+will append a `.x' to the file names given if necessary.
+The one option to 
+.I lxref
+is a decimal integer, N, which sets the 
+.I ignorelevel.
+If a function is called more than 
+.I ignorelevel 
+times, the cross reference listing will just print the number of calls 
+instead of listing each one of them.
+The default for
+.I ignorelevel 
+is 50.
+.SH AUTHOR
+John Foderaro
+.SH SEE ALSO
+lisp(1),
+liszt(1)
+.SH BUGS
diff --git a/usr/man/man1/m4.1 b/usr/man/man1/m4.1
new file mode 100644 (file)
index 0000000..1431333
--- /dev/null
@@ -0,0 +1,167 @@
+.TH M4 1 
+.SH NAME
+m4 \- macro processor
+.SH SYNOPSIS
+.B m4
+[ files ]
+.SH DESCRIPTION
+.I M4
+is a macro processor
+intended as a front end for Ratfor, C, and other languages.
+Each of the argument files is processed in order;
+if there are no arguments, or if an argument is `\-',
+the standard input is read.
+The processed text is written on the standard output.
+.PP
+Macro calls
+have the form
+.PP
+       name(arg1,arg2, . . . , argn)
+.br
+.PP
+The `(' must immediately follow the name of the macro.
+If a defined macro name is not followed by a `(',
+it is deemed to have no arguments.
+Leading unquoted blanks, tabs, and newlines are ignored while collecting arguments.
+Potential macro names consist of alphabetic letters,
+digits, and underscore `\_', where the first character is not a digit.
+.PP
+Left and right single quotes (\`\|\') are used to quote strings.
+The value of a quoted string is the string stripped of the quotes.
+.PP
+When a macro name is recognized,
+its arguments are collected by searching for a matching right
+parenthesis.
+Macro evaluation proceeds normally during the collection of the arguments,
+and any commas or right parentheses
+which happen to turn up within the value of a nested
+call are as effective as those in the original input text.
+After argument collection,
+the value of the macro is pushed back onto the input stream
+and rescanned.
+.PP
+.I M4
+makes available the following built-in macros.
+They may be redefined, but once this is done the original meaning is lost.
+Their values are null unless otherwise stated.
+.TP 10
+define
+The second argument is installed as the value of the macro
+whose name is the first argument.
+Each occurrence of $\fIn\fR in the replacement text,
+where
+.I n
+is a digit,
+is replaced by the
+.IR n -th
+argument.
+Argument 0 is the name of the macro;
+missing arguments are replaced by the null string.
+.TP
+undefine
+removes the definition of the macro named in its argument.
+.TP
+ifdef
+If the first argument is defined, the value is the second argument, otherwise the third.
+If there is no third argument, the value is null.
+The word
+.I unix
+is predefined on UNIX versions of
+.IR m4 .
+.TP
+changequote
+Change quote characters to the first and second arguments.
+.I Changequote
+without arguments restores the original values
+(i.e., \`\|\').
+.TP
+divert
+.I M4
+maintains 10 output streams,
+numbered 0-9.
+The final output is the concatenation of the streams
+in numerical order;
+initially stream 0 is the current stream.
+The
+.I divert
+macro changes the current output stream to its (digit-string)
+argument.
+Output diverted to a stream other than 0 through 9
+is discarded.
+.TP
+undivert
+causes immediate output of text from diversions named as
+arguments, or all diversions if no argument.
+Text may be undiverted into another diversion.
+Undiverting discards the diverted text.
+.TP
+divnum
+returns the value of the current output stream.
+.TP
+dnl
+reads and discards characters up to and including the next newline.
+.TP
+ifelse
+has three or more arguments.
+If the first argument is the same string as the second,
+then the value is the third argument.
+If not, and if there are more than four arguments, the process is repeated with arguments 4, 5, 6 and 7.
+Otherwise, the value is either the fourth string, or, if it is not present,
+null.
+.TP
+incr
+returns the value of its argument incremented by 1.
+The value of the argument is calculated
+by interpreting an initial digit-string as a decimal number.
+.TP
+eval
+evaluates its argument as an arithmetic expression, using 32-bit arithmetic.
+Operators include +, \-, \(**, /, %, ^ (exponentiation); relationals; parentheses.
+.TP
+len
+returns the number of characters in its argument.
+.TP
+index
+returns the position in its first argument where the second argument begins (zero origin),
+or \-1 if the second argument does not occur.
+.TP
+substr
+returns a substring of its first argument.
+The second argument is a zero origin
+number selecting the first character;
+the third argument indicates the length of the substring.
+A missing third argument is taken to be large enough to extend to
+the end of the first string.
+.TP
+translit
+transliterates the characters in its first argument
+from the set given by the second argument to the set given by the third.
+No abbreviations are permitted.
+.TP
+include
+returns the contents of the file named in the argument.
+.TP
+sinclude
+is identical to
+.I include,
+except that it
+says nothing if the file is inaccessible.
+.TP
+syscmd
+executes the UNIX command given in the first argument.
+No value is returned.
+.TP
+maketemp
+fills in a string of XXXXX in its argument with the current process id.
+.TP
+errprint
+prints its argument
+on the diagnostic output file.
+.TP
+dumpdef
+prints current names and definitions,
+for the named items, or for all if no arguments are given.
+.dt
+.SH "SEE ALSO"
+B. W. Kernighan and D. M. Ritchie,
+.I The M4 Macro Processor
diff --git a/usr/man/man1/mail.1 b/usr/man/man1/mail.1
new file mode 100644 (file)
index 0000000..473cd4f
--- /dev/null
@@ -0,0 +1,544 @@
+.TH MAIL 1
+.UC 4
+.SH NAME
+mail \- send and receive mail
+.SH SYNOPSIS
+.B mail
+[
+.B \-f
+[
+name
+]
+]
+[
+people ...
+]
+.SH INTRODUCTION
+.I Mail
+is a intelligent mail processing system, which has
+a command syntax reminiscent of
+.I ed
+with lines replaced by messages.
+.PP
+.I "Sending mail.\ "
+To send a message to one or more other people,
+.I mail
+can be invoked with arguments which are the names of people to
+send to.  You are then expected to type in your message, followed
+by an \s-2EOT\s0 (control\-D) at the beginning of a line.
+The section below, labeled
+.I "Replying to or originating mail,"
+describes some features of
+.I mail
+available to help you compose your letter.
+.PP
+.I "Reading mail.\ "
+In normal usage,
+.I mail
+is given no arguments and checks your mail out of the
+post office, then
+printing out a one line header of each message there.
+The current message is initially the first message (numbered 1)
+and can be printed using the
+.B print
+command (which can be abbreviated \fBp\fR).
+You can move among the messages much as you move between lines in
+.I ed,
+with the commands `+' and `\-' moving backwards and forwards, and
+simple numbers typing the addressed message.
+.PP
+.I "Disposing of mail.\ "
+After examining a message you can
+.B delete
+(\fBd\fR)
+the message or
+.B reply
+(\fBr\fR)
+to it.
+Deletion causes the
+.I mail
+program to forget about the message.
+This is not irreversible, the message can be
+.B undeleted
+(\fBu\fR)
+by giving its number, or the
+.I mail
+session can be aborted by giving the
+.B exit
+(\fBx\fR)
+command.
+Deleted messages will, however, usually disappear never to be seen again.
+.PP
+.I "Specifying messages.\ "
+Commands such as
+.B print
+and
+.B delete
+often can be given a list of message numbers as argument to apply
+to a number of messages at once.
+Thus ``delete 1 2'' deletes messages 1 and 2, while ``delete 1\-5''
+deletes messages 1 through 5.
+The special name ``*'' addresses all messages, and ``$'' addresses
+the last message; thus the command
+.B top
+which prints the first few lines of a message could be used in
+``top *'' to print the first few lines of all messages.
+.PP
+.I "Replying to or originating mail.\ "
+You can use the
+.B reply
+command to
+set up a response to a message, sending it back to the
+person who it was from.
+Text you then type in, up to an end-of-file (or a line consisting only
+of a ``.'') defines the contents of
+the message.
+While you are composing a message,
+.I mail
+treats lines beginning with the character `~' specially.
+For instance, typing ``~m'' (alone on a line) will place a copy
+of the current message into the response right shifting it by a tabstop.
+Other escapes will set up subject fields, add and delete recipients
+to the message and allow you to escape to an editor to revise the
+message or to a shell to run some commands.  (These options
+will be given in the summary below.)
+.PP
+.I "Ending a mail processing session.\ "
+You can end a
+.I mail
+session with the
+.B quit
+(\fBq\fR)
+command.
+Messages which have been examined go to your
+.I mbox
+file unless they have been deleted in which case they are discarded.
+Unexamined messages go back to the post office.
+The
+.B \-f
+option causes
+.I mail
+to read in the contents of your
+.I mbox
+(or the specified file)
+for processing; when you
+.B quit
+.I mail
+writes undeleted messages back to this file.
+.PP
+.I "Personal and systemwide distribution lists.\ "
+It is also possible to create a personal distribution lists so that,
+for instance, you can send mail to ``cohorts'' and have it go
+to a group of people.
+Such lists can be defined by placing a line like
+.IP
+alias cohorts bill ozalp sklower jkf mark cory:kridle
+.PP
+in the file \&.mailrc in your home directory.
+The current list of such aliases can be displayed by the
+.B alias
+.B (a)
+command in
+.I mail.
+System wide distribution lists can be created by editing
+/usr/lib/aliases, see
+.IR aliases (5)
+and
+.IR delivermail (8);
+these are kept in a slightly different syntax.
+In mail you send, personal aliases will be expanded in mail sent
+to others so that they will be able to \fBreply\fR to the recipients.
+System wide \fIaliases\fR are not expanded when the mail is sent,
+but any reply returned to the machine will have the system wide
+alias expanded as all mail goes through
+.I delivermail.
+If you edit
+/usr/lib/aliases, you must run the program
+.IR newaliases (1).
+.PP
+.I "Network mail (ARPA, UUCP, Berknet)\ "
+Mail to sites on the ARPA network and sites within Bell laboratories
+can be sent using ``name@site'' for ARPA-net sites or ``machine!user''
+for Bell labs sites, provided appropriate gateways are known to the
+system.  (Be sure to escape the ! in Bell sites when giving it on a
+.I csh
+command line by preceding it with an \e.
+Machines on an instance of the Berkeley network are addressed as
+``machine:user'', e.g. ``csvax:bill''.  When addressed from the
+arpa-net, ``csvax:bill'' is known as ``csvax.bill@berkeley''.
+.PP
+.I Mail
+has a number of options which can be
+.B set
+in the
+.I \&.mailrc
+file to alter its behavior; thus ``set askcc'' enables the ``askcc''
+feature.  (These options are summarized below.)
+.SH SUMMARY
+(Adapted from the `Mail Reference Manual')
+Each command is typed on a line by itself, and may take arguments
+following the command word.  The command need not be typed in its
+entirety \- the first command which matches the typed prefix is used.
+For the commands which take message lists as arguments, if no message
+list is given, then the next message forward which satisfies the
+command's requirements is used.  If there are no messages forward of
+the current message, the search proceeds backwards, and if there are no
+good messages at all,
+.I mail
+types ``No applicable messages'' and
+aborts the command.
+.TP 12n
+.B \-
+Goes to the previous message and prints it out.  If given a numeric
+argument
+.I n ,
+goes to the
+.I n th
+previous message and prints it.
+.TP
+.B ?
+Prints a brief summary of commands.
+.TP
+.B !
+Executes the \s-2UNIX\s0 shell command which follows.
+.TP
+.B alias
+(\fBa\fR) With no arguments, prints out all currently-defined aliases.  With one
+argument, prints out that alias.  With more than one argument, adds the
+users named in the second and later arguments to the alias named in the
+first argument.
+.TP
+.B chdir
+(\fBc\fR) Changes the user's working directory to that specified, if given.  If
+no directory is given, then changes to the user's login directory.
+.TP
+.B delete
+(\fBd\fR) Takes a list of messages as argument and marks them all as deleted.
+Deleted messages will not be saved in
+.I mbox ,
+nor will they be available for most other commands.  
+.TP
+.B dp
+(also \fBdt\fR) Deletes the current message and prints the next message.
+If there is no next message, 
+.I mail
+says ``at EOF.''
+.TP
+.B edit
+(\fBe\fR) Takes a list of messages and points the text editor at each one in
+turn.  On return from the editor, the message is read back in.
+.TP
+.B exit
+(\fBex\fR or \fBx\fR) Effects an immediate return to the Shell without
+modifying the user's system mailbox, his
+.I mbox
+file, or his edit file in
+.B \-f .
+.TP
+.B from
+(\fBf\fR) Takes a list of messages and prints their message headers.
+.TP
+.B headers
+(\fBh\fR) Lists the current range of headers, which is an 18 message group.  If
+a ``+'' argument is given, then the next 18 message group is printed, and if
+a ``\-'' argument is given, the previous 18 message group is printed.
+.TP
+.B help
+A synonym for ?
+.TP
+.B hold
+(\fBho\fR, also \fBpreserve\fR) Takes a message list and marks each
+message therein to be saved in the
+user's system mailbox instead of in
+.I mbox.
+Does not override the
+.B delete
+command.
+.TP
+.B mail
+(\fBm\fR) Takes as argument login names and distribution group names and sends
+mail to those people.
+.TP
+.B next
+(\fBn\fR like \fB+\fR or CR) Goes to the next message in sequence and types it.
+With an argument list, types the next matching message.
+.TP
+.B preserve
+A synonym for
+.B hold.
+.TP
+.B print
+(\fBp\fR) Takes a message list and types out each message on the user's
+terminal.
+.TP
+.B quit
+(\fBq\fR) Terminates the session, saving all undeleted, unsaved messages in
+the user's
+.I mbox
+file in his login directory, preserving all messages marked with
+.B hold
+or
+.B preserve
+or never referenced
+in his system mailbox, and removing all other messages from his system
+mailbox.  If new mail has arrived during the session, the message
+``You have new mail'' is given.  If given while editing a
+mailbox file with the
+.B \-f
+flag, then the edit file is rewritten.  A return to the Shell is
+effected, unless the rewrite of edit file fails, in which case the user
+can escape with the
+.B exit
+command.
+.TP
+.B reply
+(\fBr\fR) Takes a message list and sends mail to each message author just like
+the
+.B mail
+command.  The default message must not be deleted.
+.TP
+.B respond
+A synonym for
+.B reply .
+.TP
+.B save
+(\fBs\fR) Takes a message list and a filename and appends each message in
+turn to the end of the file.  The filename in quotes, followed by the line
+count and character count is echoed on the user's terminal.  
+.TP
+.B set
+(\fBse\fR) With no arguments, prints all variable values.  Otherwise, sets
+option.  Arguments are of the form
+``option=value''
+or
+``option.''
+.TP
+.B shell
+(\fBsh\fR) Invokes an interactive version of the shell.
+.TP
+.B size
+Takes a message list and prints out the size in characters of each
+message.
+.TP
+.B top
+Takes a message list and prints the top few lines of each.  The number of
+lines printed is controlled by the variable
+.B toplines
+and defaults to five.
+.TP
+.B type
+(\fBt\fR) A synonym for
+.B print .
+.TP
+.B unalias
+Takes a list of names defined by
+.B alias
+commands and discards the remembered groups of users.  The group names
+no longer have any significance.
+.TP
+.B undelete
+(\fBu\fR) Takes a message list and marks each one as
+.I not
+being deleted.
+.TP
+.B unset
+Takes a list of option names and discards their remembered values;
+the inverse of
+.B set .
+.TP
+.B visual
+(\fBv\fR) Takes a message list and invokes the display editor on each message.
+.TP
+.B write
+(\fBw\fR) A synonym for
+.B save .
+.TP
+.B xit
+(\fBx\fR) A synonym for
+.B exit .
+.PP
+Here is a summary of the tilde escapes,
+which are used when composing messages to perform
+special functions.  Tilde escapes are only recognized at the beginning
+of lines.  The name
+``tilde\ escape''
+is somewhat of a misnomer since the actual escape character can be set
+by the option
+.B escape.
+.TP 12n
+\fB~!\fRcommand
+Execute the indicated shell command, then return to the message.
+.TP
+\fB~c\fR name ...
+Add the given names to the list of carbon copy recipients.
+.TP
+.B ~d
+Read the file ``dead.letter'' from your home directory into the message.
+.TP
+.B ~e
+Invoke the text editor on the message collected so far.  After the
+editing session is finished, you may continue appending text to the
+message.
+.TP
+.B ~h
+Edit the message header fields by typing each one in turn and allowing
+the user to append text to the end or modify the field by using the
+current terminal erase and kill characters.
+.TP
+\fB~m\fR messages
+Read the named messages into the message being sent, shifted right one
+tab.  If no messages are specified, read the current message.
+.TP
+.B ~p
+Print out the message collected so far, prefaced by the message header
+fields.
+.TP
+.B ~q
+Abort the message being sent, copying the message to
+``dead.letter''
+in your home directory if
+.B save
+is set.
+.TP
+\fB~r\fR filename
+Read the named file into the message.
+.TP
+\fB~s\fR string
+Cause the named string to become the current subject field.
+.TP
+\fB~t\fR name ...
+Add the given names to the direct recipient list.
+.TP
+.B ~v
+Invoke an alternate editor (defined by the VISUAL option) on the
+message collected so far.  Usually, the alternate editor will be a
+screen editor.  After you quit the editor, you may resume appending
+text to the end of your message.
+.TP
+\fB~w\fR filename
+Write the message onto the named file.
+.TP
+\fB~\||\|\fRcommand
+Pipe the message through the command as a filter.  If the command gives
+no output or terminates abnormally, retain the original text of the
+message.  The command
+.IR fmt (1)
+is often used as
+.I command
+to rejustify the message.
+.TP
+\fB~~\fRstring
+Insert the string of text in the message prefaced by a single ~.  If
+you have changed the escape character, then you should double
+that character in order to send it.
+.PP
+Options are controlled via the
+.B set
+and
+.B unset
+commands.  Options may be either binary, in which case it is only
+significant to see whether they are set or not, or string, in which
+case the actual value is of interest.
+The binary options include the following:
+.TP 15n
+.B append
+Causes messages saved in
+.I mbox
+to be appended to the end rather than prepended.
+(This is set in
+/usr/lib/Mail.rc
+on version 7 systems.)
+.TP
+.B ask
+Causes
+.I mail
+to prompt you for the subject of each message you send.  If
+you respond with simply a newline, no subject field will be sent.
+.TP
+.B askcc
+Causes you to be prompted for additional carbon copy recipients at the
+end of each message.  Responding with a newline indicates your
+satisfaction with the current list.
+.TP
+.B autoprint
+Causes the
+.B delete
+command to behave like
+.B dp
+\- thus, after deleting a message, the next one will be typed
+automatically.
+.TP
+.B ignore
+Causes interrupt signals from your terminal to be ignored and echoed as
+@'s.
+.TP
+.B metoo
+Usually, when a group is expanded that contains the sender, the sender
+is removed from the expansion.  Setting this option causes the sender
+to be included in the group.
+.TP
+.B quiet
+Suppresses the printing of the version when first invoked.
+.TP
+.B save
+Causes the message collected prior to a interrupt to be saved on
+the file
+``dead.letter''
+in your home directory on receipt of two interrupts (or after a \fB~q\fR.)
+.PP
+The following options have string values:
+.TP 15n
+EDITOR
+Pathname of the text editor to use in the
+.B edit
+command and ~e escape.  If not defined, then a default editor is used.
+.TP
+SHELL
+Pathname of the shell to use in the
+.B !
+command and the ~! escape.  A default shell is used if this option is
+not defined.
+.TP
+VISUAL
+Pathname of the text editor to use in the
+.B visual
+command and ~v escape.
+.TP
+.B escape
+If defined, the first character of this option gives the character to
+use in the place of ~ to denote escapes.
+.TP
+.B record
+If defined, gives the pathname of the file used to record all outgoing
+mail.  If not defined, then outgoing mail is not so saved.
+.TP
+.B toplines
+If defined, gives the number of lines of a message to be printed out
+with the
+.B top
+command; normally, the first five lines are printed.
+.SH FILES
+.if n .ta 2.5i
+.if t .ta 1.8i
+/usr/spool/mail/*      post office
+.br
+~/mbox your old mail
+.br
+~/.mailrc      file giving initial mail commands
+.br
+/tmp/R#        temporary for editor escape
+.br
+/usr/lib/Mail.help*    help files
+.br
+/usr/lib/Mail.rc       system initialization file
+.br
+/bin/mail      to do actual mailing
+.br
+/etc/delivermail       postman
+.SH "SEE ALSO"
+binmail(1), fmt(1), newaliases(1), aliases(5), delivermail(8)
+.br
+`The Mail Reference Manual'
+.SH AUTHOR
+Kurt Shoens
+.SH BUGS
diff --git a/usr/man/man1/make.1 b/usr/man/man1/make.1
new file mode 100644 (file)
index 0000000..286b80f
--- /dev/null
@@ -0,0 +1,237 @@
+.TH MAKE 1 
+.UC 4
+.SH NAME
+make \- maintain program groups
+.SH SYNOPSIS
+.B make
+[
+.B \-f
+makefile ] [ option ] ...
+file ...
+.SH DESCRIPTION
+.I Make
+executes commands in
+.I makefile
+to update
+one or more target
+.IR names .
+.I Name
+is typically a program.
+If no
+.B \-f
+option is present, `makefile' and `Makefile' are
+tried in order.
+If
+.I makefile
+is `\-', the standard input is taken.
+More than one
+.B \-f
+option may appear
+.PP
+.I Make
+updates a target if it depends on prerequisite files
+that have been modified since the target was last modified,
+or if the target does not exist.
+.PP
+.I Makefile
+contains a sequence of entries that specify dependencies.
+The first line of an entry is a
+blank-separated list of targets, then a colon,
+then a list of prerequisite files.
+Text following a semicolon, and all following lines
+that begin with a tab, are shell commands
+to be executed to update the target.
+If a name appears on the left of more than one `colon' line, then it depends
+on all of the names on the right of the colon on those lines, but only
+one command sequence may be specified for it.
+If a name appears on a line with a double colon
+.B "::"
+then the command sequence following that line is performed
+only if the name is out of date with respect to the names to the right
+of the double colon, and is not affected by other double colon lines
+on which that name may appear.
+.PP
+Two special forms of a name are recognized.
+A name like
+.I a(b)
+means the file named
+.I b
+stored in the archive named
+.I a.
+A name like
+.I a((b))
+means the file stored in archive
+.I a
+containing the entry point
+.I b.
+.PP
+Sharp and newline surround comments.
+.PP
+The following makefile says that `pgm' depends on two
+files `a.o' and `b.o', and that they in turn depend on
+`.c' files and a common file `incl'.
+.RS 
+.HP
+.PD 0
+.nf
+pgm: a.o b.o
+cc a.o b.o \-lm \-o pgm
+.HP
+a.o: incl a.c
+cc \-c a.c
+.HP
+b.o: incl b.c
+cc \-c b.c
+.fi
+.RE
+.PD
+.PP
+.I Makefile
+entries of the form
+.PP
+.IP
+string1 = string2
+.PP
+are macro definitions.
+Subsequent appearances of 
+.I $(string1)
+are replaced by
+.IR string2 .
+If
+.I string1
+is a single character, the parentheses are optional.
+.PP
+.I Make 
+infers prerequisites for files for which
+.I makefile
+gives no construction commands.
+For example, a
+`.c' file may be inferred as prerequisite for a `.o' file
+and be compiled to produce the `.o' file.
+Thus the preceding example can be done more briefly:
+.RS
+.HP
+.PD 0
+.nf
+pgm: a.o b.o
+cc a.o b.o \-lm \-o pgm
+.HP
+a.o b.o: incl
+.fi
+.RE
+.PD
+.PP
+Prerequisites are inferred according to selected suffixes
+listed as the `prerequisites' for the special name `.SUFFIXES';
+multiple lists accumulate;
+an empty list clears what came before.
+Order is significant; the first possible name for which both
+a file and a rule as described in the next paragraph exist
+is inferred.
+The default list is
+.IP
+\&.SUFFIXES: .out .o .c .e .r .f .y .l .s .p
+.PP
+The rule to create a file with suffix
+.I s2
+that depends on a similarly named file with suffix
+.I s1
+is specified as an entry
+for the `target'
+.IR s1s2 .
+In such an entry, the special macro $* stands for
+the target name with suffix deleted, $@ for the full target name,
+$< for the complete list of prerequisites,
+and
+$? for the list of prerequisites that are out of date.
+For example, a rule for making
+optimized `.o' files from `.c' files is
+.IP
+\&.c.o: ; cc \-c \-O \-o $@ $*.c
+.PP
+Certain macros are used by the default inference rules
+to communicate optional arguments to
+any resulting compilations.
+In particular,
+`CFLAGS' is used for
+.IR cc (1)
+options,
+`FFLAGS' for
+.IR f77 (1)
+options,
+`PFLAGS' for
+.IR pc (1)
+options,
+and `LFLAGS' and `YFLAGS' for 
+.I lex
+and
+.IR yacc (1)
+options.
+.PP
+Command lines are executed one at a time, each by its
+own shell.
+A line is printed when it is executed unless
+the special target `.SILENT'
+is in 
+.I makefile,
+or the first character of the command is `@'.
+.PP
+Commands returning nonzero status (see
+.IR intro (1))
+cause
+.I make
+to terminate unless
+the special target `.IGNORE' is in
+.I makefile
+or the command begins with
+<tab><hyphen>.
+.PP
+Interrupt and quit cause the target to be deleted
+unless the target depends on the special name `.PRECIOUS'.
+.PP
+Other options:
+.TP
+.B \-i
+Equivalent to the special entry `.IGNORE:'.
+.TP
+.B \-k
+When a command returns nonzero status,
+abandon work on the current entry, but
+continue on branches that do not depend on the current entry.
+.TP
+.B \-n
+Trace and print, but do not execute the commands
+needed to update the targets.
+.TP
+.B \-t
+Touch, i.e. update the modified date of targets, without
+executing any commands.
+.TP
+.B \-r
+Equivalent to an initial special entry `.SUFFIXES:'
+with no list.
+.TP 
+.B \-s
+Equivalent to the special entry
+`.SILENT:'.
+.SH FILES
+makefile, Makefile
+.br
+.SH "SEE ALSO"
+sh(1), touch(1), f77(1), pc(1)
+.br
+S. I. Feldman
+.I
+Make \- A Program for Maintaining Computer Programs
+.SH BUGS
+Some commands return nonzero status inappropriately.
+Use
+.B \-i
+to overcome the difficulty.
+.br
+Commands that are directly executed by the shell,
+notably
+.IR  cd (1),
+are ineffectual across newlines in
+.I make.
+
diff --git a/usr/man/man1/man.1 b/usr/man/man1/man.1
new file mode 100644 (file)
index 0000000..8d9d7ff
--- /dev/null
@@ -0,0 +1,102 @@
+.TH MAN 1
+.UC 4
+.SH NAME
+man \- find manual information by keywords; print out the manual
+.SH SYNOPSIS
+.br
+.B man
+.B \-k
+keyword ...
+.br
+.B man
+.B \-f
+file ...
+.br
+.B man
+[
+.B \-
+] [
+.B \-t
+] [
+section
+]
+title ...
+.SH DESCRIPTION
+.I Man
+is a program which gives information from the programmers manual.
+It can be asked form one line descriptions of commands specified by
+name, or for all commands whose description contains any of a set of
+keywords.  It can also provide on-line access to the sections of the
+printed manual.
+.PP
+When given the option
+.B \-k
+and a set of keywords,
+.I man
+prints out a one line synopsis of each manual sections whose
+listing in the table of contents contains that keyword.
+.PP
+When given the option
+.B \-f
+and a list of file names, \fIman\fR attempts to locate manual
+sections related to those files, printing out the table of contents
+lines for those sections.
+.PP
+When neither
+.B \-k
+nor
+.B \-f
+is specified,
+.I man
+formats a specified set of manual pages.
+If a section specifier is given
+.I man
+looks in the that section of the manual for the given
+.I titles.
+.I Section
+is an arabic section number, i.e. 3,
+which may be followed by a single letter classifier, i.e. 1g
+indicating a graphics program in section 1.
+If
+.I section
+is omitted,
+.I man
+searches all sections of the manual, giving preference to commands
+over subroutines in system libraries, and printing the first section
+it finds, if any.
+.PP
+If the standard output is a teletype, or if the flag
+.B \-
+is given, then
+.I man
+pipes its output through
+.IR cat (1)
+with the option
+.B \-s
+to crush out useless blank lines,
+.IR ul (1)
+to create proper underlines for different terminals,
+and through
+.IR more (1)
+to stop after each page on the screen.
+Hit a space to continue,
+a control-D to scroll 11 more lines when the output stops.
+.PP
+The
+.B \-t
+flag causes
+.I man
+to arrange for the specified section to be
+.I troff'ed
+to a suitable raster output device; see
+.IR vtroff (1).
+.SH FILES
+/usr/man/man?/*
+.br
+/usr/man/cat?/*
+.SH SEE\ ALSO
+more(1), ul(1), whereis(1), catman(8)
+.SH BUGS
+The manual is supposed to be reproducible either on the phototypesetter
+or on a typewriter.
+However, on a typewriter some information is necessarily lost.
diff --git a/usr/man/man1/mesg.1 b/usr/man/man1/mesg.1
new file mode 100644 (file)
index 0000000..58a30cb
--- /dev/null
@@ -0,0 +1,32 @@
+.TH MESG 1 
+.SH NAME
+mesg \- permit or deny messages
+.SH SYNOPSIS
+.B mesg
+[
+.B n
+] [
+.B y
+]
+.SH DESCRIPTION
+.I Mesg
+with argument
+.B n
+forbids messages via
+.IR  write (1)
+by revoking non-user
+write permission on the user's terminal.
+.I Mesg
+with argument
+.B y
+reinstates permission.
+All by itself,
+.I mesg
+reports the current state without changing it.
+.SH FILES
+/dev/tty*
+.SH "SEE ALSO"
+write(1)
+.SH DIAGNOSTICS
+Exit status is 0 if messages are receivable,
+1 if not, 2 on error.
diff --git a/usr/man/man1/mkdir.1 b/usr/man/man1/mkdir.1
new file mode 100644 (file)
index 0000000..089cf5c
--- /dev/null
@@ -0,0 +1,27 @@
+.TH MKDIR 1 
+.SH NAME
+mkdir \- make a directory
+.SH SYNOPSIS
+.B mkdir
+dirname ...
+.SH DESCRIPTION
+.I Mkdir
+creates specified directories
+in mode 777.
+Standard entries,
+.RB ` . ',
+for the directory itself,
+and 
+.lg 0
+.BR ` .. '
+.lg 1
+for its parent, are made automatically.
+.PP
+.I Mkdir
+requires write permission in the parent directory.
+.SH "SEE ALSO"
+rm(1)
+.SH DIAGNOSTICS
+.I Mkdir
+returns exit code 0 if all directories were successfully made.
+Otherwise it prints a diagnostic and returns nonzero.
diff --git a/usr/man/man1/mkstr.1 b/usr/man/man1/mkstr.1
new file mode 100644 (file)
index 0000000..2906eb9
--- /dev/null
@@ -0,0 +1,88 @@
+.TH MKSTR 1 2/24/79
+.UC
+.SH NAME
+mkstr \- create an error message file by massaging C source
+.SH SYNOPSIS
+.B mkstr
+[
+.B \-
+]
+messagefile prefix file ...
+.SH DESCRIPTION
+.I Mkstr
+is used to create files of error messages.
+Its use can make programs with large numbers of error diagnostics much
+smaller, and reduce system overhead in running the program as the
+error messages do not have to be constantly swapped in and out.
+.PP
+.I Mkstr
+will process each of the specified
+.I files,
+placing a massaged version of the input file in a file whose name
+consists of the specified
+.I prefix 
+and the original name.
+A typical usage of
+.I mkstr
+would be
+.DT
+.PP
+       mkstr pistrings xx *.c
+.PP
+This command would cause all the error messages from the C source
+files in the current directory to be placed in the file
+.I pistrings
+and processed copies of the source for these files to be placed in
+files whose names are prefixed with
+.I xx.
+.PP
+To process the error messages in the source to the message file
+.I mkstr
+keys on the string
+\%`error("'
+in the input stream.
+Each time it occurs, the C string starting at the `"' is placed
+in the message file followed by a null character and a new-line character;
+the null character terminates the message so it can be easily used
+when retrieved, the new-line character makes it possible to sensibly
+.I cat
+the error message file to see its contents.
+The massaged copy of the input file then contains a
+.I lseek
+pointer into the file which can be used to retrieve the message, i.e.:
+.IP
+.DT
+.nf
+\fBchar\fR     efilname[] =  "/usr/lib/pi_strings";
+\fBint\fR      efil = -1;
+.sp
+error(a1, a2, a3, a4)
+{
+       \fBchar\fR buf[256];
+
+       \fBif\fR (efil < 0) {
+               efil = open(efilname, 0);
+               \fBif\fR (efil < 0) {
+oops:
+                       perror(efilname);
+                       exit(1);
+               }
+       }
+       \fBif\fR (lseek(efil, (long) a1, 0) |\|| read(efil, buf, 256) <= 0)
+               \fBgoto\fR oops;
+       printf(buf, a2, a3, a4);
+}
+.fi
+.PP
+The optional
+.B \-
+causes the error messages to be placed at the end of the specified
+message file for recompiling part of a large
+.IR mkstr \|ed
+program.
+.SH SEE\ ALSO
+lseek(2), xstr(1)
+.SH AUTHORS
+William Joy and Charles Haley
+...SH BUGS
+...All the arguments except the name of the file to be processed could be made unnecessary.
diff --git a/usr/man/man1/msgs.1 b/usr/man/man1/msgs.1
new file mode 100644 (file)
index 0000000..26b3b9f
--- /dev/null
@@ -0,0 +1,152 @@
+.TH MSGS 1
+.UC 4
+.SH NAME
+msgs \- system messages and junk mail program
+.SH SYNOPSIS
+.B msgs
+[
+.B \-fhlpq
+] [
+number
+] [
+\-number
+]
+.SH DESCRIPTION
+.I Msgs
+is used to read system messages.
+These messages are
+sent by mailing to the login `msgs' and should be short
+pieces of information which are suitable to be read once by most users
+of the system.
+.PP
+.I Msgs
+is normally invoked each time you login, by placing it in the file
+.I \&.login
+.I (\&.profile
+if you use
+.IR /bin/sh ).
+It will then prompt you with the source and subject of each new message.
+If there is no subject line, the first few non-blank lines of the
+message will be displayed.
+If there is more to the message, you will be told how
+long it is and asked whether you wish to see the rest of the message.
+The possible responses are:
+.TP 7
+.B y
+type the rest of the message
+.TP 7
+RETURN
+synonym for y.
+.TP 7
+.B n
+skip this message
+and go on to the next message.
+.TP 7
+.B \-
+redisplay the last message.
+.TP 7
+.B q
+drops you out of
+.I msgs;
+the next time you run the program it will pick up where you left off.
+.TP 7
+.B s
+append the current message to the file ``Messages'' in the current directory;
+`s\-' will save the previously displayed message. A `s' or `s\-' may
+be followed by a space and a filename to receive the message replacing
+the default ``Messages''.
+.TP 7
+.B m
+or `m\-' causes a copy of the specified message to be placed in a temporary
+mailbox and 
+.IR mail (1)
+to be invoked on that mailbox.
+Both `m' and `s' accept a numeric argument in place of the `\-'.
+.PP
+.I Msgs
+keeps track of the next message you will see by a number in the file
+.I \&.msgsrc
+in your home directory.
+In the directory
+.I /usr/msgs
+it keeps a set of files whose names are the (sequential) numbers
+of the messages they represent.
+The file
+.I /usr/msgs/bounds
+shows the low and high number of the messages in the directory
+so that
+.I msgs
+can quickly determine if there are no messages for you.
+If the contents of
+.I bounds
+is incorrect it can be fixed by removing it;
+.I msgs
+will make a new
+.I bounds
+file the next time it is run.
+.PP
+Options to msgs include:
+.TP 7
+.B \-f
+which causes it not to say ``No new messages.''.
+This is useful in your
+.I \&.login
+file since this is often the case here.
+.TP 7
+.B \-q
+Queries whether there are messages, printing
+``There are new messages.'' if there are.
+The command ``msgs \-q'' is often used in login scripts.
+.TP 7
+.B \-h
+causes
+.I msgs
+to print the first part of messages only.
+.TP 7
+.B \-l
+option causes only locally originated messages to be reported.
+.TP 7
+\fInum\fR
+A message number can be given
+on the command line, causing
+.I msgs
+to start at the specified message rather than at the next message
+indicated by your
+.I \&.msgsrc
+file.
+Thus
+.IP "" 7
+    msgs \-h 1
+.IP "" 7
+prints the first part of all messages.
+.TP 7
+.I "\-number"
+will cause
+.I msgs
+to start
+.I number
+messages back from the one indicated by your 
+.I \&.msgsrc
+file, useful for reviews of recent messages.
+.TP 7
+.B \-p
+causes long messages to be piped through
+.IR more (1).
+.PP
+Within
+.I msgs
+you can also go to any specific message by typing its number when
+.I msgs
+requests input as to what to do.
+.SH FILES
+.ta 2i
+/usr/msgs/*    database
+.br
+~/.msgsrc      number of next message to be presented
+.SH AUTHORS
+William Joy
+.br
+David Wasley
+.SH SEE ALSO
+mail(1), more(1)
+.SH BUGS
diff --git a/usr/man/man1/mv.1 b/usr/man/man1/mv.1
new file mode 100644 (file)
index 0000000..b2c00f5
--- /dev/null
@@ -0,0 +1,95 @@
+.TH MV 1 4/1/81
+.UC 4
+.SH NAME
+mv \- move or rename files
+.SH SYNOPSIS
+.B mv
+[
+.B \-i
+] [
+.B \-f
+] [
+.B \-
+] file1 file2
+.PP
+.B mv
+[
+.B \-i
+] [
+.B \-f
+] [
+.B \-
+] file ... directory
+.SH DESCRIPTION
+.I Mv
+moves (changes the name of)
+.I file1
+to
+.IR file2 .
+.PP
+If
+.I file2
+already exists,
+it is removed before
+.I file1
+is moved.
+If
+.I file2
+has a mode which forbids writing,
+.I mv
+prints the mode (see
+.IR chmod (2))
+and
+reads the standard input to obtain a line;
+if the line begins with
+.B y,
+the move takes place;
+if not,
+.I mv
+exits.
+.PP
+In the second form,
+one or more
+.I files
+are moved to the
+.I directory
+with their original
+file-names.
+.PP
+.I Mv
+refuses to move a file onto itself.
+.PP
+Options:
+.TP
+.B \-i
+stands for interactive mode. Whenever a move is to supercede an
+existing file, the user is prompted by the name of the file
+followed by a question mark. If he answers with a line starting
+with 'y', the move continues. Any other reply prevents the move from
+occurring.
+.TP
+.B \-f
+stands for force. This option overrides any mode restrictions or the
+\-i switch.
+.TP
+.B \-
+means interpret all the following arguments to 
+.I mv
+as file names.  This allows file names starting with minus.
+.SH "SEE ALSO"
+cp(1), ln(1)
+.SH BUGS
+If
+.I file1
+and
+.I file2
+lie on different file systems,
+.I mv
+must copy the file and delete the original.
+In this case the owner name becomes
+that of the copying process and any
+linking relationship with other files
+is lost.
+.PP
+Directories may only be moved within the same parent
+directory.
diff --git a/usr/man/man1/neqn.1 b/usr/man/man1/neqn.1
new file mode 100644 (file)
index 0000000..20efc87
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/eqn.1
diff --git a/usr/man/man1/net.1 b/usr/man/man1/net.1
new file mode 100644 (file)
index 0000000..6106221
--- /dev/null
@@ -0,0 +1,117 @@
+.TH NET 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+net \- execute a command on a remote machine
+.SH SYNOPSIS
+.B net
+[
+.B \-m
+machine ] [
+.B \-l
+login
+] [
+.B \-p
+password ] [
+.B \-r
+respfile ] [
+.B \-
+] [
+.B \-f
+] [
+.B \-n
+] [
+.B \-q
+]
+command
+.SH DESCRIPTION
+The
+.I net
+command sends the specified 
+.I command
+(which should be enclosed in quotes) over the network to the specified
+(or default) remote machine.
+The network will notify the user when the command has
+been executed and will return to him any output or error indication by `writing'
+(see
+.IR  write (\*o))
+to the terminal if he is still logged in, or `mailing' (see
+.IR  mail (\*o))
+otherwise.
+.PP
+There are a number of options, which must precede the command.
+Options may be specified on the command line, preceding
+the command, or in a file ``.netrc'' in the user's login directory.
+The ``.netrc'' file is not described here.
+The
+.B \-m
+option specifies the desired remote machine.
+If a remote machine is not specified, the default one is used.
+The machine name may be a one letter abbreviation or a full name;
+upper\- and lower\-case distinctions are ignored.
+If the standard output and standard error files are to be saved, the
+.B \-r
+option returns to the originating user a file
+.I (respfile)
+containing the standard output and error files
+when the command was executed on the remote machine.
+If this option is used, no message is written back.
+The presence of a non-zero length
+.I respfile
+indicates completion.
+The
+.B \-q
+option suppresses all acknowledgements unless an error occurs, there is
+output from the command, or the exit code of
+.I command
+is non-zero.
+.PP
+If the
+.B \-l
+and
+.B \-p
+options are not specified,
+and the login name and password are not in the ``.netrc'' file,
+a remote login name and password is prompted for on the terminal;
+the
+.B \-f
+flag forces login name and password prompting.
+A single
+.B \-
+indicates that the standard input from the local machine is to be taken
+and transmitted to the remote machine, where it will be the standard input for
+.I command.
+The
+.B \-n
+flag forces all acknowledgment and output messages to be mailed
+rather than written on the terminal.
+Options do not need to be separated by spaces,
+i.e. either ``\-m C'' or ``\-mC'' is accepted.
+There are also other options intended to be used by
+higher level application programs and shell scripts only;
+they will not be described here.
+.PP
+The net command prepares a file to be sent to the remote machine
+and queues it in the `network queue.'
+.I Netq
+(\*s) gives information about the queues.
+.SH AUTHOR
+Eric Schmidt
+.SH FILES
+.ta 2.5i
+/usr/spool/berknet/logfile     logfile with information about net activity
+.br
+/usr/spool/berknet/plogfile?   log file including packet transmission statistics
+.br
+/usr/spool/berknet/netstat?    statistics file
+.br
+/usr/net/network.map   local network names and topology
+.SH BUGS
+.B \-q
+should be the default.
+.SH "SEE ALSO"
+netrm(\*s), netq(\*s), netlog(\*s), netcp(\*s),
+netlpr(\*s), netmail(\*s), netlogin(\*s), mail(\*o)
+.br
+``An Introduction to the Berkeley Network", by Eric Schmidt
diff --git a/usr/man/man1/netcp.1 b/usr/man/man1/netcp.1
new file mode 100644 (file)
index 0000000..cba50c8
--- /dev/null
@@ -0,0 +1,90 @@
+.TH NETCP 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netcp \- remote copy of files through the net
+.SH SYNOPSIS
+.B netcp
+[
+.B \-l
+login ] [
+.B \-p
+password ]
+[
+.B \-f
+] [
+.B \-n
+] [
+.B \-q
+] fromfile tofile
+.SH DESCRIPTION
+.I Netcp
+copies files between machines and is similar to
+.IR cp (\*o).
+At least one of
+.I fromfile
+and
+.I tofile
+must be remote.
+The
+.B \-l,
+.B \-p,
+.B \-f,
+.B \-q,
+and
+.B \-n
+behave exactly as in
+.IR net (\*s).
+.PP
+.I Fromfile
+and
+.I tofile
+follow these conventions:
+.TP 4
+1.
+A simple filename is assumed to be local and from the current directory.
+.TP 4
+2.
+A filename preceded by a machine designator (see below)
+is a reference to a file on the specified remote machine.
+If a full pathname is not given, it is assumed to be from the login directory.
+.PP
+Examples:
+.IP "    grades.p" 20
+file in the current directory on local machine
+.IP "    C:junk" 20
+file in your login directory on C
+.IP "    /usr/lib/pq" 20
+file on local machine
+.IP "    C:comp/c2.c" 20
+file in a subdirectory on C machine
+.PP
+When files are being ``fetched'', that is, the
+.I fromfile
+is remote and the 
+.I tofile
+is local, the
+.I tofile
+is created zero-length mode 600.
+For security reasons, when the ``fetched'' file's contents
+arrive at the local machine, the file must still be zero-length
+and mode 0600.
+No confirmation is sent to the user that the file has been ``fetched'';
+a non-zero file length indicates completion.
+.PP
+.I Netcp
+executes the
+.IR net (\*s) 
+command.
+.SH "SEE ALSO"
+net(\*s), netrm(\*s), netq(\*s), netlog(\*s),
+netlpr(\*s), netmail(\*s), netlogin(\*s), cp(\*o), mail(\*o)
+.SH AUTHOR
+Eric Schmidt
+.SH BUGS
+The second filename may not be defaulted to a directory name as in
+.IR cp (\*o),
+it must be given explicitly.
+.br
+The file mode may or may not be set correctly.
diff --git a/usr/man/man1/netlog.1 b/usr/man/man1/netlog.1
new file mode 100644 (file)
index 0000000..3b0a830
--- /dev/null
@@ -0,0 +1,21 @@
+.TH NETLOG 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netlog \- print the last few lines of the network log file
+.SH SYNOPSIS
+.B netlog
+[ \-lines ]
+.SH DESCRIPTION
+.I Netlog
+prints the last few lines of the network log file indicating recent network
+activity.
+.SH FILES
+.ta 2.5i
+/usr/spool/berknet/logfile     the log
+.SH SEE ALSO
+net(\*s), netrm(\*s), netq(\*s), netcp(\*s),
+netlpr(\*s), netmail(\*s), netlogin(\*s),
+mail(\*o)
+.SH BUGS
diff --git a/usr/man/man1/netlogin.1 b/usr/man/man1/netlogin.1
new file mode 100644 (file)
index 0000000..787a3ec
--- /dev/null
@@ -0,0 +1,69 @@
+.TH NETLOGIN 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netlogin \- provide login name and password for a remote machine
+.SH SYNOPSIS
+.B netlogin
+.B \-m
+machine [
+.B \-l
+login
+]
+.SH DESCRIPTION
+The
+.I netlogin
+command sets the login name and password for the specified
+.I machine
+in a rather unusual way.
+The user should type (to the C shell)
+.IP
+setenv\ MACH\fImachine\fR\ \(ganetlogin\ \-m\ \fImachine\fR\(ga
+.LP
+or (to the default Version 7 ``Bourne'' shell)
+.IP
+MACH\fImachine\fR=\(ganetlogin\ \-m\ \fImachine\fR\(ga; export MACH\fImachine\fR
+.PP
+to his login shell.  (Note the back-quotes).
+For example,
+.IP
+setenv\ MACHA\ `netlogin\ \-m\ A`
+.PP
+will prompt the user for his login name and password on the A machine and
+.IP
+setenv\ MACHA\ `netlogin\ \-m\ A \-l\ myname`
+.PP
+will prompt the user for the password to account `A:myname'.
+.PP
+The 
+.IR net (\*s)
+command will read the environment looking for environment variables
+beginning with ``MACH'' and followed by a valid machine name on the
+local network.
+If found it will use that information rather than prompt the user
+every time he executes a network command.
+This environment information is ignored if login names and passwords
+are specified on the command line of network commands using the 
+.B \-l
+and 
+.B \-p
+options or in the
+.I \&.netrc
+file.
+.PP
+This procedure for specifying passwords is somewhat safer than
+putting the remote passwords in the
+.I \&.netrc
+file.
+The passwords in the environment are encrypted and the environment
+information is useless after the user logs out.
+Use the 
+.IR printenv (\*o)
+command to see the encrypted password.
+.SH AUTHOR
+Eric Schmidt
+.SH "SEE ALSO"
+net(\*s), netrm(\*s), netq(\*s), netlog(\*s), netcp(\*s),
+netlpr(\*s), netmail(\*s), printenv(\*o), csh(\*o)
+.SH BUGS
diff --git a/usr/man/man1/netlpr.1 b/usr/man/man1/netlpr.1
new file mode 100644 (file)
index 0000000..e233a1f
--- /dev/null
@@ -0,0 +1,68 @@
+.TH NETLPR 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netlpr \- use a remote lineprinter through the net
+.SH SYNOPSIS
+.B netlpr
+[
+.B \-m
+machine ] [
+.B \-l
+login
+] [
+.B \-p
+password
+]
+[
+.B \-f
+] [
+.B \-q
+] [
+.B \-n
+] [
+.B \-c
+command ] [ name1 ... namen ]
+.SH DESCRIPTION
+.I Netlpr
+sends the named files, (or the standard input if none are named),
+to a remote lineprinter; the 
+.B \-m
+option forces the files to be printed on the specified machine.
+(If not specified, the default machine is used.)
+The
+.B \-l, 
+.B \-p, 
+.B \-f,
+.B \-q,
+and 
+.B \-n
+options behave exactly as in
+.IR net (\*s).
+If the
+.B \-c
+option is specified, the 
+.I command
+is used in place of `lpr'.
+This allows the use of different lineprinters on the remote machine.
+See the file
+.I `/usr/net/network.map'
+for a list of available commands.
+Any other options are passed through to
+.IR lpr (\*o)
+on the remote machine.
+Copies of the files are not made on the remote machine.
+.PP
+.I Netlpr
+executes the
+.IR net (\*s)
+command.
+.SH FILES
+.ta 2.5i
+/usr/net/network.map   lists the allowed local printer names
+.SH "SEE ALSO"
+net(\*s), netrm(\*s), netq(\*s), netlog(\*s), netcp(\*s),
+netmail(\*s), netlogin(\*s), mail(\*o), lpr(\*o)
+.SH AUTHOR
+Eric Schmidt
diff --git a/usr/man/man1/netmail.1 b/usr/man/man1/netmail.1
new file mode 100644 (file)
index 0000000..d51f3ab
--- /dev/null
@@ -0,0 +1,76 @@
+.TH NETMAIL 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netmail \- read mail on a remote machine over the network
+.SH SYNOPSIS
+.B netmail
+[
+.B \-l
+username ] [
+.B \-p
+password ] [
+.B \-c
+] [
+.B \-q
+] [
+.B \-n
+] [
+.B \-f
+] [ machine:username ]
+.SH DESCRIPTION
+Mail is checked and/or read on the specified
+.I machine.
+If the machine specification is omitted, the default machine is used.
+The command has two distinct modes depending on whether the 
+.B \-c
+option is specified.
+.PP
+If 
+.B \-c
+is specified, the presence of mail is checked on the remote machine.
+No password is required so it can be put in C shell `.netrc' file.
+A message is written or mailed back (see 
+.IR net (\*s))
+if there is or is not any unread mail.
+.PP
+If the 
+.B \-c
+option is not specified, mail is read and mailed back to the user.
+A password is required.
+Mail is also appended to the remote file
+.I `mbox'
+as a precaution.
+.PP
+The 
+.B \-q 
+option suppresses the message sent back if there is no mail.
+The options
+.B \-l,
+.B \-p,
+.B \-f,
+and
+.B \-n
+behave exactly as in
+.IR net (\*s).
+(The login name can be specified either with the
+.B \-l
+option or by `machine:username'.)
+.PP
+.I Netmail
+executes the
+.IR net (\*s)
+command.
+.PP
+Examples:
+.IP "    netmail\ \-c\ X:uname" 30
+checks if there is mail for `uname' on the X machine, no password required.
+.IP "    netmail\ X:uname" 30
+reads mail for `uname' on the X machine, mails it back, password is required.
+.SH AUTHOR
+Eric Schmidt
+.SH "SEE ALSO"
+net(\*s), netrm(\*s), netq(\*s), netlog(\*s), netcp(\*s),
+netlpr(\*s), netlogin(\*s), mail(\*o)
+.SH BUGS
diff --git a/usr/man/man1/netq.1 b/usr/man/man1/netq.1
new file mode 100644 (file)
index 0000000..63a36c6
--- /dev/null
@@ -0,0 +1,55 @@
+.TH NETQ 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netq \- print contents of network queue
+.SH SYNOPSIS
+.B netq
+[
+.B \-a
+] [ machine ]
+.SH DESCRIPTION
+.I Netq
+lists the contents of the network queue,
+one request per line, for each directly-connected machine.
+For each request, it shows the login name and machine of the originator,
+the destination machine and login name,
+and the length (in bytes) of the request
+(this will be larger than any files transferred (e.g. by
+.I netcp),
+because of header information).
+Also described are the queue filename which may be used
+as an argument to
+.IR netrm (\*s),
+the time entered the queue, and the command being sent.
+.PP
+.I Netq
+summarizes requests by other users.
+If the 
+.B \-a
+option is specified, requests from all users are listed.
+.PP
+If a
+.I machine
+is specified, only the queue for that directly-connected machine is listed.
+.PP
+The requests are listed in the order they will be sent;
+the queue for each machine is totally independent from the
+other machine's queues.
+.SH AUTHOR
+Eric Schmidt
+.SH FILES
+.ta 2.5i
+/usr/spool/berknet/send?       the directories where the queues are
+.br
+/usr/spool/berknet/logfile     the log
+.SH "SEE ALSO"
+net(\*s), netrm(\*s), netlog(\*s), netcp(\*s),
+netlpr(\*s), netmail(\*s), netlogin(\*s), mail(\*o)
+.SH BUGS
+.I Netq
+should also list files in net queues on intermediate machines.
+.br
+The commands are sent shortest-job first.
+There is no way to delay a shorter, earlier request.
diff --git a/usr/man/man1/netrm.1 b/usr/man/man1/netrm.1
new file mode 100644 (file)
index 0000000..e8d32dd
--- /dev/null
@@ -0,0 +1,43 @@
+.TH NETRM 1 2/6/80
+.UC 4
+.ds s 1
+.ds o 1
+.SH NAME
+netrm \- remove a command from the network queue
+.SH SYNOPSIS
+.B netrm
+[
+.B \-
+] [ name1 ... namen ]
+.SH DESCRIPTION
+.I Netrm
+removes files from the network queue which have been queued for transmission to remote machines (but not yet sent).
+The
+.I names
+specified are the filenames reported by the
+.IR netq (\*s)
+command.
+The
+.B \-
+option indicates that all files
+owned by the person logged in are to be removed.
+.PP
+Only the owner of the file or super-user can
+.I netrm
+the file.
+.SH AUTHOR
+Eric Schmidt
+.SH FILES
+.ta 2.5i
+/usr/spool/berknet/send?       the directories where the queues are
+.SH BUGS
+Files on network queues on intermediate machines cannot be removed.
+.br
+There should be a 
+.B \-m
+flag to use with 
+.B \-
+to remove all your requests to one particular machine.
+.SH "SEE ALSO"
+net(\*s), netq(\*s), netcp(\*s), netlpr(\*s), netmail(\*s), netlogin(\*s),
+mail(\*o)
diff --git a/usr/man/man1/nettroff.1 b/usr/man/man1/nettroff.1
new file mode 100644 (file)
index 0000000..28896db
--- /dev/null
@@ -0,0 +1,48 @@
+.TH NETTROFF 1 2/6/80
+.UC 4
+.SH NAME
+nettroff \- troff to the phototypesetter over the network
+.SH SYNOPSIS
+.B nettroff
+troff arguments
+.SH DESCRIPTION
+.I Nettroff
+runs
+.IR troff (1)
+and sends the output over the network to the machine at the Computer Center
+with the phototypesetter (currently the ``A'' machine.)
+It will prompt you for an account name and password on the A machine unless
+you have provided these in your
+.I \&.netrc
+file.
+The
+.I troff
+.B \-s
+option is unnecessary and not permitted.
+.LP
+.I Nettroff
+jobs are limited to 15 feet of typesetter output.
+It is also a good idea to limit the size of the individual files sent,
+as the network uses a shortest-job-first scheduling algorithm.
+Jobs of 25000 characters or less are preferable; in no case will the
+network accept jobs longer than 100000 characters.
+.SH SEE ALSO
+vtroff(1), net(1), troff(1)
+.SH BUGS
+There is no way to specify special font mounts on the A machine.
+.br
+The 
+.B \-l
+and 
+.B \-p
+options of the 
+.IR net (1)
+command may not be specified.
+.br
+This command is not supported by the Computer Center.
+.br
+If on a Computer Center machine (B, C, D, or E) use the
+.I troff
+command (see
+.IR troff (1))
+for more information.
diff --git a/usr/man/man1/newaliases.1 b/usr/man/man1/newaliases.1
new file mode 100644 (file)
index 0000000..66bb7f7
--- /dev/null
@@ -0,0 +1,15 @@
+.TH NEWALIASES 1
+.UC 4
+.SH NAME
+newaliases \- rebuild the data base for the mail aliases file
+.SH SYNOPSIS
+.B newaliases
+.SH DESCRIPTION
+.I Newalises
+rebuilds the random access data base for the mail aliases file
+/usr/lib/aliases.
+It must be run each time /usr/lib/aliases is changed in order
+for the change to take effect.
+.SH SEE ALSO
+aliases(5), delivermail(8)
+.SH BUGS
diff --git a/usr/man/man1/newcsh.1 b/usr/man/man1/newcsh.1
new file mode 100644 (file)
index 0000000..56f29c2
--- /dev/null
@@ -0,0 +1,366 @@
+.TH NEWCSH 1
+.UC 4
+.bd S 3
+.SH NAME
+newcsh \- description of new csh features (over oldcsh)
+.SH SYNOPSIS
+.B csh
+\fIcsh-options\fR
+.SH SUMMARY
+This is a summary of features new in
+.IR csh (1)
+in this version of the system; an older version of
+.I csh
+is available as
+.I oldcsh.
+This newer
+.I csh
+has some new process control primitives and a few other new features.
+Users of
+.I csh
+must (and automatically) use the new terminal driver (summarized in
+.IR newtty(4)
+and completely described with the old in
+.IR tty (4))
+which allows generation of some new
+interrupt signals from the keyboard which tell jobs to stop,
+and arbitrates access to the terminal;
+on CRT's the command ``stty crt'' is
+normally placed in the
+.I .login
+file to be executed at login,
+to set other useful modes of this terminal driver.
+.PP
+.B "Jobs."
+.PP
+The most important new feature in this shell is the control of
+.I jobs.
+A job is associated with each pipeline, where a pipeline is either
+a simple command like ``date'', or a pipeline like ``who | wc''.
+The shell keeps a table of current jobs, and assigns them small
+integer numbers.
+When you start a job in the background, the shell prints a line
+which looks like:
+.PP
+\ \ \ \ [1] 1234
+.PP
+this indicating that the job which was started asynchronously with ``&''
+is job number 1 and has one (top-level) process, whose process id is 1234.
+The set of current jobs is listed by the
+.I jobs
+command.
+.PP
+If you are running a job and wish to do something else you may hit the
+key ^Z (control-Z) which sends a
+.I stop
+signal to the current job.  The shell will then normally indicate that
+the job has been ``Stopped'', and print another prompt.
+You can then
+put the job in the background with the command ``bg'', or run
+some other commands and then return the job to the foreground with
+``fg''.
+A ^Z takes effect immediately and is like an interrupt in that
+pending output and unread input are discarded when it is typed.
+There is another special key ^Y which does not generate a stop signal
+until a program attempts to
+.IR read (2)
+it.
+This can usefully be typed ahead when you have prepared some commands
+for a job which you wish to stop after it has read them.
+.PP
+A job being run in the background will stop if it tries to read
+from the terminal.  Background jobs are normally allowed to produce output,
+but this can be disabled by doing ``stty tostop''.  If you set this
+tty option, then background jobs will stop when they try to produce
+output like they do when they try to read input.
+.PP
+There are several ways to refer to jobs in the shell.  The character
+``%'' introduces a job name.  If you wish to refer to job number 1, you can
+name it as ``%1''.  Just naming a job brings it to the foreground; thus
+``%1'' is a synonym for ``fg %1'', bringing job 1 back into the foreground.
+Similarly saying ``%1 &'' resumes job 1 in the background.
+Jobs can also be named by prefixes of the string typed in to start them,
+if these prefixes are unambiguous, thus ``%ex'' would normally restart
+a suspended
+.IR ex (1)
+job, if there were only one suspended job whose name began with
+the string ``ex''.  It is also possible to say ``%?string''
+which specifies a job whose text contains
+.I string,
+if there is only one such job.
+.PP
+The shell also maintains a notion of the current and previous jobs.
+In output pertaining to jobs, the current job is marked with a ``+''
+and the previous job with a ``\-''.  The abbreviation ``%+'' refers
+to the current job and ``%\-'' refers to the previous job.  For close
+analogy with the
+.I history
+mechanism,
+``%%'' is also a synonym for the current job.
+.PP
+.B "Status reporting."
+.PP
+This shell learns immediately whenever a process changes state.
+It normally informs you whenever a job becomes blocked so that
+no further progress is possible, but only just before it prints
+a prompt.  This is done so that it does not otherwise disturb your work.
+If, however, you set the shell variable
+.I notify,
+the shell will notify you immediately of changes of status in background
+jobs.
+There is also a shell command
+.I notify
+which marks a single process so that its status changes will be immediately
+reported.  By default 
+.I notify
+marks the current process;
+simply say ``notify'' after starting a background job to mark it.
+.PP
+When you try to leave the shell while jobs are stopped, you will
+be warned that ``You have stopped jobs.''  You may use the ``jobs''
+command to see what they are.  If you do this or immediately try to
+exit again, the shell will not warn you a second time, and the suspended
+jobs will be unmercifully terminated.
+.PP
+.B "New builtin commands."
+.HP 5
+.B bg
+.br
+.ns
+.HP 5
+\fBbg\ %\fRjob\ ...
+.br
+Puts the current or specified jobs into the background, continuing them
+if they were stopped.
+.HP 5
+.B fg
+.br
+.ns
+.HP 5
+\fBfg\ %\fRjob\ ...
+.br
+Brings the current or specified jobs into the foreground, continuing them if
+they were stopped.
+.HP 5
+.B jobs
+.br
+.ns
+.HP 5
+.B "jobs \-l"
+.br
+Lists the active jobs; given the
+.B \-l
+options lists process id's in addition to the normal information.
+.HP 5
+\fBkill %\fRjob
+.br
+.ns
+.HP 5
+\fBkill\ \-\fRsig\ \fB%\fRjob\ ...
+.br
+.ns
+.HP 5
+\fBkill\fR\ pid
+.br
+.ns
+.HP 5
+\fBkill\ \-\fRsig\ pid\ ...
+.br
+.ns
+.HP 5
+\fBkill\ \-l\fR
+.br
+Sends either the TERM (terminate) signal or the
+specified signal to the specified jobs or processes.
+Signals are either given by number or by names (as given in
+.I /usr/include/signal.h,
+stripped of the prefix ``SIG'').
+The signal names are listed by ``kill \-l''.
+There is no default, saying just `kill' does not
+send a signal to the current job.
+If the signal being sent is TERM (terminate) or HUP (hangup),
+then the job or process will be sent a CONT (continue) signal as well.
+.HP 5
+.B notify
+.br
+.ns
+.HP 5
+\fBnotify\ %\fRjob\ ...
+.br
+Causes the shell to notify the user asynchronously when the status of the
+current or specified jobs changes; normally notification is presented
+before a prompt.  All jobs are marked ``notify'' if the shell variable
+``notify'' is set.
+.HP 5
+\fBstop\ %\fRjob\ ...
+.br
+Stops the specified job which is executing in the background.
+.HP 5
+\fB%\fRjob
+.br
+Brings the specified job into the foreground.
+.HP 5
+\fB%\fRjob \fB&\fR
+.br
+Continues the specified job in the background.
+.br
+.ne 5
+.PP
+.B "Process limitations."
+.PP
+The shell provides access to an experimental facility for limiting
+the consumption by a single process of system resources.
+The following commands control this facility:
+.HP 5
+\fBlimit\fR \fIresource\fR \fImaximum-use\fR
+.HP 5
+\fBlimit\fR \fIresource\fR
+.br
+.ns
+.HP
+\fBlimit\fR
+.br
+Limits the consumption by the current process and each process
+it creates to not individually exceed \fImaximum-use\fR on the
+specified \fIresource\fR.  If no \fImaximum-use\fR is given, then
+the current limit is printed; if no \fIresource\fR is given, then
+all limitations are given.
+.IP
+Resources controllable currently include \fIcputime\fR (the maximum
+number of cpu-seconds to be used by each process), \fIfilesize\fR
+(the largest single file which can be created), \fIdatasize\fR
+(the maximum growth of the data+stack region via
+.IR sbrk (2)
+beyond the end of the program text), \fIstacksize\fR (the maximum
+size of the automatically-extended stack region), and \fIcoredumpsize\fR
+(the size of the largest core dump that will be created).
+.IP
+The \fImaximum-use\fR may be given as a (floating point or integer)
+number followed by a scale factor.  For all limits other than \fIcputime\fR
+the default scale is ``k'' or ``kilobytes'' (1024 bytes);
+a scale factor of ``m'' or ``megabytes'' may also be used.
+For cputime the default scaling is ``seconds'', while ``m'' for minutes
+or ``h'' for hours, or a time of the form ``mm:ss'' giving minutes
+and seconds may be used.
+.IP
+For both \fIresource\fR names and scale factors, unambiguous prefixes
+of the names suffice.
+.HP 5
+\fBunlimit\fR \fIresource\fR
+.br
+.ns
+.HP 5
+\fBunlimit\fR
+.br
+Removes the limitation on \fIresource\fR.  If no \fIresource\fR
+is specified, then all \fIresource\fR limitations are removed.
+.ne 5
+.PP
+.B "Directory stack."
+.PP
+This shell now keeps track of the current directory (which is kept
+in the variable
+.I cwd)
+and also maintains a stack of directories, which is printed by the
+command
+.I dirs.
+You can change to a new directory and push down the old directory
+stack by using the command
+.I pushd
+which is otherwise like the 
+.I chdir
+command, changing to its argument.
+You can pop the directory stack by saying
+.I popd.
+Saying
+.I pushd
+with no arguments exchanges the top two elements of the directory stack.
+The elements of the directory stack are numbered from 1 starting at the top.
+Saying
+.I pushd
+with a argument ``+\fIn\fR'' rotates the directory stack to make that entry
+in the stack be at the top and changes to it.
+Giving
+.I popd
+a ``+\fIn\fR'' argument eliminates that argument from the directory stack.
+.PP
+.B "Miscellaneous."
+.PP
+This shell imports the environment variable USER into the variable
+.I user,
+TERM into
+.I term,
+and
+HOME into
+.I home,
+and exports these back into the environment whenever the normal
+shell variables are reset.
+The environment variable PATH is likewise handled; it is not
+necessary to worry about its setting other than in the file
+.I \&.cshrc
+as inferior
+.I csh
+processes will import the definition of
+.I path
+from the environment, and re-export it if you then change it.
+(It could be set once in the
+.I \&.login
+except that commands over the Berknet would not
+see the definition.)
+.PP
+There are new commands
+.I eval,
+which is like the eval of the Bourne shell
+.IR sh (1),
+and useful with
+.IR tset (1),
+and
+.I suspend
+which stops a shell (as though a ^Z had stopped it; since
+shells normally ignore ^Z signals, this command is necessary.)
+.PP
+There is a new variable
+.I cdpath;
+if set, then each directory in
+.I cdpath
+will be searched for a directory named in a
+.I chdir
+command if there is no such subdirectory of the current directory.
+.PP
+An
+.I unsetenv
+command removing environment variables has been added.
+.PP
+There is a new ``:'' modifier ``:e'', which yields the extension
+portion of a filename.  Thus if ``$a'' is ``file.c'', ``$a:e'' is ``c''.
+.PP
+There are two new operators in shell expressions ``!~'' and ``=~'' which
+are like the string operations ``!='' and ``=='' except that the right
+hand side is a
+.I pattern
+(containing, e.g. ``*''s, ``?''s and instances of ``[...]'')
+against which the left hand operand is matched.  This reduces the
+need for use of the
+.I switch
+statement in shell scripts when all that is really needed is pattern matching.
+.PP
+The form ``$<'' is new, and is replaced by a line from the standard
+input, with no further interpretation thereafter.  It may therefore
+be used to read from the keyboard in a shell script.
+.SH "SEE ALSO"
+csh(1), killpg(2), sigsys(2), signal(2), jobs(3), sigset(3), tty(4)
+.SH BUGS
+Command sequences of the form ``a ; b ; c'' are not handled gracefully
+when stopping is attempted.  If you suspend ``b'', the shell will then
+immediately execute ``c''.  This is especially noticeable if this
+expansion results from an
+.I alias.
+It suffices to place the sequence of commands in ()'s to force it to
+a subshell, i.e. ``( a ; b ; c )'', but see the next bug.
+.PP
+Shell builtin functions are not stoppable/restartable.
+.PP
+Control over output is primitive;
+perhaps this will inspire someone to work on a good virtual
+terminal interface.  In a virtual terminal interface much more
+interesting things could be done with output control.
diff --git a/usr/man/man1/newgrp.1 b/usr/man/man1/newgrp.1
new file mode 100644 (file)
index 0000000..367a93b
--- /dev/null
@@ -0,0 +1,27 @@
+.TH NEWGRP 1 
+.SH NAME
+newgrp \- log in to a new group
+.SH SYNOPSIS
+.B newgrp
+group
+.SH DESCRIPTION
+.I Newgrp
+changes the group identification of its caller,
+analogously to
+.IR  login (1).
+The same person remains logged in,
+and the current directory is unchanged,
+but calculations of access permissions to files are
+performed with respect to the
+new group ID.
+.PP
+A password is demanded if the group has
+a password and the user himself does not.
+.PP
+.I Newgrp
+is known to the shell, which executes it directly without a fork.
+.SH FILES
+/etc/group, /etc/passwd
+.SH "SEE ALSO"
+login(1), group(5)
+.SH BUGS
diff --git a/usr/man/man1/nice.1 b/usr/man/man1/nice.1
new file mode 100644 (file)
index 0000000..b45d3c0
--- /dev/null
@@ -0,0 +1,72 @@
+.TH NICE 1 
+.UC 4
+.SH NAME
+nice, nohup \- run a command at low priority (\fIsh\fR only)
+.SH SYNOPSIS
+.B nice
+[
+.BI \- number
+]
+command [ arguments ]
+.PP
+.B nohup
+command [ arguments ]
+.SH DESCRIPTION
+.I Nice
+executes
+.I command
+with low scheduling priority.
+If the
+.I number
+argument is present, the priority is incremented (higher
+numbers mean lower priorities) by that amount up to a limit of 20.
+The default
+.I number
+is 10.
+.PP
+The super-user may run commands with
+priority higher than normal
+by using a negative priority,
+e.g. `\-\-10'.
+.PP
+.I Nohup
+executes
+.I command
+immune to hangup and terminate signals from the controlling terminal.
+The priority is incremented by 5.
+.I Nohup
+should be invoked from the shell with `&' in order to 
+prevent it from responding to interrupts by or
+stealing the input from
+the next person who logs in on the same terminal.
+The syntax of nice is also different.
+.SH FILES
+nohup.out      standard output and standard error file under
+.I nohup
+.SH "SEE ALSO"
+csh(1), nice(2), renice(8)
+.SH DIAGNOSTICS
+.I Nice
+returns the exit status of the subject command.
+.SH BUGS
+.I Nice
+and
+.I nohup
+are particular to
+.IR sh (1).
+If you use
+.IR csh (1),
+then commands executed with ``&'' are automatically immune to hangup
+signals while in the background.
+There is a builtin command
+.I nohup
+which provides immunity from terminate, but it does not
+redirect output to
+.I nohup.out.
+.PP
+.I Nice
+is built into
+.IR csh (1)
+with a slightly different syntax than described here.  The form
+``nice +10'' nices to positive nice, and ``nice \-10'' can be used
+by the super-user to give a process more of the processor.
diff --git a/usr/man/man1/nm.1 b/usr/man/man1/nm.1
new file mode 100644 (file)
index 0000000..0851bdb
--- /dev/null
@@ -0,0 +1,84 @@
+.TH NM 1 
+.UC 4
+.SH NAME
+nm \- print name list
+.SH SYNOPSIS
+.B nm
+[
+.B \-agnopru
+]
+[ file ... ]
+.SH DESCRIPTION
+.I Nm
+prints the name list (symbol table) of each object
+.I file
+in the argument list.
+If an argument
+is an archive, a listing for each object
+file in the archive will be produced.
+If no
+.I file
+is given, the symbols in
+`a.out'
+are listed.
+.PP
+Each symbol name is preceded by its value (blanks if undefined)
+and one of the letters
+.SM
+.B U
+(undefined),
+.SM
+.B A
+(absolute),
+.SM
+.B  T
+(text segment symbol),
+.SM
+.B D
+(data segment symbol),
+.SM
+.B B
+(bss segment symbol),
+.SM
+.B C
+(common symbol),
+.SM
+.B f
+file name,
+or
+.B \-
+for sdb symbol table entries (see
+.B \-a
+below).
+If the symbol is local (non-external) the type letter is in
+lower case.
+The output is sorted alphabetically.
+.PP
+Options are:
+.TP
+.B \-a
+Include all symbols in candidates for printing; normally
+symbols destined for
+.IR sdb (1)
+are excluded.
+.TP
+.B  \-g
+Print only global (external) symbols.
+.TP
+.B \-n
+Sort numerically rather than alphabetically.
+.TP
+.B  \-o
+Prepend file or archive element name to each
+output line rather than only once.
+.TP
+.B  \-p
+Don't sort; print in symbol-table order.
+.TP
+.B  \-r
+Sort in reverse order.
+.TP
+.B  \-u
+Print only undefined symbols.
+.SH SEE ALSO
+ar(1), ar(5), a.out(5), stab(5)
diff --git a/usr/man/man1/nroff.1 b/usr/man/man1/nroff.1
new file mode 100644 (file)
index 0000000..b84fdfe
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/troff.1
diff --git a/usr/man/man1/num.1 b/usr/man/man1/num.1
new file mode 100644 (file)
index 0000000..7185c5f
--- /dev/null
@@ -0,0 +1,23 @@
+.TH NUM 1
+.UC 4
+.SH NAME
+num \- number lines
+.SH SYNOPSIS
+.B num
+[
+file ...
+]
+.SH DESCRIPTION
+The lines in the specified files, or the standard input,
+are copied to the standard output preceded by line numbers.
+Tabs remain aligned in the output as the lines are printed
+preceded by the number blank padded to six digits and then 2 spaces.
+.PP
+.I Num
+is actually just the
+.B \-n
+option of the
+.IR cat (1)
+command.
+.SH SEE\ ALSO
+cat(1), pr(1)
diff --git a/usr/man/man1/page.1 b/usr/man/man1/page.1
new file mode 100644 (file)
index 0000000..c964fb9
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/more.1
diff --git a/usr/man/man1/passwd.1 b/usr/man/man1/passwd.1
new file mode 100644 (file)
index 0000000..40999f5
--- /dev/null
@@ -0,0 +1,36 @@
+.TH PASSWD 1 
+.UC 4
+.SH NAME
+passwd \- change login password
+.SH SYNOPSIS
+.B passwd
+[ name ]
+.SH DESCRIPTION
+This command changes (or installs) a password
+associated with the user
+.IR name
+(your own name by default).
+.PP
+The program prompts for the old password and then for the new one.
+The caller must supply both.
+The new password must be typed twice, to forestall mistakes.
+.PP
+New passwords must be at least four characters long if they use
+a sufficiently rich alphabet and at least six characters long
+if monocase.
+These rules are relaxed if you are insistent enough.
+.PP
+Only the owner of the name or the super-user may change a password;
+the owner must prove he knows the old password.
+.SH FILES
+/etc/passwd
+.SH "SEE ALSO"
+login(1), passwd(5), crypt(3)
+.br
+Robert Morris and Ken Thompson,
+.I UNIX password security
+.SH BUGS
+The password file information should be kept in a different data structure
+allowing indexed access;
+.IR dbm (3)
+would probably be suitable.
diff --git a/usr/man/man1/pc.1 b/usr/man/man1/pc.1
new file mode 100644 (file)
index 0000000..594f53b
--- /dev/null
@@ -0,0 +1,244 @@
+.TH PC 1
+.UC 4
+.SH NAME
+pc \- Pascal compiler
+.SH SYNOPSIS
+.B pc
+[ option ] [
+.B \-i
+name ...
+] name ...
+.SH DESCRIPTION
+.I Pc
+is a Pascal compiler.
+If given an argument file ending with
+.BR .p ,
+it will compile the file 
+and load it
+into an executable file called, by default,
+.IR a.out .
+.PP
+A program may be separated into more than one 
+.B .p
+file.
+.I Pc
+will compile a number of argument
+.B .p
+files into object files (with
+the extension
+.B .o
+in place of
+.BR .p ).
+Object files may then be loaded 
+into an executable
+.I a.out
+file.
+Exactly one object file must supply a 
+.B program
+statement to successfully create an executable a.out file.
+The rest of the files must consist only of 
+declarations which logically nest within the program.
+References to objects shared between separately compiled files
+are allowed if the objects are declared in
+.BR include d
+header files, whose names must end with
+.BR .h .
+Header files may only be included at the outermost level,
+and thus declare only globally available objects.
+To allow
+.BR function s
+and
+.BR procedure s
+to be declared, an
+.B external
+directive has been added, whose use is similar to the
+.B forward
+directive but restricted to appear only in
+.B .h
+files.
+.B Function
+and 
+.B procedure
+bodies may not appear in
+.B .h
+files.
+A binding phase of the compiler checks that declarations
+are used consistently, to enforce the type checking rules of Pascal.
+.PP
+Object files 
+created by other language processors may be loaded together with
+object files created by 
+.IR pc .
+The
+.BR function s
+and
+.BR procedure s
+they define must have been declared
+in
+.B .h
+files included by all the
+.B .p
+files which call those
+routines.
+Calling conventions are as in C,
+with
+.B var
+parameters passed by address.
+.PP
+See the Berkeley Pascal User's Manual for details.
+.PP
+The following options have the same meaning as in
+.IR cc (1)
+and
+.IR f77 (1).
+See
+.IR ld (1)
+for load-time options.
+.TP 6
+.B \-c
+Suppress loading and produce `.o' file(s) from source file(s).
+.TP 6
+.B \-g
+Have the compiler produce additional symbol table information for
+.IR sdb (1).
+.TP 6
+.BR \-w
+Suppress warning messages.
+.TP 6
+.B \-p
+Prepare object files for profiling, see
+.IR  prof (1).
+.TP 6
+.SM
+.B \-O
+Invoke an
+object-code improver.
+.TP 6
+.SM
+.B \-S
+Compile the named program, and leave the
+assembler-language output on the corresponding file suffixed `.s'.
+(No `.o' is created.).
+.TP 6
+.BR \-o " output"
+Name the final output file
+.I output
+instead of
+.I a.out.
+.PP
+The following options are peculiar to
+.IR pc .
+.TP 6
+.B \-C
+Compile code to perform runtime checks,
+verify
+.B assert
+statements,
+and initialize all variables to zero as in
+.IR pi .
+.TP 6
+.B  \-b
+Block buffer the file
+.I output.
+.TP 6
+.B  \-i
+Produce a listing for
+the specified procedures, functions and
+.B include
+files.
+.TP 6
+.B  \-l
+Make a program listing during translation.
+.TP 6
+.B  \-s
+Accept standard Pascal only;
+non-standard constructs cause warning diagnostics.
+.TP 6
+.B  \-z
+Allow execution profiling with
+.I pxp
+by generating statement counters, and arranging for the
+creation of the profile data file
+.I pmon.out
+when the resulting object is executed.
+.PP
+Other arguments
+are taken
+to be loader option arguments,
+perhaps libraries of
+.IR pc
+compatible routines.
+Certain flags can also be controlled in comments within the program
+as described in the
+.I "Berkeley Pascal User's Manual."
+.SH FILES
+.ta 2.5i
+file.p pascal source files
+.br
+/usr/lib/pc0   compiler
+.br
+/lib/f1        code generator
+.br
+/usr/lib/pc2   runtime integrator (inline expander)
+.br
+/lib/c2        peephole optimizer
+.br
+/usr/lib/pc3   separate compilation consistency checker
+.br
+/usr/lib/pc2.0strings  text of the error messages
+.br
+/usr/lib/how_pc        basic usage explanation
+.br
+/usr/lib/libpc.a       intrinsic functions and I/O library
+.br
+/usr/lib/libm.a        math library
+.br
+/lib/libc.a    standard library, see \fIintro\fP(3)
+.SH "SEE ALSO"
+Berkeley Pascal User's Manual
+.br
+pi(1),
+pxp(1),
+pxref(1),
+sdb(1)
+.SH DIAGNOSTICS
+For a basic explanation do
+.IP
+.B pc
+.PP
+See 
+.IR pi (1).
+for an explanation of the error message format.
+Internal errors cause messages containing the word SNARK.
+.SH AUTHORS
+Charles B. Haley, William N. Joy, and Ken Thompson
+.br
+Retargetted to the second pass of the portable
+.IR C
+compiler by Peter Kessler
+.br
+Runtime library and inline optimizer by M. Kirk McKusick
+.br
+Separate compilation consistency checking by Louise Madrid
+.SH BUGS
+The keyword
+.B packed
+is recognized but has no effect.
+.PP
+The binder is not as strict as described here,
+with regard to the rules about external declarations only
+in `.h' files and including `.h' files only at the outermost level.
+It will be made to perform these checks in its next incarnation,
+so users are warned not to be sloppy.
+.PP
+The
+.B \-z
+flag doesn't work for separately compiled files.
+.PP
+Because the
+.B \-s
+option is usurped by the compiler,
+it is not possible to pass the strip option to the loader.
+Thus programs which are to be stripped, must be run through 
+.IR strip (1)
+after they are compiled.
diff --git a/usr/man/man1/pi.1 b/usr/man/man1/pi.1
new file mode 100644 (file)
index 0000000..d2eb257
--- /dev/null
@@ -0,0 +1,155 @@
+.TH PI 1 4/8/79
+.UC
+.SH NAME
+pi \- Pascal interpreter code translator
+.SH SYNOPSIS
+.B pi
+[
+.B option
+] [
+.B \-i
+name ...
+] name.p
+.SH DESCRIPTION
+.I Pi
+translates the program in the file
+.I name.p
+leaving interpreter code in the file
+.I obj
+in the current directory.
+The interpreter code can be executed using
+.I px.
+.I Pix
+performs the functions of
+.I pi
+and
+.I px
+for `load and go' Pascal.
+.PP
+The following flags are interpreted by 
+.I pi;
+the associated options can also be controlled in comments within the program
+as described in the
+.I "Berkeley Pascal User's Manual."
+.TP 6
+.B  \-b
+Block buffer the file
+.I output.
+.TP 6
+.B  \-i
+Enable the listing for
+any specified procedures and functions and while processing any specified
+.B include
+files.
+.TP 6
+.B  \-l
+Make a program listing during translation.
+.TP 6
+.B  \-n
+Begin each listed
+.B include
+file on a new page with a banner line.
+.TP 6
+.B  \-p
+Suppress the post-mortem control flow backtrace
+if an error occurs;
+suppress statement limit counting.
+.TP 6
+.B  \-s
+Accept standard Pascal only;
+non-standard constructs cause warning diagnostics.
+.TP 6
+.B  \-t
+Suppress runtime tests of subrange variables and treat
+.B assert
+statements as comments.
+.TP 6
+.B  \-u
+Card image mode;
+only the first 72 characters of input lines are used.
+.TP 6
+.B  \-w
+Suppress warning diagnostics.
+.TP 6
+.B  \-z
+Allow execution profiling with
+.I pxp
+by generating statement counters, and arranging for the
+creation of the profile data file
+.I pmon.out
+when the resulting object is executed.
+.dt
+.SH FILES
+file.p                         input file
+.br
+file.i                         \fBinclude\fR file(s)
+.br
+/usr/lib/pi2.0strings          text of the error messages
+.br
+.nf
+/usr/lib/how_pi*               basic usage explanation
+.fi
+obj                            interpreter code output
+.SH "SEE ALSO"
+Berkeley Pascal User's Manual
+.br
+pix(1),
+px(1),
+pxp(1),
+pxref(1)
+.SH DIAGNOSTICS
+For a basic explanation do
+.IP
+.B     pi
+.PP
+In the diagnostic output of the translator,
+lines containing syntax errors are listed with a flag indicating the
+point of error.
+Diagnostic messages indicate the action which the recovery mechanism
+took in order to be able to continue parsing.
+Some diagnostics indicate only that the input is `malformed.'
+This occurs if the recovery can find no simple correction to make the input
+syntactically valid.
+.LP
+Semantic error diagnostics indicate a line in the source text near the
+point of error.
+Some errors evoke more than one diagnostic to help pinpoint the error;
+the follow-up messages begin with an ellipsis `...'.
+.LP
+.ne 8
+The first character of each error message indicates its class:
+.LP
+.ta 1ic 2.i
+       E       Fatal error; no code will be generated.
+.br
+       e       Non-fatal error.
+.br
+       w       Warning \- a potential problem.
+.br
+       s       Non-standard Pascal construct warning.
+.LP
+If a severe error occurs which inhibits further processing,
+the translator will give a diagnostic and then `QUIT'.
+.SH AUTHORS
+Charles B. Haley, William N. Joy, and Ken Thompson
+.br
+Ported to VAX-11 by Peter Kessler
+.SH BUGS
+The keyword
+.B packed
+is recognized but has no effect.
+.PP
+For clarity,
+semantic errors should be flagged at an appropriate place in the source text,
+and multiple instances of the `same' semantic error should be summarized
+at the end of a
+.B procedure
+or
+.B function
+rather than evoking many diagnostics.
+.PP
+When
+.B include
+files are present,
+diagnostics relating to the last procedure in one file may appear after the
+beginning of the listing of the next.
diff --git a/usr/man/man1/pix.1 b/usr/man/man1/pix.1
new file mode 100644 (file)
index 0000000..b7274e8
--- /dev/null
@@ -0,0 +1,56 @@
+.TH PIX 1 4/8/79
+.UC
+.SH NAME
+pix \- Pascal interpreter and executor
+.SH SYNOPSIS
+.B pix
+[
+.B \-blnpstuwz
+] [
+.B \-i
+name ...
+]
+name.p
+[
+argument ...
+]
+.SH DESCRIPTION
+.I Pix
+is a `load and go' version of Pascal which combines
+the functions of the interpreter code translator
+.I pi
+and the executor
+.IR px .
+It uses
+.I pi
+to translate the program in the file
+.I name.p
+and, if there were no fatal errors during translation,
+causes the resulting interpreter code
+to be executed by
+.I px
+with the specified arguments.
+A temporary file is used for the object code;
+the file
+.I obj
+is neither created nor destroyed.
+.SH FILES
+.ta 2i
+/usr/bin/pi    Pascal translator
+.br
+/usr/bin/px    Pascal executor
+.br
+/tmp/pix?????  temporary
+.br
+/usr/lib/how_pix       basic explanation
+.SH SEE\ ALSO
+Berkeley Pascal User's Manual
+.br
+pi(1), px(1)
+.SH DIAGNOSTICS
+For a basic explanation do
+.PP
+.DT
+.B     pix
+.SH AUTHORS
+Susan L. Graham and William N. Joy
diff --git a/usr/man/man1/plot.1g b/usr/man/man1/plot.1g
new file mode 100644 (file)
index 0000000..77d53c6
--- /dev/null
@@ -0,0 +1,69 @@
+.TH PLOT 1G 
+.SH NAME
+plot \- graphics filters
+.SH SYNOPSIS
+.B plot
+[
+.BR \-T terminal
+[ raster ] ]
+.SH DESCRIPTION
+These commands read plotting instructions (see
+.IR  plot (5))
+from the standard input,
+and in general
+produce plotting instructions suitable for
+a particular
+.I terminal
+on the standard output.
+.PP
+If no
+.I terminal
+type is specified, the environment parameter $TERM
+(see
+.IR environ (5))
+is used.
+Known
+.I terminals
+are:
+.TP
+4014
+Tektronix 4014 storage scope.
+.TP
+450
+DASI Hyterm 450 terminal (Diablo mechanism).
+.TP
+300
+DASI 300 or GSI terminal (Diablo mechanism).
+.TP
+300S
+DASI 300S terminal (Diablo mechanism).
+.TP
+ver
+Versatec D1200A printer-plotter.
+This version of
+.I plot
+places a scan-converted
+image in `/usr/tmp/raster' and sends the
+result directly to the plotter device rather than to
+the standard output.
+The optional argument causes a previously
+scan-converted file
+.I raster
+to be sent to the plotter.
+.SH FILES
+/usr/bin/tek
+.br
+/usr/bin/t450
+.br
+/usr/bin/t300
+.br
+/usr/bin/t300s
+.br
+/usr/bin/vplot
+.br
+/usr/tmp/raster 
+.SH "SEE ALSO"
+plot(3), plot(5)
+.SH BUGS
+There is no lockout protection
+for /usr/tmp/raster.
diff --git a/usr/man/man1/pr.1 b/usr/man/man1/pr.1
new file mode 100644 (file)
index 0000000..da9d06e
--- /dev/null
@@ -0,0 +1,81 @@
+.TH PR 1 
+.UC 4
+.SH NAME
+pr \- print file
+.SH SYNOPSIS
+.B pr
+[ option ] ...
+[ file ] ...
+.SH DESCRIPTION
+.I Pr
+produces a printed listing of one or more
+.I files.
+The output is separated into pages headed by a date,
+the name of the file or a specified header, and the page number.
+If there are no file arguments,
+.I pr
+prints its standard input.
+.PP
+Options apply to all following files but may be reset
+between files:
+.TP
+.BI \- n
+Produce
+.IR n -column
+output.
+.TP
+.BI + n
+Begin printing with page
+.I  n.
+.TP
+.B  \-h
+Take the next argument as a page header.
+.TP
+.BI \-w n
+For purposes of multi-column output,
+take the width of the page to be
+.I n
+characters instead of the default 72.
+.TP
+.BI \-f
+Use formfeeds instead of newlines to separate pages.
+A formfeed is assumed to use up two blank lines at the top of a page.
+(Thus this option does not affect the effective page length.)
+.TP
+.BI \-l n
+Take the length of the page to be
+.I n
+lines instead of the default 66.
+.TP
+.B  \-t
+Do not print the 5-line header or the
+5-line trailer normally supplied for each page.
+.TP
+.BI \-s c
+Separate columns by the single character
+.I c
+instead of by the appropriate amount of white space.
+A missing
+.I c
+is taken to be a tab.
+.TP
+.B  \-m
+Print all
+.I files
+simultaneously,
+each in one column,
+.PP
+Inter-terminal messages via
+.IR write (1)
+are
+forbidden during a
+.IR pr .
+.SH FILES
+/dev/tty?
+to suspend messages.
+.SH "SEE ALSO"
+cat(1)
+.SH DIAGNOSTICS
+There are no diagnostics when
+.I pr
+is printing on a terminal.
diff --git a/usr/man/man1/print.1 b/usr/man/man1/print.1
new file mode 100644 (file)
index 0000000..e1ae9d0
--- /dev/null
@@ -0,0 +1,17 @@
+.TH PRINT 1 2/24/79
+.UC
+.SH NAME
+print \- pr to the line printer
+.SH SYNOPSIS
+.B print
+file ...
+.SH DESCRIPTION
+.I Print
+.I pr's
+a copy of each named file on the line printer.
+It is a one line shell script:
+.PP
+.DT
+       pr $* | lpr
+.SH SEE\ ALSO
+lpr(1), pr(1)
diff --git a/usr/man/man1/printenv.1 b/usr/man/man1/printenv.1
new file mode 100644 (file)
index 0000000..afa75f4
--- /dev/null
@@ -0,0 +1,23 @@
+.TH PRINTENV 1 2/24/79
+.UC
+.SH NAME
+printenv \- print out the environment
+.SH SYNOPSIS
+.B printenv
+[ name ]
+.SH DESCRIPTION
+.I Printenv
+prints out the values of the variables in the environment.
+If a
+.I name
+is specified, only its
+value is printed.
+.PP
+If a
+.I name
+is specified and it is not defined in the environment,
+.I printenv
+returns exit status 1, else it returns status 0.
+.SH SEE ALSO
+sh(1), environ(5), csh(1)
+.SH BUGS
diff --git a/usr/man/man1/prmail.1 b/usr/man/man1/prmail.1
new file mode 100644 (file)
index 0000000..6f42788
--- /dev/null
@@ -0,0 +1,19 @@
+.TH PRMAIL 1 2/24/79
+.UC 4
+.SH NAME
+prmail \- print out mail in the post office
+.SH SYNOPSIS
+.B prmail
+[ user ... ]
+.SH DESCRIPTION
+.I Prmail
+prints the mail which waits for you,
+or the specified user,
+in the post office.
+The mail is not disturbed.
+.SH FILES
+.DT
+/usr/spool/mail/*      post office
+.SH SEE ALSO
+biff(1), mail(1), from(1), binmail(1)
+.SH BUGS
diff --git a/usr/man/man1/prof.1 b/usr/man/man1/prof.1
new file mode 100644 (file)
index 0000000..a2f58d8
--- /dev/null
@@ -0,0 +1,111 @@
+.TH PROF 1 
+.UC 4
+.SH NAME
+prof \- display profile data
+.SH SYNOPSIS
+.B prof
+[
+.B \-a
+] [
+.B \-l
+] [
+.B \-n
+] [
+.B \-z
+] [
+.B \-s
+] [
+.B \-v
+[
+.BI \- "low\fR [ \fB\-\fIhigh\fR ]"
+] ]
+[ a.out
+[ mon.out ... ] ]
+.SH DESCRIPTION
+.I Prof
+interprets the file
+produced by the
+.I monitor
+subroutine.
+Under default modes,
+the symbol table in the
+named object file
+.I (a.out
+default)
+is read and correlated with the
+profile file
+.I (mon.out
+default).
+For each external symbol, the percentage
+of time spent executing between that symbol
+and the next
+is printed (in decreasing order),
+together with the number of times that routine was called
+and the number of milliseconds per call.
+If more than one profile file is specified,
+the output represents the sum of the profiles.
+.PP
+In order for the number of calls to a routine to be tallied,
+the
+.B \-p
+option of
+.I cc,
+.I f77
+or
+.I pc
+must have been given when the file containing the
+routine was compiled.
+This option also arranges for the
+profile file to be produced automatically.
+.PP
+Options are:
+.TP
+.B \-a
+all symbols are reported rather than
+just external symbols.
+.TP
+.B \-l
+the output is sorted by symbol value.
+.TP
+.B \-n
+the output is sorted by number of calls
+.TP
+.B \-s
+a summary profile file is produced in
+.I mon.sum.
+This is really only useful
+when more than one profile file is specified.
+.TP
+.B \-v
+all printing is suppressed
+and a graphic version of the profile
+is produced
+on the standard output for display by the
+.IR  plot (1)
+filters.
+When plotting, the numbers
+.I low
+and 
+.I high,
+by default 0 and 100, may be given to cause a selected
+percentage of the profile to be plotted
+with accordingly higher resolution.
+.TP
+.B \-z
+routines which have zero usage (as indicated by call counts
+and accumulated time) are nevertheless printed in the output.
+.SH FILES
+.ta \w'mon.out  'u
+mon.out        for profile
+.br
+a.out          for namelist
+.br
+mon.sum        for summary profile
+.SH "SEE ALSO"
+monitor(3), profil(2), cc(1), plot(1)
+.SH BUGS
+Beware of quantization errors.
+.PP
+Is confused by
+.I f77
+which puts the entry points at the bottom of subroutines and functions.
diff --git a/usr/man/man1/pti.1 b/usr/man/man1/pti.1
new file mode 100644 (file)
index 0000000..4958347
--- /dev/null
@@ -0,0 +1,25 @@
+.TH PTI 1 2/24/79
+.UC
+.SH NAME
+pti \- phototypesetter interpreter
+.SH SYNOPSIS
+.B pti
+[ file ... ]
+.SH DESCRIPTION
+.I Pti
+shows the commands in a stream from the standard output of
+.IR troff (1)
+using
+.I troff's
+.B \-t
+option,
+interpreting them as they would act on the typesetter.
+Horizontal motions shows as counts in internal units and
+are marked with `<' and `>' indicating left and right motion.
+Vertical space is called
+.I lead
+and is also indicated.
+.SH SEE ALSO
+troff(1)
+.SH BUGS
+Too cryptic for normal users, who should use ``troff \-a ...''.
diff --git a/usr/man/man1/ptx.1 b/usr/man/man1/ptx.1
new file mode 100644 (file)
index 0000000..072d535
--- /dev/null
@@ -0,0 +1,106 @@
+.TH PTX 1
+.SH NAME
+ptx \- permuted index
+.SH SYNOPSIS
+.B ptx
+[ option ] ...
+[ input [ output ] ]
+.SH DESCRIPTION
+.I Ptx
+generates a permuted index to file
+.I input
+on file
+.I output
+(standard input and output default).
+It has three phases: the first does the permutation, generating
+one line for each keyword in an input line.
+The keyword is rotated to the front.
+The permuted file is then
+sorted.
+Finally, the sorted lines are rotated so the keyword
+comes at the middle of the page.
+.I Ptx
+produces output in the form:
+.br
+.IP
+\&.xx "tail" "before keyword" "keyword and after" "head"
+.LP
+where .xx may be an
+.I nroff
+or
+.IR troff (1)
+macro
+for user-defined formatting.
+The
+.I before keyword
+and
+.I keyword and after
+fields incorporate as much of the line as will fit
+around the keyword when it is printed at the middle of the page.
+.I Tail
+and
+.I head,
+at least one of which is an empty string "",
+are wrapped-around pieces small enough to fit
+in the unused space at the opposite end of the line.
+When original text must be discarded, `/' marks the spot.
+.PP
+The following options can be applied:
+.TP
+.BR \-f
+Fold upper and lower case letters for sorting.
+.TP 
+.BR \-t
+Prepare the output for the phototypesetter;
+the default line length is 100 characters.
+.TP 
+.BI \-w " n"
+Use the next argument,
+.I n,
+as the width of the output line.
+The default line length is 72 characters.
+.TP
+.BI \-g " n"
+Use the next argument,
+.I n,
+as the number of characters to allow for each gap
+among the four parts of the line as finally printed.
+The default gap is 3 characters.
+.TP 
+.BR \-o " only"
+Use as keywords only the words given in the \fIonly\fR file.
+.TP 
+.BR \-i " ignore"
+Do not use as keywords any words given in the
+.I
+ignore
+file.
+If the \fB\-i\fR and \fB\-o\fR options are missing, use /usr/lib/eign
+as the 
+.I
+ignore
+file.
+.TP 
+.BR \-b " break"
+Use the characters in the 
+.I
+break
+file to separate words.
+In any case, tab, newline, and space characters are always used as break characters.
+.TP
+.BR \-r
+Take any leading nonblank characters of each input line to
+be a reference identifier (as to a page or chapter)
+separate from the text of the line.
+Attach that identifier as a 5th field on each output line.
+.PP
+The index for this manual was generated using
+.I ptx.
+.SH FILES
+/bin/sort
+.br
+/usr/lib/eign
+.SH BUGS
+Line length counts do not account for overstriking or
+proportional spacing.
+.br
diff --git a/usr/man/man1/pwd.1 b/usr/man/man1/pwd.1
new file mode 100644 (file)
index 0000000..5d4474b
--- /dev/null
@@ -0,0 +1,19 @@
+.TH PWD 1 
+.UC 4
+.SH NAME
+pwd \- working directory name
+.SH SYNOPSIS
+.B pwd
+.SH DESCRIPTION
+.I Pwd
+prints the pathname of the working (current) directory.
+.SH "SEE ALSO"
+cd(1), csh(1)
+.SH BUGS
+In
+.IR csh (1)
+the command
+.I dirs
+is always faster (although it can give a different answer in the rare case
+that the current directory or a containing directory was moved after
+the shell descended into it).
diff --git a/usr/man/man1/px.1 b/usr/man/man1/px.1
new file mode 100644 (file)
index 0000000..542d2e6
--- /dev/null
@@ -0,0 +1,87 @@
+.TH PX 1 4/8/79
+.UC
+.SH NAME
+px \- Pascal interpreter
+.SH SYNOPSIS
+.B px
+[ obj [ argument ... ] ]
+.SH DESCRIPTION
+.I Px
+interprets the abstract machine code generated by
+.I pi.
+The first argument is the file to be interpreted, and defaults
+to
+.IR obj \|;
+remaining arguments are available to the Pascal program using the
+built-ins
+.I argv
+and
+.I argc.
+.I Px
+is also invoked by
+.I pix
+when running `load and go'.
+.PP
+If the program terminates abnormally an error message and a 
+control flow backtrace are printed.
+The number of statements executed and total execution time
+are printed after normal termination.
+The
+.B p
+option of
+.I pi
+suppresses all of this except the message indicating the cause
+of abnormal termination.
+.SH FILES
+.DT
+obj            default object file
+.br
+pmon.out       profile data file
+.SH "SEE ALSO"
+Berkeley Pascal User's Manual
+.br
+pi(1), pix(1)
+.SH DIAGNOSTICS
+Most run-time error messages are self-explanatory.
+Some of the more unusual ones are:
+.HP 6
+Reference to an inactive file
+.br
+A file other than
+.I input
+or
+.I output
+was used before a call to
+.I reset
+or
+.I rewrite.
+.HP 6
+Statement count limit exceeded
+.br
+The limit of 500,000 executed statements
+(which prevents excessive looping or recursion)
+has been exceeded.
+.HP 6
+Bad data found on integer read
+.br
+.ns
+.HP 6
+Bad data found on real read
+.br
+Usually, non-numeric input was found for a number.
+For reals, Pascal requires digits before and after the decimal
+point so that numbers like `.1' or `21.' evoke the second diagnostic.
+.HP 6
+panic:
+.I  "Some message"
+.br
+Indicates a internal inconsistency detected in
+.I px
+probably due to a Pascal system bug.
+.SH AUTHORS
+Charles B. Haley, William Joy, and Ken Thompson
+.br
+VAX-11 version by Kirk McKusick
+.SH BUGS
+Post-mortem traceback is not limited;
+infinite recursion leads to almost infinite traceback.
diff --git a/usr/man/man1/pxp.1 b/usr/man/man1/pxp.1
new file mode 100644 (file)
index 0000000..f7aed22
--- /dev/null
@@ -0,0 +1,168 @@
+.TH PXP 1 4/8/79
+.UC
+.SH NAME
+pxp \- Pascal execution profiler
+.SH SYNOPSIS
+.B pxp
+[
+.B  \-acdefjnstuw_
+] [
+.B \-23456789
+] [
+.B \-z
+[ name ... ] ] name.p
+.SH DESCRIPTION
+.I Pxp
+can be used to obtain execution profiles of Pascal programs or
+as a pretty-printer.
+To produce an execution profile all that is necessary is to translate
+the program specifying the
+.B z
+option to
+.I pi
+or
+.I pix,
+to execute the program,
+and to then issue the command
+.DT
+.PP
+       \fBpxp \-z\fR name.p
+.PP
+A reformatted listing is output if none of the
+.BR c ,
+.BR t ,
+or
+.B  z
+options are specified;
+thus
+.PP
+       \fBpxp\fR old.p > new.p
+.PP
+places a pretty-printed version of the program in `old.p' in the file `new.p'.
+.PP
+The use of the following options of
+.I pxp
+is discussed in sections 2.6, 5.4, 5.5 and 5.10 of the
+.IR "Berkeley Pascal User's Manual" "."
+.TP 6
+.B  \-a
+Print the bodies of all procedures and functions in the profile;
+even those which were never executed.
+.TP 6
+.B  \-c
+Extract profile data from the file
+.IR core .
+.TP 6
+.B  \-d
+Include declaration parts in a profile.
+.TP 6
+.B  \-e
+Eliminate
+.B include
+directives when reformatting a file;
+the
+.B include
+is replaced by the reformatted contents of the specified
+file.
+.TP 6
+.B  \-f
+Fully parenthesize expressions.
+.TP 6
+.B  \-j
+Left justify all procedures and functions.
+.TP 6
+.B  \-n
+Eject a new page 
+as each file is included;
+in profiles, print a blank line at the top of the page.
+.TP 6
+.B  \-s
+Strip comments from the input text.
+.TP 6
+.B  \-t
+Print a table summarizing
+.B  procedure
+and
+.B  function
+call counts.
+.TP 6
+.B  \-u
+Card image mode; only the first 72 characters of input lines
+are used.
+.TP 6
+.B  \-w
+Suppress warning diagnostics.
+.TP 6
+.B  \-z
+Generate an execution profile.
+If no
+.IR name \|s,
+are given the profile is of the entire program.
+If a list of names is given, then only any specified
+.BR procedure s
+or
+.BR function s
+and the contents of any specified
+.B include
+files will appear in the profile.
+.TP 6
+.B  \-\_
+Underline keywords.
+.TP 6
+.BI \- d
+With
+.I  d
+a digit, 2 \(<=
+.IR d ""
+\(<= 9,
+causes
+.I pxp
+to use
+.IR d ""
+spaces as the basic indenting unit.
+The default is 4.
+.SH FILES
+.DT
+name.p         input file
+.br
+name.i         include file(s)
+.br
+pmon.out               profile data
+.br
+core                   profile data source with
+.B  \-c
+.br
+/usr/lib/how_pxp       information on basic usage
+.br
+.ne 8
+.SH "SEE ALSO"
+Berkeley Pascal User's Manual
+.br
+pi(1),
+px(1)
+.ne 5
+.SH DIAGNOSTICS
+For a basic explanation do
+.IP
+.DT
+.B     pxp
+.PP
+Error diagnostics include
+`No profile data in file'
+with the
+.B c
+option if the
+.B z
+option was not enabled to
+.I pi;
+`Not a Pascal system core file'
+if the core is not from a
+.I px
+execution;
+`Program and count data do not correspond'
+if the program was changed after compilation, before profiling;
+or if the wrong program is specified.
+.SH AUTHOR
+William Joy
+.SH BUGS
+Does not place multiple statements per line.
diff --git a/usr/man/man1/pxref.1 b/usr/man/man1/pxref.1
new file mode 100644 (file)
index 0000000..80ca4d3
--- /dev/null
@@ -0,0 +1,30 @@
+.TH PXREF 1 4/8/79
+.UC
+.SH NAME
+pxref \- Pascal cross-reference program
+.SH SYNOPSIS
+.B pxref
+[
+.BR \- ""
+]
+name
+.SH DESCRIPTION
+.I Pxref
+makes a line numbered listing and a cross-reference of identifier usage
+for the program in
+.I name.
+The optional `\fB\-\fR' argument suppresses the listing.
+The keywords
+.B goto
+and
+.B label
+are treated as identifiers for the purpose of the cross-reference.
+.B Include
+directives are not processed, but cause the placement of an entry
+indexed by `#include' in the cross-reference.
+.SH "SEE ALSO"
+Berkeley Pascal User's Manual
+.SH AUTHOR
+Niklaus Wirth
+.SH BUGS
+Identifiers are trimmed to 10 characters.
diff --git a/usr/man/man1/ranlib.1 b/usr/man/man1/ranlib.1
new file mode 100644 (file)
index 0000000..a2cdf03
--- /dev/null
@@ -0,0 +1,37 @@
+.TH RANLIB 1
+.SH NAME
+ranlib \- convert archives to random libraries
+.SH SYNOPSIS
+.B ranlib
+archive ...
+.SH DESCRIPTION
+.I Ranlib
+converts each
+.I archive
+to a form which can be loaded
+more rapidly by the loader,
+by adding a table of contents named
+.B _\^_.SYMDEF
+to the beginning of the archive.
+It uses
+.IR ar (1)
+to reconstruct the archive,
+so that sufficient temporary file space must
+be available in the file system containing the
+current directory.
+.SH SEE ALSO
+ld(1), ar(1), lorder(1)
+.SH BUGS
+Because generation of a library by
+.I ar
+and randomization by
+.I ranlib
+are separate,
+phase errors are possible.
+The loader
+.I ld
+warns when the modification date of
+a library is more recent than
+the creation of its dictionary;
+but this means you get the warning even if you
+only copy the library.
diff --git a/usr/man/man1/ratfor.1 b/usr/man/man1/ratfor.1
new file mode 100644 (file)
index 0000000..0c0041d
--- /dev/null
@@ -0,0 +1,64 @@
+.TH RATFOR 1
+.SH NAME
+ratfor \- rational Fortran dialect
+.SH SYNOPSIS
+.B ratfor
+[ option ... ]
+[ filename ... ]
+.SH DESCRIPTION
+.I Ratfor
+converts a rational dialect of Fortran into ordinary irrational Fortran.
+.I Ratfor
+provides control flow constructs essentially identical to those in C:
+.TP
+statement grouping:
+.nf
+{ statement; statement; statement }
+.TP
+decision-making:
+if (condition) statement [ else statement ]
+.br
+switch (integer value) {
+       case integer:   statement
+       ...
+       [ default: ]    statement
+}
+.TP
+loops:
+while (condition) statement
+for (expression; condition; expression) statement
+do limits statement
+repeat statement [ until (condition) ]
+break
+next
+.LP
+and some syntactic sugar to make programs easier to read and write:
+.TP
+free form input:
+multiple statements/line; automatic continuation
+.TP
+comments:
+# this is a comment
+.TP
+translation of relationals:
+>, >=, etc., become .GT., .GE., etc.
+.TP
+return (expression)
+returns expression to caller from function
+.TP
+define:
+define name replacement
+.TP
+include:
+include filename
+.PP
+.fi
+.I Ratfor
+is best used with
+.IR f77 (1).
+.SH "SEE ALSO"
+efl(1), f77(1)
+.br
+B. W. Kernighan and P. J. Plauger,
+.IR "Software Tools" ,
+Addison-Wesley, 1976.
diff --git a/usr/man/man1/refer.1 b/usr/man/man1/refer.1
new file mode 100644 (file)
index 0000000..7fbb1f8
--- /dev/null
@@ -0,0 +1,161 @@
+.TH REFER 1 4/1/81
+.SH NAME
+refer, lookbib \- find and insert literature references in documents
+.SH SYNOPSIS
+.B refer
+[ option ] ...
+.PP
+.B lookbib
+[ file ] ...
+.SH DESCRIPTION
+.I Lookbib
+accepts keywords from the standard input 
+and searches a bibliographic data base for references
+that contain those keywords anywhere in title, author,
+journal name, etc.
+Matching references are printed on the standard output.
+Blank lines are taken as delimiters between queries.
+.PP
+.I Refer
+is a preprocessor for
+.I nroff
+or
+.IR troff (1)
+that finds and formats references.
+The input files (standard input default) are copied to the standard output,
+except for lines between .[ and .]
+command lines, which are assumed to contain keywords as for
+.I lookbib,
+and are replaced by information from the bibliographic data base.
+The user may avoid the search, override fields from it, or
+add new fields.
+The reference data, from whatever source, are assigned to a set of
+.I troff
+strings.
+Macro packages such as
+.IR ms (7)
+print the finished reference text from these strings.
+A flag is placed in the text at the point of reference;
+by default the references are indicated by numbers.
+.br
+.sp
+The following options are available:
+.TP 6
+.BI \-a r
+Reverse the first
+.I r
+author names (Jones, J. A. instead of J. A. Jones).
+If
+.I r
+is omitted all author names are reversed.
+.ns
+.TP
+.B \-b
+Bare mode: do not put any flags in text (neither numbers nor labels).
+.ns
+.TP
+.BI \-c string
+Capitalize (with C\s-2APS\s0 S\s-2MALL\s+2 C\s-2APS\s0)
+the fields whose key-letters are in
+.IR string .
+.ns
+.TP
+.B \-e
+Instead of leaving the references where encountered,
+accumulate them
+until a sequence of the form
+.nf
+               .[
+               $LIST$
+               .]
+.fi
+is encountered, and then write out all references
+collected so far.  Collapse references to the same source.
+.ns
+.TP
+.BI \-k x
+Instead of numbering references, use labels as specified in
+a
+reference data line
+beginning
+.I %x;
+by default 
+.I x
+is
+.B L.
+.ns
+.TP
+.BI \-l m , n
+Instead of numbering references, use labels made from
+the senior author's last name and the year of publication.
+Only the first
+.I m
+letters of the last name
+and the last
+.I n
+digits of the date are used.
+If either
+.I m
+or
+.BI , n
+is omitted the entire name or date respectively is used.
+.ns
+.TP
+.B \-p
+Take the next argument as a file of
+references to be searched.
+The default file is searched last.
+.ns
+.TP
+.B \-n
+Do not search the default file.
+.ns
+.TP
+.BI \-s keys
+Sort references by fields whose key-letters are in
+the
+.I keys
+string;
+permute
+reference numbers in text accordingly.
+Implies
+.BR \-e .
+The key-letters in
+.I keys
+may be followed by a number to indicate how many such fields
+are used, with
+.B +
+taken as a very large number.
+The default is
+.B AD
+which sorts on the senior author and then date; to sort, for example,
+on all authors and then title use
+.BR -sA+T .
+.PP
+.\"To use your own references, put them in the format
+.\"described in
+.\".IR pubindex (1)
+.\"They can be searched
+.\"more rapidly by running
+.\".IR pubindex (1)
+.\"on them before using
+.\".I refer;
+.\"failure to index results in a linear search.
+.PP
+When
+.I refer
+is used with
+.I eqn,
+.I neqn
+or
+.I tbl,
+.I refer
+should be first, to minimize the volume
+of data passed through
+pipes.
+.SH FILES
+.ta 1.5i
+/usr/dict/papers       directory of default publication lists and indexes
+.br
+/usr/lib/refer directory of programs
+.SH SEE ALSO
diff --git a/usr/man/man1/reset.1 b/usr/man/man1/reset.1
new file mode 100644 (file)
index 0000000..bebdc91
--- /dev/null
@@ -0,0 +1,30 @@
+.TH RESET 1
+.UC 4
+.SH NAME
+reset \- reset the teletype bits to a sensible state
+.SH SYNOPSIS
+.B reset
+.SH DESCRIPTION
+.I Reset
+sets the terminal to cooked mode, turns off cbreak and raw modes,
+turns on nl, and restores special characters that are undefined
+to their default values.
+.PP
+This is most useful after a program dies leaving a terminal in a funny
+state; you have to type ``<LF>reset<LF>'' to get it to work then to the
+shell, as <CR> often doesn't work; often none of this will echo.
+.PP
+It isn't a bad idea to follow
+.I reset
+with
+.IR tset (1)
+.SH SEE ALSO
+stty(1), tset(1)
+.SH BUGS
+Doesn't set tabs properly; it can't intuit personal choices for interrupt
+and line kill characters, so it leaves these the old UNIX standards
+^? (delete) for interrupt and @ for line kill.
+.PP
+It could well be argued that the shell should be responsible for insuring
+that the terminal remains in a sane state; this would eliminate the
+need for this program.
diff --git a/usr/man/man1/rev.1 b/usr/man/man1/rev.1
new file mode 100644 (file)
index 0000000..fdde69c
--- /dev/null
@@ -0,0 +1,11 @@
+.TH REV 1 
+.SH NAME
+rev \- reverse lines of a file
+.SH SYNOPSIS
+.B rev
+[ file ] ...
+.SH DESCRIPTION
+.I Rev
+copies the named files to the standard output,
+reversing the order of characters in every line.
+If no file is specified, the standard input is copied.
diff --git a/usr/man/man1/rm.1 b/usr/man/man1/rm.1
new file mode 100644 (file)
index 0000000..994afb0
--- /dev/null
@@ -0,0 +1,77 @@
+.TH RM 1 4/1/81
+.UC 4
+.SH NAME
+rm, rmdir  \- remove (unlink) files
+.SH SYNOPSIS
+.B rm
+[
+.B \-f
+] [
+.B \-r
+] [
+.B \-i
+] [
+.B \-
+] file ...
+.PP
+.B rmdir
+dir ...
+.PP
+.SH DESCRIPTION
+.I Rm
+removes the entries for one or more
+files
+from a directory.
+If an entry was the last link to the file, the file
+is destroyed.
+Removal of a file requires write permission in its directory,
+but neither read nor write permission on the file itself.
+.PP
+If a file has no write permission
+and the standard input is a terminal,
+its permissions are printed and a line is read from
+the standard input.
+If that line begins with `y' the file is deleted,
+otherwise the file remains.
+No questions are asked
+and no errors are reported
+when the
+.B \-f
+(force) option is given.
+.PP
+If a designated file is a directory,
+an error comment is printed unless the optional
+argument
+.B \-r
+has been used.
+In that case,
+.I rm
+recursively deletes the
+entire contents of the specified directory,
+and the directory itself.
+.PP
+If the
+.B \-i
+(interactive) option is in effect,
+.I rm
+asks whether to delete each file,
+and, under
+.BR \-r ,
+whether to examine each directory.
+.PP
+The null option
+.B \-
+indicates that all the arguments following it are to be treated as
+file names.  This allows the specification of file names starting with
+a minus.
+.PP
+.I Rmdir
+removes entries for the named directories,
+which must be empty.
+.SH "SEE ALSO"
+unlink(2)
+.SH DIAGNOSTICS
+Generally self-explanatory.
+It is forbidden to remove the file `..' merely to avoid the
+antisocial consequences of inadvertently doing something like
+`rm \-r .*'.
diff --git a/usr/man/man1/rmdir.1 b/usr/man/man1/rmdir.1
new file mode 100644 (file)
index 0000000..a51fde8
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/rm.1
diff --git a/usr/man/man1/script.1 b/usr/man/man1/script.1
new file mode 100644 (file)
index 0000000..b72156c
--- /dev/null
@@ -0,0 +1,67 @@
+.TH SCRIPT 1
+.UC 4
+.SH NAME
+script \- make typescript of terminal session
+.SH SYNOPSIS
+.B script
+[
+.B \-a
+] [
+.B \-q
+] [
+.B \-S
+shell
+] [ file ]
+.SH DESCRIPTION
+.I Script
+makes a typescript of everything printed on your terminal.
+The typescript is saved in a file, and can be sent to the
+line printer later with
+.I lpr.
+If a file name is given, the typescript
+is saved there.  If not, the typescript is saved in the file
+.I typescript.
+.PP
+To exit script, type control D.  This sends an end of file to
+all processes you have started up, and causes script to exit.
+For this reason, control D behaves as though you had typed an
+infinite number of control D's.
+.PP
+This program is useful when using a crt and a hard-copy
+record of the dialog is desired, as for a student handing
+in a program that was developed on a crt when hard-copy
+terminals are in short supply.
+.PP
+.B \-S
+lets you specify the shell to use.
+The default depends on the system:
+If the variable SHELL is set in the environment, it is used if possible.
+.PP
+The
+.B \-q
+flag asks for ``quiet mode'', where the ``script started''
+and ``script done'' messages are turned off.
+The
+.B \-a
+flag causes script to append to the typescript file
+instead of creating a new file.
+.SH AUTHOR
+Mark Horton
+.SH BUGS
+Since UNIX has no way to write an end-of-file down a pipe without closing
+the pipe, there is no way to simulate a single control D without
+ending script.
+.PP
+The new shell has its standard input coming
+from a pipe rather than a tty, so stty will not work, and neither
+will ttyname.
+In particular, this means that screen editors such as
+.IR vi (1)
+and the job control facilities of
+.IR csh (1)
+are inoperative.
+.PP
+When the user interrupts a printing process,
+.I script
+attempts to flush the output backed up in the pipe for better response.
+Usually the next prompt also gets flushed.
diff --git a/usr/man/man1/sdb.1 b/usr/man/man1/sdb.1
new file mode 100644 (file)
index 0000000..3fb2c46
--- /dev/null
@@ -0,0 +1,434 @@
+.TH SDB 1 9/9/80
+.UC 4
+.SH NAME
+sdb \- symbolic debugger
+.SH SYNOPSIS
+.B sdb
+[ objfil [ corfil [ directory ] ] ]
+.SH DESCRIPTION
+.I Sdb
+is a symbolic debugger which can be used with C, PASCAL, and F77 programs.
+It may be used to examine their files and to provide
+a controlled environment for their execution.
+.PP
+.I Objfil
+is an executable program file
+which has been compiled with the \-g (debug) option.
+The default for
+.I objfil
+is
+.B  a.out.
+.I Corfil
+is assumed to be a core image file produced after
+executing
+.IR objfil ;
+the default for
+.I corfil
+is
+.B  core.
+The core file need not be present.
+.PP
+It is useful to know that at any time there is a
+.I "current line"
+and
+.I "current file."
+If
+.I corfil
+exists then they are initially set to the line and file
+containing the source statement at which the process terminated or stopped.
+Otherwise, they are set to the first line in main.
+The current line and file may be changed with the source file
+examination commands.
+.PP
+Names of variables are written just as they are in C, PASCAL, or F77.
+Variables local to a procedure may be accessed using the form
+`procedure:variable'.
+If no procedure name is given, the procedure containing the
+current line is used by default.
+It is also possible to refer to structure members as `variable.member',
+pointers to structure members as `variable\(mi>member' and array elements
+as `variable[number]'.
+Combinations of these forms may also be used.
+.PP
+It is also possible to specify a variable by its address.
+All forms of integer constants which are valid in C may be used, so that
+addresses may be input in decimal, octal or hexadecimal.
+.PP
+Line numbers in the source program are referred to as `filename:number'
+or `procedure:number'.
+In either case the number is relative to the beginning of the file.
+If no procedure or file name is given,
+the current file is used by default.
+If no number is given,
+the first line of the named procedure or file is used.
+.sp 1
+.PP
+The commands for examining data in the program are:
+.TP 5
+.B t
+Print a stack trace of the terminated or stopped program.
+.TP 5
+.B T
+Print the top line of the stack trace.
+.TP 5
+variable/\fIlm\fP
+Print the value of variable according to
+length
+.I l
+and format 
+.I m.
+If 
+.I l
+and
+.I m
+are omitted,
+sdb chooses a length and format suitable for the variable's type
+as declared in the program.
+The length specifiers are:
+.RS
+.TP
+.BI b
+one byte
+.br
+.ns
+.TP
+.BI h
+two bytes (half word)
+.br
+.ns
+.TP
+.BI l
+four bytes (long word)
+.br
+.ns
+.TP
+number
+string length for formats
+.B s
+and
+.B a
+.RE
+.TP 5
+\ 
+Legal values for
+.I m
+are:
+.RS
+.TP
+.BI c
+character
+.br
+.ns
+.TP
+.BI d
+decimal
+.br
+.ns
+.TP
+.BI u
+decimal, unsigned
+.br
+.ns
+.TP
+.BI o
+octal
+.br
+.ns
+.TP
+.BI x
+hexadecimal
+.br
+.ns
+.TP
+.BI f
+32 bit single precision floating point
+.br
+.ns
+.TP
+.BI g
+64 bit double precision floating point
+.br
+.ns
+.TP
+.BI s
+Assume variable is a string pointer and print characters until a null is 
+reached.
+.br
+.ns
+.TP
+.BI a
+Print characters starting at the variable's address until a null
+is reached.
+.br
+.ns
+.TP
+.BI p
+pointer to procedure
+.RE
+.TP 5
+\ 
+The length specifiers are only effective with the formats
+\fBd\fP, \fBu\fP, \fBo\fP and \fBx\fP.
+If
+one of these formats
+is specified and
+.I l
+is omitted,
+the length
+defaults to the word length of the host machine;
+4 for the DEC VAX/11-780.
+The last variable may be redisplayed with the command `./'.
+.sp
+The sh(1) metacharacters 
+.B *
+and
+.B ?
+may be used within procedure and variable names,
+providing a limited form of pattern matching.
+If no procedure name is given, both variables local to the current
+procedure and global (common for F77) variables are matched,
+while if a procedure name is specified then
+only variables local to that procedure and matched.
+To match only global variables (or blank common for F77),
+the form `:pattern' is used.
+The name of a common block may be specified instead of a procedure name
+for F77 programs.
+.RE
+.TP 5
+variable\fB=\fP\fIlm\fP
+.br
+.ns
+.TP 5
+linenumber\fB=\fP\fIlm\fP
+.br
+.ns
+.TP 5
+number\fB=\fP\fIlm\fP
+Print the address of the variable or line number or the value of the number
+in the specified format.
+If no format is given, then `lx' is used.
+The last variant of this command provides a convenient way to convert
+between decimal, octal and hexadecimal.
+.TP 5
+variable\fB!\fPvalue
+Set the variable to the given value.
+The value may be a number, character constant or a variable.
+If the variable is of type float or double,
+the value may also be a floating constant.
+.sp 1
+.PP
+The commands for examining source files are
+.TP 5
+\fBe\fP procedure
+.br
+.ns
+.TP 5
+\fBe\fP filename.c
+Set the current file to
+the file containing the named procedure
+or the named filename.
+Set the current line to the first line in the named
+procedure or file.
+All source files are assumed to be in
+.I directory.
+The default for 
+.I directory
+is the working directory.
+If no procedure or file name is given, the current procedure and file names
+are reported.
+.TP 5
+\fB/\fPregular expression\fB/\fP
+Search forward from the current line for a line containing
+a string matching the regular expression as in ed(1).
+The trailing `/' may be elided.
+.TP 5
+\fB?\fPregular expression\fB?\fP
+Search backward from the current line for a line containing
+a string matching the regular expression as in ed(1).
+The trailing `?' may be elided.
+.TP 5
+.B p
+Print the current line.
+.TP 5
+.B z
+Print the current line followed by the next 9 lines.
+Set the current line to the last line printed.
+.TP 5
+.B control-D
+Scroll.
+Print the next 10 lines.
+Set the current line to the last line printed.
+.TP 5
+.B w
+Window.
+Print the 10 lines around the current line.
+.TP 5
+number
+Set the current line to the given line number.
+Print the new current line.
+.TP 5
+\fIcount\fB +\fR
+Advance the current line by \fIcount\fP lines.
+Print the new current line.
+.TP 5
+\fIcount\fB \(mi\fR
+Retreat the current line by \fIcount\fP lines.
+Print the new current line.
+.sp 1
+.PP
+The commands for controlling the execution of the source program are:
+.TP 5
+\fIcount\fB r \fIargs\fR
+.br
+.ns
+.TP 5
+\fIcount\fB R
+Run the program with the given arguments.
+The \fBr\fP command with no arguments reuses the previous arguments
+to the program while the \fBR\fP command
+runs the program with no arguments.
+An argument beginning with `<' or `>' causes redirection for the
+standard input or output respectively.
+If \fIcount\fP is given,
+it specifies the number of breakpoints to be ignored.
+.TP 5
+\fIlinenumber\fB c\fI count\fR
+.br
+.ns
+.TP 5
+\fIlinenumber\fB C\fI count\fR
+Continue after a breakpoint or interrupt.
+If \fIcount\fP is given,
+it specifies the number of breakpoints to be ignored.
+\fBC\fP continues with the signal which caused the program to stop and
+\fBc\fP ignores it.
+.sp 0.5
+If a linenumber is specified
+then a temporary breakpoint is placed at the line
+and execution is continued.
+The breakpoint is deleted when the command finishes.
+.TP 5
+\fIcount\fB s\fR
+Single step.
+Run the program through \fIcount\fP lines.
+If no count is given then the program is run for one line.
+.TP 5
+\fIcount\fB S\fR
+Single step, but step through subroutine calls.
+.TP 5
+.B k
+Kill the debugged program.
+.TP 5
+procedure\fB(\fParg1,arg2,...\fB)\fP
+.br
+.ns
+.TP 5
+procedure\fB(\fParg1,arg2,...\fB)/\fP\fIm\fP
+Execute the named procedure with the given arguments.
+Arguments can be integer, character or string constants
+or names of variables accessible from the current procedure.
+The second form causes the value returned by the procedure to be
+printed according to format \fIm\fP.
+If no format is given, it defaults to `d'.
+.TP 5
+\fIlinenumber\fB b\fR \fIcommands\fR
+Set a breakpoint at the given line.
+If a procedure name without a line number is given (e.g. `proc:'),
+a breakpoint is placed at the first line in the procedure
+even if it was not compiled with the debug flag.
+If no \fIlinenumber\fP is given,
+a breakpoint is placed at the current line.
+.sp 0.5
+If no
+.I commands
+are given then execution stops just before the breakpoint
+and control is returned to sdb.
+Otherwise
+the 
+.I commands 
+are executed when the breakpoint is
+encountered and execution continues.
+Multiple commands are specified by separating them with semicolons.
+.TP 5
+\fIlinenumber\fB d\fR
+Delete a breakpoint at the given line.
+If no \fIlinenumber\fP is given then the breakpoints are deleted interactively:
+Each breakpoint location is printed and a line is read from the standard input.
+If the line begins with a `y' or `d' then the breakpoint is deleted.
+.TP 5
+.B B
+Print a list of the currently active breakpoints.
+.TP 5
+.B D
+Delete all breakpoints.
+.TP 5
+l
+Print the last executed line.
+.TP 5
+\fIlinenumber\fB a\fR
+Announce.
+If \fIlinenumber\fR is of the form `proc:number', the command
+effectively does a `linenumber b l'.
+If \fIlinenumber\fR is of the form `proc:', the command
+effectively does a `proc: b T'.
+.sp 1
+.PP
+Miscellaneous commands.
+.TP 5
+\fB! \fIcommand\fR
+The command is interpreted by sh(1).
+.TP 5
+.B newline
+If the previous command printed a source line then
+advance the current line by 1 line and
+print the new current line.
+If the previous command displayed a core location then
+display the next core location.
+.TP 5
+\fB"\fI string\fR
+Print the given string.
+.TP 5
+.B q
+Exit the debugger.
+.sp 1
+.PP
+The following commands also exist and are intended only for
+debugging the debugger.
+.TP 5
+.B V
+Print the version number.
+.TP 5
+.B X
+Print a list of procedures and files being debugged.
+.TP 5
+.B Y
+Toggle debug output.
+.SH FILES
+a.out
+.br
+core
+.SH SEE\ ALSO
+adb(1)
+.SH DIAGNOSTICS
+Error reports are either identical to those of adb(1) or are
+self-explanatory.
+.SH BUGS
+If a procedure is called when the program is
+.I not
+stopped at a breakpoint
+(such as when a core image is being debugged),
+all variables are initialized before the procedure is started.
+This makes it impossible to use a procedure which formats
+data from a core image.
+.PP
+Arrays must be of one dimension and of zero origin to be correctly
+addressed by sdb.
+.PP
+The default type for printing F77 parameters is incorrect.
+Their address is printed instead of their value.
+.PP
+Tracebacks containing F77 subprograms with multiple entry points
+may print too many arguments in the wrong order, but their values
+are correct.
+.PP
+Sdb understands Pascal, but not its types.
diff --git a/usr/man/man1/sed.1 b/usr/man/man1/sed.1
new file mode 100644 (file)
index 0000000..f47b38b
--- /dev/null
@@ -0,0 +1,296 @@
+.TH SED 1 
+.SH NAME
+sed \- stream editor
+.SH SYNOPSIS
+.B sed
+[
+.B \-n
+]
+[
+.B \-e
+script ] [
+.B \-f
+sfile ] [ file ] ...
+.SH DESCRIPTION
+.I Sed
+copies the named
+.I files
+(standard input default) to the standard output,
+edited according to a script of commands.
+The
+.B \-f
+option causes the script to be taken from file
+.IR sfile ;
+these options accumulate.
+If there is just one
+.B \-e
+option and no
+.BR \-f 's,
+the flag
+.B \-e
+may be omitted.
+The
+.B \-n
+option suppresses the default output.
+.PP
+A script consists of editing commands, one per line,
+of the following form:
+.IP
+[address [, address] ] function [arguments]
+.PP
+In normal operation
+.I sed
+cyclically copies a line of input into a
+.I pattern space
+(unless there is something left after
+a `D' command),
+applies in sequence
+all commands whose
+.I addresses
+select that pattern space,
+and at the end of the script copies the pattern space
+to the standard output (except under
+.BR \-n )
+and deletes the pattern space.
+.PP
+An
+.I address
+is either a decimal number that counts
+input lines cumulatively across files, a `$' that
+addresses the last line of input, or a context address,
+`/regular expression/', in the style of
+.IR ed (1)
+modified thus:
+.IP
+The escape sequence `\en' matches a
+newline embedded in the pattern space.
+.PP
+A command line with no addresses selects every pattern space.
+.PP
+A command line with
+one address selects each pattern space that matches the address.
+.PP
+A command line with
+two addresses selects the inclusive range from the first
+pattern space that matches the first address through
+the next pattern space that matches 
+the second.
+(If the second address is a number less than or equal
+to the line number first selected, only one
+line is selected.)
+Thereafter the process is repeated, looking again for the
+first address.
+.PP
+Editing commands can be applied only to non-selected pattern
+spaces by use of the negation function `!' (below).
+.PP
+In the following list of functions the 
+maximum number of permissible addresses
+for each function is indicated in parentheses.
+.PP
+An argument denoted
+.I text
+consists of one or more lines,
+all but the last of which end with `\e' to hide the
+newline.
+Backslashes in text are treated like backslashes
+in the replacement string of an `s' command,
+and may be used to protect initial blanks and tabs
+against the stripping that is done on
+every script line.
+.PP
+An argument denoted
+.I rfile
+or
+.I wfile
+must terminate the command
+line and must be preceded by exactly one blank.
+Each
+.I wfile
+is created before processing begins.
+There can be at most 10 distinct
+.I wfile
+arguments.
+.TP
+(1)\|a\e
+.br
+.ns
+.TP
+.I text
+.br
+Append.
+Place
+.I text
+on the output before
+reading the next input line.
+.TP
+.RI (2)\|b " label"
+Branch to the `:' command bearing the
+.IR label .
+If
+.I label
+is empty, branch to the end of the script.
+.TP
+(2)\|c\e
+.br
+.ns
+.TP
+.I text
+.br
+Change.
+Delete the pattern space.
+With 0 or 1 address or at the end of a 2-address range, place
+.I text
+on the output.
+Start the next cycle.
+.TP
+(2)\|d
+Delete the pattern space.
+Start the next cycle.
+.TP
+(2)\|D
+Delete the initial segment of the 
+pattern space through the first newline.
+Start the next cycle.
+.TP
+(2)\|g
+Replace the contents of the pattern space
+by the contents of the hold space.
+.TP
+(2)\|G
+Append the contents of the hold space to the pattern space.
+.TP
+(2)\|h
+Replace the contents of the hold space by the contents of the pattern space.
+.TP
+(2)\|H
+Append the contents of the pattern space to the hold space.
+.TP
+(1)\|i\e
+.br
+.ns
+.TP
+.I text
+.br
+Insert.
+Place
+.I text
+on the standard output.
+.TP
+(2)\|n
+Copy the pattern space to the standard output.
+Replace the pattern space with the next line of input.
+.TP
+(2)\|N
+Append the next line of input to the pattern space
+with an embedded newline.
+(The current line number changes.)
+.TP
+(2)\|p
+Print.
+Copy the pattern space to the standard output.
+.TP
+(2)\|P
+Copy the initial segment of the pattern space through
+the first newline to the standard output.
+.TP
+(1)\|q
+Quit.
+Branch to the end of the script.
+Do not start a new cycle.
+.TP
+.RI (2)\|r " rfile"
+Read the contents of
+.IR rfile .
+Place them on the output before reading
+the next input line.
+.TP
+.RI (2)\|s /regular\ expression/replacement/flags
+Substitute the
+.I replacement
+string for instances of the
+.I regular expression
+in the pattern space.
+Any character may be used instead of `/'.
+For a fuller description see
+.IR ed (1).
+.I Flags
+is zero or more of
+.RS
+.TP
+g
+Global.
+Substitute for all nonoverlapping instances of the
+.I regular expression
+rather than just the
+first one.
+.TP
+p
+Print the pattern space if a replacement was made.
+.TP
+.RI w " wfile"
+Write.
+Append the pattern space to
+.I wfile
+if a replacement
+was made.
+.RE
+.TP
+.RI (2)\|t " label"
+Test.
+Branch to the `:' command bearing the
+.I label
+if any
+substitutions have been made since the most recent
+reading of an input line or execution of a `t'.
+If 
+.I label
+is empty, branch to the end of the script.
+.TP
+.RI (2)\|w " wfile"
+Write.
+Append the pattern space to
+.IR wfile .
+.TP
+.RI (2)\|x
+Exchange the contents of the pattern and hold spaces.
+.TP
+.RI (2)\|y /string1/string2/
+Transform.
+Replace all occurrences of characters in
+.I string1
+with the corresponding character in
+.I string2.
+The lengths of
+.I
+string1
+and
+.I string2
+must be equal.
+.TP
+.RI (2)! " function"
+Don't.
+Apply the
+.I function
+(or group, if
+.I function
+is `{') only to lines
+.I not
+selected by the address(es).
+.TP
+.RI (0)\|: " label"
+This command does nothing; it bears a
+.I label
+for `b' and `t' commands to branch to.
+.TP
+(1)\|=
+Place the current line number on the standard output as a line.
+.TP
+(2)\|{
+Execute the following commands through a matching `}'
+only when the pattern space is selected.
+.TP
+(0)\|
+An empty command is ignored.
+.SH SEE ALSO
+ed(1), grep(1), awk(1), lex(1)
diff --git a/usr/man/man1/see.1 b/usr/man/man1/see.1
new file mode 100644 (file)
index 0000000..a337e39
--- /dev/null
@@ -0,0 +1,22 @@
+.TH SEE 1 2/24/79
+.UC
+.SH NAME
+see \- see what a file has in it
+.SH SYNOPSIS
+.B see
+[ name ... ]
+.SH DESCRIPTION
+.I See
+prints a file which contains non-printing characters in a readable format.
+Control characters print in the ^\fIx\fR notation, with delete printed as ^?.
+.PP
+See is actually just the
+.B \-v
+option to
+.I cat;
+there are other options, see
+.IR cat (1).
+.SH "SEE ALSO"
+cat(1), ex(1)
+.SH AUTHOR
+William Joy
diff --git a/usr/man/man1/size.1 b/usr/man/man1/size.1
new file mode 100644 (file)
index 0000000..d68e575
--- /dev/null
@@ -0,0 +1,18 @@
+.TH SIZE 1 VAX-11
+.SH NAME
+size \- size of an object file
+.SH SYNOPSIS
+.B size
+[ object ... ]
+.SH DESCRIPTION
+.I Size
+prints the (decimal) number of bytes
+required by the
+text, data, and bss
+portions, and their sum in hex and decimal,
+of each object-file argument.
+If no file is specified,
+.B a.out
+is used.
+.SH "SEE ALSO"
+a.out(5)
diff --git a/usr/man/man1/sleep.1 b/usr/man/man1/sleep.1
new file mode 100644 (file)
index 0000000..635c8bc
--- /dev/null
@@ -0,0 +1,32 @@
+.TH SLEEP 1 
+.SH NAME
+sleep \- suspend execution for an interval
+.SH SYNOPSIS
+.B sleep
+time
+.SH DESCRIPTION
+.I Sleep
+suspends execution for
+.I time
+seconds.
+It is used to execute a command
+after a certain amount of time as in:
+.PP
+       (sleep 105; command)&
+.PP
+or to execute a command every so often, as in:
+.PP
+       while true
+.br
+       do
+.br
+               command
+.br
+               sleep 37
+.br
+       done
+.SH "SEE ALSO"
+alarm(2), sleep(3)
+.SH BUGS
+.I Time
+must be less than 2147483647 seconds.
diff --git a/usr/man/man1/soelim.1 b/usr/man/man1/soelim.1
new file mode 100644 (file)
index 0000000..d250f70
--- /dev/null
@@ -0,0 +1,45 @@
+.TH SOELIM 1 2/24/79
+.UC
+.SH NAME
+soelim \- eliminate \&.so's from nroff input
+.SH SYNOPSIS
+.B soelim
+[
+file ...
+]
+.SH DESCRIPTION
+.I Soelim
+reads the specified files or the standard input and performs the textual
+inclusion implied by the
+.I nroff
+directives of the form
+.PP
+.DT
+       \&.so somefile
+.PP
+when they appear at the beginning of input lines.
+This is useful since programs such as
+.I tbl
+do not normally do this;
+it allows the placement of individual tables
+in separate files to be run as a part of a large document.
+.PP
+Note that inclusion can be suppressed by using
+`\'' instead of `\.', i.e.
+.PP
+.DT
+       \'so /usr/lib/tmac.s
+.PP
+A sample usage of
+.I soelim
+would be
+.PP
+       soelim exum?.n | tbl | nroff \-ms | col | lpr
+.SH SEE\ ALSO
+colcrt(1), more(1)
+.SH AUTHOR
+William Joy
+.SH BUGS
+The format of the source commands must involve no strangeness \-
+exactly one
+blank must precede and no blanks follow the file name.
diff --git a/usr/man/man1/sort.1 b/usr/man/man1/sort.1
new file mode 100644 (file)
index 0000000..5b62e72
--- /dev/null
@@ -0,0 +1,176 @@
+.TH SORT 1 
+.SH NAME
+sort \- sort or merge files
+.SH SYNOPSIS
+.B sort
+[
+.if t \fB\-mubdf\&inrt\fIx\fR
+.if n -mubdfinrt\b\b\b\b\b\b\b\b\b_________x
+]
+[ \fB+\fIpos1 \fR [ \fB\-\fIpos2 \fR]
+] ...
+[ 
+.B \-o 
+name ] [
+.B \-T
+directory ] [ name ] ...
+.SH DESCRIPTION
+.I Sort
+sorts
+lines of all the named files together
+and writes the result on
+the standard output.
+The name `\-' means
+the standard input.
+If no input files are named, the standard input is sorted.
+.PP
+The default sort key is an entire line.
+Default ordering is
+lexicographic by bytes in machine
+collating sequence.
+The ordering is affected globally by the following options,
+one or more of which may appear.
+.TP 5
+.B  b
+Ignore leading blanks (spaces and tabs) in field comparisons.
+.TP 5
+.B  d
+`Dictionary' order: only letters, digits and blanks
+are significant in comparisons.
+.TP 5
+.B  f
+Fold upper case
+letters onto lower case.
+.TP 5
+.B  i
+Ignore characters outside the ASCII range 040-0176
+in nonnumeric comparisons.
+.TP 5
+.B  n
+An initial numeric string,
+consisting of optional blanks, optional minus sign,
+and zero or more digits with optional decimal point,
+is sorted by arithmetic value.
+Option
+.B n
+implies option
+.B b.
+.TP 5
+.B  r
+Reverse the sense of comparisons.
+.TP 5
+.BI t x
+`Tab character' separating fields is
+.IR x .
+.PP
+The notation
+.BI + "pos1 " "\-\fIpos2"
+restricts a sort key to a field beginning at
+.I pos1
+and ending just before
+.IR pos2 .
+.I Pos1
+and
+.I pos2
+each have the form
+.IB m . n\fR,
+optionally followed by one or more of the flags
+.B bdf\&inr,
+where
+.I m
+tells a number of fields to skip from the beginning of the line and
+.I n
+tells a number of characters to skip further.
+If any flags are present they override all the global
+ordering options for this key.
+If the
+.B b
+option is in effect
+.I n
+is counted from the first nonblank in the field;
+.B b
+is attached independently to 
+.IR pos2 .
+A missing
+\&\fB.\fIn\fR
+means .0;
+a missing
+.BI \- pos2
+means the end of the line.
+Under the
+.BI \-t x
+option, fields are strings separated by
+.IR x ;
+otherwise fields are
+nonempty nonblank strings separated by blanks.
+.PP
+When there are multiple sort keys, later keys
+are compared only after all earlier keys
+compare equal.
+Lines that otherwise compare equal are ordered
+with all bytes significant.
+.PP
+These option arguments are also understood:
+.TP 5
+.B c
+Check that the input file is sorted according to the ordering rules;
+give no output unless the file is out of sort.
+.TP 5
+.B  m
+Merge only, the input files are already sorted.
+.TP 5
+.B  o
+The next argument is the name of an output file
+to use instead of the standard output.
+This file may be the same as one of the inputs.
+.TP 5
+.B T
+The next argument is the name of a directory in which temporary files
+should be made.
+.TP 5
+.B  u
+Suppress all but one in each
+set of equal lines.
+Ignored bytes
+and bytes outside keys
+do not participate in
+this comparison.
+.PP
+.B Examples.
+Print in alphabetical order all the unique spellings
+in a list of words.
+Capitalized words differ from uncapitalized.
+.PP
+.ti +8
+sort \-u +0f +0 list
+.PP
+Print the password file
+.RI ( passwd (5))
+sorted by user id number (the 3rd colon-separated field).
+.PP
+.ti +8
+sort \-t: +2n /etc/passwd
+.PP
+Print the first instance of each month in an already sorted file
+of (month day) entries.
+The options
+.B \-um
+with just one input file make the choice of a
+unique representative from a set of equal lines predictable.
+.PP
+.ti +8
+sort \-um +0 \-1 dates
+.SH FILES
+/usr/tmp/stm*, /tmp/*  first and second tries for
+temporary files
+.SH "SEE ALSO"
+uniq(1),
+comm(1),
+rev(1),
+join(1)
+.SH DIAGNOSTICS
+Comments and exits with nonzero status for various trouble
+conditions and for disorder discovered under option
+.BR \-c .
+.SH BUGS
+Very long lines are silently truncated.
diff --git a/usr/man/man1/spell.1 b/usr/man/man1/spell.1
new file mode 100644 (file)
index 0000000..646b329
--- /dev/null
@@ -0,0 +1,110 @@
+.TH SPELL 1 
+.SH NAME
+spell, spellin, spellout \- find spelling errors
+.SH SYNOPSIS
+.B spell
+[ option ] ...
+[ file ] ...
+.PP
+.B spellin
+[ list ]
+.PP
+.B spellout
+[
+.B \-d
+] list
+.SH DESCRIPTION
+.I Spell
+collects words from the named documents,
+and looks them up in a spelling list.
+Words that neither occur among nor are derivable
+(by applying certain inflections,
+prefixes or suffixes) from words in the spelling list
+are printed on the standard output.
+If no files are named,
+words are collected from the standard input.
+.PP
+.I Spell
+ignores most
+.I troff,
+.I tbl
+and
+.IR  eqn (1)
+constructions.
+.PP
+Under the
+.B \-v
+option, all words not literally in the spelling list are printed,
+and plausible derivations from spelling list words are indicated.
+.PP
+Under the 
+.B \-b
+option, British spelling is checked.
+Besides preferring
+.ft I
+centre, colour, speciality, travelled,
+.ft R
+etc.,
+this option insists upon
+.I -ise
+in words like
+.I standardise,
+Fowler and the OED to the contrary
+notwithstanding.
+.PP
+Under the 
+.B \-x
+option, every plausible stem is printed with `=' for each word.
+.PP
+The spelling list is based on many sources,
+and while more haphazard than an ordinary
+dictionary, is also more effective in respect to
+proper names and popular technical words.
+Coverage of
+the specialized vocabularies of biology,
+medicine and chemistry is light.
+.PP
+Pertinent auxiliary files may be specified by
+name arguments, indicated below with their
+default settings.
+Copies of all output
+are accumulated in the history file.
+The stop list filters out misspellings (e.g. thier=thy\-y+ier)
+that would otherwise pass.
+.PP
+Two routines help maintain the hash lists used by
+.I spell.
+Both expect a list of words, one per line,
+from the standard input.
+.I Spellin
+adds the words on the standard input to the
+preexisting
+.I list
+and places a new list on the standard output.
+If no 
+.I list
+is specified, the new list is created from scratch.
+.I Spellout
+looks up each word in the standard input and prints
+on the standard output
+those that are missing from (or present on, with
+option
+.BR \-d )
+the hash list.
+.SH FILES
+D=/usr/dict/hlist[ab]: hashed spelling lists, American & British
+.br
+S=/usr/dict/hstop: hashed stop list
+.br
+H=/usr/dict/spellhist: history file
+.br
+/usr/lib/spell
+.br
+deroff(1), sort(1), tee(1), sed(1)
+.SH BUGS
+The spelling list's coverage is uneven;
+new installations will probably wish to 
+monitor the output for several months to gather
+local additions.
+.br
+British spelling was done by an American.
diff --git a/usr/man/man1/spline.1g b/usr/man/man1/spline.1g
new file mode 100644 (file)
index 0000000..4b0de58
--- /dev/null
@@ -0,0 +1,190 @@
+.TH SPLINE 1G 
+.SH NAME
+spline \- interpolate smooth curve
+.SH SYNOPSIS
+.B spline
+[ option ] ...
+.SH DESCRIPTION
+.I Spline
+takes pairs of numbers from the standard input as abcissas and ordinates
+of a function.
+It produces a similar set, which
+is approximately equally spaced and
+includes the input set, on the standard output.
+The cubic spline output
+(R. W. Hamming,
+.ft I
+Numerical Methods for Scientists and Engineers,
+.ft R
+2nd ed., 349ff)
+has two continuous derivatives,
+and sufficiently many points to look smooth when plotted, for
+example by
+.IR  graph (1).
+.PP
+The following options are recognized,
+each as a separate argument.
+.TP 5
+.B  \-a
+Supply abscissas automatically (they are missing from
+the input); spacing is given by the next
+argument, or is assumed to be 1 if next argument is not a number.
+.TP 5
+.B  \-k
+The constant
+.IR k ""
+used in the boundary value computation
+.IP
+.if n .ig
+.ti +1.5i
+.ds ' \h'-\w'\(fm\(fm'u'
+.EQ
+.nr 99 \n(.s
+.nr 98 \n(.f
+'ps 10
+.ft I
+.ds 11 "y\(fm\(fm
+.nr 11 \w'\*(11'
+.ds 12 "\*'
+.nr 12 \w'\*(12'
+'ps 8
+.ds 13 "\fR0\fP
+.nr 13 \w'\*(13'
+.as 12 \v'18u'\s8\*(13\|\s10\v'-18u'
+'ps 10
+.nr 12 \n(12+\n(13+\w'\s8\|'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|=\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "ky\(fm\(fm
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\*'
+.nr 12 \w'\*(12'
+'ps 8
+.ds 13 "\fR1\fP
+.nr 13 \w'\*(13'
+.as 12 \v'18u'\s8\*(13\|\s10\v'-18u'
+'ps 10
+.nr 12 \n(12+\n(13+\w'\s8\|'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 ",
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "y\(fm\(fm
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\*'
+.nr 12 \w'\*(12'
+'ps 8
+.ds 13 "n
+.nr 13 \w'\*(13'
+.as 12 \v'18u'\s8\*(13\|\s10\v'-18u'
+'ps 10
+.nr 12 \n(12+\n(13+\w'\s8\|'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|=\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\|\|
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "ky\(fm\(fm
+.nr 12 \w'\*(12'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 12 "\*'
+.nr 12 \w'\*(12'
+'ps 8
+.ds 13 "n\|\(mi\|\fR1\fP
+.nr 13 \w'\*(13'
+.as 12 \v'18u'\s8\*(13\|\s10\v'-18u'
+'ps 10
+.nr 12 \n(12+\n(13+\w'\s8\|'
+.as 11 "\*(12
+.nr 11 \w'\*(11'
+.ds 11 \x'0'\fI\*(11\s\n(99\f\n(98
+.ne 78u
+\*(11
+'ps \n(99
+.ft \n(98
+.EN
+..
+.if t .ig
+.ce
+(2nd deriv. at end) = k*(2nd deriv. next to end)
+..
+.IP
+.br
+is set by the next argument.
+By default
+.IR k ""
+= 0.
+.TP 5
+.B  \-n
+Space output points
+so that approximately
+.I n
+intervals occur between the lower and upper
+.I x
+limits.
+(Default
+.I n
+= 100.)
+.TP 5
+.B  \-p
+Make output periodic, i.e. match
+derivatives at ends.
+First and last input values should normally agree.
+.TP 5
+.B  \-x
+Next 
+1 (or 2) arguments are lower (and upper) 
+.I x
+limits.
+Normally these limits are calculated from the data.
+Automatic abcissas start at lower limit
+(default 0).
+.SH "SEE ALSO"
+graph(1)
+.SH DIAGNOSTICS
+When data is not strictly monotone in
+.I x,
+.I spline
+reproduces the input without interpolating extra points.
+.SH BUGS
+A limit of 1000 input points is enforced silently.
diff --git a/usr/man/man1/split.1 b/usr/man/man1/split.1
new file mode 100644 (file)
index 0000000..0e5c682
--- /dev/null
@@ -0,0 +1,35 @@
+.TH SPLIT 1 
+.SH NAME
+split \- split a file into pieces
+.SH SYNOPSIS
+.B split
+[
+.B \-\fIn
+]
+[ file [ name ] ]
+.SH DESCRIPTION
+.I Split
+reads
+.I file
+and writes
+it in
+.IR n -line
+pieces
+(default 1000), as many as necessary,
+onto
+a set of output files.  The name of the first output
+file is
+.I name
+with
+.B aa
+appended, and so on
+lexicographically.
+If no output name is given,
+.B x
+is default.
+.PP
+If no input file is given, or
+if
+.B \-
+is given in its stead,
+then the standard input file is used.
diff --git a/usr/man/man1/ssp.1 b/usr/man/man1/ssp.1
new file mode 100644 (file)
index 0000000..d6fceb5
--- /dev/null
@@ -0,0 +1,4 @@
+.pl 1
+The ``ssp'' command is obsolete.  Use the ``-s'' (single space) option to
+the ``cat'' command instead.  Thus ``nroff -ms foo.n | ssp'' is replaced
+by ``nroff -ms foo.n | cat -s''.
diff --git a/usr/man/man1/strings.1 b/usr/man/man1/strings.1
new file mode 100644 (file)
index 0000000..e60d46d
--- /dev/null
@@ -0,0 +1,38 @@
+.TH STRINGS 1 2/24/79
+.UC
+.SH NAME
+strings \- find the printable strings in a object, or other binary, file
+.SH SYNOPSIS
+.B strings
+[
+.B \-
+] [
+.B \-o
+] [
+\fB\-\fInumber\fR
+] file ...
+.SH DESCRIPTION
+.I Strings
+looks for ascii strings in a binary file.
+A string is any sequence of 4 or more printing characters ending with
+a newline or a null.
+Unless the
+.B \-
+flag is given,
+.I strings
+only looks in the initialized data space of object files.
+If the
+.B \-o
+flag is given, then each string is preceded by its offset in the
+file (in octal).
+If the
+\fB\-\fInumber\fR
+flag is given then number is used as the minimum string length
+rather than 4.
+.PP
+.I Strings
+is useful for identifying random object files and many other things.
+.SH "SEE ALSO"
+od(1)
+.SH BUGS
+The algorithm for identifying strings is extremely primitive
diff --git a/usr/man/man1/strip.1 b/usr/man/man1/strip.1
new file mode 100644 (file)
index 0000000..396c9fd
--- /dev/null
@@ -0,0 +1,25 @@
+.TH STRIP 1 
+.SH NAME
+strip \- remove symbols and relocation bits
+.SH SYNOPSIS
+.B strip
+name ...
+.SH DESCRIPTION
+.I Strip
+removes the symbol
+table and relocation bits ordinarily attached to the output
+of the assembler and loader.
+This is useful to save space after a program has been
+debugged.
+.PP
+The effect of
+.I strip
+is the same as use of the
+.B \-s
+option
+of
+.IR ld .
+.SH FILES
+/tmp/stm?      temporary file
+.SH "SEE ALSO"
+ld(1)
diff --git a/usr/man/man1/struct.1 b/usr/man/man1/struct.1
new file mode 100644 (file)
index 0000000..357457a
--- /dev/null
@@ -0,0 +1,110 @@
+.TH STRUCT 1 
+.SH NAME
+struct \- structure Fortran programs
+.SH SYNOPSIS
+.B struct
+[ option ] ...
+file
+.SH DESCRIPTION
+.LP
+.I Struct
+translates the Fortran program specified by
+.I file
+(standard input default)
+into a Ratfor program.
+Wherever possible, Ratfor control constructs
+replace the original Fortran.
+Statement numbers appear only where still necessary.
+Cosmetic changes are made, including changing Hollerith strings
+into quoted strings
+and relational operators into symbols (.e.g. ".GT." into ">").
+The output is appropriately indented.
+.PP
+The following options may occur in any order.
+.TP
+.B  \-s
+Input is accepted in standard format, i.e.
+comments are specified by a c, C, or * in column 1, and continuation lines
+are specified by a nonzero, nonblank character in column 6.
+Normally input is in the form accepted by 
+.IR f77 (1)
+.TP
+.B  \-i
+Do not turn computed goto statements into
+switches.
+(Ratfor does not turn switches back
+into computed goto statements.)
+.TP
+.B  \-a
+Turn sequences of else ifs into a
+non-Ratfor switch of the form
+.IP
+.nf
+.ta 5 7
+switch
+       {       case pred1: code
+               case pred2: code
+               case pred3: code
+               default: code
+       }
+.fi
+.DT
+.IP
+The case predicates are tested in order;
+the code appropriate to only one case is executed.
+This generalized form of switch statement does not
+occur in Ratfor.
+.TP
+.B  \-b
+Generate goto's instead of multilevel break statements.
+.TP
+.B  \-n
+Generate goto's instead of multilevel next statements.
+.TP
+.BI \-t n
+Make
+the nonzero integer
+.I n
+the lowest valued label in the output program
+(default 10).
+.TP
+.BI \-c n
+Increment successive labels
+in the output program
+by the nonzero integer
+.I n
+(default 1).
+.TP
+.BI \-e n
+If 
+.I n
+is 0 (default),
+place code within a loop only if it can
+lead to an iteration of the loop.
+If
+.I n
+is nonzero,
+admit a small code segments to a loop
+if otherwise the loop would have exits to several places including the segment,
+and the segment can be reached only from the loop.
+`Small' is close to, but not equal to, the
+number of statements in the code segment.
+Values of n under 10 are suggested.
+.SH FILES
+/tmp/struct*
+.br
+/usr/lib/struct/*
+.SH SEE ALSO
+f77(1)
+.SH BUGS
+Struct knows Fortran 66 syntax, but not full Fortran 77.
+.br
+If an input Fortran program contains identifiers which
+are reserved words in Ratfor, the structured
+version of the program
+will not be a valid Ratfor program.
+.br
+The labels generated cannot go above 32767.
+.br
+If you get a goto without a target, try
+.B \-e .
diff --git a/usr/man/man1/style.1 b/usr/man/man1/style.1
new file mode 100644 (file)
index 0000000..43b928b
--- /dev/null
@@ -0,0 +1,72 @@
+.TH STYLE 1 
+.SH NAME
+style  \-  analyze surface characteristics of a document
+.SH SYNOPSIS
+.B style
+[
+.B \-ml
+] [
+.B \-mm
+] [
+.B \-a
+] [
+.B \-e
+] [
+.B \-l
+num ] [
+.B \-r
+num ] [
+.B \-p
+] [
+.B \-P
+]
+file ...
+.LP
+.SH DESCRIPTION
+.I Style
+analyzes the surface characteristics of the writing style
+of a document.
+It reports on readability, sentence length and
+structure, word length and usage, verb type, and sentence openers.
+Because
+.I style
+runs
+.I deroff
+before looking at the text, formatting
+header files should be included as part of the input.
+The default macro package
+.B \-ms
+may be overridden with the flag
+.B \-mm.
+The flag
+.BR \-ml ,
+which causes 
+.B deroff
+to skip lists, should be used if the document contains many lists of
+non-sentences.
+The other options are used to locate sentences with certain characteristics.
+.TP
+.B \-a
+print all sentences with their length and readability index.
+.TP
+.B \-e
+print all sentences that begin with an expletive.
+.TP
+.B \-p
+print all sentences that contain a passive verb.
+.TP
+.BI \-l num
+print all sentences longer than
+.IR num .
+.TP
+.BI \-r num
+print all sentences whose readability index is greater than
+.IR num .
+.TP
+.B \-P
+print parts of speech of the words in the document.
+.SH "SEE ALSO"
+deroff(1), diction(1)
+.SH BUGS
+Use of non-standard formatting macros may cause
+incorrect sentence breaks.
diff --git a/usr/man/man1/su.1 b/usr/man/man1/su.1
new file mode 100644 (file)
index 0000000..6dceb2c
--- /dev/null
@@ -0,0 +1,38 @@
+.TH SU 1 11/16/79
+.UC
+.SH NAME
+su \- substitute user id temporarily
+.SH SYNOPSIS
+.B su
+[ userid ]
+.SH DESCRIPTION
+.I Su
+demands the password of the specified
+.I userid,
+and if it is given,
+changes to that 
+.I userid
+and invokes the Shell
+.IR sh (1)
+without changing the current directory.
+The user environment
+is unchanged except for HOME and SHELL,
+which are taken from the password file
+for the user being substituted
+(see
+.IR environ (5)).
+The new user ID stays in force until the Shell exits.
+.PP
+If no 
+.I userid
+is specified, `root' is assumed.
+To remind the super-user of his responsibilities,
+the Shell substitutes `#' for its usual prompt.
+.SH "SEE ALSO"
+sh(1)
+.SH BUGS
+Local administrative rules cause restrictions to
+be placed on who can
+.I su
+to `root', even with the root password.
+These rules vary from site to site.
diff --git a/usr/man/man1/sum.1 b/usr/man/man1/sum.1
new file mode 100644 (file)
index 0000000..58182c3
--- /dev/null
@@ -0,0 +1,19 @@
+.TH SUM 1 
+.SH NAME
+sum \- sum and count blocks in a file
+.SH SYNOPSIS
+.B sum
+file
+.SH DESCRIPTION
+.I Sum
+calculates and prints a 16-bit checksum for the named file,
+and also prints the number of blocks in the file.
+It is typically used to look for bad spots, or
+to validate a file communicated over
+some transmission line.
+.SH "SEE ALSO"
+wc(1)
+.SH DIAGNOSTICS
+`Read error'
+is indistinuishable from end of file on
+most devices; check the block count.
diff --git a/usr/man/man1/symorder.1 b/usr/man/man1/symorder.1
new file mode 100644 (file)
index 0000000..2745c7e
--- /dev/null
@@ -0,0 +1,23 @@
+.TH SYMORDER 1 10/20/79
+.UC
+.SH NAME
+symorder \- rearrange name list
+.SH SYNOPSIS
+.B symorder
+orderlist symbolfile
+.SH DESCRIPTION
+.I Orderlist
+is a file containing symbols to be found in symbolfile,
+1 symbol per line.
+.PP
+.I Symbolfile
+is updated in place to put the requested symbols first
+in the symbol table, in the order specified.  This is done
+by swapping the old symbols in the required spots with the
+new ones.  If all of the order symbols are not found, an
+error is generated.
+.PP
+This program was specifically designed to cut down on the
+overhead of getting symbols from /vmunix.
+.SH "SEE ALSO"
+nlist(3)
diff --git a/usr/man/man1/tail.1 b/usr/man/man1/tail.1
new file mode 100644 (file)
index 0000000..e196c3d
--- /dev/null
@@ -0,0 +1,50 @@
+.TH TAIL 1 
+.UC 4
+.SH NAME
+tail \- deliver the last part of a file
+.SH SYNOPSIS
+.B tail
+.if t [ \(+-number[\fBlbc\fR][\fBfr\fR] ]
+.if n +\b_number[lbc\b\b\b___][r\b_f\b_]
+[ file ]
+.SH DESCRIPTION
+.I Tail
+copies the named file to the standard output beginning
+at a designated place.
+If no file is named, the standard input is used.
+.PP
+Copying begins at distance
+.I +number
+from the beginning, or
+.I \-number
+from the end of the input.
+.I Number
+is counted in units of lines, blocks or characters,
+according to the appended option
+.B l,
+.B b
+or
+.B c.
+When no units are specified, counting is by lines.
+.PP
+Specifying
+.B r
+causes tail to print lines from the end of the file in reverse order.
+The default for
+.B r
+is to print the entire file this way.
+Specifying
+.B f
+causes
+.I tail
+to not quit at end of file, but rather wait and try to read repeatedly
+in hopes that the file will grow.
+.SH "SEE ALSO"
+dd(1)
+.SH BUGS
+Tails relative to the end of the file
+are treasured up in a buffer, and thus 
+are limited in length.
+.PP
+Various kinds of anomalous behavior may happen
+with character special files.
diff --git a/usr/man/man1/tbl.1 b/usr/man/man1/tbl.1
new file mode 100644 (file)
index 0000000..a8b45b7
--- /dev/null
@@ -0,0 +1,215 @@
+.TH TBL 1 
+.SH NAME
+tbl \- format tables for nroff or troff
+.SH SYNOPSIS
+.B tbl
+[ files ] ...
+.SH DESCRIPTION
+.I Tbl
+is a preprocessor for formatting tables for
+.I nroff
+or
+.IR troff (1).
+The input files are copied to the standard output,
+except for lines between .TS and .TE
+command lines, which are assumed to describe tables
+and reformatted.
+Details are given in the reference manual.
+.PP
+As an example, letting \\t represent a tab (which should
+be typed as a genuine tab)
+the input
+.IP ""
+\&.TS
+.nf
+c s s
+c c s
+c c c
+l n n.
+Household Population
+Town\\tHouseholds
+\\tNumber\\tSize
+Bedminster\\t789\\t3.26
+Bernards Twp.\\t3087\\t3.74
+Bernardsville\\t2018\\t3.30
+Bound Brook\\t3425\\t3.04
+Branchburg\\t1644\\t3.49
+Bridgewater\\t7897\\t3.81
+Far Hills\\t240\\t3.19
+\&.TE
+.LP
+.fi
+yields
+.ne 10
+.IP " "
+.TS
+.nr 35 \n(.u
+.nf
+.nr 79 0n
+.nr 80 \n(79
+.nr 40 \n(79
+.nr 38 \n(79+\w!Town!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Bedminster!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Bernards Twp.!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Bernardsville!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Bound Brook!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Branchburg!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Bridgewater!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 38 \n(79+\w!Far Hills!
+.if \n(80<\n(38 .nr 80 \n(38
+.nr 81 \n(80
+.nr 41 \n(80
+.nr 38 \n(80+\w!Number!
+.if \n(81<\n(38 .nr 81 \n(38
+.nr 31 0
+.nr 32 0
+.nr 38 \w!789!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3087!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!2018!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3425!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!1644!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!7897!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!240!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 61 \n(80+\n(31
+.nr 38 \n(61+\n(32
+.if \n(38>\n(81 .nr 81 \n(38
+.if \n(38<\n(81 .nr 61 +(\n(81-\n(38)/2
+.nr 82 \n(81
+.nr 42 \n(81
+.nr 38 \n(81+\w!Size!
+.if \n(82<\n(38 .nr 82 \n(38
+.nr 31 0
+.nr 32 0
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.26!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.74!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.30!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.04!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.49!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.81!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 38 \w!3!
+.if \n(31<\n(38 .nr 31 \n(38
+.nr 38 \w!.19!
+.if \n(32<\n(38 .nr 32 \n(38
+.nr 62 \n(81+\n(31
+.nr 38 \n(62+\n(32
+.if \n(38>\n(82 .nr 82 \n(38
+.if \n(38<\n(82 .nr 62 +(\n(82-\n(38)/2
+.nr 38 \n(79+\w!Household Population!-\n(82
+.if \n(38>0 .nr 38 \n(38/2
+.if \n(38<0 .nr 38 0
+.nr 61 +1*\n(38
+.nr 81 +1*\n(38
+.nr 41 +1*\n(38
+.nr 62 +2*\n(38
+.nr 82 +2*\n(38
+.nr 42 +2*\n(38
+.nr 38 \n(80+\w!Households!-\n(82
+.if \n(38>0 .nr 38 \n(38/1
+.if \n(38<0 .nr 38 0
+.nr 62 +1*\n(38
+.nr 82 +1*\n(38
+.nr 42 +1*\n(38
+.nr 38 1n
+.nr 41 +3*\n(38
+.nr 81 +3*\n(38
+.nr 61 +3*\n(38
+.if n .if \n(61%24>0 .nr 61 +12u
+.nr 42 +6*\n(38
+.nr 82 +6*\n(38
+.nr 62 +6*\n(38
+.if n .if \n(62%24>0 .nr 62 +12u
+.nr TW \n(82
+.fc ! :
+.ta \n(82u 
+\&!:Household Population:!
+.ta \n(80u \n(82u 
+\&\h'|\n(40u'!:Town:!\h'|\n(41u'!:Households:!
+.ta \n(80u \n(81u \n(82u 
+\&\h'|\n(40u'!::!\h'|\n(41u'!:Number:!\h'|\n(42u'!:Size:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Bedminster:!\h'|\n(41u'!:789!\h'|\n(42u'!:3!!.26:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Bernards Twp.:!\h'|\n(41u'!:3087!\h'|\n(42u'!:3!!.74:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Bernardsville:!\h'|\n(41u'!:2018!\h'|\n(42u'!:3!!.30:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Bound Brook:!\h'|\n(41u'!:3425!\h'|\n(42u'!:3!!.04:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Branchburg:!\h'|\n(41u'!:1644!\h'|\n(42u'!:3!!.49:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Bridgewater:!\h'|\n(41u'!:7897!\h'|\n(42u'!:3!!.81:!
+.ta \n(80u \n(61u \n(62u \n(82u 
+\&\h'|\n(40u'!Far Hills:!\h'|\n(41u'!:240!\h'|\n(42u'!:3!!.19:!
+.fc
+.mk ##
+.nr ## -1v
+.if \n(35>0 .fi
+.TE
+.fi
+.PP
+If no arguments are given,
+.I tbl
+reads the standard input,
+so it may be used as a filter.
+When it is used with
+.I eqn
+or
+.I neqn
+the
+.I tbl
+command should be first, to minimize the volume
+of data passed through
+pipes.
+.SH SEE ALSO
+troff(1), eqn(1)
+.br
+M. E. Lesk,
+.I TBL.
diff --git a/usr/man/man1/tc.1 b/usr/man/man1/tc.1
new file mode 100644 (file)
index 0000000..250457e
--- /dev/null
@@ -0,0 +1,86 @@
+.TH TC 1 
+.SH NAME
+tc \- photypesetter simulator
+.SH SYNOPSIS
+.B tc
+[
+.B \-t
+]
+[
+.B \-s\c
+N
+]
+[
+.B \-p\c
+L
+]
+[
+file
+]
+.SH DESCRIPTION
+.I Tc
+interprets its
+input (standard input default)
+as device codes for a Graphic Systems phototypesetter (cat).
+The standard output of
+.I tc
+is intended for a Tektronix 4015 (a 4014 teminal
+with ASCII and APL character sets).
+The sixteen typesetter sizes are mapped into the 4014's
+four sizes;
+the entire TROFF character set is drawn using the 4014's
+character generator,
+using overstruck combinations where necessary.
+Typical usage:
+.IP "" 15
+troff \-t file | tc
+.PP
+At the end of each page
+.I tc
+waits for a newline (empty line) from the keyboard before
+continuing on to the next page.
+In this wait state, the command
+.B e
+will suppress the screen erase before the next page;
+.B s\c
+N will cause the next N pages to be skipped;
+and
+.B !\c
+line will send line to the shell.
+.PP
+The command line options are:
+.TP
+.B  \-t
+Don't wait between pages; for directing output into a file.
+.TP 
+.BR \-s N
+Skip the first N pages.
+.TP 
+.BR \-p L
+Set page length to L.
+L may include the scale factors
+.B p
+(points),
+.B i
+(inches),
+.B c
+(centimeters),
+and
+.B P
+(picas);
+default is picas.
+.TP
+.BI \(fm\- l\ w \(fm
+Multiply the default aspect ratio, 1.5, of a displayed page
+by
+.I l/w.
+.SH "SEE ALSO"
+troff(1),
+plot(1)
+.SH BUGS
+Font distinctions are lost.
+.br
+.I tc's
+character set is limited to ASCII in just one size.
+.br
+The aspect ratio option is unbelievable.
diff --git a/usr/man/man1/tee.1 b/usr/man/man1/tee.1
new file mode 100644 (file)
index 0000000..609a4cb
--- /dev/null
@@ -0,0 +1,24 @@
+.TH TEE 1 
+.SH NAME
+tee \- pipe fitting
+.SH SYNOPSIS
+.B tee
+[
+.B \-i
+] [
+.B \-a
+]
+[ file ] ...
+.SH DESCRIPTION
+.I Tee
+transcribes the standard input to the standard
+output and makes copies in the 
+.I files.
+Option
+.B \-i
+ignores interrupts;
+option
+.B \-a
+causes the output to be appended to the
+.I files
+rather than overwriting them.
diff --git a/usr/man/man1/test.1 b/usr/man/man1/test.1
new file mode 100644 (file)
index 0000000..4a6da21
--- /dev/null
@@ -0,0 +1,115 @@
+.TH TEST 1 
+.SH NAME
+test \- condition command
+.SH SYNOPSIS
+.B test
+expr
+.SH DESCRIPTION
+.I test
+evaluates the expression
+.IR expr ,
+and if its value is true then returns zero exit status; otherwise, a
+non zero exit status is returned.
+.I test
+returns a non zero exit if there are no arguments.
+.PP
+The following primitives are used to construct
+.IR expr .
+.TP 9n
+.BR \-r " file"
+true if the file exists and is readable.
+.TP 
+.BR \-w " file"
+true if the file exists and is writable.
+.TP 
+.BR \-f " file"
+true if the file exists and is not a directory.
+.TP 
+.BR \-d " file"
+true if the file exists exists and is a directory.
+.TP 
+.BR \-s " file"
+true if the file exists and has a size greater than zero.
+.TP 
+.BR \-t " [ fildes ]"
+true if the open file whose file descriptor number is
+.I fildes
+(1 by default)
+is associated with a terminal device.
+.TP 
+.BR \-z " s1"
+true if the length of string
+.I s1
+is zero.
+.TP 
+.BR \-n " s1"
+true if the length of the string
+.I s1
+is nonzero.
+.TP 
+.RB s1 " = " s2
+true
+if the strings
+.I s1
+and
+.I s2
+are equal.
+.TP 
+.RB s1 " != " s2
+true
+if the strings
+.I s1
+and
+.I s2
+are not equal.
+.TP 
+s1
+true if
+.I s1
+is not the null string.
+.TP 
+.RB n1 " \-eq " n2
+true if the integers
+.I n1
+and
+.I n2
+are algebraically equal.
+Any of the comparisons
+.BR \-ne ,
+.BR \-gt ,
+.BR \-ge ,
+.BR \-lt ,
+or
+.BR \-le
+may be used in place of
+.BR \-eq .
+.PP
+These primaries may be combined with the
+following operators:
+.TP 
+.B  !
+unary negation operator
+.TP 
+.B  \-a
+binary
+.I and
+operator
+.TP 
+.B  \-o
+binary
+.I or
+operator
+.TP 
+.BR "( " "expr" " )"
+parentheses for grouping.
+.PP
+.B \-a
+has higher precedence than
+.B \-o.
+Notice that all the operators and flags are separate
+arguments to
+.IR test .
+Notice also that parentheses are meaningful
+to the Shell and must be escaped.
+.SH "SEE ALSO"
+sh(1), find(1)
diff --git a/usr/man/man1/time.1 b/usr/man/man1/time.1
new file mode 100644 (file)
index 0000000..9cbee15
--- /dev/null
@@ -0,0 +1,40 @@
+.TH TIME 1 
+.UC 4
+.SH NAME
+time \- time a command
+.SH SYNOPSIS
+.B time
+command
+.SH DESCRIPTION
+The
+given command is executed; after it is complete,
+.I time
+prints the elapsed time during the command, the time
+spent in the system, and the time spent in execution
+of the command.
+Times are reported in seconds.
+.PP
+On a PDP-11, the execution time can depend on what kind of memory
+the program happens to land in;
+the user time in MOS is often half what it is in core.
+.PP
+The times are printed on the diagnostic output stream.
+.PP
+.I Time
+is built in to
+.I csh(1),
+using a different output format.
+.SH BUGS
+Elapsed time is accurate to the second,
+while the CPU times are measured
+to the 60th second.
+Thus the sum of the CPU times can be up to a second larger
+than the elapsed time.
+.PP
+.I Time
+is a built-in command to
+.IR csh (1),
+with a much different syntax.  This command is available as
+``/bin/time'' to
+.I csh
+users.
diff --git a/usr/man/man1/tk.1 b/usr/man/man1/tk.1
new file mode 100644 (file)
index 0000000..d2ebd72
--- /dev/null
@@ -0,0 +1,60 @@
+.TH TK 1 
+.SH NAME
+tk \- paginator for the Tektronix 4014
+.SH SYNOPSIS
+.B tk
+[
+.B \-t
+]
+[
+.B \-\c
+.I  N
+]
+[
+.B \-p\c
+.I  L
+]
+[
+file
+]
+.SH DESCRIPTION
+The output of
+.I tk
+is intended for a Tektronix 4014 terminal.
+.I Tk
+arranges for 66 lines to fit on the screen,
+divides the screen into
+.I N
+columns,
+and
+contributes an eight space page offset
+in the (default) single-column case.
+Tabs, spaces, and backspaces are collected and plotted
+when necessary.
+Teletype Model 37 half- and reverse-line sequences
+are interpreted and plotted.
+At the end of each page
+.I tk
+waits for a newline (empty line) from the keyboard before
+continuing on to the next page.
+In this wait state, the command
+.BI ! command
+will send the
+.I command
+to the shell.
+.PP
+The command line options are:
+.TP
+.B \-t
+Don't wait between pages; for directing output into a file.
+.PP
+.TP
+.BI \- N
+Divide the screen into \fIN\fR columns and
+wait after the last column.
+.TP
+.BI \-p L
+Set page length to \fIL\fR
+lines.
+.SH SEE ALSO
+pr(1)
diff --git a/usr/man/man1/touch.1 b/usr/man/man1/touch.1
new file mode 100644 (file)
index 0000000..9a97428
--- /dev/null
@@ -0,0 +1,24 @@
+.TH TOUCH 1 
+.SH NAME
+touch \- update date last modified of a file
+.SH SYNOPSIS
+.B touch
+[
+.B \-c
+]
+file ...
+.SH DESCRIPTION
+.I Touch
+attempts to set the modified date of each
+.I file.
+This is done by reading a character from the file
+and writing it back.
+.PP
+If a
+.I file
+does not exist,
+an attempt will be made to create it unless the
+.B \-c
+option is specified.
+.SH SEE\ ALSO
+utime(2)
diff --git a/usr/man/man1/tp.1 b/usr/man/man1/tp.1
new file mode 100644 (file)
index 0000000..74cd981
--- /dev/null
@@ -0,0 +1,175 @@
+.TH TP 1  deprecated
+.SH NAME
+tp \- manipulate tape archive
+.SH SYNOPSIS
+.B tp
+[ key ] [ name ... ]
+.SH DESCRIPTION
+.PP
+.I Tp
+saves and restores files
+on DECtape or magtape.
+Its actions are controlled by the
+.I key
+argument.
+The key is a string of characters containing
+at most one function letter and possibly
+one or more function modifiers.
+Other arguments to the command are file or directory
+names specifying which files are to be dumped, restored,
+or listed.
+In all cases, appearance of a directory name refers to
+the files and (recursively) subdirectories of that directory.
+.PP
+The function portion of
+the key is specified by one of the following letters:
+.TP 8
+.B  r
+The named files
+are written
+on the tape.
+If files with the same names
+already exist, they are replaced.
+`Same' is determined by string comparison, so
+`./abc' can never be the same as `/usr/dmr/abc' even
+if `/usr/dmr' is the current directory.
+If no file argument is given, `\fB.\fR' is the default.
+.TP 8
+.B  u
+updates the tape.
+.B u
+is like
+.B r,
+but a file is replaced only if its
+modification date is later than the date stored on the tape;
+that is to say, if it has changed since it was dumped.
+.B u
+is the default command if none is given.
+.TP 8
+.B  d
+deletes the named files from
+the tape.
+At least one name argument must be given.
+This function is not permitted on magtapes.
+.TP 8
+.B  x
+extracts the named files from the tape to the file system.
+The owner and mode are restored.
+If no file argument is given, the entire contents of the
+tape are extracted.
+.TP 8
+.B  t
+lists the names of the specified files.
+If no file argument is given,
+the entire contents of the tape is listed.
+.PP
+The following characters may be used in addition to the letter
+which selects the function desired.
+.TP 10
+.B  m
+Specifies magtape as opposed to DECtape.
+.TP 10
+.B  0,...,7
+This
+modifier selects the drive on which the tape is mounted.
+For DECtape, 
+.B x
+is default; for magtape
+`0' is the default.
+.TP 10
+.B  v
+Normally
+.I tp
+does its work silently.
+The
+.B v
+(verbose)
+option causes it to type the name of each file it treats
+preceded by the function letter.
+With the
+.B t
+function,
+.B v
+gives more information about the
+tape entries than just the name.
+.TP 10
+.B  c
+means a fresh dump is being created; the tape directory
+is cleared before beginning.
+Usable only with
+.B r
+and
+.B u.
+This option is assumed with magtape since
+it is impossible to selectively overwrite
+magtape.
+.TP 10
+.B  i
+Errors reading and writing the
+tape are noted, but no action is taken.
+Normally, errors cause a return to the command level.
+.TP 10
+.B f
+Use the first named file, rather than a tape,
+as the archive.
+This option currently acts like 
+.BR m ;
+.I i.e.
+.BR r
+implies 
+.BR c ,
+and neither
+.BR d
+nor
+.BR u
+are permitted.
+.TP 10
+.B  w
+causes
+.I tp
+to pause before treating each file, type
+the indicative letter and the file name (as with
+.BR v )
+and await the user's response.
+Response
+.B y
+means `yes', so the file is treated.
+Null response
+means `no', and the file does not take part
+in whatever is being done.
+Response
+.B x
+means `exit';
+the
+.I tp
+command terminates immediately.
+In the
+.B x
+function,
+files previously asked about
+have been extracted already.
+With
+.B "r, u,"
+and
+.B d
+no change has been made to the tape.
+.PP
+.SH FILES
+/dev/tap?
+.br
+/dev/rmt?
+.SH SEE ALSO
+ar(1), tar(1)
+.SH DIAGNOSTICS
+Several; the non-obvious one is
+`Phase error', which means the file changed after it was selected for
+dumping but before it was dumped.
+.SH BUGS
+A single file with several links to it is treated like several files.
+.PP
+Binary-coded control information makes
+magnetic tapes written by
+.I tp
+difficult to carry to other machines;
+.IR tar (1)
+avoids the problem.
diff --git a/usr/man/man1/tr.1 b/usr/man/man1/tr.1
new file mode 100644 (file)
index 0000000..943901b
--- /dev/null
@@ -0,0 +1,67 @@
+.TH TR 1 
+.SH NAME
+tr \- translate characters
+.SH SYNOPSIS
+.B tr
+[
+.B \-cds
+] [ string1 [ string2 ] ]
+.SH DESCRIPTION
+.I Tr
+copies the standard input to the standard output with 
+substitution or deletion of selected characters.
+Input characters found in 
+.I string1
+are mapped into the corresponding characters of
+.IR string2 .
+When 
+.I string2
+is short it is padded to the length of 
+.I string1
+by duplicating its last character.
+Any combination of the options
+.B \-cds
+may be used:
+.B \-c
+complements the set of characters in
+.I string1
+with respect to the universe of characters
+whose ASCII codes are 01 through 0377 octal;
+.B \-d
+deletes all input characters in
+.I string1;
+.B \-s
+squeezes all strings of repeated output characters that are
+in 
+.I string2
+to single characters.
+.PP
+In either string the notation
+.IB a \- b
+means a range of characters from
+.I a
+to
+.I b
+in increasing ASCII order.
+The character
+`\e' followed by 1, 2 or 3 octal digits stands for the
+character whose ASCII code is given by those digits.
+A `\e' followed by any other character stands
+for that character.
+.PP
+The following example creates a list of all
+the words in `file1' one per line in `file2',
+where a word is taken to be a maximal string of alphabetics.
+The second string is quoted
+to protect `\e' from the Shell.
+012 is the ASCII code for newline.
+.IP
+tr \-cs A\-Za\-z \'\e012\' <file1 >file2
+.SH "SEE ALSO"
+ed(1), ascii(7), expand(1)
+.SH BUGS
+Won't handle ASCII NUL in
+.I string1
+or
+.I string2;
+always deletes NUL from input.
diff --git a/usr/man/man1/tra.1 b/usr/man/man1/tra.1
new file mode 100644 (file)
index 0000000..48b0342
--- /dev/null
@@ -0,0 +1,6 @@
+
+.pl 1
+The ``tra'' command is obsolete.  Use the ``f'' (file) keyletter to
+the ``tail'' command instead.  Thus ``tra errs'' is similar to
+``tail -f errs'', and you can now say, e.g. ``tail -10f errs'' to
+start the watch with the current last 10 lines.
diff --git a/usr/man/man1/trman.1 b/usr/man/man1/trman.1
new file mode 100644 (file)
index 0000000..ddce48d
--- /dev/null
@@ -0,0 +1,17 @@
+.TH TRMAN 1 2/24/79
+.UC
+.SH NAME
+trman \- translate version 6 manual macros to version 7 macros
+.SH SYNOPSIS
+.B trman
+[ file  ]
+.SH DESCRIPTION
+.I Trman
+reads the input file, which should be nroff/troff input and attempts
+to translate the version 6 manual sections therein to version 7 format.
+It is largely successful, but seems to have trouble
+with indented paragraphs and complicated font control.
+You should expect to have to fix up long sections by hand somewhat.
+.SH SEE ALSO
+man(7)
+.SH BUGS
diff --git a/usr/man/man1/troff.1 b/usr/man/man1/troff.1
new file mode 100644 (file)
index 0000000..30589e4
--- /dev/null
@@ -0,0 +1,212 @@
+.TH TROFF 1 
+.SH NAME
+troff, nroff \- text formatting and typesetting
+.SH SYNOPSIS
+.B troff
+[ option ] ...
+[ file ] ...
+.PP
+.B nroff
+[ option ] ...
+[ file ] ...
+.SH DESCRIPTION
+.I Troff
+formats text in the named
+.I files
+for
+printing on a Graphic Systems C/A/T phototypesetter;
+.I nroff
+for typewriter-like devices.
+Their capabilities are described in the
+.I Nroff/Troff user's manual.
+.PP
+If no
+.I file
+argument is present, the standard input is read.
+An argument consisting of a single minus
+.RB ( \- )
+is taken to be
+a file name corresponding to the standard input.
+The options, which may appear in any order so long as they appear
+before the files, are:
+.TP "\w'\f3\-m\f1name 'u"
+.BI \-o list
+Print only pages whose page numbers appear in
+the comma-separated
+.I list
+of numbers and ranges.
+A range
+.IB N \- M
+means pages
+.I N
+through
+.IR M ;
+an initial
+.I \-N
+means
+from the beginning to page
+.IR N ;
+and a final
+.IR N \-
+means
+from
+.I N
+to the end.
+.TP
+.BI \-n N
+Number first generated page
+.IR N .
+.TP
+.BI \-s N
+Stop every
+.I N
+pages.
+.I Nroff
+will halt prior to every
+.I N
+pages (default
+.IR N =1)
+to allow paper loading or
+changing, and will resume upon receipt of a newline.
+.I Troff
+will stop the phototypesetter every
+.I N
+pages,
+produce a trailer to allow changing cassettes,
+and resume when the typesetter's start button is pressed.
+.TP
+.BI \-m name
+Prepend the macro file
+.BI /usr/lib/tmac/tmac. name
+to the input
+.IR files .
+.TP
+.BI \-r aN
+Set register
+.I a
+(one-character) to
+.IR N .
+.TP
+.B \-i
+Read standard input after the input files are exhausted.
+.TP
+.B \-q
+Invoke the simultaneous input-output mode of the
+.B rd
+request.
+.HP
+.bd I 3
+.I Nroff only
+.br
+.bd I
+.TP
+.BI \-T name
+Prepare output for specified terminal.
+Known
+.I names
+are
+.B 37
+for the (default) 
+Teletype Corporation Model 37 terminal,
+.B tn300
+for the GE TermiNet\ 300 (or any terminal without half-line
+capability),
+.B 300S
+for the \s-1DASI\s+1-300S,
+.B 300
+for the \s-1DASI\s+1-300,
+and
+.B 450
+for the \s-1DASI\s+1-450
+(Diablo Hyterm).
+.TP
+.B \-e
+Produce equally-spaced words in adjusted
+lines, using full terminal resolution.
+.TP
+.B \-h
+Use output tabs during horizontal spacing
+to speed output and reduce output character count.
+Tab settings are assumed to be every
+8 nominal character widths.
+.HP
+.bd I 3
+.I Troff only
+.br
+.bd I
+.TP
+.B \-t
+Direct output to the standard output instead
+of the phototypesetter.
+.TP
+.B \-f
+Refrain from feeding out paper and stopping
+phototypesetter at the end of the run.
+.TP
+.B \-w
+Wait until phototypesetter is available, if
+currently busy.
+.TP
+.B \-b
+Report whether the phototypesetter
+is busy or available.
+No text processing is done.
+.TP
+.B \-a
+Send a printable ASCII approximation
+of the results to the standard output.
+.TP
+.BR \-p N
+Print all characters in point size
+.I  N
+while retaining all prescribed spacings and motions,
+to reduce phototypesetter elasped time.
+.TP
+.B \-g
+Prepare output for a GCOS
+phototypesetter and direct it to the standard output
+(see
+.IR gcat (1)).
+.PP
+If the file
+.I /usr/adm/tracct
+is writable,
+.I troff
+keeps phototypesetter accounting records there.
+The integrity of that file may be secured by making
+.I troff
+a `set user-id' program.
+.SH FILES
+.ta \w'/usr/lib/tmac/tmac.*  'u
+/usr/lib/suftab        suffix hyphenation tables
+.br
+/tmp/ta*       temporary file
+.br
+/usr/lib/tmac/tmac.*   standard macro files
+.br
+/usr/lib/term/*        terminal driving tables for
+.I nroff
+.br
+/usr/lib/font/*        font width tables for
+.I troff
+.br
+/dev/cat       phototypesetter
+.br
+/usr/adm/tracct        accounting statistics for /dev/cat
+.SH "SEE ALSO"
+J. F. Ossanna,
+.I Nroff/Troff user's manual
+.br
+B. W. Kernighan,
+.I
+A TROFF Tutorial
+.br
+vtroff(1), eqn(1), tbl(1), pti(1), ms(7), me(7), man(7), soelim(1)
+.br
+col(1), tk(1)
+.RI ( nroff
+only)
+.br
+tc(1)
+.RI ( troff
+only)
diff --git a/usr/man/man1/true.1 b/usr/man/man1/true.1
new file mode 100644 (file)
index 0000000..cf41571
--- /dev/null
@@ -0,0 +1,30 @@
+.TH TRUE 1 
+.SH NAME
+true, false \- provide truth values
+.SH SYNOPSIS
+.B true
+.PP
+.B false
+.SH DESCRIPTION
+.I True
+does nothing, successfully.
+.I False
+does nothing, unsuccessfully.
+They are typically used in input to
+.IR  sh (1)
+such as:
+.PP
+       while true
+.br
+       do
+.br
+               command
+.br
+       done
+.SH "SEE ALSO"
+sh(1)
+.SH DIAGNOSTICS
+.I True
+has exit status zero,
+.I false
+nonzero.
diff --git a/usr/man/man1/tset.1 b/usr/man/man1/tset.1
new file mode 100644 (file)
index 0000000..9f12dc1
--- /dev/null
@@ -0,0 +1,214 @@
+.TH TSET 1 4/1/81
+.UC 4
+.SH NAME
+tset \- set terminal modes
+.SH SYNOPSIS
+.B tset
+[
+options
+] [
+.B \-m
+[\fIident\fP][\fItest
+.IR baudrate ]:\fItype
+\&...
+] [
+type
+]
+.SH DESCRIPTION
+.I Tset
+causes terminal dependent processing such as setting
+erase and kill characters, setting or resetting delays,
+and the like.
+It first determines the
+.I type
+of terminal involved, names for which are specified by the
+.I /etc/termcap
+data base, and then
+does necessary initializations and mode settings.
+In the case where no argument types are specified,
+.I tset
+simply reads the terminal type out of the environment variable TERM
+and re-initializes the terminal.  The rest of this manual concerns
+itself with type initialization, done typically once at login, and options
+used at initialization time to determine the terminal type and set up
+terminal modes.
+.PP
+When used in a startup script
+.I \&.profile
+(for
+.IR sh (1)
+users) or
+.I \&.login
+(for
+.IR csh (1)
+users) it is desirable to give information about the types of terminal
+usually used on terminals which are not hardwired.
+These ports are initially identified as being
+.I dialup
+or
+.I plugboard
+or
+.I arpanet
+etc.
+To specify
+what terminal type is usually used on these ports
+.B \-m
+is followed by the appropriate port type identifier,
+an optional baud-rate specification,
+and the terminal type to be used if the mapping conditions are satisfied.
+If more than one mapping is specified, the first applicable mapping prevails.
+A missing type identifier matches all identifiers.
+.PP
+Baud rates are specified as with
+.IR stty (1),
+and are compared with the
+speed of the diagnostic output (which is almost always the control terminal).
+The baud rate test may be any combination of:
+.B >,
+.B =,
+.B <,
+.B @,
+and
+.B !;
+.B @
+is a synonym for
+.B =
+and
+.B !
+inverts the sense of the test.  To avoid problems with metacharacters, it
+is best to place the entire argument to
+.B \-m
+within ``\''' characters; users of
+.IR csh (1)
+must also put a ``\e'' before any ``!'' used here.
+.PP
+Thus
+.IP
+tset \-m  \'dialup>300:adm3a\'  \-m  dialup:dw2  \-m  \'plugboard:?adm3a\'
+.LP
+causes the terminal type to be set to an
+.I adm3a
+if the port in use is a dialup at a speed greater than 300 baud;
+to a 
+.I dw2
+if the port is (otherwise) a dialup (i.e. at 300 baud or less).
+If the
+.I type
+above begins with a question mark,
+the user is asked if s/he really wants that type.
+A null response means to use that type;
+otherwise, another type can be entered which will be used instead.
+Thus, in this case, the user will be queried on a plugboard port
+as to whether they are using an
+.I adm3a.
+For other ports the port type will be taken from the
+/etc/ttytype file or a final, default
+.I type
+option may be given on the command line not preceded by a
+.B \-m.
+.PP
+It is often desirable to return the terminal type, as specified by the
+.B \-m
+options, and information about the terminal
+to a shell's environment.  This can be done using the
+.B \-s
+option; using the Bourne shell,
+.IR sh (1):
+.IP
+eval \`tset \-s \fIoptions...\fR\`
+.LP
+or using the C shell,
+.IR csh (1):
+.IP
+set noglob; eval \`tset \-s \fIoptions...\fR\`
+.PP
+These commands cause
+.I tset
+to generate as output a sequence of shell commands which place the variables
+TERM and TERMCAP in the environment; see
+.IR environ (5).
+.PP
+Once the terminal type is known,
+.I tset
+engages in terminal mode setting.
+This normally involves sending an initialization sequence to the
+terminal and setting the single character erase (and optionally
+the line-kill (full line erase)) characters.
+.PP
+On terminals that can backspace but not overstrike
+(such as a \s-2CRT\s0),
+and when the erase character is the default erase character
+(`#' on standard systems),
+the erase character is changed to a Control-H
+(backspace).
+.PP
+The options are:
+.TP
+.B \-e
+set the erase character to be the named character
+.I c
+on all terminals,
+the default being the backspace character on the terminal, usually ^H.
+.TP
+.B \-k
+is similar to
+.B \-e
+but for the line kill character rather than the erase character;
+.I c
+defaults to ^X (for purely historical reasons); ^U is the preferred setting.
+No kill processing is done if
+.B \-k
+is not specified.
+.TP
+.B \-I
+supresses outputting terminal initialization strings.
+.TP
+.B \-Q
+supresses printing the
+``Erase set to'' and ``Kill set to'' messages.
+.TP
+.B \-S
+Outputs the strings to be assigned to
+TERM and TERMCAP in the environment rather than commands for a shell.
+.SH FILES
+.DT
+/etc/ttytype           terminal id to type map database
+.br
+/etc/termcap   terminal capability database
+.SH SEE\ ALSO
+csh(1), setenv(1), sh(1), stty(1), environ(5), ttytype(5), termcap(5)
+.SH AUTHOR
+Eric Allman
+.SH BUGS
+Should be merged with
+.IR stty (1).
+.SH NOTES
+For compatibility with earlier versions of
+.I tset
+a number of flags are accepted whose use is discouraged:
+.TP 10
+\fB\-d\fR type
+equivalent to
+.B \-m
+dialup:type
+.TP 10
+\fB\-p\fR type
+equivalent to
+.B \-m
+plugboard:type
+.TP 10
+\fB\-a\fR type
+equivalent to
+.B \-m
+arpanet:type
+.TP 10
+\fB\-E\fR c
+Sets the erase character to
+.I c
+only if the terminal can backspace.
+.TP 10
+\fB\-\fR
+prints the terminal type on the standard output
+.TP 10
+\fB\-r\fR
+prints the terminal type on the diagnostic output.
diff --git a/usr/man/man1/tsort.1 b/usr/man/man1/tsort.1
new file mode 100644 (file)
index 0000000..3893259
--- /dev/null
@@ -0,0 +1,28 @@
+.TH TSORT 1 
+.SH NAME
+tsort \- topological sort
+.SH SYNOPSIS
+.B tsort
+[ file ]
+.SH DESCRIPTION
+.I Tsort
+produces on the standard output a totally ordered list of items
+consistent with a partial ordering of items
+mentioned in the input
+.IR file .
+If no
+.I file
+is specified, the standard input is understood.
+.PP
+The input consists of pairs of items (nonempty strings)
+separated by blanks.
+Pairs of different items indicate ordering.
+Pairs of identical items indicate presence, but not ordering.
+.SH "SEE ALSO"
+lorder(1)
+.SH DIAGNOSTICS
+Odd data: there is an odd number of fields in the input file.
+.SH BUGS
+Uses a quadratic algorithm;
+not worth fixing for the typical use of ordering
+a library archive file.
diff --git a/usr/man/man1/tty.1 b/usr/man/man1/tty.1
new file mode 100644 (file)
index 0000000..6b60cb2
--- /dev/null
@@ -0,0 +1,10 @@
+.TH TTY 1 
+.SH NAME
+tty \- get terminal name
+.SH SYNOPSIS
+.B tty
+.SH DESCRIPTION
+.I Tty
+prints the pathname of the user's terminal.
+.SH DIAGNOSTICS
+`not a tty' if the standard input file is not a terminal.
diff --git a/usr/man/man1/ul.1 b/usr/man/man1/ul.1
new file mode 100644 (file)
index 0000000..ec9ee40
--- /dev/null
@@ -0,0 +1,64 @@
+.TH UL 1
+.UC 4
+.SH NAME
+ul \- do underlining
+.SH SYNOPSIS
+.B ul
+[
+.B \-i
+] [
+.B \-t
+.I terminal
+]
+[
+.I name
+\&...
+]
+.SH DESCRIPTION
+.I Ul
+reads the named files (or standard input if none are given)
+and translates occurances of underscores to the sequence
+which indicates underlining for the terminal in use, as specified
+by the environment variable
+TERM.
+The
+.B \-t
+option overrides the terminal kind specified in the environment.
+The file
+.I /etc/termcap
+is read to determine the appropriate sequences for underlining.
+If the terminal is incapable of underlining, but is capable of
+a standout mode then that is used instead.
+If the terminal can overstrike,
+or handles underlining automatically,
+.I ul
+degenerates to
+.IR cat (1).
+If the terminal cannot underline, underlining is ignored.
+.PP
+The
+.B \-i
+option causes
+.I ul
+to indicate underlining onto by a separate line containing appropriate
+dashes `\-'; this is useful when you want to look at the underlining
+which is present in an
+.I nroff
+output stream on a crt-terminal.
+.SH "SEE ALSO"
+man(1), nroff(1), colcrt(1)
+.SH AUTHOR
+Mark Horton wrote
+.IR ul .
+The
+.B \-i
+option was originally a option of the editor
+.IR ex (1),
+then an
+.I iul
+command.
+.SH BUGS
+.I Nroff
+usually outputs a series of backspaces and underlines intermixed
+with the text to indicate underlining.  No attempt is made to optimize
+the backward motion.
diff --git a/usr/man/man1/uncompact.1 b/usr/man/man1/uncompact.1
new file mode 100644 (file)
index 0000000..c841b6c
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/compact.1
diff --git a/usr/man/man1/uniq.1 b/usr/man/man1/uniq.1
new file mode 100644 (file)
index 0000000..ad5439a
--- /dev/null
@@ -0,0 +1,72 @@
+.TH UNIQ 1 
+.SH NAME
+uniq \- report repeated lines in a file
+.SH SYNOPSIS
+.B uniq
+[
+.B \-udc
+[
+.BR + n
+] [
+.BR \- n
+]
+] [ input [ output ] ]
+.SH DESCRIPTION
+.I Uniq
+reads the input
+file comparing adjacent lines.
+In the normal case, the second and succeeding copies
+of repeated lines are
+removed; the remainder is written on the output file.
+Note that repeated lines must be adjacent
+in order to be found;
+see
+.IR  sort (1).
+If the
+.B \-u
+flag is used,
+just the lines that are not repeated
+in the original file are output.
+The
+.B \-d
+option specifies that
+one copy of just the repeated lines is to
+be written.
+The normal mode output is the union of the
+.B \-u
+and
+.B \-d
+mode outputs.
+.PP
+The
+.B \-c
+option supersedes
+.B \-u
+and
+.B \-d
+and generates
+an output report in default style
+but with each line preceded by a count of the
+number of times it occurred.
+.PP
+The
+.I n
+arguments specify skipping an initial portion of each line
+in the comparison:
+.TP 8
+.BI \- n
+The first
+.IR n 
+fields
+together with any blanks before each are ignored.
+A field is defined as a string of non-space, non-tab characters
+separated by tabs and spaces from its neighbors.
+.TP 8
+.BI + n
+The first
+.IR n 
+characters are ignored.
+Fields are skipped before characters.
+.PP
+.SH "SEE ALSO"
+sort(1), comm(1)
diff --git a/usr/man/man1/units.1 b/usr/man/man1/units.1
new file mode 100644 (file)
index 0000000..21f5d39
--- /dev/null
@@ -0,0 +1,72 @@
+.if n .ds / /
+.if t .ds / \z/\h'\w'*'u'
+.TH UNITS 1 
+.SH NAME
+units \- conversion program
+.SH SYNOPSIS
+.B units
+.SH DESCRIPTION
+.I Units
+converts quantities expressed
+in various standard scales to
+their equivalents in other scales.
+It works interactively in this fashion:
+.PP
+.I "   You have:"
+inch
+.br
+.I "   You want:"
+cm
+.br
+.I "           * 2.54000e+00
+.br
+.I "           \*/ 3.93701e\-01
+.PP
+A quantity is specified as a multiplicative combination of
+units optionally preceded by a numeric multiplier.
+Powers are indicated by suffixed positive integers,
+division by the usual sign:
+.PP
+.I "   You have:"
+15 pounds force/in2
+.br
+.I "   You want:"
+atm
+.br
+.I "           * 1.02069e+00"
+.br
+.I "           \*/ 9.79730e\-01"
+.PP
+.I Units 
+only does multiplicative scale changes.
+Thus it can convert Kelvin to Rankine, but not Centigrade to
+Fahrenheit.
+Most familiar units,
+abbreviations, and metric prefixes are recognized,
+together with a generous leavening of exotica
+and a few constants of nature including:
+.PP
+.nf
+       pi      ratio of circumference to diameter
+       c       speed of light
+       e       charge on an electron
+       g       acceleration of gravity 
+       force   same as g
+       mole    Avogadro's number
+       water   pressure head per unit height of water
+       au      astronomical unit
+.PP
+.fi
+`Pound' is a unit of
+mass.
+Compound names are run together, e.g. `lightyear'.
+British units that differ from their US counterparts
+are prefixed thus: `brgallon'.
+Currency is denoted `belgiumfranc', `britainpound', ...
+.PP
+For a complete list of units, `cat /usr/lib/units'.
+.SH FILES
+/usr/lib/units
+.SH BUGS
+Don't base your
+financial plans on the currency conversions.
diff --git a/usr/man/man1/uptime.1 b/usr/man/man1/uptime.1
new file mode 100644 (file)
index 0000000..2fc2225
--- /dev/null
@@ -0,0 +1,18 @@
+.TH UPTIME 1 11/13/79
+.UC
+.SH NAME
+uptime \- show how long system has been up
+.SH SYNOPSIS
+.B uptime
+.SH DESCRIPTION
+Uptime prints the current time, the length of time the system has been up,
+and the average number of jobs in the run queue over the last 1, 5 and
+15 minutes.
+It is, essentially, the first line of a
+.I w
+(1)
+command.
+.SH FILES
+/vmunix        system name list
+.SH SEE ALSO
+w(1)
diff --git a/usr/man/man1/users.1 b/usr/man/man1/users.1
new file mode 100644 (file)
index 0000000..249553f
--- /dev/null
@@ -0,0 +1,15 @@
+.TH USERS 1
+.UC
+.SH NAME
+users \- compact list of users who are on the system
+.SH SYNOPSIS
+.B users
+.SH DESCRIPTION
+.I Users
+lists the login names of the users currently on the system in a compact,
+one-line format.
+.SH FILES
+/etc/utmp
+.SH SEE ALSO
+finger(1), who(1)
+.SH BUGS
diff --git a/usr/man/man1/uuclean.1c b/usr/man/man1/uuclean.1c
new file mode 100644 (file)
index 0000000..aae5af9
--- /dev/null
@@ -0,0 +1,50 @@
+.TH UUCLEAN 1C
+.SH NAME
+uuclean \- uucp spool directory clean-up
+.SH SYNOPSIS
+.B uuclean
+[ option ] ...
+.SH DESCRIPTION
+.I Uuclean
+will scan the spool directory for files with the
+specified prefix and delete all those which are
+older than the specified number of hours.
+.PP
+The following options are available.
+.TP 8
+.BI \-p pre
+Scan for files with
+.I pre
+as the file prefix.
+Up to 10
+.B \-p
+arguments may be specified.
+A
+.B \-p
+without any
+.I pre
+following will cause all files older than the
+specified time to be deleted.
+.TP
+.BI \-n time
+Files whose age is more than
+.I time
+hours will be deleted if the prefix
+test is satisfied.
+(default time is 72 hours)
+.TP 8
+.B \-m
+Send mail to the owner of the file
+when it is deleted.
+.PP
+This program will typically be started by
+.IR cron (8).
+.SH FILES
+.TP 22
+/usr/lib/uucp
+directory with commands used by uuclean internally
+.TP
+/usr/lib/uucp/spool
+spool directory
+.SH SEE ALSO
+uucp(1C), uux(1C)
diff --git a/usr/man/man1/uucp.1c b/usr/man/man1/uucp.1c
new file mode 100644 (file)
index 0000000..dedb692
--- /dev/null
@@ -0,0 +1,123 @@
+.TH UUCP 1C
+.SH NAME
+uucp, uulog \- unix to unix copy
+.SH SYNOPSIS
+.B uucp
+[ option ] ...
+source-file ...  destination-file
+.PP
+.B uulog
+[ option ] ...
+.SH DESCRIPTION
+.I Uucp
+copies files named by the source-file arguments
+to the destination-file argument.
+A file name may be a path name on your machine, or may 
+have the form
+.IP
+system-name!pathname
+.LP
+where `system-name' is taken from a list of system names
+which
+.I uucp
+knows about.
+Shell metacharacters ?*[] appearing in the pathname part
+will be expanded on the appropriate system.
+.PP
+Pathnames may be one of
+.IP (1)
+a full pathname;
+.IP (2)
+a pathname preceded by
+.IR ~user ;
+where
+.I user
+is a userid on the specified system
+and is replaced by that user's login directory;
+.IP (3)
+anything else is prefixed by the current directory.
+.PP
+If the result is an erroneous pathname for the remote system
+the copy will fail.
+If the destination-file is a directory, the last part of the
+source-file name is used.
+.ig
+If a simple
+.I ~user
+destination is inaccessible to 
+.I uucp,
+data is copied to a spool directory and the user
+is notified by
+.IR mail (1).
+..
+.PP
+.I Uucp
+preserves execute permissions across the transmission
+and gives 0666 read and write permissions (see
+.IR chmod (2)).
+.PP
+The following options are interpreted by
+.IR uucp .
+.TP 
+.B \-d
+Make all necessary directories for the file copy.
+.TP 
+.B \-c
+Use the source file when copying out rather than
+copying the file to the spool directory.
+.TP 
+.B \-m
+Send mail to the requester when the copy is complete.
+.PP
+.I Uulog
+maintains a summary log
+of 
+.I uucp
+and
+.IR uux (1)
+transactions in the file
+`/usr/spool/uucp/LOGFILE' by gathering
+information from partial log files named `/usr/spool/uucp/LOG.*.?'.
+It removes the partial log files.
+.PP
+The options cause 
+.I uulog 
+to print logging information:
+.TP
+.BI \-s sys
+Print information about work involving system
+.I sys.
+.TP
+.BI \-u user
+Print information about work done for the specified
+.I user.
+.SH FILES
+/usr/spool/uucp - spool directory
+.br
+/usr/lib/uucp/* - other data and program files
+.SH SEE ALSO
+uux(1), mail(1)
+.br
+D. A. Nowitz,
+.I Uucp Implementation Description
+.SH WARNING
+The domain of remotely accessible files can
+(and for obvious security reasons, usually should)
+be severely restricted.
+You will very likely not be able to fetch files
+by pathname;
+ask a responsible person on the remote system to
+send them to you.
+For the same reasons you will probably not be able
+to send files to arbitrary pathnames.
+.SH BUGS
+.br
+All files received by
+.I uucp
+will be owned by uucp.
+.br
+The \-m option will only work sending files or receiving
+a single file.
+(Receiving multiple files specified by special shell
+characters ?*[] will not activate
+the \-m option.)
diff --git a/usr/man/man1/uudiff.1c b/usr/man/man1/uudiff.1c
new file mode 100644 (file)
index 0000000..ee8d8c5
--- /dev/null
@@ -0,0 +1,81 @@
+.TH UUDIFF 1C 
+.SH NAME
+uudiff \- directory comparison between machines
+.SH SYNOPSIS
+.B uudiff
+[ \-d ]
+local-name remote-name
+.SH DESCRIPTION
+.I Uudiff
+compares the files in the directory
+.I local-name
+and the directory
+.I remote-name,
+(where
+.I remote-name
+may be of the form
+.I system-name!directory-name
+and
+.I system-name
+is a 
+.I uucp
+Unix name).
+It reports (via mail)
+which files are added, deleted, or changed, and provides
+a
+.I diff(1)
+of altered printable files.
+.PP
+If a part of
+.I remote-name
+is omitted
+(either the system or the directory)
+the corresponding part of
+.I local-name
+is used.
+If
+.I local-name
+is a file, rather than a directory,
+.I remote-name
+is also assumed to be a file and the program degenerates into
+.IR diff(1) .
+.PP
+The option
+.B \-d
+does not diff altered files; only
+the summary by file names is prepared.
+.SH FILES
+Lots.  Files zz[abcdeglmn]????? are used for scratch space;
+files brought back from the remote machine for
+.I diffing
+are stored (and left around) as
+.I name.?????
+and the final report is left in
+.I uudiff.?????
+(the exact name is reported by mail).
+.SH "SEE ALSO"
+diff(1), uucp(1)
+.SH DIAGNOSTICS
+Almost none.  Anything more serious than misspelling
+.I local-name
+causes unpredictable and obscure results.
+.SH BUGS
+In addition to the standard
+.I uucp
+requirements a hook is needed at the remote
+system, and at present is only installed
+on the systems "research" and "inter".
+.br
+This program is written in shell and should be translated
+to C so it could give diagnostics.
+.br
+Even if "remote-system" is the local system, uudiff
+is subject to delays in uucp traffic.
+.br
+It should probably write the standard output, instead of insisting
+on going into the background.
+.br
+Since checksums are used there is a probability of 1 in 2**32
+of missing differences between files.
+.br
+The ~userid syntax is not recognized.
diff --git a/usr/man/man1/uuencode.1c b/usr/man/man1/uuencode.1c
new file mode 100644 (file)
index 0000000..c852fa6
--- /dev/null
@@ -0,0 +1,67 @@
+.TH UUENCODE 1C 6/1/80
+.UC 4
+.SH NAME
+uuencode,uudecode \- encode/decode a binary file for tranmission via mail
+.SH SYNOPSIS
+.B uuencode
+[ source ] remotedest |
+.B mail
+sys1!sys2!..!decode
+.br
+.B uudecode
+[ file ]
+.SH DESCRIPTION
+.I Uuencode
+and
+.I uudecode
+are used to send a binary file via uucp (or other) mail.
+This combination can be used over indirect mail links
+even when
+.I uusend(1)
+is not available.
+.PP
+.I Uuencode
+takes the named source file (default standard input) and
+produces an encoded version on the standard output.
+The encoding uses only printing ASCII characters,
+and includes the mode of the file and the
+.I remotedest
+for recreation on the remote system.
+.PP
+.I Uudecode
+reads an encoded file,
+strips off any leading and trailing lines added by mailers,
+and recreates the original file with the specified mode and name.
+.PP
+The intent is that all mail to the user ``decode'' should be filtered
+through the uudecode program.  This way the file is created automatically
+without human intervention.
+This is possible on the uucp network by either using
+.I delivermail
+or by making
+.I rmail
+be a link to
+.I Mail
+instead of
+.I mail.
+In each case, an alias must be created in a master file to get
+the automatic invocation of uudecode.
+.PP
+If these facilities are not available, the file can be sent to a
+user on the remote machine who can uudecode it manually.
+.PP
+The encode file has an ordinary text form and can be edited
+by any text editor to change the mode or remote name.
+.SH SEE\ ALSO
+uuencode(5), uusend(1), uucp(1), uux(1), mail(1)
+.SH AUTHOR
+Mark Horton
+.SH BUGS
+The file is expanded by 35% (3 bytes become 4 plus control information)
+causing it to take longer to transmit.
+.PP
+The user on the remote system who is invoking
+.I uudecode
+(often
+.I uucp)
+must have write permission on the specified file.
diff --git a/usr/man/man1/uulog.1c b/usr/man/man1/uulog.1c
new file mode 100644 (file)
index 0000000..d5a43af
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/uucp.1
diff --git a/usr/man/man1/uusend.1c b/usr/man/man1/uusend.1c
new file mode 100644 (file)
index 0000000..482132d
--- /dev/null
@@ -0,0 +1,52 @@
+.TH UUSEND 1C 6/1/80
+.UC 4
+.SH NAME
+uusend \- send a file to a remote host
+.SH SYNOPSIS
+.B uusend
+[
+.B \-m
+mode
+]
+sourcefile
+sys1!sys2!..!remotefile
+.SH DESCRIPTION
+.I Uusend
+sends a file to a given location on a remote system.
+The system need not be directly connected to the local
+system, but a chain of
+.I uucp(1)
+links needs to connect the two systems.
+.PP
+If the
+.B \-m
+option is specified, the mode of the file on the remote
+end will be taken from the octal number given.
+Otherwise, the mode of the input file will be used.
+.PP
+The sourcefile
+can be ``\-'',
+meaning to use the standard input.
+Both of these options are primarily intended for internal use of uusend.
+.PP
+The remotefile can include the ~userid syntax.
+.SH DIAGNOSTICS
+If anything goes wrong any further away than the first system down
+the line, you will never hear about it.
+.SH SEE\ ALSO
+uux(1), uucp(1), uuencode(1)
+.SH AUTHOR
+Mark Horton
+.SH BUGS
+This command shouldn't exist, since
+.I uucp
+should handle it.
+.PP
+All systems along the line must have the
+.I uusend
+command available and allow remote execution of it.
+.PP
+Some uucp systems have a bug where binary files cannot be the
+input to a uux command.
+If this bug exists in any system along the line,
+the file will show up severly munged.
diff --git a/usr/man/man1/vfontinfo.1 b/usr/man/man1/vfontinfo.1
new file mode 100644 (file)
index 0000000..14f5229
--- /dev/null
@@ -0,0 +1,51 @@
+.TH VFONTINFO 1 4/11/80 1
+.UC 4
+.SH NAME
+vfontinfo \- inspect and print out information about unix fonts
+.SH SYNOPSIS
+.br
+.B vfontinfo
+[
+.B \-v
+]
+fontname
+[
+characters
+]
+.SH DESCRIPTION
+.I Vfontinfo
+allows you to examine a font in the unix format.
+It prints out
+all the information in the font header and information about every
+non-null (width > 0) glyph.
+This can be used to make sure the font
+is consistent with the format.
+.PP
+The
+.I fontname
+argument is the name of the font you wish to inspect.
+It writes to standard output.
+If it can't find the file in your working directory, it looks in
+.B /usr/lib/vfont
+(the place most of the fonts are kept).
+.PP
+The
+.IR characters ,
+if given, specify certain characters to show.
+If omitted, the entire font is shown.
+.PP
+If the
+.B \-v
+(verbose)
+flag is used,
+the bits of the glyph itself are shown
+as an array of X's and spaces,
+in addition to the header information.
+.SH "SEE ALSO"
+vpr(1), vfont(5)
+.br
+The Berkeley Font Catalog
+.SH AUTHORS
+Mark Horton
+.br
+Andy Hertzfeld
diff --git a/usr/man/man1/vi.1 b/usr/man/man1/vi.1
new file mode 100644 (file)
index 0000000..1d3565e
--- /dev/null
@@ -0,0 +1,78 @@
+.TH VI 1 12/2/79
+.UC
+.SH NAME
+vi \- screen oriented (visual) display editor based on ex
+.SH SYNOPSIS
+.B vi
+[
+.B \-t
+tag
+] [
+.B \-r
+] [
+\fB+\fR\fIcommand\fR
+] [
+.B \-l
+] [
+\fB\-w\fIn\fR
+]
+name ...
+.SH DESCRIPTION
+.I Vi
+(visual) is a display oriented text editor based on
+.IR ex (1).
+.I Ex
+and
+.I vi
+run the same code; it is possible to get to
+the command mode of
+.I ex
+from within
+.I vi
+and vice-versa.
+.PP
+The
+.I "Vi Quick Reference"
+card and the
+.I "Introduction to Display Editing with Vi"
+provide full details on using
+.I vi.
+.SH FILES
+See
+.IR ex (1).
+.SH SEE ALSO
+ex (1), edit (1), ``Vi Quick Reference'' card,
+``An Introduction to Display Editing with Vi''.
+.SH AUTHOR
+William Joy
+.br
+Mark Horton added macros to \fIvisual\fR mode and is maintaining version 3
+.SH BUGS
+Software tabs using \fB^T\fR work only immediately after the
+.I autoindent.
+.PP
+Left and right shifts on intelligent terminals don't make use of
+insert and delete character operations in the terminal.
+.PP
+The
+.I wrapmargin
+option can be fooled since it looks at output columns when blanks are typed.
+If a long word passes through the margin and onto the next line without a 
+break, then the line won't be broken.
+.PP
+Insert/delete within a line can be slow if tabs are present on intelligent
+terminals, since the terminals need help in doing this correctly.
+.PP
+Saving text on deletes in the named buffers is somewhat inefficient.
+.PP
+The
+.I source
+command does not work when executed as \fB:source\fR;
+there is no way to use the \fB:append\fR, \fB:change\fR,
+and \fB:insert\fR commands, since it is not possible to give
+more than one line of input to a \fB:\fR escape.  To use these
+on a \fB:global\fR you must \fBQ\fR to \fIex\fR command mode,
+execute them, and then reenter the screen editor with
+.I vi
+or
+.I open.
diff --git a/usr/man/man1/vpq.1 b/usr/man/man1/vpq.1
new file mode 100644 (file)
index 0000000..cb41a4d
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/vpr.1
diff --git a/usr/man/man1/vpr.1 b/usr/man/man1/vpr.1
new file mode 100644 (file)
index 0000000..eb42e60
--- /dev/null
@@ -0,0 +1,191 @@
+.TH VPR 1 2/21/80
+.UC 4
+.SH NAME
+vpr, vprm, vpq, vprint \- raster printer/plotter spooler
+.SH SYNOPSIS
+.B vpr
+[
+.B \-W
+] [
+.B \-l
+] [
+.B \-v
+] [
+.B \-t
+[
+.B \-1234
+font ]
+] [
+.B \-w
+] [
+\fB\-w\fIwidth\fR
+] [
+.B \-m
+] [ name ... ]
+.br
+.B vprm
+[
+id ...
+] [
+filename ...
+] [
+owner ...
+]
+.br
+.B vpq
+.br
+.B vprint
+[
+.B \-W
+]
+file ...
+.SH DESCRIPTION
+.I Vpr 
+causes the
+named files
+to be queued for printing or typeset simulation on one of the available
+raster printer/plotters.
+If no files are named, the standard input is read.
+By default the input is assumed to be line printer-like text.
+For very wide plotters, the input is run through the filter
+.I /usr/lib/sidebyside
+giving it an argument of
+.B \-w106
+which arranges it four pages adjacent with 90 column lines (the rest is for the
+left margin).  Since there are 8 lines per inch in the default printer font,
+.I vpr
+thus produces 86 lines per page (the top and bottom lines are left blank).
+.PP
+The following options are available:
+.TP 15
+.B \-l
+Print the input in a more literal manner.
+Page breaks are not inserted, and most
+control characters (except format effectors: \\n, \\f, etc.)
+are printed
+(many control characters print
+special graphics not in the ASCII character set.)
+Tab and underline processing is still done.
+If this option is not given,
+control characters which are not format effectors are ignored,
+and page breaks are inserted after an appropriate number of lines
+have been printed on a page.
+.TP 15
+.B \-W
+Queues files for printing on a wide output device, if available.
+Normally, files are queued for printing on a narrow output device.
+.TP 15
+.B \-1234
+Specifies a font to be mounted on font position \fIi\fR.  The daemon
+will construct a \fI.railmag\fR file referencing
+\fI/usr/lib/vfont/name.size\fR.
+.TP 15
+.B \-m
+Report by
+.IR mail (1)
+when printing is complete.
+.TP
+.B \-w
+(Applicable only to wide output devices.)
+Do not run the input through
+sidebyside.
+Such processing has been done already, or full (440 character) printer
+width is desired.
+.TP
+\fB\-w\fIwidth\fR
+Use width
+.I width
+rather than 90 for
+.I sidebyside.
+.TP
+.B \-v
+Use the filter
+.I /usr/lib/vrast
+to convert the vectors to raster. The named files must be a parameter and
+vector file (in that order) created by
+.IR versaplot (3x)
+routines.
+.TP
+.B \-t
+Use the filter
+.I /usr/lib/vcat
+to typeset the input on the printer/plotter.
+The input must have been generated by
+.IR troff (1)
+run with the
+.B \-t
+option.
+.B "This is not normally run directly"
+to wide output devices, since it is wasteful to run only one page across.
+The program
+.IR vtroff (1)
+is normally used and arranges,
+using
+.IR vsort (1)
+for printing to occur four pages across, conserving paper.
+.PP
+.I Vprm
+removes entries from the raster device queues.
+The id, filename or owner should be that reported by
+.I vpq.
+All apropriate files will be removed.
+Both queues are always searched.
+The id of each file removed from the queue will be printed.
+.PP
+.I Vpq
+prints the queues.
+Each entry in the queue is printed showing the owner of the queue entry,
+an identification number,
+the size of the entry in characters,
+and the file which is to be printed.
+The
+.I id
+is useful for removing a specific entry from the printer queue using
+.I vprm
+.PP
+.I Vprint
+is a shell script which
+.I pr's
+a copy of each named file on one of the electrostatic printer/plotters.
+The files are normally printed on a narrow device;
+.B \-W
+option causes them to be printed on a wide device.
+.SH FILES
+.ta 2i
+/usr/spool/v?d/*       device spool areas
+.br
+/usr/lib/v?d   daemons
+.br
+/usr/lib/vpd   Versatec daemon
+.br
+/usr/lib/vpf   filter for printer simulation
+.br
+/usr/lib/*vcat filter for typeset simulation
+.br
+/usr/lib/vrast filter for versaplot
+.br
+/usr/lib/sidebyside    filter for wide output
+.SH "SEE ALSO"
+troff(1), vfont(5), vp(4), pti(1),
+vtroff(1), versaplot(3x)
+.SH BUGS
+You can't run bit maps in a queued fashion to the plotters.
+This is because the volume of the data (more than 1 Megabyte per
+vertical foot) is unwieldy.
+Instead you must follow the instructions in
+.IR vp (4)
+and run your program when the plotter is idle,
+or run it in the background and have it wait for the device to become idle.
+.PP
+Queued jobs print in directory (seemingly random) order.
+The plotters are fast enough that this is not a real problem.
+.PP
+The 1's (one's) and l's (lower-case el's) in a Benson-Varian's
+standard character set look very similar; caution is advised.
+.PP
+.I Vprm
+should have options allowing just one of the queues to be searched.
+.PP
+A versatec's hardware character set is rather ugly.
+.I Vprint
+should use one of the constant width fonts to produce prettier listings.
diff --git a/usr/man/man1/vprint.1 b/usr/man/man1/vprint.1
new file mode 100644 (file)
index 0000000..cb41a4d
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/vpr.1
diff --git a/usr/man/man1/vprm.1 b/usr/man/man1/vprm.1
new file mode 100644 (file)
index 0000000..cb41a4d
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/vpr.1
diff --git a/usr/man/man1/w.1 b/usr/man/man1/w.1
new file mode 100644 (file)
index 0000000..5efb9e2
--- /dev/null
@@ -0,0 +1,83 @@
+.TH W 1 8/15/80
+.UC 4
+.SH NAME
+w \- who is on and what they are doing
+.SH SYNOPSIS
+.B w
+[
+.B \-h
+] [
+.B \-s
+] [ user ]
+.SH DESCRIPTION
+.I W
+prints a summary of the current activity on the system,
+including what each user is doing.
+The heading line shows the current time of day,
+how long the system has been up,
+the number of users logged into the system,
+and the load averages.
+The load average numbers give the number of jobs in the run queue
+averaged over 1, 5 and 15 minutes.
+.PP
+The fields output are:
+the users login name,
+the name of the tty the user is on,
+the time of day the user logged on,
+the number of minutes since the user last typed anything,
+the CPU time used by all processes and their children on that terminal,
+the CPU time used by the currently active processes,
+the name and arguments of the current process.
+.PP
+The
+.B \-h
+flag suppresses the heading.
+The
+.B \-s
+flag asks for a short form of output.
+In the short form, the tty is abbreviated, the login time and cpu times
+are left off, as are the arguments to commands.
+.B \-l
+gives the long output, which is the default.
+.PP
+If a
+.I user
+name is included,
+the output will be restricted to that user.
+.SH FILES
+.ta 1i
+/etc/utmp
+.br
+/dev/kmem
+.br
+/dev/drum
+.SH "SEE ALSO"
+who(1), finger(1), ps(1)
+.SH AUTHOR
+Mark Horton
+.SH BUGS
+The notion of the ``current process'' is muddy.
+The current algorithm is ``the highest numbered process on
+the terminal that is not ignoring interrupts,
+or, if there is none, the highest numbered process on the terminal''.
+This fails, for example, in critical sections of programs
+like the shell and editor,
+or when faulty programs running in the background
+fork and fail to ignore interrupts.
+(In cases where no process can be found,
+.I w
+prints ``\-''.)
+.PP
+The CPU time is only an estimate, in particular, if someone leaves a
+background process running after logging out, the person currently
+on that terminal is ``charged'' with the time.
+.PP
+Background processes are not shown, even though they account for
+much of the load on the system.
+.PP
+Sometimes processes, typically those in the background, are
+printed with null or garbaged arguments.
+In these cases, the name of the command is printed in parentheses.
+.PP
+W does not know about the new conventions for detection of background jobs.
+It will sometimes find a background job instead of the right one.
diff --git a/usr/man/man1/wait.1 b/usr/man/man1/wait.1
new file mode 100644 (file)
index 0000000..839d474
--- /dev/null
@@ -0,0 +1,26 @@
+.TH WAIT 1 
+.SH NAME
+wait \- await completion of process
+.SH SYNOPSIS
+.B wait
+.SH DESCRIPTION
+Wait until all processes started with
+.B &
+have completed,
+and report on abnormal terminations.
+.PP
+Because the
+.IR  wait (2)
+system call
+must be executed in the parent process,
+the Shell itself executes
+.I wait,
+without creating a new process.
+.SH "SEE ALSO"
+sh(1)
+.SH BUGS
+Not all the processes of a 3- or more-stage
+pipeline are children of the Shell, and
+thus can't be waited for.
+(This bug does not apply to
+.IR csh (1).)
diff --git a/usr/man/man1/wall.1 b/usr/man/man1/wall.1
new file mode 100644 (file)
index 0000000..da25ac3
--- /dev/null
@@ -0,0 +1,25 @@
+.TH WALL 1
+.UC 4
+.SH NAME
+wall \- write to all users
+.SH SYNOPSIS
+.B wall
+.SH DESCRIPTION
+.I Wall
+reads its standard input until an end-of-file.
+It then sends this message,
+preceded by
+`Broadcast Message ...',
+to all logged in users.
+.PP
+The sender should be super-user to override
+any protections the users may have invoked.
+.SH FILES
+/dev/tty?
+.br
+/etc/utmp
+.SH "SEE ALSO"
+mesg(1), write(1)
+.SH DIAGNOSTICS
+`Cannot send to ...' when the open on
+a user's tty file fails.
diff --git a/usr/man/man1/wc.1 b/usr/man/man1/wc.1
new file mode 100644 (file)
index 0000000..e622a1a
--- /dev/null
@@ -0,0 +1,68 @@
+.TH WC 1 
+.UC 4
+.SH NAME
+wc \- word count
+.SH SYNOPSIS
+.B wc
+[
+.B \-lwcpt
+] [
+.BI \-b baud
+] [
+.BI \-s pagesize
+] [
+.B \-u
+] [
+.B \-v
+] [ name ... ]
+.SH DESCRIPTION
+.I Wc
+counts lines, words and characters,
+and optionally pages and the print time,
+in the named files,
+or in the standard input if no name appears.
+A word is a maximal string of characters
+delimited by spaces, tabs or newlines.
+.PP
+If an argument beginning with one of ``lwcpt'' is present,
+the specified counts (lines, words, characters, pages, or time)
+are selected by the letters
+.BR l ,
+.BR w ,
+.BR c ,
+.BR p ,
+or
+.BR t .
+The default is
+.B \-lwc
+unless
+.B \-v
+is specified.
+.PP
+The
+.B \-b
+option asks that the time be figured at
+the specified baud rate instead of the default 300 baud.
+.PP
+The
+.B \-s
+option specifies that pages are
+.I pagesize
+lines long instead of the default 66.
+.PP
+The
+.B \-u
+options asks that the time printed be based on uucp
+transmission time, about 90% as fast as normal.
+.PP
+The
+.B \-v
+option asks for a verbose output format,
+with headers and including pages and time by default.
+.SH BUGS
+The times given do not take into account variable factors
+such as system load;
+delays due to tab expansion or tty driver delays,
+which can be a factor with cu;
+or uucp delays such as mail headers, auxillary protocol files, 
+or the time taken to initially connect to another site.
diff --git a/usr/man/man1/whatis.1 b/usr/man/man1/whatis.1
new file mode 100644 (file)
index 0000000..8fefc9c
--- /dev/null
@@ -0,0 +1,31 @@
+.TH WHATIS 1
+.UC 4
+.SH NAME
+whatis \- describe what a command is
+.SH SYNOPSIS
+.B whatis
+command ...
+.SH DESCRIPTION
+.I Whatis
+looks up a given command and gives the header line from the manual
+section.
+You can then run the 
+.IR man (1)
+command to get more information.
+If the line starts `name(section) ...' you can do
+`man section name' to get the documentation for it.
+Try `whatis ed' and then you should do `man 1 ed' to get the manual.
+.PP
+.I Whatis
+is actually just the
+.B \-f
+option to the
+.IR man (1)
+command.
+.SH FILES
+.DT
+/usr/lib/whatis        Data base
+.SH "SEE ALSO"
+apropos(1), man(1), catman(8)
+.SH AUTHOR
+William Joy
diff --git a/usr/man/man1/whereis.1 b/usr/man/man1/whereis.1
new file mode 100644 (file)
index 0000000..04701ea
--- /dev/null
@@ -0,0 +1,77 @@
+.TH WHEREIS 1 2/24/79
+.UC
+.SH NAME
+whereis \- locate source, binary, and or manual for program
+.SH SYNOPSIS
+.B whereis
+[
+.B \-sbm
+] [
+.B \-u
+] [
+.B \-SBM
+dir ...
+.B \-f
+] name ...
+.SH DESCRIPTION
+.I Whereis
+locates source/binary and manuals sections for specified files.
+The supplied names are first stripped of leading pathname components
+and any (single) trailing extension of the form ``.ext'', e.g. ``.c''.
+Prefixes of ``s.'' resulting from use of source code control are also
+dealt with.
+.I Whereis
+then attempts to locate the desired program in a list of standard places.
+If any of the
+.B \-b,
+.B \-s
+or
+.B \-m
+flags are given then
+.I whereis
+searches only for binaries, sources or manual sections respectively
+(or any two thereof).
+The
+.B \-u
+flag may be used to search for unusual entries.
+A file is said to be unusual if it does not have one entry of
+each requested type.
+Thus ``whereis -m -u *'' asks for those files in the current
+directory which have no documentation.
+.sp
+Finally, the
+.B \-B
+.B \-M
+and
+.B \-S
+flags may be used to change or otherwise limit the places where
+.I whereis
+searches.
+The
+.B \-f
+file flags is used to terminate the last such directory list
+and signal the start of file names.
+.SH EXAMPLE
+The following finds all the files in /usr/bin which are not documented
+in /usr/man/man1 with source in /usr/src/cmd:
+.IP
+cd /usr/ucb
+.br
+whereis \-u \-M /usr/man/man1 \-S /usr/src/cmd \-f *
+.SH FILES
+/usr/src/*
+.br
+/usr/{doc,man}/*
+.br
+/lib, /etc, /usr/{lib,bin,ucb,old,new,local}
+.SH AUTHOR
+William Joy
+.SH BUGS
+Since the program uses
+.IR chdir (2)
+to run faster, pathnames given with the
+.B \-M
+.B \-S
+and
+.B \-B
+must be full; i.e. they must begin with a ``/''.
diff --git a/usr/man/man1/which.1 b/usr/man/man1/which.1
new file mode 100644 (file)
index 0000000..6507957
--- /dev/null
@@ -0,0 +1,25 @@
+.TH WHICH 1 10/10/79
+.UC
+.SH NAME
+which \- locate a program file including aliases and paths (\fIcsh\fR only)
+.SH SYNOPSIS
+.B which
+[ name ] ...
+.SH DESCRIPTION
+.I Which
+takes a list of names and looks for the files which would be
+executed had these names been given as commands.
+Each argument is expanded if it is aliased,
+and searched for along the user's path.
+Both aliases and path are taken from the user's \&.cshrc file.
+.SH FILES
+.ta 1i
+~/\&.cshrc     source of aliases and path values
+.SH DIAGNOSTICS
+A diagnostic is given for names which are aliased to more than a single
+word,
+or if an executable file with the argument name was not found in the path.
+.SH BUGS
+Only aliases and paths from ~/\&.cshrc are used, importing from the current
+environment is not attempted.
+Must be executed by a csh, since only csh's know about aliases.
diff --git a/usr/man/man1/who.1 b/usr/man/man1/who.1
new file mode 100644 (file)
index 0000000..6182a39
--- /dev/null
@@ -0,0 +1,43 @@
+.TH WHO 1 
+.SH NAME
+who \- who is on the system
+.SH SYNOPSIS
+.B who
+[ who-file ] [
+.B "am I"
+]
+.SH DESCRIPTION
+.I Who,
+without an argument,
+lists the login name, terminal name, and login time
+for each current UNIX user.
+.PP
+Without an argument,
+.I who
+examines the /etc/utmp
+file to obtain its information.
+If a file is given, that file is examined.
+Typically the given file will be /usr/adm/wtmp,
+which contains a record of all the logins since it
+was created.
+Then
+.I who
+lists
+logins, logouts, and crashes since the creation of
+the wtmp file.
+Each login is listed with user name,
+terminal name (with `/dev/'
+suppressed),
+and date and time.
+When an argument is given, logouts produce a similar line without a user name.
+Reboots produce a line with `x' in the place of the device name,
+and a fossil time indicative of when the system went down.
+.PP
+With two arguments,
+as in `who am I' (and also `who are you'),
+.I who
+tells who you are logged in as.
+.SH FILES
+/etc/utmp
+.SH "SEE ALSO"
+getuid(2), utmp(5)
diff --git a/usr/man/man1/whoami.1 b/usr/man/man1/whoami.1
new file mode 100644 (file)
index 0000000..5d88c8f
--- /dev/null
@@ -0,0 +1,16 @@
+.TH WHOAMI 1 2/24/79
+.UC
+.SH NAME
+whoami \- print effective current user id
+.SH SYNOPSIS
+.B whoami
+.SH DESCRIPTION
+.I Whoami
+prints who you are.
+It works even if you are su'd, while `who am i' does not since
+it uses /etc/utmp.
+.SH FILES
+.DT
+/etc/passwd    Name data base
+.SH "SEE ALSO"
+who (1)
diff --git a/usr/man/man1/write.1 b/usr/man/man1/write.1
new file mode 100644 (file)
index 0000000..f0957e5
--- /dev/null
@@ -0,0 +1,61 @@
+.TH WRITE 1 
+.SH NAME
+write \- write to another user
+.SH SYNOPSIS
+.B write
+user [ ttyname ]
+.SH DESCRIPTION
+.I Write
+copies lines from your terminal to that of
+another user.
+When first called,
+it sends the message
+.PP
+     Message from yourname yourttyname...
+.PP
+The recipient of the message should write back at this point.
+Communication continues until an end of file is
+read from the terminal or an interrupt is sent.
+At that point
+.I write
+writes `EOT' on the other terminal and exits.
+.PP
+If you want to write to a user who is logged in more than once,
+the
+.I ttyname
+argument may be used to indicate the
+appropriate terminal name.
+.PP
+Permission to write may be denied or granted by use of the
+.I mesg
+command.
+At the outset writing is allowed.
+Certain commands, in particular
+.I nroff
+and
+.IR  pr (1)
+disallow
+messages in order to prevent messy output.
+.PP
+If the character `!' is found at the beginning of a line,
+.I write
+calls the shell
+to execute the rest of the
+line as a command.
+.PP
+The following protocol is suggested for using
+.IR write :
+when you first write to another user, wait for him to
+write back before starting to send.
+Each party should end each message with a distinctive
+signal\(em\fB(o)\fR
+for `over' is conventional\(emthat the other may reply.
+.B (oo)
+for `over and out' is suggested when conversation
+is about to be terminated.
+.SH FILES
+/etc/utmp      to find user
+.br
+/bin/sh                to execute `!'
+.SH "SEE ALSO"
+mesg(1), who(1), mail(1)
diff --git a/usr/man/man1/xget.1 b/usr/man/man1/xget.1
new file mode 100644 (file)
index 0000000..2818503
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/xsend.1
diff --git a/usr/man/man1/xsend.1 b/usr/man/man1/xsend.1
new file mode 100644 (file)
index 0000000..63191e4
--- /dev/null
@@ -0,0 +1,42 @@
+.TH XSEND 1
+.SH NAME
+xsend, xget, enroll \- secret mail
+.SH SYNOPSIS
+.B xsend
+person
+.br
+.B xget
+.br
+.B enroll
+.SH DESCRIPTION
+These commands implement a secure communication
+channel;
+it is like
+.IR mail (1),
+but no one can read the messages except the intended recipient.
+The method embodies a public-key cryptosystem using knapsacks.
+.PP
+To receive messages, use
+.IR enroll ;
+it asks you for a password that you must subsequently quote
+in order to receive secret mail.
+.PP
+To receive secret mail,
+use
+.IR xget .
+It asks for your password, then gives you the messages.
+.PP
+To send secret mail, use
+.IR xsend
+in the same manner as the ordinary mail command.
+(However, it will accept only one target).
+A message announcing the receipt of secret mail is also sent
+by ordinary mail.
+.SH FILES
+/usr/spool/secretmail/*.key: keys
+/usr/spool/secretmail/*.[0-9]: messages
+.SH SEE ALSO
+mail (1)
+.SH BUGS
+It should be integrated with ordinary mail.
+The announcement of secret mail makes traffic analysis possible.
diff --git a/usr/man/man1/xstr.1 b/usr/man/man1/xstr.1
new file mode 100644 (file)
index 0000000..fc2e2b1
--- /dev/null
@@ -0,0 +1,119 @@
+.TH XSTR 1 2/24/79
+.UC
+.SH NAME
+xstr \- extract strings from C programs to implement shared strings
+.SH SYNOPSIS
+.B xstr
+[
+.B \-c
+] [
+.B \-
+] [
+file
+]
+.SH DESCRIPTION
+.I Xstr
+maintains a file
+.I strings
+into which strings in component parts of a large program are hashed.
+These strings are replaced with references to this common area.
+This serves to implement shared constant strings, most useful if they
+are also read-only.
+.PP
+The command
+.PP
+.DT
+       \fBxstr \-c\fR name
+.PP
+will extract the strings from the C source in name, replacing
+string references by expressions of the form (&xstr[number])
+for some number.
+An appropriate declaration of
+.I xstr
+is prepended to the file.
+The resulting C text is placed in the file
+.I x.c,
+to then be compiled.
+The strings from this file are placed in the
+.I strings
+data base if they are not there already.
+Repeated strings and strings which are suffices of existing strings
+do not cause changes to the data base.
+.PP
+After all components of a large program have been compiled a file
+.I xs.c
+declaring the common
+.I xstr
+space can be created by a command of the form
+.PP
+.DT
+       \fBxstr\fR
+.PP
+This
+.I xs.c
+file should then be compiled and loaded with the rest
+of the program.
+If possible, the array can be made read-only (shared) saving
+space and swap overhead.
+.PP
+.I Xstr
+can also be used on a single file.
+A command
+.PP
+.DT
+       \fBxstr\fR name
+.PP
+creates files
+.I x.c
+and
+.I xs.c
+as before, without using or affecting any
+.I strings
+file in the same directory.
+.PP
+It may be useful to run
+.I xstr
+after the C preprocessor if any macro definitions yield strings
+or if there is conditional code which contains strings
+which may not, in fact, be needed.
+.I Xstr
+reads from its standard input when the argument `\-' is given.
+An appropriate command sequence for running
+.I xstr
+after the C preprocessor is:
+.PP
+.nf
+.DT
+       \fBcc \-E\fR name.c | \fBxstr \-c\fR \-
+       \fBcc \-c\fR x.c
+       \fBmv\fR x.o name.o
+.fi
+.PP
+.I Xstr
+does not touch the file
+.I strings
+unless new items are added, thus
+.I make
+can avoid remaking
+.I xs.o
+unless truly necessary.
+.SH FILES
+.DT
+strings                Data base of strings
+.br
+x.c            Massaged C source
+.br
+xs.c           C source for definition of array `xstr'
+.br
+/tmp/xs*       Temp file when `xstr name' doesn't touch
+.I strings
+.SH "SEE ALSO"
+mkstr(1)
+.SH AUTHOR
+William Joy
+.SH BUGS
+If a string is a suffix of another string in the data base,
+but the shorter string is seen first by
+.I xstr
+both strings will be placed in the data base, when just
+placing the longer one there will do.
diff --git a/usr/man/man1/yes.1 b/usr/man/man1/yes.1
new file mode 100644 (file)
index 0000000..d05c23b
--- /dev/null
@@ -0,0 +1,19 @@
+.TH YES 1 
+.UC 4
+.SH NAME
+yes \- be repetitively affirmative
+.SH SYNOPSIS
+.B yes
+[
+.B expletive
+]
+.SH DESCRIPTION
+.B Yes
+repeatedly outputs \*(lqy\*(rq,
+or if
+.B expletive
+is given,
+that is output repeatedly.
+Termination is by rubout.
+.SH BUGS
+Boring.
diff --git a/usr/man/man2/access.2 b/usr/man/man2/access.2
new file mode 100644 (file)
index 0000000..ea157f6
--- /dev/null
@@ -0,0 +1,48 @@
+.TH ACCESS 2 
+.SH NAME
+access \- determine accessibility of file
+.SH SYNOPSIS
+.nf
+.B access(name, mode)
+.B char *name;
+.fi
+.SH DESCRIPTION
+.I Access
+checks the given
+file
+.I name
+for accessibility according to
+.I mode,
+which is 4 (read), 2 (write) or 1 (execute) or a combination thereof.
+Specifying mode 0
+tests whether the directories leading to the file can be
+searched and the file exists.
+.PP
+An appropriate error indication is returned if 
+.I name
+cannot be found or if any
+of the desired access modes would not be granted.
+On disallowed accesses
+\-1 is returned and the error code is in
+.IR errno .
+0 is returned from successful tests.
+.PP
+The user and group IDs with respect to which permission is checked
+are the real UID and GID of the process, so this call is
+useful to set-UID programs.
+.PP
+Notice that it is only access bits that are checked.
+A directory may be announced as writable by
+.I access,
+but an attempt to open it for writing will fail
+(although files may be created there);
+a file may look executable, but
+.I exec
+will fail unless it is in proper format.
+.PP
+.SH SEE ALSO
+stat(2)
+.SH "ASSEMBLER (PDP-11)"
+(access = 33.)
+.br
+.B sys access; name; mode
diff --git a/usr/man/man2/acct.2 b/usr/man/man2/acct.2
new file mode 100644 (file)
index 0000000..857be84
--- /dev/null
@@ -0,0 +1,37 @@
+.TH ACCT 2 
+.SH NAME
+acct \- turn accounting on or off
+.SH SYNOPSIS
+.nf
+.B acct(file)
+.B char *file;
+.fi
+.SH DESCRIPTION
+The system is prepared to write a record
+in an accounting
+.I file
+for each process as it terminates.
+This
+call, with a null-terminated string naming an existing file
+as argument, turns on accounting;
+records for each terminating process are appended to
+.IR file .
+An argument of 0 causes accounting to be turned off.
+.PP
+The accounting file format is given in
+.IR acct (5).
+.SH "SEE ALSO"
+acct(5), sa(8)
+.SH DIAGNOSTICS
+On error \-1 is returned.
+The file must exist and the call may be exercised only by the super-user.
+It is erroneous to try to turn on accounting when it is already on.
+.SH BUGS
+No accounting is produced for programs running
+when a crash occurs.
+In particular nonterminating programs are never
+accounted for.
+.SH "ASSEMBLER (PDP-11)"
+(acct = 51.)
+.br
+.B sys acct; file
diff --git a/usr/man/man2/alarm.2 b/usr/man/man2/alarm.2
new file mode 100644 (file)
index 0000000..c7ed67b
--- /dev/null
@@ -0,0 +1,38 @@
+.TH ALARM 2 
+.SH NAME
+alarm \- schedule signal after specified time
+.SH SYNOPSIS
+.nf
+.B alarm(seconds)
+.B unsigned seconds;
+.fi
+.SH DESCRIPTION
+.I Alarm
+causes signal SIGALRM, see
+.IR signal (2),
+to be sent to the invoking process
+in a number of seconds given by the argument.
+Unless caught or ignored, the signal terminates the process.
+.PP
+Alarm requests are not stacked;
+successive calls reset the alarm clock.
+If the argument is 0, any alarm request is canceled.
+Because the clock has a 1-second resolution,
+the signal may occur up to one second early;
+because of scheduling delays,
+resumption of execution of when the signal is
+caught may be delayed an arbitrary amount.
+The longest specifiable delay time is 2147483647 seconds.
+.PP
+The return value is the amount of time
+previously remaining in the alarm clock.
+.SH "SEE ALSO"
+pause(2), signal(2), sigsys(2), sigset(3), sleep(3)
+.SH "ASSEMBLER (PDP-11)"
+(alarm = 27.)
+.br
+(seconds in r0)
+.br
+.B sys alarm
+.br
+(previous amount in r0)
diff --git a/usr/man/man2/brk.2 b/usr/man/man2/brk.2
new file mode 100644 (file)
index 0000000..7bf90e2
--- /dev/null
@@ -0,0 +1,80 @@
+.TH BRK 2 
+.UC 4
+.SH NAME
+brk, sbrk, break \- change core allocation
+.SH SYNOPSIS
+.B char *brk(addr)
+.PP
+.B char *sbrk(incr)
+.SH DESCRIPTION
+.I Brk
+sets the system's idea of the lowest location not used by the program
+(called the break)
+to
+.I addr
+(rounded up to the next multiple of 64 bytes
+on the PDP11, 256 bytes on the Interdata 8/32,
+and 1024 bytes on a VAX-11).
+Locations not less than
+.I addr
+and below the stack pointer
+are not in the address space and will thus
+cause a memory violation if accessed.
+.PP
+In the alternate function
+.I sbrk,
+.I incr
+more bytes are added to the
+program's data space and a pointer to the
+start of the new area is returned.
+.PP
+When a program begins execution via
+.I exec
+the break is set at the
+highest location defined by the program
+and data storage areas.
+Ordinarily, therefore, only programs with growing
+data areas need to use
+.IR break .
+.PP
+The
+.IR vlimit (2)
+system call may be used to determine
+the maximum permissible size of the
+.I data
+region;
+it will not be possible to set the break
+beyond
+\*(lqetext + vlimit(LIM_DATA, \-1).\*(rq
+(See
+.IR end (3)
+for the definition of
+.IR etext .)
+.SH "SEE ALSO"
+exec(2),
+vlimit(2),
+malloc(3),
+end(3)
+.SH DIAGNOSTICS
+Zero is returned if the 
+.I brk
+could be set;
+\-1 if the program requests more
+memory than the system limit
+or if too many segmentation
+registers would be required to implement the break.
+.I Sbrk
+returns \-1 if the break could not be set.
+.SH BUGS
+Setting the break in the range
+0177701 to 0177777 (on the PDP11) is the same as setting it to zero.
+.SH "ASSEMBLER (PDP-11)"
+(break = 17.)
+.br
+.B sys break; addr
+.PP
+.I Break
+performs the function of
+.IR brk .
+The name of the routine differs from that in C
+for historical reasons.
diff --git a/usr/man/man2/chdir.2 b/usr/man/man2/chdir.2
new file mode 100644 (file)
index 0000000..9dcf4f6
--- /dev/null
@@ -0,0 +1,26 @@
+.TH CHDIR 2 
+.SH NAME
+chdir \- change current working directory
+.SH SYNOPSIS
+.nf
+.B chdir(dirname)
+.B char *dirname;
+.fi
+.SH DESCRIPTION
+.I Dirname
+is the address of the pathname of a directory, terminated by a null byte.
+.I Chdir
+causes this directory
+to become the current working directory,
+the starting point for path names not beginning with `/'.
+.SH "SEE ALSO"
+cd(1)
+.SH DIAGNOSTICS
+Zero is returned if the directory is changed; \-1
+is returned
+if the given name is not that of a directory
+or is not searchable.
+.SH ASSEMBLER
+(chdir = 12.)
+.br
+.B sys chdir; dirname
diff --git a/usr/man/man2/chown.2 b/usr/man/man2/chown.2
new file mode 100644 (file)
index 0000000..51a5353
--- /dev/null
@@ -0,0 +1,41 @@
+.TH CHOWN 2 
+.UC 4
+.SH NAME
+chown \- change owner and group of a file
+.SH SYNOPSIS
+.nf
+.B chown(name, owner, group)
+.B char *name;
+.fi
+.SH DESCRIPTION
+The file
+whose name is given by the null-terminated string pointed
+to by
+.I name
+has its
+.I owner
+and 
+.I group
+changed as specified.
+Only the super-user may
+execute this call,
+because if users were able to give files away,
+they could defeat the (nonexistent)
+file-space accounting procedures.
+.PP
+On some systems,
+.I chown
+clears the set-user-id bit
+on the file
+to prevent accidental creation of
+set-user-id programs owned by the super-user.
+.SH "SEE ALSO"
+chown(1), passwd(5)
+.SH DIAGNOSTICS
+Zero is returned if the owner is changed;
+\-1 is returned
+on illegal owner changes.
+.SH "ASSEMBLER (PDP-11)"
+(chown = 16.)
+.br
+.B sys chown; name; owner; group
diff --git a/usr/man/man2/close.2 b/usr/man/man2/close.2
new file mode 100644 (file)
index 0000000..4bd2a05
--- /dev/null
@@ -0,0 +1,46 @@
+.TH CLOSE 2 
+.UC 4
+.SH NAME
+close \- close a file
+.SH SYNOPSIS
+.B close(fildes)
+.SH DESCRIPTION
+Given
+a file descriptor such as returned from an
+.I open,
+.I creat,
+.I dup
+or
+.IR pipe (2)
+call,
+.I close
+closes the associated file.
+A close of all files is automatic on
+.I exit,
+but since
+there is a limit on the number of open files per process,
+.I close
+is necessary for programs which deal with many files.
+.PP
+Files are closed upon termination of a process, and
+certain high-numbered file descriptors are closed by
+.IR exec (2),
+and it is possible to arrange for others to be closed
+(see FIOCLEX in
+.IR ioctl (2)).
+.SH "SEE ALSO"
+creat(2), open(2), pipe(2), exec(2), ioctl(2)
+.SH DIAGNOSTICS
+Zero is returned if a file is closed;
+\-1 is returned for an unknown file descriptor.
+.SH "ASSEMBLER (PDP-11)"
+(close = 6.)
+.br
+(file descriptor in r0)
+.br
+.B sys close
+.PP
+.SH BUGS
+A file cannot be closed while there are pages which have been
+.I vread
+but not referenced.
diff --git a/usr/man/man2/creat.2 b/usr/man/man2/creat.2
new file mode 100644 (file)
index 0000000..a455bf3
--- /dev/null
@@ -0,0 +1,67 @@
+.TH CREAT 2 
+.SH NAME
+creat \- create a new file
+.SH SYNOPSIS
+.nf
+.B creat(name, mode)
+.B char *name;
+.fi
+.SH DESCRIPTION
+.I Creat
+creates a new file or prepares to rewrite an existing
+file called 
+.I name,
+given as the address of a null-terminated string.
+If the file did not exist, it is given
+mode
+.IR mode ,
+as modified by the process's mode mask (see
+.IR umask (2)).
+Also see
+.IR  chmod (2)
+for the
+construction of the
+.I mode
+argument.
+.PP
+If the file did exist, its mode and owner remain unchanged
+but it is truncated to 0 length.
+.PP
+The file is also opened for writing, and its file descriptor
+is returned.
+.PP
+The
+.I mode
+given is arbitrary; it need not allow
+writing.
+This feature is used by programs which deal with temporary
+files of fixed names.
+The creation is done with
+a mode that forbids writing.
+Then if a second
+instance of the program attempts a
+.I creat,
+an error is
+returned and the program knows that the name is unusable
+for the moment.
+.SH "SEE ALSO"
+write(2), close(2), chmod(2), umask (2)
+.SH DIAGNOSTICS
+The value \-1 is returned if:
+a needed directory is not searchable;
+the file does not exist and the directory
+in which it is to be created is not writable; the file
+does exist and is unwritable;
+the file is a directory;
+there are already too many files open.
+.SH "ASSEMBLER (PDP-11)"
+(creat = 8.)
+.br
+.B sys creat; name; mode
+.br
+(file descriptor in r0)
+.SH BUGS
+A file cannot be truncated while any process
+has pages set up by a
+.I vread
+on that file which have not been referenced.
diff --git a/usr/man/man2/dup.2 b/usr/man/man2/dup.2
new file mode 100644 (file)
index 0000000..9a97c98
--- /dev/null
@@ -0,0 +1,68 @@
+.TH DUP 2 
+.SH NAME
+dup, dup2 \- duplicate an open file descriptor
+.SH SYNOPSIS
+.nf
+.B dup(fildes)
+.B int fildes;
+.PP
+.B dup2(fildes, fildes2)
+.B int fildes, fildes2;
+.fi
+.SH DESCRIPTION
+Given
+a file descriptor returned from
+an
+.I open,
+.I pipe,
+or
+.I creat
+call,
+.I dup
+allocates another file descriptor
+synonymous
+with
+the original.
+The new file descriptor is returned.
+.PP
+In the second form of the call,
+.I fildes
+is a file descriptor referring to an open file, and
+.I fildes2
+is a non-negative integer less than the maximum value
+allowed for file descriptors (approximately 19).
+.I Dup2
+causes
+.I fildes2
+to refer to the same file as
+.I fildes.
+If
+.I fildes2
+already referred to an open file, it is closed first.
+.SH "SEE ALSO"
+creat(2), open(2), close(2), pipe(2)
+.SH DIAGNOSTICS
+The value \-1 is returned if:
+the given file descriptor is invalid;
+there are already too many open files.
+.SH "ASSEMBLER (PDP-11)"
+(dup = 41.)
+.br
+(file descriptor in r0)
+.br
+(new file descriptor in r1)
+.br
+.B sys dup
+.br
+(file descriptor in r0)
+.PP
+The
+.I dup2
+entry is implemented by adding 0100 to
+.I fildes.
+.SH BUGS
+Dup2 fails if
+.I fildes2
+was
+.I vread
+from and some of the pages have not been referenced.
diff --git a/usr/man/man2/exit.2 b/usr/man/man2/exit.2
new file mode 100644 (file)
index 0000000..e0bcb8f
--- /dev/null
@@ -0,0 +1,45 @@
+.TH EXIT 2 
+.UC 4
+.SH NAME
+exit \- terminate process
+.SH SYNOPSIS
+.nf
+.B exit(status)
+.B int status;
+.PP
+.B _exit(status)
+.B int status;
+.fi
+.SH DESCRIPTION
+.I Exit
+is the normal means of terminating a process.
+.I Exit
+closes all the process's files and notifies the parent process
+if it is executing a
+.IR wait .
+The low-order 8 bits of 
+.I status
+are available to the parent process.
+.PP
+This call can never return.
+.PP
+The C function
+.I exit
+may cause cleanup actions before the
+final `sys exit'.
+The function
+.I _exit
+circumvents all cleanup, and should be used to terminate a child
+process after a
+.IR fork (2)
+or
+.IR vfork (2)
+to avoid flushing buffered output twice.
+.SH "SEE ALSO"
+fork(2), vfork(2), wait(2)
+.SH "ASSEMBLER (PDP-11)"
+(exit = 1.)
+.br
+(status in r0)
+.br
+.B sys exit
diff --git a/usr/man/man2/fork.2 b/usr/man/man2/fork.2
new file mode 100644 (file)
index 0000000..413d0d3
--- /dev/null
@@ -0,0 +1,59 @@
+.TH FORK 2 
+.UC
+.SH NAME
+fork \- spawn new process
+.SH SYNOPSIS
+.B fork()
+.SH DESCRIPTION
+.I Fork
+and
+.IR vfork (2)
+are the only ways new processes are created.
+With
+.I fork ,
+the new process's core image is a copy of
+that of the caller of
+.IR fork .
+The only distinction
+is the fact
+that the value returned in the old (parent) process
+contains the process ID
+of the new (child) process,
+while the value returned in the child is 0.
+Process ID's range from 1 to 30,000.
+This process ID is used by
+.IR wait (2).
+.PP
+Files open before the fork
+are shared, and have a common read-write pointer.
+In particular,
+this is the way that standard input and output
+files are passed and also how
+pipes are set up.
+.PP
+.I Vfork
+is the most efficient way of creating a new process
+when the fork is to be followed shortly by an exec,
+but is not suitable when the fork is not to be followed
+by an exec.
+.SH "SEE ALSO"
+wait(2), exec(2), vfork(2)
+.SH DIAGNOSTICS
+Returns \-1 and fails to create a process if:
+there is inadequate swap space,
+the user is not super-user and has too many processes,
+or the system's process table is full.
+Only the super-user can take the last process-table slot.
+.SH "ASSEMBLER (PDP-11)"
+(fork = 2.)
+.br
+.B sys fork
+.br
+(new process return)
+.br
+(old process return, new process ID in r0)
+.PP
+The return locations in the old and new process
+differ by one word.
+The C-bit is set in the old process if a new
+process could not be created.
diff --git a/usr/man/man2/getpgrp.2j b/usr/man/man2/getpgrp.2j
new file mode 100644 (file)
index 0000000..170f60c
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man2/setpgrp.2j
diff --git a/usr/man/man2/getpid.2 b/usr/man/man2/getpid.2
new file mode 100644 (file)
index 0000000..cb0ac07
--- /dev/null
@@ -0,0 +1,21 @@
+.TH GETPID 2 
+.SH NAME
+getpid \- get process identification
+.SH SYNOPSIS
+.B getpid()
+.SH DESCRIPTION
+.I Getpid
+returns
+the process ID of
+the current process.
+Most often it is used to generate
+uniquely-named
+temporary files.
+.SH "SEE ALSO"
+mktemp(3)
+.SH "ASSEMBLER (PDP-11)"
+(getpid = 20.)
+.br
+.B sys getpid
+.br
+(pid in r0)
diff --git a/usr/man/man2/getuid.2 b/usr/man/man2/getuid.2
new file mode 100644 (file)
index 0000000..44cb7cc
--- /dev/null
@@ -0,0 +1,40 @@
+.TH GETUID 2 
+.SH NAME
+getuid, getgid, geteuid, getegid \- get user and group identity
+.SH SYNOPSIS
+.B getuid()
+.PP
+.B geteuid()
+.PP
+.B getgid()
+.PP
+.B getegid()
+.SH DESCRIPTION
+.I Getuid
+returns the real user ID of the current process,
+.I geteuid
+the effective user ID.
+The real user ID identifies the person who is logged in,
+in contradistinction to the effective user ID, which
+determines his access permission at the moment.
+It is thus useful to programs which operate using
+the `set user ID' mode, to find out who invoked them.
+.PP
+.I Getgid
+returns the real group ID,
+.I getegid
+the effective group ID.
+.SH "SEE ALSO"
+setuid(2)
+.SH "ASSEMBLER (PDP-11)"
+(getuid = 24.)
+.br
+.B sys getuid
+.br
+(real user ID in r0, effective user ID in r1)
+.PP
+(getgid = 47.)
+.br
+.B sys getgid
+.br
+(real group ID in r0, effective group ID in r1)
diff --git a/usr/man/man2/indir.2 b/usr/man/man2/indir.2
new file mode 100644 (file)
index 0000000..b039fff
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man2/syscall.2
diff --git a/usr/man/man2/intro.2 b/usr/man/man2/intro.2
new file mode 100644 (file)
index 0000000..6af0147
--- /dev/null
@@ -0,0 +1,298 @@
+.TH INTRO 2  4/1/81
+.UC 4
+.de en
+.HP
+\\$1  \\$2  \\$3
+.br
+..
+.SH NAME
+intro, errno \- introduction to system calls and error numbers
+.SH SYNOPSIS
+.B #include <errno.h>
+.SH DESCRIPTION
+Section 2 of this manual
+describes all the entries into the system.
+Distinctions as to the status of the entries are made in the headings:
+.IP (2)
+System call entries which are standard in Version 7 UNIX systems.
+.IP (2J)
+System call entries added in support of the job control mechanisms of
+.IR csh (1).
+These system calls are not available in standard Version 7 UNIX systems,
+and should be used only when necessary; to prevent inexplicit use they are
+contained in the \fIjobs\fR library which must be specifically requested with
+the
+.B \-ljobs
+loader option.
+The use of conditional compilation
+is recommented when possible so that programs which use these features
+will gracefully degrade on systems which lack job control.
+.IP (2V)
+System calls added for the Virtual Memory version of UNIX distributed
+by Berkeley.  Some of these calls are likely to be replaced by new facilities
+in future versions; in cases where this is imminent, this is indicated in
+the individual manual pages.
+.PP
+An error condition is indicated by an otherwise
+impossible returned value.
+Almost always this is \(mi1;
+the individual sections specify the details.
+An error number is also made available
+in the external variable
+.IR errno .
+.I Errno
+is not cleared on successful calls, so it should be tested only
+after an error has occurred.
+.PP
+There is a table of messages
+associated with each error, and a routine for printing the
+message;
+See
+.IR perror (3).
+The possible error numbers
+are not recited with each writeup in section 2, since many
+errors are possible for most of the calls.
+Here is a list of the error numbers,
+their names as defined in <errno.h>,
+and the messages available using
+.IR perror .
+.en 0 \h'\w'EIO'u' "Error 0
+Unused.
+.en 1 EPERM "Not owner
+Typically this error indicates
+an attempt to modify a file in some way forbidden
+except to its owner or super-user.
+It is also returned for attempts
+by ordinary users to do things
+allowed only to the super-user.
+.en 2 ENOENT "No such file or directory
+This error occurs when a file name is specified
+and the file should exist but doesn't, or when one
+of the directories in a path name does not exist.
+.en 3 ESRCH "No such process
+The process whose number was given to
+.I signal
+and
+.I ptrace
+does not exist, or is already dead.
+.en 4 EINTR "Interrupted system call
+An asynchronous signal (such as interrupt or quit),
+which the user has elected to catch,
+occurred during a system call.
+If execution is resumed
+after processing the signal,
+it will appear as if the interrupted system call
+returned this error condition.
+.en 5 EIO "I/O error
+Some physical I/O error occurred during a
+.I read
+or
+.IR write .
+This error may in some cases occur
+on a call following the one to which it actually applies.
+.en 6 ENXIO "No such device or address
+I/O on a special file refers to a subdevice which does not
+exist,
+or beyond the limits of the device.
+It may also occur when, for example, a tape drive
+is not dialed in or no disk pack is loaded on a drive.
+.en 7 E2BIG "Arg list too long
+An argument list longer than 10240 bytes
+is presented to
+.IR exec .
+.en 8 ENOEXEC "Exec format error
+A request is made to execute a file
+which, although it has the appropriate permissions,
+does not start with a valid magic number, see
+.IR a.out (5).
+.en 9 EBADF "Bad file number
+Either a file descriptor refers to no
+open file,
+or a read (resp. write) request is made to
+a file which is open only for writing (resp. reading).
+.en 10 ECHILD "No children
+.I Wait
+and the process has no
+living or unwaited-for children.
+.en 11 EAGAIN "No more processes
+In a
+.I fork,
+the system's process table is full
+or the user is not allowed to create any more
+processes.
+.en 12 ENOMEM "Not enough core
+During an
+.I exec
+or
+.I break,
+a program asks for more core than the system is able to supply.
+This is not a temporary condition; the maximum core size
+is a system parameter.
+The error may also occur if the arrangement
+of text, data, and stack segments
+requires too many segmentation registers.
+.en 13 EACCES "Permission denied
+An attempt was made to access a file in a way forbidden
+by the protection system.
+.en 14 EFAULT "Bad address
+The system encountered a hardware fault in attempting to
+access the arguments of a system call.
+.en 15 ENOTBLK "Block device required
+A plain file was mentioned where a block device was required,
+e.g. in
+.IR mount .
+.en 16 EBUSY "Mount device busy
+An attempt to mount a device that was already mounted or
+an attempt was made to dismount a device
+on which there is an active file
+directory.
+(open file, current directory, mounted-on file, active text segment).
+.en 17 EEXIST "File exists
+An existing file was mentioned in an inappropriate context,
+e.g.
+.IR link .
+.en 18 EXDEV "Cross-device link
+A link to a file on another device
+was attempted.
+.en 19 ENODEV "No such device
+An attempt was made to apply an inappropriate
+system call to a device;
+e.g. read a write-only device.
+.en 20 ENOTDIR "Not a directory
+A non-directory was specified where a directory
+is required,
+for example in a path name or
+as an argument to
+.IR chdir .
+.en 21 EISDIR "Is a directory
+An attempt to write on a directory.
+.en 22 EINVAL "Invalid argument
+Some invalid argument:
+dismounting a non-mounted
+device,
+mentioning an unknown signal in
+.I signal,
+reading or writing a file for which
+.I seek
+has generated a negative pointer.
+Also set by math functions, see 
+.IR intro (3).
+.en 23 ENFILE "File table overflow
+The system's table of open files is full,
+and temporarily no more
+.I opens
+can be accepted.
+.en 24 EMFILE "Too many open files
+Customary configuration limit is 20 per process.
+.en 25 ENOTTY "Not a typewriter
+The file mentioned in
+.I stty
+or
+.I gtty
+is not a terminal or one of the other
+devices to which these calls apply.
+.en 26 ETXTBSY "Text file busy
+An attempt to execute a pure-procedure
+program which is currently open for writing
+(or reading!).
+Also an attempt to open for writing a pure-procedure
+program that is being executed.
+.en 27 EFBIG "File too large
+The size of a file exceeded the maximum (about
+.if t 10\u\s-29\s+2\d
+.if n 1.0E9
+bytes).
+.en 28 ENOSPC "No space left on device
+During a
+.I write
+to an ordinary file,
+there is no free space left on the device.
+.en 29 ESPIPE "Illegal seek
+An
+.I lseek
+was issued to a pipe.
+This error should also be issued for
+other non-seekable devices.
+.en 30 EROFS "Read-only file system
+An attempt to modify a file or directory
+was made
+on a device mounted read-only.
+.en 31 EMLINK "Too many links
+An attempt to make more than 32767 links to a file.
+.en 32 EPIPE "Broken pipe
+A write on a pipe for which there is no process
+to read the data.
+This condition normally generates a signal;
+the error is returned if the signal is ignored.
+.en 33 EDOM "Math argument
+The argument of a function in the math package (3M)
+is out of the domain of the function.
+.en 34 ERANGE "Result too large
+The value of a function in the math package (3M)
+is unrepresentable within machine precision.
+.SH SEE ALSO
+intro(3)
+.SH "ASSEMBLER (PDP-11)"
+.B as /usr/include/sys.s file ...
+.PP
+The PDP11 assembly language interface is given for each
+system call.
+The assembler symbols are defined in `/usr/include/sys.s'.
+.PP
+Return values appear in registers r0 and r1;
+it is unwise to count on these registers being preserved
+when no value is expected.
+An erroneous call is always
+indicated by turning on the c-bit of the condition codes.
+The error number is returned in r0.
+The presence of an error is most easily tested
+by the instructions
+.I bes
+and
+.I bec
+(`branch on error set (or clear)').
+These are synonyms for
+the
+.I bcs
+and
+.I bcc
+instructions.
+.PP
+On the Interdata 8/32, the system call arguments
+correspond well to the arguments of the C routines.
+The sequence is:
+.IP
+.nf
+la     %2,errno
+l      %0,&callno
+svc    0,args
+.fi
+.PP
+Thus register 2 points to a word into which the error number will be
+stored as needed; it is cleared if no error occurs.
+Register 0 contains the system call number; the nomenclature
+is identical to that on the PDP11.
+The argument of the
+.I svc
+is the address of the arguments, laid out in storage
+as in the C calling sequence.
+The return value is in register 2 (possibly 3 also, as in
+.IR pipe )
+and is \-1 in case of error.
+The overflow bit in the program status word is also
+set when errors occur.
+.PP
+On the VAX-11 a system call follows exactly the same conventions as a
+C procedure.  Namely, register
+.B ap
+points to a long word containing the number of arguments, and the
+arguments follow in successive long words.  Values are returned in registers
+.B r0
+and
+.BR r1 .
+An error is indicated by setting the C (carry) bit in the processor status
+word; the error number is placed in
+.BR r0 .
+.SH BUGS
+The message \*(lqMount device busy\*(rq is reported when a terminal is inaccessible
+because the \*(lqexclusive use\*(rq bit is set; this is confusing.
diff --git a/usr/man/man2/ioctl.2 b/usr/man/man2/ioctl.2
new file mode 100644 (file)
index 0000000..c06424d
--- /dev/null
@@ -0,0 +1,126 @@
+.TH IOCTL 2 
+.UC 4
+.SH NAME
+ioctl, stty, gtty \- control device
+.SH SYNOPSIS
+.nf
+.B #include <sgtty.h>
+.PP
+.B ioctl(fildes, request, argp)
+.B struct sgttyb *argp;
+.PP
+.B stty(fildes, argp)
+.B struct sgttyb *argp;
+.PP
+.B gtty(fildes, argp)
+.B struct sgttyb *argp;
+.fi
+.SH DESCRIPTION
+.I Ioctl
+performs a variety of functions
+on character special files (devices).
+The writeups of various devices
+in section 4 discuss how
+.I ioctl
+applies to them.
+.PP
+For certain status setting and status inquiries
+about terminal devices, the functions
+.I stty
+and
+.I gtty
+are equivalent to
+.RS
+.B ioctl(fildes, TIOCSETP, argp)
+.br
+.B ioctl(fildes, TIOCGETP, argp)
+.RE
+.LP
+respectively; see
+.IR tty (4).
+.PP
+The following two standard calls, however, apply to any open file:
+.PP
+.RS
+.B ioctl(fildes, FIOCLEX, NULL);
+.br
+.B ioctl(fildes, FIONCLEX, NULL);
+.RE
+.LP
+The first causes the file to be closed automatically during
+a successful
+.I exec
+operation;
+the second reverses the effect of the first.
+.PP
+The following call is peculiar to the Berkeley implementation, and
+also applies to any open file:
+.PP
+.RS
+.B ioctl(fildes, FIONREAD, &count)
+.RE
+.LP
+returning, in the longword
+.I count
+the number of characters available for reading from
+.I fildes.
+.SH "SEE ALSO"
+stty(1), tty(4), exec(2)
+.SH DIAGNOSTICS
+Zero is returned if the call was successful;
+\-1 if the file descriptor does not refer to
+the kind of file for which it was intended,
+or if
+.I request
+attempts to modify the state of a terminal
+when
+.I fildes
+is not writeable.
+.PP
+.I Ioctl
+calls which attempt to modify the state of a process control terminal
+while a process is not in the process group of the control terminal
+will cause a SIGTTOU signal to be sent to the process' process group.
+Such
+.IR ioctl s
+are allowed,
+however,
+if SIGTTOU is being held,
+ignored,
+if the process is an orphan which has been inherited by
+.IR init ,
+or is the child in an incomplete
+.I vfork
+(see
+.IR jobs (3))
+.SH BUGS
+Strictly speaking,
+since 
+.I ioctl
+may be extended in different ways to devices with
+different properties,
+.I argp
+should have an open-ended declaration like
+.IP
+.B union { struct sgttyb
+.RB ... ;
+\&...
+.B } *argp;
+.PP
+The important thing is that the size is fixed by `struct sgttyb'.
+.SH "ASSEMBLER (PDP-11)"
+(ioctl = 54.)
+.br
+.B sys ioctl; fildes; request; argp
+.PP
+(stty = 31.)
+.br
+(file descriptor in r0)
+.br
+.B stty; argp
+.PP
+(gtty = 32.)
+.br
+(file descriptor in r0)
+.br
+.B sys gtty; argp
diff --git a/usr/man/man2/killpg.2j b/usr/man/man2/killpg.2j
new file mode 100644 (file)
index 0000000..5b23af3
--- /dev/null
@@ -0,0 +1,55 @@
+.TH KILLPG 2J
+.UC 4
+.SH NAME
+killpg \- send signal to a process or a process group
+.SH SYNOPSIS
+.B killpg(pgrp, sig)
+.PP
+.B cc ... \-ljobs
+.SH DESCRIPTION
+.I Killpg
+sends the signal
+.I sig
+to the specified process group.
+See
+.IR sigsys (2)
+for a list of signals;
+see
+.IR jobs (3)
+for an explanation of process groups.
+.PP
+The sending process and members of the process group must
+have the same effective user ID, otherwise
+this call is restricted to the super-user.
+As a single special case the continue signal SIGCONT may be sent
+to any process which is a descendant of the current process.  This
+allows a command interpreter such as
+.IR csh (1)
+to restart set-user-id processes stopped from the keyboard with a stop signal.
+.PP
+The calls
+.IP
+.B "killpg(0, sig)"
+.LP
+and
+.IP
+.B "kill(0, sig)
+.LP
+have identical effects, sending the signal to all members of the
+invoker's process group (including the process itself).
+It is preferable to use the call involving
+.I kill
+in this case, as it is portable to other UNIX systems.
+.SH "SEE ALSO"
+jobs(3), kill(2), sigsys(2), signal(2), csh(1), kill(1)
+.SH DIAGNOSTICS
+Zero is returned if the processes are sent the signals;
+\-1 is returned if any process in the process group cannot be sent
+the signal, or if there are no members in the process group.
+.SH BUGS
+The job control facilities are not available in standard version 7 UNIX.
+These facilities are still under development and may change in future
+releases of the system as better inter-process communication facilities
+and support for virtual terminals become available.  The options and
+specifications of this system call and even the call itself
+are thus subject to change.
diff --git a/usr/man/man2/link.2 b/usr/man/man2/link.2
new file mode 100644 (file)
index 0000000..eb99386
--- /dev/null
@@ -0,0 +1,41 @@
+.TH LINK 2 
+.UC 4
+.SH NAME
+link \- link to a file
+.SH SYNOPSIS
+.nf
+.B link(name1, name2)
+.B char *name1, *name2;
+.fi
+.SH DESCRIPTION
+A link
+to
+.I name1
+is created;
+the link has the name
+.IR name2 .
+Either name may be an arbitrary path name.
+.SH "SEE ALSO"
+ln(1), unlink(2)
+.SH DIAGNOSTICS
+Zero is returned when a link is made;
+\-1 is returned when
+.I name1
+cannot be found; when
+.I name2
+already exists; when the directory of
+.I name2
+cannot be written; when
+an attempt is made to link to a directory by a user
+other than the super-user;
+when an attempt is made to link
+to a file on another file system;
+when a file has too many links.
+.PP
+On some systems
+the super-user may link
+to non-ordinary files.
+.SH "ASSEMBLER (PDP-11)"
+(link = 9.)
+.br
+.B sys link; name1; name2
diff --git a/usr/man/man2/lseek.2 b/usr/man/man2/lseek.2
new file mode 100644 (file)
index 0000000..449cb9b
--- /dev/null
@@ -0,0 +1,67 @@
+.TH LSEEK 2 
+.SH NAME
+lseek, tell \- move read/write pointer
+.SH SYNOPSIS
+.nf
+.B long lseek(fildes, offset, whence)
+.B long offset;
+.PP
+.B long tell(fildes)
+.fi
+.SH DESCRIPTION
+The file
+descriptor refers to a file open for reading or writing.
+The read (resp. write) pointer for the file is set as follows:
+.IP
+If
+.I whence
+is 0, the pointer is set to
+.I offset
+bytes.
+.IP
+If
+.I whence
+is 1, the pointer is set to its current location plus
+.IR offset .
+.IP
+If
+.I whence
+is 2, the pointer is set to the size of the
+file plus
+.IR offset .
+.PP
+The returned value is the resulting pointer location.
+.PP
+The obsolete function
+.IR tell ( fildes )
+is identical to
+.IR lseek ( "fildes, 0L, 1" ).
+.PP
+Seeking far beyond the end of a file, then writing,
+creates a gap or `hole', which occupies no
+physical space and reads as zeros.
+.SH "SEE ALSO"
+open(2), creat(2), fseek(3)
+.SH DIAGNOSTICS
+\-1
+is returned for
+an undefined file descriptor,
+seek on a pipe,
+or seek to a position before the beginning of file.
+.SH BUGS
+.I Lseek
+is a no-op on character special files.
+.SH "ASSEMBLER (PDP-11)"
+(lseek = 19.)
+.br
+(file descriptor in r0)
+.br
+.B sys lseek; offset1; offset2; whence
+.PP
+.I Offset1
+and
+.I offset2
+are the high and low words of 
+.IR offset ;
+r0 and r1 contain
+the pointer upon return.
diff --git a/usr/man/man2/mknod.2 b/usr/man/man2/mknod.2
new file mode 100644 (file)
index 0000000..e85fad6
--- /dev/null
@@ -0,0 +1,43 @@
+.TH MKNOD 2 
+.SH NAME
+mknod \- make a directory or a special file
+.SH SYNOPSIS
+.nf
+.B mknod(name, mode, addr)
+.B char *name;
+.nf
+.SH DESCRIPTION
+.I Mknod
+creates a new file
+whose name is the null-terminated string pointed
+to by
+.IR name .
+The mode of the new file
+(including directory and special file bits)
+is initialized from
+.IR mode .
+(The protection part of the mode
+is modified by the process's mode mask; see
+.IR umask (2)).
+The first block pointer of the i-node
+is initialized from
+.IR addr .
+For ordinary files and directories
+.I addr
+is normally zero.
+In the case of a special file,
+.I addr
+specifies which special file.
+.PP
+.I Mknod
+may be invoked only by the super-user.
+.SH "SEE ALSO"
+mkdir(1), mknod(1), filsys(5)
+.SH DIAGNOSTICS
+Zero is returned if the file has been made; \-1
+if the file already exists
+or if the user is not the super-user.
+.SH "ASSEMBLER (PDP-11)"
+(mknod = 14.)
+.br
+.B sys  mknod; name; mode; addr
diff --git a/usr/man/man2/mount.2 b/usr/man/man2/mount.2
new file mode 100644 (file)
index 0000000..73bc013
--- /dev/null
@@ -0,0 +1,88 @@
+.TH MOUNT 2 
+.SH NAME
+mount, umount \- mount or remove file system
+.SH SYNOPSIS
+.nf
+.B mount(special, name, rwflag)
+.B char *special, *name;
+.PP
+.B umount(special)
+.B char *special;
+.fi
+.SH DESCRIPTION
+.I Mount
+announces to the system that a removable file system has
+been mounted on
+the block-structured special file
+.I special;
+from now on, references to file
+.I name
+will refer to
+the root file on the newly mounted file system.
+.I Special
+and
+.I name
+are pointers to null-terminated strings
+containing the appropriate path names.
+.PP
+.I Name
+must exist already. 
+.I Name
+must be a directory (unless the root of the mounted file system
+is not a directory).
+Its old contents
+are inaccessible while the file system
+is mounted.
+.PP
+The
+.I rwflag
+argument determines whether
+the file system can be written on; if it is 0 writing
+is allowed, if non-zero no writing is done.
+Physically write-protected and magnetic
+tape file systems must be mounted read-only or
+errors will occur when access times are updated,
+whether or not any
+explicit write is attempted.
+.PP
+.I Umount
+announces to the system that the
+.I special
+file is no longer to contain a removable file system.
+The associated file reverts to its ordinary interpretation.
+.SH "SEE ALSO"
+mount(8)
+.SH DIAGNOSTICS
+.I Mount
+returns 0 if the action occurred; \-1 if
+.I special
+is inaccessible or not an appropriate file; if
+.I name
+does not exist; if
+.I special
+is already mounted; if
+.I name
+is in use; or if
+there are already too many
+file systems mounted.
+.PP
+.I Umount
+returns 0 if the action occurred; \-1 if
+if the special file is inaccessible or
+does not have a mounted file system,
+or if there are active files in the mounted 
+file system.
+.SH BUGS
+If a file containing holes
+(unallocated blocks)
+is read, even on a file system mounted read-only,
+the system will attempt to fill in the holes
+by writing on the device.
+.SH "ASSEMBLER (PDP-11)"
+(mount = 21.)
+.br
+.B sys  mount; special; name; rwflag
+.PP
+(umount = 22.)
+.br
+.B sys  umount; special
diff --git a/usr/man/man2/mpx.2 b/usr/man/man2/mpx.2
new file mode 100644 (file)
index 0000000..188a3f3
--- /dev/null
@@ -0,0 +1,503 @@
+.TH MPX 2 
+.UC 4
+.SH NAME
+mpx \- create and manipulate multiplexed files
+.SH SYNOPSIS
+.nf
+.B mpx(name, access)
+.B char *name;
+.PP
+.B join(fd, xd)
+.PP
+.B chan(xd)
+.PP
+.B extract(i, xd)
+.PP
+.B attach(i, xd)
+.PP
+.B detach(i, xd)
+.PP
+.B connect(fd, cd, end)
+.PP
+.B npgrp(i, xd, pgrp)
+.PP
+.B ckill(i, xd, signal)
+.PP
+.B #include <sys/mx.h>
+.B mpxcall(cmd, vec)
+.B int *vec;
+.fi
+.SH DESCRIPTION
+.PP
+.B mpxcall(cmd, vec)
+is the system call shared by the 
+library routines described below.
+.I Cmd
+selects a command using values
+defined in
+.IR <sys/mx.h> .
+.I Vec
+is the address of a
+structure containing the arguments
+for the command.
+.PP
+.B mpx(name, access)
+.PP
+.I Mpx
+creates and opens the file 
+.I name
+with access permission
+.I access
+(see
+.IR creat (2))
+and returns a file descriptor available for
+reading and writing.
+A \-1 is returned if the file cannot be created,
+if
+.I name
+already exists, or
+if the file table or other operating system
+data structures are full.
+The file descriptor is required for use
+with other routines.
+.PP
+If
+.I name
+is 0,
+a file descriptor is returned as described
+but no entry is created in the file system.
+.PP
+Once created an mpx file may be opened
+(see
+.IR open (2))
+by any process.
+This provides a form of interprocess communication
+whereby a process B can `call' process A
+by opening an mpx file 
+created by A.
+To B, the file is ordinary with one exception:
+the
+.I connect
+primitive could be applied to it.
+Otherwise the functions
+described below are used only in process A
+and descendants that inherit the open mpx file.
+.PP
+When a process opens an mpx file, the owner of the
+file receives a control message when the file is next read.
+The method for `answering' 
+this kind of call involves 
+using
+.I attach
+and
+.I detach
+as described in more detail below.
+.PP
+Once B has opened A's mpx file
+it is said to have a
+.I channel
+to A.
+A channel is a pair of data streams:
+in this case, one from B to A and the
+other from A to B.
+Several processes may open the same mpx file
+yielding multiple channels within the one mpx file.
+By accessing the appropriate channel,
+A can communicate with B and any others.
+When A reads (see
+.IR read (2))
+from the mpx file
+data written to A by the other processes appears
+in A's buffer using a record format
+described in
+.IR mpxio (5).
+When A writes (see
+.IR write (2))
+on its mpx file the data must be formatted in a similar way.
+.PP
+The following commands
+are used to manipulate mpx files and channels.
+.IP
+.IR join \-
+adds a new channel on an mpx file to an open file F.
+I/O on the new channel is I/O on F.
+.br
+.IR chan \-
+creates a new channel.
+.br
+.IR extract \-
+file descriptor maintenance.
+.br
+.IR connect \-
+similar to join except that the open file F is connected
+to an existing channel.
+.br
+.I attach
+and
+.IR detach \-
+used with call protocol.
+.br
+.IR npgrp \-
+manipulates process group numbers so that a channel
+can act as a control terminal (see
+.IR tty (4)).
+.br
+.IR ckill \-
+send signal (see
+.IR signal (2))
+to process group through channel.
+.PP
+A maximum of 15 channels may be connected to an
+mpx file.
+They are numbered 0 through 14.
+.I Join
+may be used to make one mpx file appear as a channel
+on another mpx file.
+A hierarchy or tree of mpx files may be set up in this way.
+In this case
+one of the mpx files must be the root of a tree
+where the other mpx files are interior nodes.
+The maximum depth of such a tree
+is 4.
+.PP
+An
+.I index
+is a 16-bit value
+that denotes a location
+in an mpx tree other than the root:
+the path through mpx `nodes' from the root
+to the location is expressed as a sequence of
+4-bit nibbles.
+The branch taken at the root is represented by
+the low-order 4-bits of an index.
+Each succeeding branch is specified by the next
+higher-order nibble.
+If the length of a path to be expressed
+is less than 4,
+then the illegal channel number, 15,
+must be used to terminate the sequence.
+This is not strictly necessary for the
+simple case of a tree consisting of
+only a root node: its channels
+can be expressed by the numbers
+0 through 14.
+An index
+.I i
+and file descriptor
+.I xd
+for the root of an mpx tree are
+required as arguments to most
+of the commands described below.
+Indices also serve as channel identifiers
+in the record formats given in
+.IR mpxio (5).
+Since \-1 is not a valid index,
+it can be returned as a error indication
+by subroutines that normally return
+indices.
+.PP
+The operating system informs the process managing an mpx file
+of changes in the status of channels attached to the file
+by generating messages that
+are read along with data from the channels.
+The form and content of these messages is described
+in
+.IR mpxio (5).
+.PP
+.B join(fd, xd)
+establishes a connection (channel) between an mpx file
+and another object.
+.I Fd
+is an open file descriptor for a character device
+or an mpx file and
+.I xd
+is the file descriptor of an
+mpx file.
+.I Join
+returns the index for the new channel
+if the operation succeeds and \-1
+if it does not.
+.PP
+Following  join,
+.I fd
+may still be used in any system call that would
+have been meaningful before the join operation.
+Thus
+a process can read and write directly to
+.I fd
+as well as access it via
+.I xd.
+If the number of channels
+required for a tree of mpx files
+exceeds the number of open files
+permitted a process by the operating system,
+some of the file descriptors can be released using
+the standard  
+.IR close (2)
+call.
+Following a close on an active file descriptor for a channel
+or internal mpx node,
+that object may still be accessed through the root of the
+tree.
+.PP
+.B chan(xd)
+allocates a channel and connects
+one end of it to the mpx file
+represented by file descriptor
+.I xd.
+.I Chan
+returns the index of the new channel or
+a \-1 indicating failure.
+The
+.I extract
+primitive can be used to get a non-multiplexed
+file descriptor for the free end of a channel
+created by
+.I chan.
+.PP
+Both
+.I chan
+and
+.I join
+operate on the mpx file specified by
+.IR xd .
+File descriptors for interior nodes of an
+mpx tree must be preserved or reconstructed with
+.I extract
+for use with
+.I join
+or
+.IR chan .
+For the remaining commands described here,
+.I xd
+denotes the file descriptor for the
+root of an mpx tree.
+.PP
+.B extract(i, xd)
+returns a file descriptor for the object with
+index
+.I i
+on the mpx tree with root file descriptor
+.I xd.
+A \-1 is returned by extract if a file descriptor is not available
+or if the arguments do not refer to an existing
+channel and mpx file.
+.PP
+.B attach(i, xd)
+.br
+.BR "detach(i, xd)" .
+If a process A has created an mpx file represented
+by file descriptor
+.I xd,
+then a process B
+can open (see
+.IR open (2))
+the mpx file.
+The purpose is to establish a channel between
+A and B through the mpx file.
+.I Attach
+and 
+.I Detach
+are used by A to respond to
+such opens.
+.PP
+An open request by B fails immediately if a 
+new channel cannot be allocated on the mpx file,
+if the mpx file does not exist,
+or if it does exist
+but there is no process (A)
+with a multiplexed file descriptor
+for the mpx file
+(i.e.
+.I xd
+as returned by
+.IR mpx (2)).
+Otherwise a channel
+with index number
+.I i
+is allocated.
+The next time A reads on file descriptor
+.IR xd ,
+the WATCH control message
+(see
+.IR mpxio (5))
+will be delivered on channel
+.I i.
+A  responds to this message with
+.I attach
+or 
+.I detach.
+The former causes the open to complete and
+return a file descriptor to B.
+The latter deallocates channel
+.I i
+and causes the open to fail.
+.PP
+One mpx file may be placed in `listener' mode.
+This is done by writing
+.I "ioctl(xd, MXLSTN, 0)"
+where
+.I xd
+is an mpx file descriptor
+and MXLSTN is defined in 
+.IR /usr/include/sgtty.h .
+The semantics of listener mode are that
+all file names discovered by 
+.IR open (2)
+to have 
+the syntax
+.I "system!pathname"
+(see
+.IR uucp (1))
+are treated as opens on the mpx file.
+The operating system sends the listener process 
+an OPEN message (see
+.IR mpxio (5))
+which includes the file name being opened.
+.I Attach
+and
+.I detach
+then apply as described above.
+.PP
+.I Detach
+has two other uses:
+it closes and releases the resources
+of any active channel it is applied to,
+and should be used to respond to
+a CLOSE message (see
+.IR mpxio (5))
+on a channel so the channel may be reused.
+.PP
+.BR "connect(fd, cd, end)" .
+.I Fd
+is a character file descriptor and
+.I cd
+is a file descriptor for a channel,
+such as might be obtained via
+.I "extract( chan(xd), xd)"
+or by
+.IR open (2)
+followed by
+.I attach.
+.I Connect
+splices the two streams together.
+If
+.I end
+is negative, only
+the output of
+.I fd
+is spliced to the input of
+.I cd.
+If
+.I end
+is positive, the output of
+.I cd
+is spliced to the input of
+.I fd.
+If
+.I end
+is zero, then both splices are made.
+.PP
+.BR "npgrp(i, xd, pgrp)" .
+If
+.I xd
+is negative
+.I npgrp
+applies to the process executing it,
+otherwise
+.I i
+and
+.I xd
+are interpreted as a channel index and
+mpx file descriptor
+and
+.I npgrp
+is applied to the process on the
+non-multiplexed end of the channel.
+If
+.I pgrp
+is zero, the process group number of the indicated process
+is set to the process number of that process,
+otherwise the value of
+.I pgrp
+is used as the process group number.
+.PP
+.I Npgrp
+normally returns the new process group number.
+If
+.I i
+and
+.I xd
+specify  a nonexistent channel,
+.I npgrp
+returns \-1.
+.PP
+.B ckill(i, xd, signal)
+sends the specified signal (see
+.IR signal (2))
+through the channel specified by
+.I i
+and
+.I xd.
+If the channel is connected to anything other
+than a process,
+.I ckill
+is a null operation.
+If there is a process at the other end of the channel,
+the process group will be interrupted (see
+.IR signal (2),
+.IR kill (2)).
+.I Ckill
+normally returns 
+.I signal.
+If
+.I ch
+and
+.I xd
+specify a nonexistent channel,
+.I ckill
+returns \-1.
+.SH FILES
+/usr/include/sys/mx.h
+.br
+/usr/include/sgtty.h
+.SH "SEE ALSO"
+mpxio(5)
+.SH BUGS
+.PP
+Mpx files are an experimental part of the operating
+system more subject to change and prone to bugs
+than other parts.
+.PP
+Maintenance programs, e.g.
+.IR icheck (1),
+diagnose mpx files as  an illegal mode.
+.PP
+Channels may only be connected to objects in the operating
+system that are accessible through the line discipline
+mechanism.
+.PP
+Higher performance line disciplines are needed.
+.PP
+The maximum tree depth restriction is not really checked.
+.PP
+A non-destructive
+.I disconnect
+primitive (inverse of
+.IR connect )
+is not provided.
+.PP
+A non-blocking flow control strategy
+based on messages defined in
+.IR mpxio (5)
+should not be attempted by novices;
+the enabling
+.I ioctl
+command should be protected.
+.PP
+The
+.I join
+operation could be subsumed by
+.I connect.
+A mechanism is needed for moving a channel from one
+location in an mpx tree to another.
diff --git a/usr/man/man2/open.2 b/usr/man/man2/open.2
new file mode 100644 (file)
index 0000000..33167cc
--- /dev/null
@@ -0,0 +1,49 @@
+.TH OPEN 2 
+.UC 4
+.SH NAME
+open \- open for reading or writing
+.SH SYNOPSIS
+.nf
+.B open(name, mode)
+.B char *name;
+.fi
+.SH DESCRIPTION
+.I Open
+opens the file
+.I name
+for reading
+(if
+.I mode
+is 0),
+writing (if
+.I mode
+is 1) or for both reading and writing
+(if
+.I mode
+is 2).
+.I Name
+is the address of a string of ASCII characters representing
+a path name, terminated by a null character.
+.PP
+The file is positioned at the beginning (byte 0).
+The returned file descriptor must be used for subsequent calls
+for other input-output functions on the file.
+.SH "SEE ALSO"
+creat(2), read(2), write(2), dup(2), close(2)
+.SH DIAGNOSTICS
+The value \-1 is returned
+if the file does not exist,
+if one of the necessary directories
+does not exist or is unreadable, if the file is not
+readable (resp. writable), or if too many files are open.
+.SH "ASSEMBLER (PDP-11)"
+(open = 5.)
+.br
+.B sys open; name; mode
+.br
+(file descriptor in r0)
+.SH BUGS
+It should be possible to optionally open files for writing with exclusive use,
+and to optionally call
+.I open
+without the possibility of hanging waiting for carrier on communication lines.
diff --git a/usr/man/man2/pause.2 b/usr/man/man2/pause.2
new file mode 100644 (file)
index 0000000..3b1678b
--- /dev/null
@@ -0,0 +1,25 @@
+.TH PAUSE 2 
+.UC 4
+.SH NAME
+pause \- stop until signal
+.SH SYNOPSIS
+.B pause()
+.SH DESCRIPTION
+.I Pause
+never returns normally.
+It is used to give up control while waiting for
+a signal from
+.IR kill (2)
+or
+.IR alarm (2).
+Upon termination of a signal handler started during a
+.I pause,
+the
+.I pause
+call will return.
+.SH SEE ALSO
+kill(1), kill(2), alarm(2), sigsys(2), signal(2), sigset(3), setjmp(3)
+.SH "ASSEMBLER (PDP-11)"
+(pause = 29.)
+.br
+.B sys pause
diff --git a/usr/man/man2/pipe.2 b/usr/man/man2/pipe.2
new file mode 100644 (file)
index 0000000..db079bc
--- /dev/null
@@ -0,0 +1,63 @@
+.TH PIPE 2 
+.SH NAME
+pipe \- create an interprocess channel
+.SH SYNOPSIS
+.nf
+.B pipe(fildes)
+.B int fildes[2];
+.fi
+.SH DESCRIPTION
+The
+.I pipe
+system call
+creates an I/O mechanism called a pipe.
+The file descriptors returned can
+be used in read and write operations.
+When the pipe is written using the descriptor
+.IR fildes [1]
+up to 4096 bytes of data are buffered
+before the writing process is suspended.
+A read using the descriptor
+.IR fildes [0]
+will pick up the data.
+.PP
+It is assumed that after the
+pipe has been set up,
+two (or more)
+cooperating processes
+(created by subsequent
+.I fork
+calls)
+will pass data through the
+pipe with
+.I read
+and
+.I write
+calls.
+.PP
+The Shell has a syntax
+to set up a linear array of processes
+connected by pipes.
+.PP
+Read calls on an empty
+pipe (no buffered data) with only one end
+(all write file descriptors closed)
+returns an end-of-file.
+.SH "SEE ALSO"
+sh(1), read(2), write(2), fork(2)
+.SH DIAGNOSTICS
+The function value zero is returned if the
+pipe was created; \-1 if
+too many files are already open.
+A signal is generated if a write on a pipe with only one end is attempted.
+.SH BUGS
+Should more than 4096 bytes be necessary in any
+pipe among a loop of processes, deadlock will occur.
+.SH "ASSEMBLER (PDP-11)"
+(pipe = 42.)
+.br
+.B sys pipe
+.br
+(read file descriptor in r0)
+.br
+(write file descriptor in r1)
diff --git a/usr/man/man2/profil.2 b/usr/man/man2/profil.2
new file mode 100644 (file)
index 0000000..4b64997
--- /dev/null
@@ -0,0 +1,60 @@
+.TH PROFIL 2 
+.UC 4
+.SH NAME
+profil \- execution time profile
+.SH SYNOPSIS
+.nf
+.B profil(buff, bufsiz, offset, scale)
+.B char *buff;
+.B int bufsiz, offset, scale;
+.fi
+.SH DESCRIPTION
+.I Buff
+points to an area of core whose length (in bytes) is given by
+.IR bufsiz .
+After this call, the user's program counter (pc)
+is examined each clock tick (60th second);
+.I offset
+is subtracted from it, and the result multiplied by
+.IR scale .
+If the resulting number corresponds to a word
+inside
+.I buff,
+that word is incremented.
+.PP
+The scale is interpreted as an unsigned,
+fixed-point fraction with binary point at the
+left: 0177777(8) gives a 1-1 mapping of pc's to words
+in
+.I buff;
+077777(8) maps each pair of instruction words
+together.
+02(8) maps all instructions onto the beginning of
+.I buff
+(producing a non-interrupting core clock).
+.PP
+Profiling is turned off by giving a
+.I scale
+of 0 or 1.
+It is rendered
+ineffective by giving a
+.I bufsiz
+of 0.
+Profiling is turned off when an
+.I exec
+is executed, but remains on in child and parent both
+after a
+.IR fork .
+Profiling may be turned off if an update in
+.I buff
+would cause a memory fault.
+.SH "SEE ALSO"
+monitor(3), prof(1)
+.SH "ASSEMBLER (PDP-11)"
+(profil = 44.)
+.br
+.B sys profil; buff; bufsiz; offset; scale
+.SH BUGS
+Profiling does not work for interpreters; if a signal were given
+to a process when its cpu-time clock ticked then profiling interpreters
+would be possible.
diff --git a/usr/man/man2/ptrace.2 b/usr/man/man2/ptrace.2
new file mode 100644 (file)
index 0000000..21c726d
--- /dev/null
@@ -0,0 +1,218 @@
+.TH PTRACE 2 
+.UC 4
+.SH NAME
+ptrace \- process trace
+.SH SYNOPSIS
+.nf
+.B #include <signal.h>
+.PP
+.B ptrace(request, pid, addr, data)
+.B int *addr;
+.fi
+.SH DESCRIPTION
+.I Ptrace
+provides a means by which a parent process
+may control the execution of a child process,
+and examine and change its core image.
+Its primary use is for the implementation of breakpoint debugging.
+There are four arguments whose interpretation
+depends on a
+.I request
+argument.
+Generally,
+.I pid
+is the process ID of the traced process,
+which must be a child (no more distant descendant)
+of the tracing process.
+A process being traced
+behaves normally until it encounters some signal whether internally generated
+like `illegal instruction' or externally generated like `interrupt.'
+See
+.IR signal (2)
+for the list.
+Then the traced process enters a stopped state
+and its parent is notified via
+.IR  wait (2).
+When the child is in the stopped state,
+its core image can be examined and modified
+using
+.IR ptrace .
+If desired, another
+.I ptrace
+request can then cause the child either to terminate
+or to continue, possibly ignoring the signal.
+.PP
+The value of the
+.I request
+argument determines the precise
+action of the call:
+.TP 4
+0
+This request is the only one used by the child process;
+it declares that the process is to be traced by its parent.
+All the other arguments are ignored.
+Peculiar results will ensue
+if the parent does not expect to trace the child.
+.TP 4
+1,2
+The
+word in the child process's address space
+at
+.I addr
+is returned.
+If I and D space are separated, request 1 indicates I space,
+2 D space.
+.I Addr
+must be even.
+The child must be stopped.
+The input
+.I data
+is ignored.
+.TP 4
+3
+The word
+of the system's per-process data area corresponding to
+.I addr
+is returned.
+.I Addr
+must be even and less than 512.
+This space contains the registers and other information about
+the process;
+its layout corresponds to the
+.I user
+structure in the system.
+.TP 4
+4,5
+The
+given
+.I data
+is written at the word in the process's address space corresponding to
+.I addr,
+which must be even.
+No useful value is returned.
+If I and D space are separated, request 4 indicates I space, 
+5 D space.
+Attempts to write in pure procedure
+fail if another process is executing the same file.
+.TP 4
+6
+The process's system data is written,
+as it is read with request 3.
+Only a few locations can be written in this way:
+the general registers,
+the floating point status and registers,
+and certain bits of the processor status word.
+.TP 4
+7
+The
+.I data
+argument is taken as a signal number
+and the child's execution continues
+at location
+.I addr
+as if it had incurred that signal.
+Normally the signal number will be
+either 0 to indicate that the signal that caused the stop
+should be ignored,
+or that value fetched out of the
+process's image indicating which signal caused
+the stop.
+If
+.I addr
+is (int *)1 then execution continues from where it stopped.
+.TP 4
+8
+The traced process terminates.
+.TP 4
+9
+Execution continues as in request 7;
+however, as soon as possible after execution of at least one instruction,
+execution stops again.
+The signal number from the stop is
+SIGTRAP.
+(On the PDP-11 and VAX-11 the T-bit is used and just one instruction
+is executed;
+on the Interdata the stop does not take place
+until a store instruction is executed.)
+This is part of the mechanism for implementing breakpoints.
+.PP
+As indicated,
+these calls
+(except for request 0)
+can be used only when the subject process has stopped.
+The
+.I wait
+call is used to determine
+when a process stops;
+in such a case the `termination' status
+returned by
+.I wait
+has the value 0177 to indicate stoppage rather
+than genuine termination.
+.PP
+To forestall possible fraud,
+.I ptrace
+inhibits the set-user-id facility
+on subsequent
+.IR  exec (2)
+calls.
+If a traced process calls
+.I exec,
+it will stop before executing the first instruction of the new image
+showing signal SIGTRAP.
+.PP
+On the Interdata 8/32,
+`word' means a 32-bit word and `even' means 0 mod 4.
+On a VAX-11, `word' also means a 32-bit integer, but the `even' restriction
+does not apply.
+.SH "SEE ALSO"
+wait(2), signal(2), adb(1)
+.SH DIAGNOSTICS
+The value \-1 is returned if
+.I request 
+is invalid,
+.I pid
+is not a traceable process,
+.I addr
+is out of bounds,
+or
+.I data
+specifies an illegal signal number.
+.SH BUGS
+.I Ptrace
+is unique and arcane; it should be replaced with a special file which
+can be opened and read and written.  The control functions could then
+be implemented with
+.IR ioctl (2)
+calls on this file.  This would be simpler to understand and have much
+higher performance.
+.PP
+On the Interdata 8/32,
+`as soon as possible' (request 7)
+means `as soon as a store instruction has been executed.'
+.PP
+The request 0 call should be able to specify
+signals which are to be treated normally and not cause a stop.
+In this way, for example,
+programs with simulated floating point (which
+use `illegal instruction' signals at a very high rate)
+could be efficiently debugged.
+.PP
+The error indication, \-1, is a legitimate function value;
+.I errno,
+see
+.IR intro (2),
+can be used to disambiguate.
+.PP
+It should be possible to stop a process on occurrence of a system
+call;
+in this way a completely controlled environment could
+be provided.
+.SH ASSEMBLER
+(ptrace = 26.)
+.br
+(data in r0)
+.br
+.B sys ptrace; pid; addr; request
+.br
+(value in r0)
diff --git a/usr/man/man2/read.2 b/usr/man/man2/read.2
new file mode 100644 (file)
index 0000000..f9ad372
--- /dev/null
@@ -0,0 +1,75 @@
+.TH READ 2 
+.UC 4
+.SH NAME
+read \- read from file
+.SH SYNOPSIS
+.nf
+.B read(fildes, buffer, nbytes)
+.B char *buffer;
+.fi
+.SH DESCRIPTION
+A file descriptor is a word
+returned from a successful
+.I "open, creat, dup,"
+or
+.I pipe
+call.
+.I Buffer
+is the location of
+.I nbytes
+contiguous
+bytes into which the input will be placed.
+It is not guaranteed
+that all
+.I nbytes
+bytes will be read; for example
+if the file refers to a typewriter at most one line
+will be returned.
+In any event the number of characters read is returned.
+.PP
+If the returned value is 0, then
+end-of-file has been reached.
+.PP
+Unless the reader is ignoring or holding SIGTTIN signals,
+reads from the control typewriter while not in its process group
+cause a SIGTTIN signal to be sent to the reader's process group;
+in the former case an end-of-file is returned.
+.PP
+.SH "SEE ALSO"
+open(2), creat(2), dup(2), pipe(2), vread(2)
+.SH DIAGNOSTICS
+As mentioned,
+0 is returned when the end of the file has been reached.
+If the read was otherwise unsuccessful
+the return value is \-1.
+Many conditions
+can generate an error:
+physical I/O errors, bad buffer address,
+preposterous
+.I nbytes,
+file descriptor not that of
+an input file.
+.SH "ASSEMBLER (PDP-11)"
+(read = 3.)
+.br
+(file descriptor in r0)
+.br
+.B sys read; buffer; nbytes
+.br
+(byte count in r0)
+.SH BUGS
+It should be possible to call
+.I read
+and have it return immediately without blocking if there is no input available.
+As a single special case, this is currently done on control terminals
+when the reading process has requested SIGTINT signals when input arrives
+(see
+.IR tty (4)).
+.PP
+Processes which have been orphaned by their parents
+and have been inherited by
+.IR init (8)
+never receive SIGTTIN signals.
+Instead
+.I read
+returns with an end-of-file indication.
diff --git a/usr/man/man2/reboot.2v b/usr/man/man2/reboot.2v
new file mode 100644 (file)
index 0000000..a540fbc
--- /dev/null
@@ -0,0 +1,88 @@
+.TH REBOOT 2V 4/1/81
+.UC 4
+.SH NAME
+reboot \- reboot system or halt processor
+.SH SYNOPSIS
+.nf
+.B #include <sys/reboot.h>
+.PP
+.B reboot(howto)
+.B int howto;
+.fi
+.SH DESCRIPTION
+.I Reboot
+is used to cause a system reboot, and is invoked automatically
+in the event of unrecoverable system failures.
+.I Howto
+is a mask of options passed to the bootstrap program.
+The system call interface permits only RB_HALT or RB_AUTOBOOT
+to be passed to the reboot program; the other flags
+are used in scripts stored on the console storage media, or used
+in manual bootstrap procedures.
+When none of these options (e.g. RB_AUTOBOOT) is given, the system is rebooted
+from file \*(lqvmunix\*(rq in the root file system of unit 0
+of a disk chosen in a processor specific way:
+on the 11/780 it is specified by a line in the DEFBOO.CMD script on
+the console floppy; on the 11/750 it is determined by the setting
+of the front panel switch which picks the bootstrap device.
+.\"On the 11/730 it is determined by a file on the console casette.
+An automatic consistency check of the disks is then normally performed.
+.PP
+The bits of
+.I howto
+are:
+.TP
+RB_HALT
+the processor is simply halted; no reboot takes place.
+This should be used with caution.
+.TP
+RB_ASKNAME
+Interpreted by the bootstrap program itself, causing it to
+inquire as to what file should be booted.  Normally, the system is
+booted from the file \*(lqxx(0,0)vmunix\*(rq without asking, where
+.I xx
+is determined by a code in register
+.I r10
+(which is known as
+.I devtype)
+at entry to the bootstrap program.  The code corresponds to the
+major device number of the root file system, i.e. \*(lqmajor(rootdev)\*(rq.
+Currently, the following values of
+.I devtype
+are understood:
+.RS
+.br
+.ns
+.IP
+.nf
+0      hp      rm03/rm05/rm80/rp06 massbus disk
+1      --      unused
+2      up      unibus disks (emulex sc21 w/ cdc/ampex/fujitsu drives)
+3      rk      rk07 unibus disks
+.fi
+.RE
+.IP
+Thus if
+.I r10
+contained a 2, the system
+.RS
+.IP
+.B up(0,0)vmunix.
+.RE
+.IP
+would be booted.
+This switch not available from the system call interface.
+.TP
+RB_SINGLE
+Normally, the reboot procedure involves an automatic disk consistency
+check and then multi-user operations.  This prevents the consistency
+check, rather simply booting the system with a single-user shell on
+the console, from the file system specified by
+.I r10.
+This switch is interpreted by the
+.IR init (8)
+program in the newly booted system.
+This switch is not available from the system call interface.
+.SH "SEE ALSO"
+crash(8), halt(8), init(8), reboot(8)
+.SH BUGS
diff --git a/usr/man/man2/setpgrp.2j b/usr/man/man2/setpgrp.2j
new file mode 100644 (file)
index 0000000..54279b6
--- /dev/null
@@ -0,0 +1,54 @@
+.TH SETPGRP 2J
+.UC 4
+.SH NAME
+setpgrp, getpgrp \- set/get process group
+.SH SYNOPSIS
+.B int getpgrp(pid)
+.PP
+.B setpgrp(pid, pgrp)
+.PP
+.B cc ... \-ljobs
+.SH DESCRIPTION
+The process group of the specified process is returned by
+.I getpgrp.
+.I Setpgrp
+sets the process group of the specified process
+.I pid
+to the specified
+.I pgrp.
+If
+.I pid
+is zero, then the call applies to the current process.
+.PP
+If the invoker is not the super-user, then the affected process
+must have the same effective user-id as the invoker or be a descendant
+of the invoking process.
+.PP
+This call is used by
+.IR csh (1)
+to create
+process groups
+in implementing job control.
+The TIOCGPGRP and TIOCSPGRP calls
+described in
+.IR tty (4)
+are used to get/set the process group of the control terminal.
+.PP
+See
+.IR jobs(3)
+for a general discussion of job control.
+.SH "SEE ALSO"
+jobs(3), getuid(2), tty(4)
+.SH BUGS
+The job control facilities are not available in standard version 7 UNIX.
+These facilities are still under development and may change in future
+releases of the system as better inter-process communication facilities
+and support for virtual terminals become available.  The options and
+specifications of these system calls and even the calls themselves
+are thus subject to change.
+.PP
+A system call
+.I setpgrp
+has been implemented in other versions of UNIX which are not widely
+used outside of Bell Laboratories; these implementations
+have, in general, slightly different semantics.
diff --git a/usr/man/man2/setuid.2 b/usr/man/man2/setuid.2
new file mode 100644 (file)
index 0000000..98d9171
--- /dev/null
@@ -0,0 +1,30 @@
+.TH SETUID 2 
+.SH NAME
+setuid, setgid \- set user and group ID
+.SH SYNOPSIS
+.B setuid(uid)
+.PP
+.B setgid(gid)
+.SH DESCRIPTION
+The user ID (group ID) of the current process is set to
+the argument.
+Both the effective and the real ID are set.
+These calls are only permitted to the super-user
+or if the argument is the real or effective ID.
+.SH "SEE ALSO"
+getuid(2)
+.SH DIAGNOSTICS
+Zero is returned if the user (group) ID is set;
+\-1 is returned otherwise.
+.SH "ASSEMBLER (PDP-11)"
+(setuid = 23.)
+.br
+(user ID in r0)
+.br
+.B sys setuid
+.PP
+(setgid = 46.)
+.br
+(group ID in r0)
+.br
+.B sys  setgid
diff --git a/usr/man/man2/signal.2 b/usr/man/man2/signal.2
new file mode 100644 (file)
index 0000000..19e60e9
--- /dev/null
@@ -0,0 +1,194 @@
+.TH SIGNAL 2 
+.UC 4
+.SH NAME
+signal \- catch or ignore signals
+.SH SYNOPSIS
+.nf
+.B #include <signal.h>
+.PP
+.B (*signal(sig, func))()
+.B void (*func)();
+.fi
+.SH DESCRIPTION
+.IR N.B. :
+The system currently supports two signal implementations.
+The one described here is standard in version 7 UNIX systems,
+and is retained for backward compatabililty.
+The one described in
+.IR sigsys (2)
+as supplemented by
+.IR sigset (3)
+provides for the needs of the job control mechanisms 
+used by
+.IR csh (1),
+and corrects the bugs in this older implementation of signals,
+allowing programs
+which process interrupts
+to be written
+reliably.
+.PP
+A signal
+is generated by some abnormal event,
+initiated either by user at a terminal (quit, interrupt),
+by a program error (bus error, etc.),
+or by request of another program (kill).
+Normally all signals
+cause termination of the receiving process,
+but a
+.I signal
+call allows them either to be ignored
+or to cause an interrupt to a specified location.
+Here is the list of signals with names as in
+the include file.
+.LP
+.nf
+.ta \w'SIGMMMM 'u +\w'15*  'u
+SIGHUP 1       hangup
+SIGINT 2       interrupt
+SIGQUIT        3*      quit
+SIGILL 4*      illegal instruction (not reset when caught)
+SIGTRAP        5*      trace trap (not reset when caught)
+SIGIOT 6*      IOT instruction
+SIGEMT 7*      EMT instruction
+SIGFPE 8*      floating point exception
+SIGKILL        9       kill (cannot be caught or ignored)
+SIGBUS 10*     bus error
+SIGSEGV        11*     segmentation violation
+SIGSYS 12*     bad argument to system call
+SIGPIPE        13      write on a pipe with no one to read it
+SIGALRM        14      alarm clock
+SIGTERM        15      software termination signal
+       16      unassigned
+.fi
+.IR N.B. :
+There are actually more signals; see
+.IR sigsys (2);
+the signals listed here are those of standard version 7.
+.PP
+The starred signals in the list above cause a core image
+if not caught or ignored.
+.PP
+If
+.I func
+is SIG_DFL, the default action
+for signal
+.I sig
+is reinstated; this default is termination,
+sometimes with a core image.
+If
+.I func
+is SIG_IGN the signal is ignored.
+Otherwise
+when the signal occurs
+.I func
+will be called with the
+signal number as argument.
+A return from the function will
+continue the process at the point it was interrupted.
+.PP
+Except as indicated,
+a signal is reset to SIG_DFL after being caught.
+Thus if it is desired to
+catch every such signal,
+the catching routine must
+issue another
+.I signal
+call.
+.PP
+If, when using this (older) signal interface,
+a caught signal occurs
+during certain system calls, the call terminates prematurely.
+In particular this can occur
+during an
+.IR ioctl ,
+.IR read ,
+or
+.IR write (2)
+on a slow device (like a terminal; but not a file);
+and during
+.I pause
+or
+.IR wait (2).
+When such a signal occurs, the saved user status
+is arranged in such a way that when return from the
+signal-catching takes place, it will appear that the
+system call returned an error status.
+The user's program may then, if it wishes,
+re-execute the call.
+.PP
+The value of
+.I signal
+is the previous (or initial)
+value of
+.I func
+for the particular signal.
+.PP
+After a
+.IR  fork (2)
+the child inherits
+all signals.
+.IR  Exec (2)
+resets all
+caught signals to default action.
+.PP
+If a process is using the mechanisms of
+.IR sigsys (2)
+and
+.IR sigset (3)
+then many of these calls are automatically restarted
+(See
+.IR sigsys (2)
+and
+.IR jobs (3)
+for details).
+.SH "SEE ALSO"
+sigsys(2),
+kill(1),
+kill(2),
+ptrace(2),
+setjmp(3),
+sigset(3)
+.SH DIAGNOSTICS
+The value (int)\-1 is returned if the
+given signal is out of range.
+.SH BUGS
+The traps should be distinguishable by extra arguments
+to the signal handler, and all hardware supplied parameters should
+be made available to the signal routine.
+.PP
+If a repeated signal arrives before the last one can be
+reset, there is no chance to catch it
+(however this is
+.B not
+true if you use
+.IR sigsys (2)
+and
+.IR sigset (3)).
+.PP
+The type specification of the routine and its
+.I func
+argument are problematical.
+.SH "ASSEMBLER (PDP-11)"
+(signal = 48.)
+.br
+.B sys  signal; sig; label
+.br
+(old label in r0)
+.PP
+If
+.I label
+is 0,
+default action is reinstated.
+If
+.I label
+is 1, the signal is ignored.
+Any other even
+.I label
+specifies an address in the process
+where an interrupt is simulated.
+An RTI or RTT instruction will return from the
+interrupt.
+.SH "NOTES (VAX-11)"
+See
+.IR sigsys (2)
+for information on how hardware faults are mapped into signals.
diff --git a/usr/man/man2/stime.2 b/usr/man/man2/stime.2
new file mode 100644 (file)
index 0000000..89d65a4
--- /dev/null
@@ -0,0 +1,27 @@
+.TH STIME 2 
+.SH NAME
+stime \- set time
+.SH SYNOPSIS
+.nf
+.B stime(tp)
+.B long *tp;
+.fi
+.SH DESCRIPTION
+.I Stime
+sets the system's idea of the time and date.
+Time, pointed to by
+.I tp,
+is measured in seconds from 0000 GMT Jan 1, 1970.
+Only the super-user may use this call.
+.SH "SEE ALSO"
+date(1), time(2), ctime(3)
+.SH DIAGNOSTICS
+Zero is returned if the time was set;
+\-1 if user is not the super-user.
+.SH "ASSEMBLER (PDP-11)"
+(stime = 25.)
+.br
+(time in r0-r1)
+.br
+.B sys stime
+.PP
diff --git a/usr/man/man2/stty.2 b/usr/man/man2/stty.2
new file mode 100644 (file)
index 0000000..9f174f0
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man2/ioctl.2
diff --git a/usr/man/man2/sync.2 b/usr/man/man2/sync.2
new file mode 100644 (file)
index 0000000..06bdbc6
--- /dev/null
@@ -0,0 +1,27 @@
+.TH SYNC 2 
+.SH NAME
+sync \- update super-block
+.SH SYNOPSIS
+.B sync()
+.SH DESCRIPTION
+.I Sync
+causes all information in core
+memory that should be on disk to be written out.
+This includes modified super blocks,
+modified i-nodes, and delayed block I/O.
+.PP
+It should be used by programs which examine a file system,
+for example
+.I "icheck, df,"
+etc.
+It is mandatory before a boot.
+.SH "SEE ALSO"
+sync(1), update(8)
+.SH BUGS
+The writing, although scheduled, is not necessarily
+complete upon return from 
+.IR sync .
+.SH "ASSEMBLER (PDP-11)"
+(sync = 36.)
+.br
+.B sys sync
diff --git a/usr/man/man2/syscall.2 b/usr/man/man2/syscall.2
new file mode 100644 (file)
index 0000000..91970f5
--- /dev/null
@@ -0,0 +1,64 @@
+.TH SYSCALL 2 
+.SH NAME
+syscall \- indirect system call
+.SH SYNOPSIS
+.nf
+.BR "syscall(number, r0, r1, arg ...)" \  \  (PDP-11)
+.BR "syscall(number, arg, ...)" \  \  (VAX-11)
+.fi
+.SH DESCRIPTION
+.I Syscall
+performs the system call whose assembly language
+interface has the specified
+.I number,
+register arguments
+.I r0
+and
+.I r1
+(on the PDP-11, regardless of whether the entry point really
+uses them) and further arguments
+.IR arg .
+.PP
+The r0 value of the system call is returned.
+.SH DIAGNOSTICS
+When the C-bit is set,
+.I syscall
+returns \-1 and sets the
+external variable 
+.I errno
+(see
+.IR intro (2)).
+.SH BUGS
+There is no way to simulate system calls
+such as
+.IR pipe (2),
+which return values in register r1.
+.SH "ASSEMBLER (PDP-11)"
+(indir = 0.)
+.br
+.B sys indir; call
+.PP
+The system call at the location
+.I call
+is executed.
+Execution resumes after the
+.I indir
+call.
+.PP
+On the PDP-11, the main purpose of
+.I indir
+is to allow a program to
+store arguments in system calls and execute them
+out of line in the data segment.
+This preserves the purity of the text segment.
+.PP
+If
+.I indir
+is executed indirectly,
+it is a no-op.
+If the instruction at the indirect
+location is not a system call,
+.I indir
+returns error code EINVAL;
+see
+.IR intro (2).
diff --git a/usr/man/man2/time.2 b/usr/man/man2/time.2
new file mode 100644 (file)
index 0000000..0c07a3f
--- /dev/null
@@ -0,0 +1,56 @@
+.TH TIME 2 
+.SH NAME
+time, ftime \- get date and time
+.SH SYNOPSIS
+.nf
+.B long time(0)
+.PP
+.B long time(tloc)
+.B long *tloc;
+.PP
+.B #include <sys/types.h>
+.B #include <sys/timeb.h>
+.B ftime(tp)
+.B struct timeb *tp;
+.fi
+.SH DESCRIPTION
+.I Time
+returns the time since 00:00:00 GMT, Jan. 1, 1970, measured
+in seconds.
+.PP
+If
+.I tloc
+is nonnull,
+the return value is also stored in the
+place to which
+.I tloc
+points.
+.PP
+The
+.I ftime
+entry fills in a structure pointed to by its argument,
+as defined by
+.IR <sys/timeb.h> :
+.PP
+.ta .5i +\w'unsigned 'u
+.nf
+.so /usr/include/sys/timeb.h
+.fi
+.PP
+The structure contains the time since the epoch in seconds,
+up to 1000 milliseconds of more-precise interval,
+the local time zone (measured in minutes of time westward from Greenwich),
+and a flag that, if nonzero, indicates that
+Daylight Saving time applies locally during the appropriate part of the year.
+.SH "SEE ALSO"
+date(1), stime(2), ctime(3)
+.SH "ASSEMBLER (PDP-11)"
+(ftime = 35.)
+.br
+.B sys ftime; bufptr
+.PP
+(time = 13.; obsolete call)
+.br
+.B sys time
+.br
+(time since 1970 in r0-r1)
diff --git a/usr/man/man2/times.2 b/usr/man/man2/times.2
new file mode 100644 (file)
index 0000000..0a57a72
--- /dev/null
@@ -0,0 +1,36 @@
+.TH TIMES 2 
+.SH NAME
+times \- get process times
+.SH SYNOPSIS
+.nf
+.B "#include <sys/types.h>
+.B "#include <sys/times.h>
+.PP
+.B times(buffer)
+.B struct tms *buffer;
+.fi
+.SH DESCRIPTION
+.I Times
+returns time-accounting information
+for the current process
+and for the terminated child processes
+of the current process.
+All times are in 1/HZ seconds, where HZ is either 50 or 60
+depending on your locality.
+.PP
+This is the structure returned by
+.IR times :
+.PP
+.nf
+.so /usr/include/sys/times.h
+.PP
+.fi
+The children times are the sum
+of the children's process times and
+their children's times.
+.SH "SEE ALSO"
+time(1), time(2), vtimes(2)
+.SH "ASSEMBLER (PDP-11)"
+(times = 43.)
+.br
+.B sys times; buffer
diff --git a/usr/man/man2/umask.2 b/usr/man/man2/umask.2
new file mode 100644 (file)
index 0000000..6a4e3f7
--- /dev/null
@@ -0,0 +1,31 @@
+.TH UMASK 2
+.UC 4
+.SH NAME
+umask \- set file creation mode mask
+.SH SYNOPSIS
+.B umask(complmode)
+.SH DESCRIPTION
+.I Umask
+sets a mask used whenever a file is created by
+.IR creat (2)
+or
+.IR mknod (2):
+the actual mode (see
+.IR chmod (2))
+of the newly-created file is the logical
+.B and
+of the given mode and the complement of the argument.
+Only the low-order 9 bits of the mask (the protection bits)
+participate.
+In other words, the mask shows the bits to be turned off
+when files are created.
+.PP
+The previous value of the mask is returned by the call.
+The value is initially 022 (write access for owner only).
+The mask is inherited by child processes.
+.SH SEE ALSO
+creat(2), mknod(2), chmod(2)
+.SH "ASSEMBLER (PDP-11)"
+(umask = 60.)
+.br
+.B sys umask; complmode
diff --git a/usr/man/man2/unlink.2 b/usr/man/man2/unlink.2
new file mode 100644 (file)
index 0000000..b9ab871
--- /dev/null
@@ -0,0 +1,35 @@
+.TH UNLINK 2 
+.SH NAME
+unlink \- remove directory entry
+.SH SYNOPSIS
+.nf
+.B unlink(name)
+.B char *name;
+.fi
+.SH DESCRIPTION
+.I Name
+points to a null-terminated string.
+.I Unlink
+removes the entry for the file pointed to by
+.I name
+from its directory.
+If this entry was the last link to the file,
+the contents of the file are freed and the file is destroyed.
+If, however, the file was open in any process, the actual
+destruction is delayed until it is closed, even though
+the directory entry has disappeared.
+.SH "SEE ALSO"
+rm(1), link(2)
+.SH DIAGNOSTICS
+Zero is normally returned;
+\-1 indicates that the file does not
+exist, that its directory cannot be written,
+or that the file contains pure procedure text
+that is currently in use.
+Write permission is not required on the file itself.
+It is also illegal to unlink a directory
+(except for the super-user).
+.SH "ASSEMBLER (PDP-11)"
+(unlink = 10.)
+.br
+.B sys  unlink; name
diff --git a/usr/man/man2/utime.2 b/usr/man/man2/utime.2
new file mode 100644 (file)
index 0000000..d1334e5
--- /dev/null
@@ -0,0 +1,31 @@
+.TH UTIME 2
+.SH NAME
+utime \- set file times
+.SH SYNOPSIS
+.nf
+.B #include <sys/types.h>
+.PP
+.B utime(file, timep)
+.B char *file;
+.B time_t timep[2];
+.fi
+.SH DESCRIPTION
+The
+.I utime
+call
+uses the
+`accessed' and `updated' times in that order
+from the
+.I timep
+vector
+to set the corresponding recorded times for
+.I file.
+.PP
+The caller must be the owner of the file or the super-user.
+The `inode-changed' time of the file is set to the current time.
+.SH SEE ALSO
+stat (2)
+.SH "ASSEMBLER (PDP-11)"
+(utime = 30.)
+.br
+.B sys utime; file; timep
diff --git a/usr/man/man2/vadvise.2v b/usr/man/man2/vadvise.2v
new file mode 100644 (file)
index 0000000..fac9717
--- /dev/null
@@ -0,0 +1,47 @@
+.TH VADVISE 2V
+.UC 4
+.SH NAME
+vadvise \- give advice to paging system
+.SH SYNOPSIS
+.B vadvise(param)
+.SH DESCRIPTION
+.I Vadvise
+is used to inform the system that process paging behavior merits special
+consideration.  Parameters to
+.I vadvise
+are defined in the file
+.B <vadvise.h> .
+Currently, two calls to
+.I vadvise
+are implemented:
+.PP
+The call
+.IP
+.B "vadvise(VA_ANOM);"
+.LP
+advises that the paging behavior is not likely to
+be well handled by the system's default algorithm, since reference information
+collected over macroscopic intervals (e.g. 10-20 seconds)
+will not serve to indicate future page references.  The system in this case
+will choose to replace pages with little emphasis placed on recent usage,
+and more emphasis on referenceless circular behavior.  It is \fIessential\fR
+that processes which have very random paging behavior (such as
+LISP during garbage collection of very large address spaces) call
+.I vadvise,
+as otherwise the system has great difficulty dealing with their
+page-consumptive demands.
+.PP
+The call
+.IP
+.B "vadvise(VA_NORM);"
+.LP
+restores default paging replacement behavior after a call to
+.IP
+.B "vadvise(VA_ANOM);"
+.SH BUGS
+This call is peculiar to this version of UNIX.
+The options and specifications of this system call and even the call itself
+are expected to change.  It is expected to be extended with additional
+facilities in future versions of the system.  In particular it is expected
+that this call will be particular to a segment, and that other behaviors
+such as sequential behavior will be specifiable.
diff --git a/usr/man/man2/vhangup.2v b/usr/man/man2/vhangup.2v
new file mode 100644 (file)
index 0000000..d205ed3
--- /dev/null
@@ -0,0 +1,33 @@
+.TH VHANGUP 2V
+.UC 4
+.SH NAME
+vhangup \- virtually ``hangup'' the current control terminal
+.SH SYNOPSIS
+.B vhangup()
+.SH DESCRIPTION
+.I Vhangup
+is used by the initialization process
+.IR init (8)
+to arrange that users are given \*(lqclean\*(rq' terminals at login,
+by revoking access of the previous users' processes to the terminal.
+To effect this,
+.I vhangup
+searches the system tables for references to the control terminal
+of the invoking process, revoking access permissions
+on each instance of the terminal which it finds.
+Further attempts to access the terminal by the affected processes
+will yield i/o errors (EBADF).
+Finally,
+a hangup signal (SIGHUP) is sent to the process group of the
+control terminal.
+.SH SEE ALSO
+init (8)
+.SH BUGS
+Access to
+the control terminal via
+.B /dev/tty
+is still possible.
+.PP
+This call is peculiar to this version of UNIX.
+The options and specifications of this system call and even the call itself
+are subject to change.
diff --git a/usr/man/man2/vread.2v b/usr/man/man2/vread.2v
new file mode 100644 (file)
index 0000000..c1d4f96
--- /dev/null
@@ -0,0 +1,118 @@
+.TH VREAD 2V deprecated
+.UC 4
+.SH NAME
+vread \- read virtually
+.SH SYNOPSIS
+.nf
+.B vread(fildes, buffer, nbytes)
+.B char *buffer;
+.fi
+.SH DESCRIPTION
+.B N.B.:
+This call is likely to be replaced by more general virtual memory facilities
+in the near future.
+.PP
+A file descriptor is a word returned from a successful
+.I open,
+.I creat,
+.I dup
+or
+.I pipe
+call.
+.I Buffer
+is the location of
+.I nbytes
+contiguous bytes into which the input will be placed.
+It is not guaranteed that all
+.I nbytes
+will be read (see
+.IR read (2)).
+In particular, if the returned value is 0, then end-of-file has been reached.
+.PP
+Unlike
+.IR read (2),
+.I vread
+does not necessarily or immediately fetch the data requested from
+.I fildes,
+but merely insures that the data will be fetched from the file descriptor
+.I "sometime before"
+the first reference to the data, at the system's discretion.
+Thus
+.I vread
+allows the system, among other possibilities,
+to choose to read data on demand,
+with whatever granularity is allowed by the memory management hardware,
+or to just read it in immediately as with
+.I read.
+A companion
+.IR vwrite (2)
+call may be used with
+.I vread
+to provide an efficient mechanism for updating large files.
+The behavior of
+.I vread
+if other processes are writing to
+.I fildes
+is not defined.
+.PP
+Both the address of
+.I buffer
+and the current offset in
+.I fildes
+(as told by
+.IR tell (2))
+must be aligned to a multiple of VALSIZ (defined in
+.B <valign.h> ).
+The library routine
+.IR valloc (3)
+allocates properly aligned blocks from the free list.
+.PP
+Note for non-virtual systems: the
+.I vread
+system call can be simulated (exactly, if less efficiently) by
+.I read.
+If the unit on which a
+.I vread
+is done is not capable of supporting efficient demand initialization
+(e.g. a terminal or a pipe), then the system may choose to treat a call to
+.I vread
+as if it were a call to
+.I read
+at its discretion.
+.SH SEE ALSO
+read(2), write(2), vwrite (2), valloc(3)
+.SH DIAGNOSTICS
+A 0 is returned at end-of-file.  If the read was otherwise unsuccessful,
+a -1 is returned.  Physical I/O errors, non-aligned or bad buffer addresses,
+preposterous
+.I nbytes,
+file descriptor not that of an input file, and file offset not properly
+aligned can all generate errors.
+.SH BUGS
+You can't
+.I close
+a file descriptor which you have
+.I vread
+from while there are still pages in the file which haven't been fetched by the
+system into your address space.  In no case can a file descriptor which had
+such pages at the point of a
+.I vfork
+be closed during the
+.I vfork.
+.PP
+The system refuses to truncate a file to which any process has a pending
+.I vread.
+.PP
+There is no primitive inverting
+.I vread
+to release the binding
+.I vread
+sets up so that the file may be closed.
+This can be only be done, clumsily, by reading another (plain) file onto the
+buffer area, or pulling the break back with
+.IR break (2)
+to completely release the pages.
+.PP
+This call is peculiar to this version of UNIX.
+It will be superseded by more general
+virtual memory facilities in future versions of the system.
diff --git a/usr/man/man2/vswapon.2v b/usr/man/man2/vswapon.2v
new file mode 100644 (file)
index 0000000..8ed5e0c
--- /dev/null
@@ -0,0 +1,23 @@
+.TH VSWAPON 2V
+.UC 4
+.SH NAME
+vswapon \- add a swap device for interleaved paging/swapping
+.SH SYNOPSIS
+.nf
+.B vswapon(name)
+.B char *name;
+.fi
+.SH DESCRIPTION
+.I Vswapon
+makes the argument block device available to the system for
+allocation for paging and swapping.  The number of blocks to be
+made available, as well as the names of all potentially available
+devices are known to the system, and are present in the system
+configuration file (e.g. /usr/src/sys/conf/confhp.c).
+.SH "SEE ALSO"
+swapon(8)
+.SH BUGS
+There is no way to stop swapping on a disk so that the pack may be
+dismounted.
+.PP
+This call is peculiar to this version of UNIX.
diff --git a/usr/man/man2/vtimes.2v b/usr/man/man2/vtimes.2v
new file mode 100644 (file)
index 0000000..2d9e47a
--- /dev/null
@@ -0,0 +1,93 @@
+.TH VTIMES 2V
+.UC 4
+.SH NAME
+vtimes \- get information about resource utilization
+.SH SYNOPSIS
+.nf
+.B "vtimes(par_vm, ch_vm)"
+.B "struct vtimes *par_vm, *ch_vm;"
+.fi
+.SH DESCRIPTION
+.I Vtimes
+returns accounting information for the current process and for
+the terminated child processes of the current
+process.  Either
+.I par_vm
+or 
+.I ch_vm
+or both may be 0, in which case only the information for the pointers
+which are non-zero is returned.
+.PP
+After the call, each buffer contains information as defined by the
+contents of the include file
+.I /usr/include/sys/vtimes.h:
+.LP
+.nf
+struct vtimes {
+       int     vm_utime;               /* user time (*HZ) */
+       int     vm_stime;               /* system time (*HZ) */
+       /* divide next two by utime+stime to get averages */
+       unsigned vm_idsrss;             /* integral of d+s rss */
+       unsigned vm_ixrss;              /* integral of text rss */
+       int     vm_maxrss;              /* maximum rss */
+       int     vm_majflt;              /* major page faults */
+       int     vm_minflt;              /* minor page faults */
+       int     vm_nswap;               /* number of swaps */
+       int     vm_inblk;               /* block reads */
+       int     vm_oublk;               /* block writes */
+};
+.fi
+.PP
+The
+.I vm_utime
+and
+.I vm_stime
+fields give the user and system
+time respectively in 60ths of a second (or 50ths if that
+is the frequency of wall current in your locality.) The
+.I vm_idrss
+and
+.I vm_ixrss
+measure memory usage.  They are computed by integrating the number of
+memory pages in use each
+over cpu time.  They are reported as though computed
+discretely, adding the current memory usage (in 512 byte
+pages) each time the clock ticks.  If a process used 5 core
+pages over 1 cpu-second for its data and stack, then
+.I vm_idsrss
+would have the value 5*60, where
+.I vm_utime+vm_stime
+would be the 60.  
+.I Vm_idsrss
+integrates data and stack segment
+usage, while
+.I vm_ixrss
+integrates text segment usage.
+.I Vm_maxrss
+reports the maximum instantaneous sum of the
+text+data+stack core-resident page count.
+.PP
+The 
+.I vm_majflt
+field gives the number of page faults which
+resulted in disk activity; the
+.I vm_minflt
+field gives the
+number of page faults incurred in simulation of reference
+bits;
+.I vm_nswap
+is the number of swaps which occurred.  The
+number of file system input/output events are reported in
+.I vm_inblk
+and
+.I vm_oublk
+These numbers account only for real
+i/o; data supplied by the caching mechanism is charged only
+to the first process to read or write the data.
+.SH SEE ALSO
+time(2), wait3(2)
+.SH BUGS
+This call is peculiar to this version of UNIX.
+The options and specifications of this system call are subject to change.
+It may be extended to include additional information
+in future versions of the system.
diff --git a/usr/man/man2/vwrite.2v b/usr/man/man2/vwrite.2v
new file mode 100644 (file)
index 0000000..14cc6f0
--- /dev/null
@@ -0,0 +1,51 @@
+.TH VWRITE 2V deprecated
+.UC 4
+.SH NAME
+vwrite \- write (virtually) to file
+.SH SYNOPSIS
+.nf
+.B vwrite(filedes, buffer, nbytes)
+.B char *buffer;
+.fi
+.SH DESCRIPTION
+.B N.B.:
+This call is likely to be replaced by more general virtual memory facilities
+in the near future.
+.PP
+The
+.I vwrite
+system call is used in conjunction with
+.I vread
+to perform efficient updating of large files.
+After a call to
+.I vread
+and updating of the data in the buffer which was given to
+.I vread,
+a
+.I vwrite
+of the same buffer to the same
+.I filedes
+at the same offset in the file
+will cause data which has been modified since it was
+.I vread
+from (or
+.I vwritten
+to) the file to be returned to the file.
+.SH SEE ALSO
+vread(2)
+.SH DIAGNOSTICS
+Returns \-1 on error: bad descriptor, buffer address, count or alignment
+as well as on physical I/O errors.
+.SH BUGS
+The result of
+.I vwrite
+is defined only when no other
+.I vread's
+have occurred on
+.I buffer
+since the one matching the
+.I vwrite.
+.PP
+This call is peculiar to this version of UNIX.
+It will be superseded by more general
+virtual memory facilities in future versions of the system.
diff --git a/usr/man/man2/wait.2 b/usr/man/man2/wait.2
new file mode 100644 (file)
index 0000000..ebd0a56
--- /dev/null
@@ -0,0 +1,77 @@
+.TH WAIT 2 
+.SH NAME
+wait \- wait for process to terminate
+.SH SYNOPSIS
+.nf
+.B wait(status)
+.B int *status;
+.fi
+.PP
+.B wait(0)
+.SH DESCRIPTION
+.I Wait
+causes its caller to delay until a signal is received or
+one of its child
+processes terminates.
+If any child has died since the last
+.I wait,
+return is immediate;
+if there are no children, return is immediate with
+the error bit set
+(resp. with a value of \-1 returned).
+The normal return yields the process ID of the terminated child.
+In the case of several children several
+.I wait
+calls are needed
+to learn of all the deaths.
+.PP
+If
+.RI (int) status
+is nonzero, the high byte of the word pointed to
+receives the low byte of the
+argument of
+.I exit
+when the child terminated.
+The low byte
+receives the termination status
+of the process.
+See
+.IR signal (2)
+for a list of termination statuses (signals);
+0 status indicates normal termination.
+A special status (0177) is returned for a stopped process
+which has not terminated and can be restarted.
+See
+.IR ptrace (2).
+If the 0200 bit of the termination status
+is set,
+a core image of the process was produced
+by the system.
+.PP
+If the parent process terminates without
+waiting on its children,
+the initialization process
+(process ID = 1)
+inherits the children.
+.PP
+There is another entry
+.IR wait3 (2)
+which is provides additional options needed by the shell
+.IR csh (1)
+to do job control.
+.SH "SEE ALSO"
+wait3(2), exit(2), fork(2), signal(2)
+.SH DIAGNOSTICS
+Returns
+\-1 if there are no children not previously waited for.
+.SH "ASSEMBLER (PDP-11)"
+(wait = 7.)
+.br
+.B sys  wait
+.br
+(process ID in r0)
+.br
+(status in r1)
+.PP
+The high byte of the status is
+the low byte of r0 in the child at termination.
diff --git a/usr/man/man2/wait3.2j b/usr/man/man2/wait3.2j
new file mode 100644 (file)
index 0000000..d06b0e0
--- /dev/null
@@ -0,0 +1,69 @@
+.TH WAIT3 2J
+.UC 4
+.SH NAME
+wait3 \- wait for process to terminate
+.SH SYNOPSIS
+.nf
+.B "#include <wait.h>"
+.B "#include <sys/vtimes.h>"
+.PP
+.B wait3(status, options, vtimep)
+.B union wait status;
+.B int options;
+.B struct vtimes *vtimep;
+.PP
+.B cc ... \-ljobs
+.fi
+.SH DESCRIPTION
+The
+.I status
+and
+.I option
+words are described by definitions and macros in the file
+<wait.h>; the union and its bitfield definitions and associated
+macros given there provide
+convenient and mnemonic access to the word of status returned by a
+.I wait3
+call.
+See this file for more information.
+.PP
+There are two
+.I options,
+which may be combined by
+.IR or ing
+them together.
+The first is WNOHANG which causes the
+.I wait3
+to not hang if there are no
+processes which wish to report status, rather returning a pid of 0 in this
+case as the result of the
+.I wait3.
+The second option is WUNTRACED which causes
+.I wait3
+to return information when children of the current process which are
+stopped but not traced (with
+.IR ptrace (2))
+because they received a SIGTTIN, SIGTTOU, SIGTSTP or SIGSTOP signal.
+See
+.IR sigsys (2))
+for a description of these signals.
+.PP
+The
+.I vtimep
+pointer is an optional structure where a
+.I vtimes
+structure is returned describing the resources used by the terminated
+process and all its children.  This may be given as \*(lq0\*(rq if the
+information is not desired.  Currently this information is not available
+for stopped processes.
+.SH "SEE ALSO"
+wait(2), exit(2), fork(2), sigsys(2)
+.SH DIAGNOSTICS
+Returns
+\-1 if there are no children not previously waited for, or 0 if the WNOHANG
+option is given and there are no stopped or exited children.
+.SH BUGS
+This call is peculiar to this version of UNIX.
+The options and specifications of this system call and even the call itself
+are subject to change.  It may be replaced by other facilities in future
+versions of the system.
diff --git a/usr/man/man2/write.2 b/usr/man/man2/write.2
new file mode 100644 (file)
index 0000000..b42f998
--- /dev/null
@@ -0,0 +1,78 @@
+.TH WRITE 2 
+.UC 4
+.SH NAME
+write \- write on a file
+.SH SYNOPSIS
+.nf
+.B write(fildes, buffer, nbytes)
+.B char *buffer;
+.fi
+.SH DESCRIPTION
+A file descriptor is a word returned from a
+successful
+.I open,
+.I creat,
+.I dup,
+or
+.IR pipe (2)
+call.
+.PP
+.I Buffer
+is the address of
+.I nbytes
+contiguous
+bytes which are written on the output file.
+The number of characters actually written is returned.
+It should be regarded as an error
+if this is not the same as requested.
+.PP
+Writes which are multiples
+of 1024 characters long and begin on a 1024-byte boundary
+in the file
+are more efficient than any others.
+.PP
+.IR Write s
+to the control terminal by a process
+which is not in the process group of the termainl
+and which is not ignoring or holding SIGTTOU signals
+cause the writer's process group
+to receive a SIGTTOU signal
+(See
+.IR jobs (3)
+and the description of the LTOSTOP option in
+.IR tty (4)
+for details).
+.PP
+On some systems
+.I write
+clears the set-user-id bit on a file.
+This prevents penetration of system security
+by a user who
+\*(lqcaptures\*(rq a writeable set-user-id file
+owned by the super-user.
+.SH "SEE ALSO"
+creat(2), open(2), pipe(2)
+.SH DIAGNOSTICS
+Returns
+\-1 on error: bad descriptor, buffer address, or
+count; physical I/O errors.
+.SH "ASSEMBLER (PDP-11)"
+(write = 4.)
+.br
+(file descriptor in r0)
+.br
+.B sys  write; buffer; nbytes
+.br
+(byte count in r0)
+.SH BUGS
+It would be nice to be able to call write and have the call return
+with an error indication if there was no buffer space for the written
+data, rather than blocking the process.
+.PP
+Processes which have been orphaned by their parents
+and have been inherited by
+.IR init (8)
+never receive SIGTTOU signals.
+Output by such a process
+is permitted even when they are not in the process group
+of the control terminal.
diff --git a/usr/man/man3/abort.3 b/usr/man/man3/abort.3
new file mode 100644 (file)
index 0000000..f13b33c
--- /dev/null
@@ -0,0 +1,12 @@
+.TH ABORT 3
+.SH NAME
+abort \- generate a fault
+.SH DESCRIPTION
+.I Abort
+executes an instruction which is illegal in user mode.
+This causes a signal that normally terminates
+the process with a core dump, which may be used for debugging.
+.SH SEE ALSO
+adb(1), signal(2), exit(2)
+.SH DIAGNOSTICS
+Usually `IOT trap \- core dumped' from the shell.
diff --git a/usr/man/man3/abs.3 b/usr/man/man3/abs.3
new file mode 100644 (file)
index 0000000..cc7a330
--- /dev/null
@@ -0,0 +1,17 @@
+.TH ABS 3 
+.SH NAME
+abs \- integer absolute value
+.SH SYNOPSIS
+.nf
+.B abs(i)
+.B int i;
+.fi
+.SH DESCRIPTION
+.I Abs
+returns
+the absolute value of its integer operand.
+.SH SEE ALSO
+floor(3) for
+.I fabs
+.SH BUGS
+You get what the hardware gives on the smallest integer.
diff --git a/usr/man/man3/assert.3x b/usr/man/man3/assert.3x
new file mode 100644 (file)
index 0000000..793b140
--- /dev/null
@@ -0,0 +1,39 @@
+.TH ASSERT 3X
+.SH NAME
+assert \- program verification
+.SH SYNOPSIS
+.B #include <assert.h>
+.PP
+.B assert(expression)
+.SH DESCRIPTION
+.PP
+.I Assert
+is a macro that indicates
+.I expression
+is expected to be true at this point in the program.
+It causes an
+.IR exit (2)
+with a diagnostic comment on the standard output
+when
+.I expression
+is false (0).
+Compiling with the 
+.IR cc (1)
+option
+.SM
+.B \-DNDEBUG
+effectively deletes
+.I assert
+from the program.
+.SH DIAGNOSTICS
+`Assertion failed: file
+.I f
+line
+.I n.'
+.I F
+is the source file and
+.I n
+the source line number
+of the
+.I assert
+statement.
diff --git a/usr/man/man3/atof.3 b/usr/man/man3/atof.3
new file mode 100644 (file)
index 0000000..20549ed
--- /dev/null
@@ -0,0 +1,38 @@
+.TH ATOF 3 
+.SH NAME
+atof, atoi, atol \- convert ASCII to numbers
+.SH SYNOPSIS
+.nf
+.B double atof(nptr)
+.B char *nptr;
+.PP
+.B atoi(nptr)
+.B char *nptr;
+.PP
+.B long atol(nptr)
+.B char *nptr;
+.fi
+.SH DESCRIPTION
+These functions convert a string pointed to by
+.I nptr
+to floating, integer, and long integer
+representation respectively.
+The first unrecognized character ends the string.
+.PP
+.I Atof
+recognizes an optional string of tabs and spaces,
+then an optional sign, then
+a string of digits optionally containing a decimal
+point, then an optional `e' or `E' followed
+by an optionally signed integer.
+.PP
+.I Atoi
+and
+.I atol
+recognize an optional string of tabs and spaces,
+then an optional sign, then a string of
+digits.
+.SH SEE ALSO
+scanf(3)
+.SH BUGS
+There are no provisions for overflow.
diff --git a/usr/man/man3/crypt.3 b/usr/man/man3/crypt.3
new file mode 100644 (file)
index 0000000..13169a6
--- /dev/null
@@ -0,0 +1,65 @@
+.TH CRYPT 3 
+.SH NAME
+crypt, setkey, encrypt \- DES encryption
+.SH SYNOPSIS
+.nf
+.B char *crypt(key, salt)
+.B char *key, *salt;
+.PP
+.B setkey(key)
+.B char *key;
+.PP
+.B encrypt(block, edflag)
+.B char *block;
+.fi
+.SH DESCRIPTION
+.I Crypt
+is the password encryption routine.
+It is based on the NBS Data Encryption Standard, with
+variations intended (among other things) to frustrate use of hardware
+implementations of the DES for key search.
+.PP
+The first argument to
+.I crypt
+is a user's typed password.
+The second is a 2-character string chosen from the
+set [a-zA-Z0-9./].
+The
+.I salt
+string is used to perturb the DES algorithm in one of 4096
+different ways, after which the password
+is used as the key to encrypt repeatedly a constant string.
+The returned value points to the encrypted password,
+in the same alphabet as the salt.
+The first two characters are the salt itself.
+.PP
+The other entries provide (rather primitive)
+access to the actual DES algorithm.
+The argument of
+.I setkey
+is a character array of length 64 containing only the characters
+with numerical value 0 and 1.
+If this string is divided into groups of 8,
+the low-order bit in each group is ignored,
+leading to a 56-bit key which is set into the machine.
+.PP
+The argument to the
+.I encrypt
+entry is likewise a character array of length 64
+containing 0's and 1's.
+The argument array is modified in place
+to a similar array
+representing the bits of the argument after having been
+subjected to the DES algorithm using the key set by
+.I setkey.
+If
+.I edflag
+is 0, the argument is encrypted;
+if non-zero,
+it is decrypted.
+.SH "SEE ALSO"
+passwd(1), passwd(5), login(1), getpass(3)
+.SH BUGS
+The return value
+points to static data whose content is overwritten
+by each call.
diff --git a/usr/man/man3/ctime.3 b/usr/man/man3/ctime.3
new file mode 100644 (file)
index 0000000..b944403
--- /dev/null
@@ -0,0 +1,89 @@
+.TH CTIME 3 
+.SH NAME
+ctime, localtime, gmtime, asctime, timezone \-  convert date and time to ASCII
+.SH SYNOPSIS
+.nf
+.B char *ctime(clock)
+.B long *clock;
+.PP
+.B #include <time.h>
+.PP
+.B struct tm *localtime(clock)
+.B long *clock;
+.PP
+.B struct tm *gmtime(clock)
+.B long *clock;
+.PP
+.B char *asctime(tm)
+.B struct tm *tm;
+.PP
+.B char *timezone(zone, dst)
+.fi
+.SH DESCRIPTION
+.I Ctime
+converts a time pointed to by
+.I clock
+such as returned by
+.IR time (2)
+into ASCII
+and returns a pointer to a
+26-character string
+in the following form.
+All the fields have constant width.
+.PP
+    Sun Sep 16 01:03:52 1973\\n\\0
+.PP
+.I Localtime
+and
+.I gmtime
+return pointers to structures containing
+the broken-down time.
+.I Localtime
+corrects for the time zone and possible daylight savings time;
+.I gmtime
+converts directly to GMT, which is the time UNIX uses.
+.I Asctime
+converts a broken-down time to ASCII and returns a pointer
+to a 26-character string.
+.PP
+The structure declaration from the include file is:
+.RS
+.PP
+.nf
+.so /usr/include/time.h
+.fi
+.RE
+.PP
+These quantities give the time on a 24-hour clock,
+day of month (1-31), month of year (0-11), day of week
+(Sunday = 0), year \- 1900, day of year (0-365),
+and a flag that is nonzero if daylight saving time is in effect.
+.PP
+When local time is called for,
+the program consults the system to determine the time zone and
+whether the standard U.S.A. daylight saving time adjustment is
+appropriate.
+The program knows about the peculiarities
+of this conversion in 1974 and 1975;
+if necessary,
+a table for these years can be extended.
+.PP
+.I Timezone
+returns the name of the time zone associated with its first argument,
+which is measured in minutes westward from Greenwich.
+If the second argument is 0, the standard name is used,
+otherwise the Daylight Saving version.
+If the required name does not appear in a table
+built into the routine,
+the difference from GMT is produced; e.g.
+in Afghanistan
+.I timezone(-(60*4+30), 0)
+is appropriate because it is 4:30 ahead of GMT
+and the string
+.B GMT+4:30
+is produced.
+.SH "SEE ALSO"
+time(2)
+.SH BUGS
+The return values point to static data
+whose content is overwritten by each call.
diff --git a/usr/man/man3/ctype.3 b/usr/man/man3/ctype.3
new file mode 100644 (file)
index 0000000..01f16f0
--- /dev/null
@@ -0,0 +1,64 @@
+.TH CTYPE 3 
+.SH NAME
+isalpha, isupper, islower, isdigit, isalnum, isspace, ispunct, isprint, iscntrl, isascii \- character classification
+.SH SYNOPSIS
+.B #include <ctype.h>
+.PP
+.B isalpha(c)
+.PP
+.B . . .
+.SH DESCRIPTION
+These macros classify ASCII-coded integer values
+by table lookup.
+Each is a predicate returning nonzero for true,
+zero for false.
+.I Isascii
+is defined on all integer values; the rest
+are defined only where 
+.I isascii
+is true and on the single non-ASCII value
+EOF (see
+.IR stdio (3)).
+.TP 15n
+.I isalpha
+.I c
+is a letter
+.TP
+.I isupper
+.I c
+is an upper case letter
+.TP
+.I islower 
+.I c
+is a lower case letter
+.TP
+.I isdigit
+.I c
+is a digit
+.TP
+.I isalnum
+.I c
+is an alphanumeric character
+.TP
+.I isspace
+.I c
+is a space, tab, carriage return, newline, or formfeed
+.TP
+.I ispunct
+.I c
+is a punctuation character (neither control nor alphanumeric)
+.TP
+.I isprint
+.I c
+is a printing character, code 040(8) (space) through 0176 (tilde)
+.TP
+.I iscntrl
+.I c
+is a delete character (0177) or ordinary control character
+(less than 040).
+.TP
+.I isascii
+.I c
+is an ASCII character, code less than 0200
+.SH "SEE ALSO"
+ascii(7)
diff --git a/usr/man/man3/dbm.3x b/usr/man/man3/dbm.3x
new file mode 100644 (file)
index 0000000..1685b03
--- /dev/null
@@ -0,0 +1,147 @@
+.TH DBM 3X 
+.UC 4
+.SH NAME
+dbminit, fetch, store, delete, firstkey, nextkey \- data base subroutines
+.SH SYNOPSIS
+.nf
+.PP
+.B typedef struct {
+.B "   char *dptr;"
+.B "   int dsize;"
+.B } datum;
+.PP
+.B dbminit(file)
+.B char *file;
+.PP
+.B datum fetch(key)
+.B datum key;
+.PP
+.B store(key, content)
+.B datum key, content;
+.PP
+.B delete(key)
+.B datum key;
+.PP
+.B datum firstkey()
+.PP
+.B datum nextkey(key)
+.B datum key;
+.SH DESCRIPTION
+These functions maintain
+key/content pairs in a data base.
+The functions will handle very large
+(a billion blocks)
+databases and will access a keyed item
+in one or two file system accesses.
+The functions are obtained with the loader option
+.BR \-ldbm .
+.PP
+.IR Key s
+and
+.IR content s
+are
+described by the
+.I datum
+typedef.
+A
+.I datum
+specifies a string of
+.I dsize
+bytes pointed to by
+.I dptr.
+Arbitrary binary data, as well as normal
+ASCII strings, are allowed.
+The data base is stored in two files.
+One file is a directory containing a bit map
+and has `.dir' as its suffix.
+The second file contains all data and
+has `.pag' as its suffix.
+.PP
+Before a database can be accessed,
+it must be opened by
+.I dbminit.
+At the time of this call,
+the files
+.IB file .dir
+and
+.IB file .pag
+must exist.
+(An empty database is created by
+creating zero-length
+`.dir' and `.pag' files.)
+.PP
+Once open,
+the data stored under a key is
+accessed by
+.I fetch
+and data is placed under a key
+by
+.IR store .
+A key (and its associated contents)
+is deleted by
+.IR delete .
+A linear pass through all keys in a database
+may be made,
+in an (apparently) random order,
+by use of
+.I firstkey
+and
+.IR nextkey .
+.I Firstkey
+will return the first key
+in the database.
+With any key
+.I nextkey
+will return the next key in the database.
+This code will traverse the data base:
+.IP
+.B for
+(key = firstkey(); key.dptr != NULL; key = nextkey(key))
+.SH DIAGNOSTICS
+All functions that return an
+.I int
+indicate errors with negative values.
+A zero return indicates ok.
+Routines that return a
+.I datum
+indicate errors with a null (0)
+.I dptr.
+.SH BUGS
+The
+`.pag'
+file will contain holes so
+that its apparent size is about
+four times its actual content.
+Older UNIX systems may create real
+file blocks for these holes when touched.
+These files cannot be copied
+by normal means (cp, cat, tp, tar, ar)
+without filling in the holes.
+.PP
+.I Dptr
+pointers returned
+by these subroutines
+point into static storage
+that is changed by subsequent calls.
+.PP
+The sum of the sizes of
+a
+key/content pair must not exceed
+the internal block size
+(currently 1024 bytes).
+Moreover all key/content pairs that hash
+together must fit on a single block.
+.I Store
+will return an error in the event that
+a disk block fills with inseparable data.
+.PP
+.I Delete
+does not physically reclaim file space,
+although it does make it available for reuse.
+.PP
+The order of keys presented by
+.I firstkey
+and
+.I nextkey
+depends on a hashing function, not on anything
+interesting.
diff --git a/usr/man/man3/ecvt.3 b/usr/man/man3/ecvt.3
new file mode 100644 (file)
index 0000000..a6847e8
--- /dev/null
@@ -0,0 +1,61 @@
+.TH ECVT 3 
+.SH NAME
+ecvt, fcvt, gcvt \- output conversion
+.SH SYNOPSIS
+.nf
+.B char *ecvt(value, ndigit, decpt, sign)
+.B double value;
+.B int ndigit, *decpt, *sign;
+.PP
+.B char *fcvt(value, ndigit, decpt, sign)
+.B double value;
+.B int ndigit, *decpt, *sign;
+.PP
+.B char *gcvt(value, ndigit, buf)
+.B double value;
+.B char *buf;
+.fi
+.SH DESCRIPTION
+.I Ecvt
+converts the 
+.I value
+to a null-terminated string of
+.I ndigit
+ASCII digits
+and returns a pointer thereto.
+The position of the decimal point relative to the
+beginning of the string is stored indirectly
+through
+.IR decpt ""
+(negative means to the left of the
+returned digits).
+If the sign of the result is negative,
+the word pointed to by
+.IR sign ""
+is non-zero, otherwise
+it is zero.
+The low-order digit is rounded.
+.PP
+.IR Fcvt " is identical to " "ecvt\fR, except that the correct digit"
+has been rounded for Fortran F-format output of the number
+of digits specified by
+.IR \(*_ndigits .
+.PP
+.I Gcvt
+converts the
+.I value
+to a null-terminated ASCII string in
+.I buf
+and returns a pointer to 
+.I buf.
+It attempts to produce
+.I ndigit
+significant digits in Fortran F format if
+possible, otherwise E format, ready for
+printing.
+Trailing zeros may be suppressed.
+.SH "SEE ALSO"
+printf(3)
+.SH BUGS
+The return values point to static data
+whose content is overwritten by each call.
diff --git a/usr/man/man3/end.3 b/usr/man/man3/end.3
new file mode 100644 (file)
index 0000000..9084f65
--- /dev/null
@@ -0,0 +1,40 @@
+.TH END 3 
+.SH NAME
+end, etext, edata \- last locations in program
+.SH SYNOPSIS
+.nf
+.B extern end;
+.B extern etext;
+.B extern edata;
+.fi
+.SH DESCRIPTION
+These names refer neither to routines
+nor to locations with interesting contents.
+The address of
+.I etext
+is the first address above the program text,
+.I edata
+above the initialized data region, and
+.I end
+above the uninitialized data region.
+.PP
+When execution begins, the program break
+coincides with
+.I end,
+but it is reset by
+the routines
+.IR brk (2),
+.IR malloc (3), 
+standard input/output
+.RI ( stdio (3)),
+the profile
+.RB ( \-p )
+option of 
+.IR cc (1),
+etc.
+The current value of the program break
+is reliably returned by `sbrk(0)',
+see
+.IR brk (2).
+.SH "SEE ALSO"
+brk(2), malloc(3)
diff --git a/usr/man/man3/exp.3m b/usr/man/man3/exp.3m
new file mode 100644 (file)
index 0000000..756c20f
--- /dev/null
@@ -0,0 +1,73 @@
+.TH EXP 3M 
+.SH NAME
+exp, log, log10, pow, sqrt \- exponential, logarithm, power, square root
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double exp(x)
+.B double x;
+.PP
+.B double log(x)
+.B double x;
+.PP
+.B double log10(x)
+.B double x;
+.PP
+.B double pow(x, y)
+.B double x, y;
+.PP
+.B double sqrt(x)
+.B double x;
+.fi
+.SH DESCRIPTION
+.I Exp
+returns the exponential function of 
+.I x.
+.PP
+.I Log
+returns the natural logarithm of 
+.IR x ;
+.I log10
+returns the base 10 logarithm.
+.PP
+.I Pow
+returns
+.I  x\u\s8y\s10\d.
+.PP
+.I Sqrt
+returns the square root of 
+.I x.
+.SH SEE ALSO
+hypot(3),
+sinh(3),
+intro(2)
+.SH DIAGNOSTICS
+.I Exp
+and
+.I pow
+return a huge value when the correct value would
+overflow;
+.I errno
+is set to ERANGE.
+.I Pow
+returns 0 and sets
+.I errno
+to
+EDOM when the second argument is negative and non-integral and
+when
+both arguments are 0.
+.PP
+.I Log
+returns 0 when
+.I x
+is zero or negative;
+.I errno
+is set to EDOM.
+.PP
+.I Sqrt
+returns 0 when 
+.I x
+is negative;
+.I errno
+is set to EDOM.
diff --git a/usr/man/man3/fclose.3s b/usr/man/man3/fclose.3s
new file mode 100644 (file)
index 0000000..695f3ab
--- /dev/null
@@ -0,0 +1,47 @@
+.TH FCLOSE 3S 
+.SH NAME
+fclose, fflush \- close or flush a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B fclose(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B fflush(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Fclose
+causes any buffers for the named
+.I stream
+to be emptied, and the file to be closed.
+Buffers allocated by the standard input/output system
+are freed.
+.PP
+.I Fclose
+is performed automatically upon
+calling
+.IR  exit (2).
+.PP
+.I Fflush
+causes any buffered data for the named output
+.I stream
+to be written to that file.
+The stream remains open.
+.SH "SEE ALSO"
+close(2),
+fopen(3),
+setbuf(3)
+.SH DIAGNOSTICS
+These routines return
+.SM
+.B EOF
+if
+.I stream
+is not associated with an output file, or
+if buffered data cannot be transferred to that file.
diff --git a/usr/man/man3/ferror.3s b/usr/man/man3/ferror.3s
new file mode 100644 (file)
index 0000000..71fdc80
--- /dev/null
@@ -0,0 +1,61 @@
+.TH FERROR 3S 
+.SH NAME
+feof, ferror, clearerr, fileno \- stream status inquiries
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B feof(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B ferror(stream)
+.br
+.SM
+.B FILE
+.B *stream
+.PP
+.B clearerr(stream)
+.br
+.SM
+.B FILE
+.B *stream
+.PP
+.B fileno(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Feof
+returns non-zero when end of file is read on the named input
+.I stream,
+otherwise zero.
+.PP
+.I Ferror
+returns non-zero when an error has occurred reading or writing
+the named
+.I stream,
+otherwise zero.
+Unless cleared by
+.I clearerr,
+the error indication lasts until
+the stream is closed.
+.PP
+.I Clrerr
+resets the error indication on the named
+.I stream.
+.PP
+.I Fileno
+returns the integer file descriptor
+associated with the
+.I stream,
+see
+.IR  open (2).
+.PP
+These functions
+are implemented as macros;
+they cannot be redeclared.
+.SH "SEE ALSO"
+fopen(3), open(2)
diff --git a/usr/man/man3/floor.3m b/usr/man/man3/floor.3m
new file mode 100644 (file)
index 0000000..2db715c
--- /dev/null
@@ -0,0 +1,34 @@
+.TH FLOOR 3M 
+.SH NAME
+fabs, floor, ceil \- absolute value, floor, ceiling functions
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double floor(x)
+.B double x;
+.PP
+.B double ceil(x)
+.B double x;
+.PP
+.B double fabs(x)
+.B double x;
+.nf
+.SH DESCRIPTION
+.I Fabs
+returns the absolute value
+.RI | \|x\| |.
+.PP
+.I Floor
+returns the
+largest integer
+not greater than
+.IR x .
+.PP
+.I Ceil
+returns the
+smallest integer
+not less than
+.IR x .
+.SH SEE ALSO
+abs(3)
diff --git a/usr/man/man3/fread.3s b/usr/man/man3/fread.3s
new file mode 100644 (file)
index 0000000..2a7d815
--- /dev/null
@@ -0,0 +1,63 @@
+.TH FREAD 3S 
+.UC 4
+.SH NAME
+fread, fwrite \- buffered binary input/output
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B fread(ptr, sizeof(*ptr), nitems, stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B fwrite(ptr, sizeof(*ptr), nitems, stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Fread
+reads, into a block beginning at
+.I ptr,
+.I nitems
+of data of the type of
+.I *ptr
+from the named input
+.IR stream .
+It returns the number of items actually read.
+.PP
+If
+.I stream
+is
+.B stdin
+and the standard output is line buffered, then any partial output line
+will be flushed before any call to
+.IR read (2)
+to satisfy the
+.I fread.
+.PP
+.I Fwrite
+appends at most
+.I nitems
+of data of the type of
+.I *ptr
+beginning at
+.I ptr
+to the named output
+.IR stream .
+It returns the number of items actually written.
+.SH "SEE ALSO"
+read(2), write(2),
+fopen(3),
+getc(3), putc(3),
+gets(3), puts(3),
+printf(3), scanf(3)
+.SH DIAGNOSTICS
+.I Fread
+and
+.I fwrite
+return
+0
+upon end of file or error.
+.SH BUGS
diff --git a/usr/man/man3/frexp.3 b/usr/man/man3/frexp.3
new file mode 100644 (file)
index 0000000..cce3160
--- /dev/null
@@ -0,0 +1,40 @@
+.TH FREXP 3
+.SH NAME
+frexp, ldexp, modf \- split into mantissa and exponent
+.SH SYNOPSIS
+.nf
+.B double frexp(value, eptr)
+.B double value;
+.B int *eptr;
+.PP
+.B double ldexp(value, exp)
+.B double value;
+.PP
+.B double modf(value, iptr)
+.B double value, *iptr;
+.SH DESCRIPTION
+.I Frexp
+returns the mantissa of a double 
+.I value
+as a double quantity,
+.I x,
+of magnitude less than 1
+and stores an integer 
+.I n
+such that
+.I value
+=
+\fIx\fP\|\(**\|2\u\fIn\fP\d
+indirectly through 
+.I eptr.
+.PP
+.I Ldexp
+returns the quantity
+\fIvalue\|\(**\|2\u\fIexp\fP\d.
+.PP
+.I Modf
+returns the positive fractional part of
+.I value
+and stores the integer part indirectly
+through 
+.I iptr.
diff --git a/usr/man/man3/fseek.3s b/usr/man/man3/fseek.3s
new file mode 100644 (file)
index 0000000..2e4a5bf
--- /dev/null
@@ -0,0 +1,58 @@
+.TH FSEEK 3S 
+.SH NAME
+fseek, ftell, rewind \- reposition a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B fseek(stream, offset, ptrname)
+.br
+.SM
+.B FILE
+.B *stream;
+.br
+.B long offset;
+.PP
+.B long ftell(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B rewind(stream)
+.SH DESCRIPTION
+.I Fseek
+sets the position of the next input or output
+operation on the
+.IR stream .
+The new position is at the signed distance
+.I offset
+bytes
+from the beginning, the current position, or the end of the file,
+according as 
+.I ptrname
+has the value 0, 1, or 2.
+.PP
+.I Fseek
+undoes any effects of
+.IR  ungetc (3).
+.PP
+.I Ftell
+returns the current value of the offset relative to the beginning
+of the file associated with the named
+.IR stream .
+It is measured in bytes on UNIX;
+on some other systems it is a magic cookie,
+and the only foolproof way to obtain an 
+.I offset
+for
+.IR fseek .
+.PP
+.I Rewind(stream)
+is equivalent to
+.I "fseek(stream, 0L, 0)."
+.SH "SEE ALSO"
+lseek(2),
+fopen(3)
+.SH DIAGNOSTICS
+.I Fseek
+returns \-1 for improper seeks.
diff --git a/usr/man/man3/gamma.3m b/usr/man/man3/gamma.3m
new file mode 100644 (file)
index 0000000..c9648ff
--- /dev/null
@@ -0,0 +1,34 @@
+.TH GAMMA 3M 
+.SH NAME
+gamma \- log gamma function
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double gamma(x)
+.B double x;
+.fi
+.SH DESCRIPTION
+.I Gamma
+returns
+ln \||\|\(*G(\||\|\fIx\fR\||\|)\||\|.
+The sign of
+\(*G(\||\|\fIx\fR\||\|)
+is returned in the external integer
+.IR signgam .
+The following C program might be
+used to calculate
+\(*G:
+.PP
+.nf
+       y = gamma(x);
+       if (y > 88.0)
+               error();
+       y = exp(y);
+       if(signgam)
+               y = \-y;
+.fi
+.SH DIAGNOSTICS
+A huge value is returned for negative integer arguments.
+.SH BUGS
+There should be a positive indication of error.
diff --git a/usr/man/man3/getarg.3f b/usr/man/man3/getarg.3f
new file mode 100644 (file)
index 0000000..5340b46
--- /dev/null
@@ -0,0 +1,34 @@
+.TH GETARG 3F
+.SH NAME
+getarg, iargc \- command arguments to Fortran
+.SH SYNOPSIS
+.nf
+.B subroutine getarg( argno, string )
+.B integer argno
+.B character *(*) string
+.PP
+.B iargc()
+.fi
+.SH DESCRIPTION
+These procedures permit Fortran programs to access the command arguments.
+The integer function
+.B iargc
+returns the number of command arguments.
+The subroutine
+.B getarg
+stores the nth command argument in its second argument.
+The string is truncated or padded with blanks,
+in accord with the rules of Fortran character assignment.
+.PP
+The command
+       go arg1 argument2
+.br
+will return 2 as the value of
+.B iargc.
+If \fBs\fR is declared character\(**4,
+then
+      call getarg(2, s)
+.br
+will put \*(lqargu\*(rq in \fBs\fR.
+.SH "SEE ALSO"
+exec(2)
diff --git a/usr/man/man3/getc.3s b/usr/man/man3/getc.3s
new file mode 100644 (file)
index 0000000..1f86577
--- /dev/null
@@ -0,0 +1,85 @@
+.TH GETC 3S 
+.SH NAME
+getc, getchar, fgetc, getw \- get character or word from stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B int getc(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B int getchar()
+.PP 
+.B int fgetc(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B int getw(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Getc
+returns the next character from the named input
+.IR stream .
+.PP
+.I Getchar()
+is identical to 
+.IR getc(stdin) .
+.PP
+.I Fgetc
+behaves like 
+.I getc,
+but is a genuine function, not a macro;
+it may be used to save object text.
+.PP
+.I Getw
+returns the next
+word (32-bit integer on a VAX-11) from the named input
+.IR stream .
+It returns the constant
+.SM
+.B EOF
+upon end of file or error, but since that is a good
+integer value,
+.I feof
+and
+.IR  ferror (3)
+should be used to check the success of
+.IR getw .
+.I Getw
+assumes no special alignment in the file.
+.SH "SEE ALSO"
+fopen(3), putc(3),
+gets(3), scanf(3),
+fread(3),
+ungetc(3)
+.SH DIAGNOSTICS
+These functions return the integer constant
+.SM
+.B EOF
+at end of file or upon read error.
+.PP
+A stop with message,
+`Reading bad file', means an attempt has been made to
+read from a stream that has not been opened for
+reading by
+.IR fopen .
+.SH BUGS
+The end-of-file return from
+.I getchar
+is incompatible with that in UNIX editions 1-6.
+.PP
+Because it is implemented as a macro,
+.I getc
+treats a
+.I stream
+argument with side effects incorrectly.
+In particular,
+`getc(*f++);'
+doesn't work sensibly.
diff --git a/usr/man/man3/getenv.3 b/usr/man/man3/getenv.3
new file mode 100644 (file)
index 0000000..79c876e
--- /dev/null
@@ -0,0 +1,21 @@
+.TH GETENV 3
+.SH NAME
+getenv \- value for environment name
+.SH SYNOPSIS
+.nf
+.B char *getenv(name)
+.B char *name;
+.fi
+.SH DESCRIPTION
+.I Getenv
+.a
+searches the environment list
+(see
+.IR environ (5))
+for a string of the form
+.IB name = value
+and returns
+.I value
+if such a string is present, otherwise 0 (NULL).
+.SH SEE ALSO
+environ(5), exec(2)
diff --git a/usr/man/man3/getfsent.3 b/usr/man/man3/getfsent.3
new file mode 100644 (file)
index 0000000..bdf9b9e
--- /dev/null
@@ -0,0 +1,79 @@
+.TH GETFSENT 3 
+.UC 4
+.SH NAME
+getfsent, getfsspec, getfsfile, setfsent, endfsent \- get file system descriptor file entry
+.SH SYNOPSIS
+.nf
+.B #include <fstab.h>
+.PP
+.B struct fstab *getfsent()
+.PP
+.B struct fstab *getfsspec(name)
+.B char *name;
+.PP
+.B struct fstab *getfsfile(name)
+.B char *name;
+.PP
+.B int setfsend()
+.PP
+.B int endfsent()
+.fi
+.SH DESCRIPTION
+.I Getfsent,
+.I getfsspec
+and
+.I getfsfile
+each return a pointer to an object with the
+following structure
+containing the broken-out
+fields of a line in the file system description file,
+.I /usr/include/fstab.h.
+.RS
+.PP
+.nf
+#define        FSNMLG  16
+
+struct fstab{
+       char    fs_spec[FSNMLG];
+       char    fs_file[FSNMLG];
+       char    fs_type[3];
+       int     fs_freq;
+       int     fs_passno;
+};
+.ft R
+.ad
+.fi
+.RE
+.PP
+The fields have meanings described in
+.IR fstab (5).
+.PP
+.I Getfsent
+reads the next line of the file, opening the file if necessary.
+.PP
+.I Setfsent
+opens and rewinds the file.
+.PP
+.I Endfsent
+closes the file.
+.PP
+.I Getfsspec
+and
+.I getfsfile
+sequentially search from the beginning
+of the file until a matching
+special file name or
+file system file name is found,
+or until EOF is encountered.
+.SH FILES
+/etc/fstab
+.SH "SEE ALSO"
+fstab(5)
+.SH DIAGNOSTICS
+Null pointer
+(0) returned on EOF or error.
+.SH BUGS
+All information
+is contained in a static area
+so it must be copied if it is
+to be saved.
diff --git a/usr/man/man3/getgrent.3 b/usr/man/man3/getgrent.3
new file mode 100644 (file)
index 0000000..16820be
--- /dev/null
@@ -0,0 +1,97 @@
+.TH GETGRENT 3 
+.SH NAME
+getgrent, getgrgid, getgrnam, setgrent, endgrent \- get group file entry
+.SH SYNOPSIS
+.nf
+.B #include <grp.h>
+.PP
+.B struct group *getgrent()
+.PP
+.B struct group *getgrgid(gid)
+.B int gid;
+.PP
+.B struct group *getgrnam(name)
+.B char *name;
+.PP
+.B setgrent()
+.PP
+.B endgrent()
+.fi
+.SH DESCRIPTION
+.I Getgrent,
+.I getgrgid
+and
+.I getgrnam
+each return pointers
+to an object
+with the following structure
+containing the broken-out
+fields of a line in the group file.
+.RS
+.PP
+.nf
+.so /usr/include/grp.h
+.fi
+.RE
+.PP
+The members of this structure are:
+.TP \w'gr_passwd'u+2n
+gr_name
+The name of the group.
+.br
+.ns
+.TP \w'gr_passwd'u+2n
+gr_passwd
+The encrypted password of the group.
+.br
+.ns
+.TP \w'gr_passwd'u+2n
+gr_gid
+The numerical group-ID.
+.br
+.ns
+.TP \w'gr_passwd'u+2n
+gr_mem
+Null-terminated vector
+of pointers to the individual
+member names.
+.PP
+.I Getgrent
+simply reads the next
+line while
+.I getgrgid
+and
+.I getgrnam
+search until a matching
+.I gid
+or
+.I name
+is found
+(or until EOF is encountered).
+Each routine picks up
+where the others leave off
+so successive calls may be used
+to search the entire file.
+.PP
+A call to
+.I setgrent
+has the effect of rewinding
+the group file
+to allow
+repeated searches.
+.I Endgrent
+may be called to
+close the group file
+when processing is complete.
+.SH FILES
+/etc/group
+.SH "SEE ALSO"
+getlogin(3), getpwent(3), group(5)
+.SH DIAGNOSTICS
+A null pointer
+(0) is returned on EOF or error.
+.SH BUGS
+All information
+is contained in a static area
+so it must be copied if it is
+to be saved.
diff --git a/usr/man/man3/getlogin.3 b/usr/man/man3/getlogin.3
new file mode 100644 (file)
index 0000000..5462d17
--- /dev/null
@@ -0,0 +1,42 @@
+.TH GETLOGIN 3 
+.SH NAME
+getlogin \- get login name
+.SH SYNOPSIS
+.B char *getlogin()
+.SH DESCRIPTION
+.I Getlogin
+returns a pointer to
+the login name
+as found in
+.IR /etc/utmp .
+It may be used
+in conjunction
+with
+.I getpwnam
+to locate the correct
+password file entry
+when the same userid
+is shared by several
+login names.
+.PP
+If
+.I getlogin
+is called within a process
+that is not attached to a
+typewriter, it returns NULL.
+The correct procedure
+for determining the login name
+is to first call
+.I getlogin
+and if it fails,
+to call
+.IR getpwuid .
+.SH FILES
+/etc/utmp
+.SH "SEE ALSO"
+getpwent(3), getgrent(3), utmp(5)
+.SH DIAGNOSTICS
+Returns NULL (0) if name not found.
+.SH BUGS
+The return values point to static data
+whose content is overwritten by each call.
diff --git a/usr/man/man3/getpass.3 b/usr/man/man3/getpass.3
new file mode 100644 (file)
index 0000000..03c7892
--- /dev/null
@@ -0,0 +1,25 @@
+.TH GETPASS 3 
+.SH NAME
+getpass \- read a password
+.SH SYNOPSIS
+.nf
+.B char *getpass(prompt)
+.B char *prompt;
+.fi
+.SH DESCRIPTION
+.I Getpass
+reads a password from the file
+.IR /dev/tty ,
+or if that cannot be opened, from the standard input,
+after prompting with the null-terminated string
+.I prompt
+and disabling echoing.
+A pointer is returned to a null-terminated string
+of at most 8 characters.
+.SH FILES
+/dev/tty
+.SH "SEE ALSO"
+crypt(3)
+.SH BUGS
+The return value points to static data
+whose content is overwritten by each call.
diff --git a/usr/man/man3/getpw.3 b/usr/man/man3/getpw.3
new file mode 100644 (file)
index 0000000..2fac54e
--- /dev/null
@@ -0,0 +1,27 @@
+.TH GETPW 3  deprecated
+.SH NAME
+getpw \- get name from uid
+.SH SYNOPSIS
+.nf
+.B getpw(uid, buf)
+.B char *buf;
+.fi
+.SH DESCRIPTION
+.I Getpw
+searches the password file for
+the (numerical)
+.IR uid ", and fills in " "buf"
+with the corresponding line;
+it returns non-zero if
+.IR uid ""
+could not
+be found.
+The line is null-terminated.
+.SH FILES
+/etc/passwd
+.SH "SEE ALSO"
+getpwent(3),
+passwd(5)
+.SH DIAGNOSTICS
+Non-zero
+return on error.
diff --git a/usr/man/man3/getpwent.3 b/usr/man/man3/getpwent.3
new file mode 100644 (file)
index 0000000..882e417
--- /dev/null
@@ -0,0 +1,74 @@
+.TH GETPWENT 3 
+.SH NAME
+getpwent, getpwuid, getpwnam, setpwent, endpwent \- get password file entry
+.SH SYNOPSIS
+.nf
+.B #include <pwd.h>
+.PP
+.B struct passwd *getpwent()
+.PP
+.B struct passwd *getpwuid(uid)
+.B int uid;
+.PP
+.B struct passwd *getpwnam(name)
+.B char *name;
+.PP
+.B int setpwent()
+.PP
+.B int endpwent()
+.fi
+.SH DESCRIPTION
+.I Getpwent,
+.I getpwuid
+and
+.I getpwnam
+each return a pointer to an object with the
+following structure
+containing the broken-out
+fields of a line in the password file.
+.RS
+.PP
+.nf
+.so /usr/include/pwd.h
+.ft R
+.ad
+.fi
+.RE
+.PP
+The fields
+.I pw_quota
+and
+.I pw_comment
+are unused; the others have meanings described in
+.IR passwd (5).
+.PP
+.I Getpwent
+reads the next
+line (opening the file if necessary);
+.I setpwent
+rewinds the file;
+.I endpwent
+closes it.
+.PP
+.I Getpwuid
+and
+.I getpwnam
+search from the beginning until a matching
+.I uid
+or
+.I name
+is found
+(or until EOF is encountered).
+.SH FILES
+/etc/passwd
+.SH "SEE ALSO"
+getlogin(3), getgrent(3), passwd(5)
+.SH DIAGNOSTICS
+Null pointer
+(0) returned on EOF or error.
+.SH BUGS
+All information
+is contained in a static area
+so it must be copied if it is
+to be saved.
+.br
diff --git a/usr/man/man3/gets.3s b/usr/man/man3/gets.3s
new file mode 100644 (file)
index 0000000..061824d
--- /dev/null
@@ -0,0 +1,62 @@
+.TH GETS 3S 
+.SH NAME
+gets, fgets \- get a string from a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B char *gets(s)
+.br
+.B char *s;
+.PP
+.B char *fgets(s, n, stream)
+.br
+.B char *s;
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Gets
+reads a string into
+.I s
+from the standard input stream
+.B stdin.
+The string is terminated by a newline
+character, which is replaced in
+.I s
+by a null character.
+.I Gets
+returns its argument.
+.PP
+.I Fgets
+reads 
+.IR n \-1
+characters, or up to a newline
+character, whichever comes first,
+from the
+.I stream
+into the string
+.IR s .
+The last character read into
+.I s
+is followed by a null character.
+.I Fgets
+returns its first argument.
+.SH "SEE ALSO"
+puts(3),
+getc(3), scanf(3), fread(3),
+ferror(3)
+.SH DIAGNOSTICS
+.I Gets
+and
+.I fgets
+return the constant pointer 
+.SM
+.B NULL
+upon end of file or error.
+.SH BUGS
+.I Gets
+deletes a newline,
+.I fgets
+keeps it,
+all in the name of backward compatibility.
diff --git a/usr/man/man3/hypot.3m b/usr/man/man3/hypot.3m
new file mode 100644 (file)
index 0000000..7696776
--- /dev/null
@@ -0,0 +1,26 @@
+.TH HYPOT 3M 
+.SH NAME
+hypot, cabs \- Euclidean distance
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double hypot(x, y)
+.B double x, y;
+.PP
+.B double cabs(z)
+.B struct { double x, y;} z;
+.fi
+.SH DESCRIPTION
+.I Hypot
+and
+.I cabs
+return
+.PP
+.IP
+sqrt(x*x + y*y),
+.LP
+taking precautions against unwarranted overflows.
+.SH SEE ALSO
+exp(3) for
+.I sqrt
diff --git a/usr/man/man3/intro.3 b/usr/man/man3/intro.3
new file mode 100644 (file)
index 0000000..7766f1b
--- /dev/null
@@ -0,0 +1,103 @@
+.TH INTRO 3
+.UC 4
+.SH NAME
+intro \- introduction to library functions
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B #include <math.h>
+.SH DESCRIPTION
+This section describes functions that may be found
+in various libraries, other than those functions
+that directly invoke UNIX system primitives,
+which are described in section 2.
+Functions are divided into various libraries distinguished
+by the section number at the top of the page:
+.TP 6n
+(3)
+These functions, together with those of section 2 and those
+marked (3S), constitute library
+.I libc,
+which is automatically loaded by the C compiler
+.IR cc (1)
+and the Fortran compiler
+.IR f77 (1).
+The link editor
+.IR ld (1)
+searches this library under the `\-lc' option.
+Declarations for some of these functions may be obtained
+from include files indicated on the appropriate pages.
+.TP
+(3J)
+These functions are part of the job control facilities,
+contained in the library
+.RB \*(lq \-ljobs .\*(rq
+The job control facilities
+are outlined in
+.IR jobs (3).
+.TP
+(3M)
+These functions constitute the math library,
+.I libm.
+They are automatically loaded as needed by the Fortran compiler
+.IR f77 (1).
+The link editor searches this library under the `\-lm' option.
+Declarations for these functions may be obtained from
+the include file <math.h>.
+.TP 
+(3S)
+These functions constitute the
+`standard I/O package',
+see
+.IR stdio (3).
+These functions are in the library
+.I libc
+already mentioned.
+Declarations for these functions may be obtained from
+the include file <stdio.h>.
+.TP
+(3X)
+Various
+specialized libraries have not been given distinctive
+captions.
+Files in which such libraries are found are named
+on appropriate pages.
+.SH FILES
+.nf
+/lib/libc.a
+/lib/libm.a, /usr/lib/libm.a (one or the other)
+/usr/lib/libjobs.a
+.fi
+.SH SEE ALSO
+stdio(3),
+nm(1), ld(1), cc(1), f77(1), intro(2)
+.SH DIAGNOSTICS
+Functions in the math library (3M) may return
+conventional values when the function is undefined for the
+given arguments or when the value is not representable.
+In these cases the external variable
+.I errno
+(see
+.IR intro (2))
+is set to the value EDOM
+or ERANGE.
+The values of EDOM and ERANGE are defined in
+the include file
+.I <math.h>.
+.SH "ASSEMBLER (PDP-11)"
+In assembly language these functions may be accessed
+by simulating the C calling sequence.
+For example,
+.IR ecvt (3)
+might be called this way:
+.IP ""
+.globl _ecvt
+.nf
+setd
+mov    $sign,\-(sp)
+mov    $decpt,\-(sp)
+mov    ndigit,\-(sp)
+movf   value,\-(sp)
+jsr    pc,_ecvt
+add    $14.,sp
+.fi
diff --git a/usr/man/man3/j0.3m b/usr/man/man3/j0.3m
new file mode 100644 (file)
index 0000000..26444f7
--- /dev/null
@@ -0,0 +1,37 @@
+.TH J0 3M 
+.SH NAME
+j0, j1, jn, y0, y1, yn \- bessel functions
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double j0(x)
+.B double x;
+.PP
+.B double j1(x)
+.B double x;
+.PP
+.B double jn(n, x)
+.B double x;
+.PP
+.B double y0(x)
+.B double x;
+.PP
+.B double y1(x)
+.B double x;
+.PP
+.B double yn(n, x)
+.B double x;
+.fi
+.SH DESCRIPTION
+These functions calculate Bessel functions of the first
+and second kinds for real arguments and integer orders.
+.SH DIAGNOSTICS
+Negative arguments cause
+.I y0, y1,
+and
+.I yn
+to return a huge negative value
+and set
+.I errno
+to EDOM.
diff --git a/usr/man/man3/jobs.3j b/usr/man/man3/jobs.3j
new file mode 100644 (file)
index 0000000..ea55d2e
--- /dev/null
@@ -0,0 +1,348 @@
+.TH JOBS 3J
+.UC 4
+.SH NAME
+jobs \- summary of job control facilities
+.SH SYNOPSIS
+.nf
+.B #include <sys/ioctl.h>
+.B #include <signal.h>
+.B #include <sys/vtimes.h>
+.B #include <wait.h>
+.PP
+.B int fildes, signo;
+.B short pid, pgrp;
+.B union wait status;
+.B struct vtimes vt;
+.PP
+.B ioctl(fildes, TIOCSPGRP, &pgrp)
+.B ioctl(fildes, TIOCGPGRP, &pgrp)
+.PP
+.B setpgrp(pid, pgrp)
+.B getpgrp(pid)
+.B killpg(pgrp, signo)
+.PP
+.B sigset(signo, action)
+.B sighold(signo)
+.B sigrelse(signo)
+.B sigpause(signo)
+.B sigsys(signo, action)
+.PP
+.B wait3(&status, options, &vt)
+.PP
+.B cc ... \-ljobs
+.fi
+.SH DESCRIPTION
+The facilities described here are used to support the job control implemented
+in
+.IR csh (1),
+and may be used in other programs to provide similar facilities.
+Because these facilities are not standard in UNIX and because the
+signal mechanisms are also slightly different, the associated
+routines are not in the standard C library, but rather in the \fB\-ljobs\fR
+library.
+.PP
+For descriptions of the individual routines see the various sections listed
+in \s-2SEE ALSO\s0 below.  This section attempt only to place these facilities
+in context, not to explain the semantics of the individual calls.
+.PP
+.B "Terminal arbitration mechanisms."
+.PP
+The job control mechanism works by associating with each process a number
+called a
+.I "process group";
+related processes (e.g. in a pipeline) are given the same process group.
+The system assigns a single process group number to each terminal.
+Processes running on a terminal are given read access to that terminal
+only if they are in the same process group as that terminal.
+.PP
+Thus a command interpreter may start several jobs running in different
+process groups and arbitrate access to the terminal by controlling which,
+if any, of these processes is in the same process group as the terminal.
+When a process which is not
+in the process group of the terminal tries to read from the terminal,
+all members of the process group of the process receive a SIGTTIN signal,
+which normally then causes them to stop until they are continued
+with a SIGCONT signal.
+(See
+.IR sigsys (2)
+for a description of these signals;
+.IR tty (4)
+for a description of process groups.)
+.PP
+If a process which is not in the process group of the terminal
+attempts to change the terminals mode,
+the process group of that process is sent a SIGTTOU signal, causing
+the process group to stop.
+A similar mechanism is (optionally) available for output, causing
+processes to block with SIGTTOU when they attempt to write to the terminal
+while not in its process group;
+this is controlled by the LTOSTOP bit in the tty mode
+word, enabled by \*(lqstty tostop\*(rq and disabled (the default)
+by \*(lqstty \-tostop.\*(rq
+(The LTOSTOP bit is described in
+.IR tty (4)).
+.LP
+.B "How the shell manipulates process groups."
+.PP
+A shell which is interactive first establishes its own process group
+and a process group for the terminal; this prevents other processes
+from being inadvertantly stopped while the terminal is under its control.
+The shell then assigns each job it creates a distinct process group.
+When a job is to be run in the foreground,
+the shell gives the terminal to the process group of the job using
+the TIOCSPGRP ioctl
+(See
+.IR ioctl (2)
+and
+.IR tty (4)).
+When a job stops or completes, the shell reclaims the terminal
+by resetting the terminals process group to that of the shell using
+TIOCSPGRP again.
+.PP
+Shells which are running shell scripts or running non-interactively do
+not manipulate process groups of jobs they create.  Instead, they
+leave the process group of sub-processes and the terminal unchanged.
+This assures that if any sub-process they create blocks for terminal i/o,
+the shell and all its sub-processes will be blocked
+(since they are a single process group).
+The first interactive parent of the non-interactive shell
+can then be used to deal with the stoppage.
+.PP
+Processes which are orphans (whose parents have exited), and descendants
+of these processes are protected by the system from stopping, since there
+can be no interactive parent.  Rather than blocking, reads from the
+control terminal return end-of-file and writes to the control
+terminal are permitted (i.e. LTOSTOP has no effect for these processes.)
+Similarly processes which ignore or hold the SIGTTIN or SIGTTOU signal are not
+sent these signals when accessing their control terminal; if they are not in the
+process group of the control terminal reads simply return end-of-file.
+Output and mode setting are also allowed.
+.PP
+Before a shell
+.I suspends
+itself, it places itself back in the process group in which it was
+created, and then sends this original group a stopping signal, stopping
+the shell and any other intermediate processes back to an interactive parent.
+The shell also restores the process group of the terminal when it finishes,
+as the process which then resumes would not necessarily be in control of
+the terminal otherwise.
+.PP
+.B "Naive processes."
+.PP
+A process which does not alter the state of the terminal,
+and which does no job control can invoke subprocesses normally
+without worry.  If such a process issues a
+.IR system (3)
+call and this command is then stopped, both of the processes will stop
+together.  Thus simple processes need not worry about job control, even
+if they have \*(lqshell escapes\*(rq or invoke other processes.
+.PP
+.B "Processes which modify the terminal state."
+.PP
+When first setting the terminal into an unusual mode, the process
+should check, with the stopping signals held,
+that it is in the foreground.  It should then change the state of the
+terminal, and set the catches for SIGTTIN, SIGTTOU and SIGTSTP.
+The following is a sample of the code that will be needed, assuming
+that unit 2 is known to be a terminal.
+.PP
+.nf
+.ft B
+       short   tpgrp;
+       \&...
+
+retry:
+       sigset(SIGTSTP, SIG_HOLD);
+       sigset(SIGTTIN, SIG_HOLD);
+       sigset(SIGTTOU, SIG_HOLD);
+       if (ioctl(2, TIOCGPGRP, &tpgrp) != 0)
+               goto nottty;
+       if (tpgrp != getpgrp(0)) { /* not in foreground */
+               sigset(SIGTTOU, SIG_DFL);
+               kill(0, SIGTTOU);
+               /* job stops here waiting for SIGCONT */
+               goto retry;
+       }
+       \fI\&...save old terminal modes and set new modes\&...\fB
+       sigset(SIGTTIN, onstop);
+       sigset(SIGTTOU, onstop);
+       sigset(SIGTSTP, onstop);
+.ft R
+.fi
+.PP
+It is necessary to ignore SIGTSTP in this code because otherwise our process
+could be moved from the foreground to the background in the middle of checking
+if it is in the foreground.
+The process holds all the stopping signals in this critical section so no other
+process in our process group can mess us up by blocking us on one of these
+signals in the middle of our check.
+(This code assumes that the command interpreter will not move a process from
+foreground to background without stopping it; if it did we would have
+no way of making the check correctly.)
+.PP
+The routine which handles the signal should clear the catch for the stop
+signal and
+.IR kill (2)
+the processes in its process group with the same signal.  The statement
+after this
+.I kill
+will be executed when the process is later continued with SIGCONT.
+.PP
+Thus the code for the catch routine might look like:
+.PP
+.ft B
+.nf
+       \&...
+       sigset(SIGTSTP, onstop);
+       sigset(SIGTTIN, onstop);
+       sigset(SIGTTOU, onstop);
+       \&...
+
+onstop(signo)
+       int signo;
+{
+       \fI... restore old terminal state ...\fB
+       sigset(signo, SIG_DFL);
+       kill(0, signo);
+       /* stop here until continued */
+       sigset(signo, onstop);
+       \fI... restore our special terminal state ...\fB
+}
+.fi
+.ft R
+.PP
+This routine can also be used to simulate a stop signal.
+.PP
+If a process does not need to save and restore state when it is stopped,
+but wishes to be notified when it is continued after a stop it can catch
+the SIGCONT signal; the SIGCONT handler will be run when the process
+is continued.
+.PP
+Processes which lock data bases such as the password file should ignore
+SIGTTIN, SIGTTOU, and SIGTSTP signals while the data bases are being
+manipulated.  While a process is ignoring SIGTTIN signals, reads which
+would normally have hung will return end-of-file; writes which would
+normally have caused SIGTTOU signals are instead permitted while SIGTTOU
+is ignored.
+.PP
+.B "Interrupt-level process handling."
+.PP
+Using the mechanisms of
+.IR sigset (3)
+it is possible to handle process state changes as they occur by providing
+an interrupt-handling routine for the SIGCHLD signal which occurs
+whenever the status of a child process changes.  A signal handler for this
+signal is established by:
+.PP
+.RS
+.B "sigset(SIGCHLD, onchild);"
+.RE
+.LP
+The shell or other process would then await a change in child status
+with code of the form:
+.PP
+.nf
+.ft B
+recheck:
+       sighold(SIGCHLD);               /* start critical section */
+       if (\fIno children to process\fB) {
+               sigpause(SIGCHLD);      /* release SIGCHLD and pause */
+               goto recheck;
+       }
+       sigrelse(SIGCHLD);              /* end critical region */
+       /* now have a child to process */
+.fi
+.ft R
+.PP
+Here we are using
+.IR sighold
+to temporarily block the SIGCHLD signal during the checking of the
+data structures telling us whether we have a child to process.
+If we didn't block the signal we would have a race condition since the
+signal might corrupt our decision by arriving shortly after we had
+finished checking the condition but before we paused.
+.PP
+If we need to wait for something to happen, we call
+.I sigpause
+which automically releases the hold on the SIGCHLD signal and waits for a
+signal to occur by starting a
+.IR pause (2).
+Otherwise we simply release the SIGCHLD signal and process the child.
+.I Sigpause
+is similar to the PDP-11
+.I wait
+instruction, which returns the priority of the processor to the base
+level and idles waiting for an interrupt.
+.PP
+It is important to note that the long-standing bug in the signal mechanism
+which would have lost a SIGCHLD signal which occurred while the signal
+was blocked has been fixed.  This is because
+.I sighold
+uses the SIG_HOLD signal set of
+.IR sigsys (2)
+to prevent the signal action from being taken without losing the signal
+if it occurs.  Similarly, a signal action set with
+.I sigset
+has the signal held while the action routine is running,
+much as a the interrupt priority of the processor is raised when
+a device interrupt is taken.
+.PP
+In this interrupt driven style of termination processing it is necessary
+that the
+.I wait
+calls used to retrieve status in the SIGCHLD signal handler not block.
+This is because a single invocation of the SIGCHLD handler may indicate
+an arbitrary number of process status changes: signals are not queued.
+This is similar to the case in a disk driver where several drives on
+a single controller may report status at once, while there is only
+one interrupt taken.
+It is even possible for no children to be ready to report status when
+the SIGCHLD handler is invoked, if the signal was posted while the SIGCHLD
+handler was active, and the child was noticed due to a SIGCHLD initially
+sent for another process.
+This causes no problem, since the handler will be called whenever there
+is work to do; the handler just has to collect all information by calling
+.I wait3
+until it says no more information is available.
+Further status changes are guaranteed to be reflected in another SIGCHLD
+handler call.
+.PP
+.B Restarting system calls.
+.PP
+In older versions of UNIX
+\*(lqslow\*(rq system calls
+were interrupted when signals occurred,
+returning EINTR.
+The new signal mechanism
+.IR sigset (3)
+normally restarts such calls
+rather than interrupting them.
+To summarize:
+.I pause
+and
+.I wait
+return error EINTR (as before),
+.I ioctl
+and
+.I wait3
+restart, and
+.I read
+and
+.I write
+restart unless some data was read or written in which case they
+return indicating how much data was read or written.
+In programs which use the older
+.IR signal (2)
+mechanisms,
+all of these calls return EINTR
+if a signal occurs during the call.
+.SH SEE ALSO
+csh(1), ioctl(2), killpg(2), setpgrp(2), sigsys(2), wait3(2), signal(3),
+tty(4)
+.SH BUGS
+The job control facilities are not available in standard version 7 UNIX.
+These facilities are still under development and may change in future
+releases of the system as better inter-process communication facilities
+and support for virtual terminals become available.  The options and
+specifications of these system calls and even the calls themselves
+are thus subject to change.
diff --git a/usr/man/man3/l3tol.3 b/usr/man/man3/l3tol.3
new file mode 100644 (file)
index 0000000..92570c5
--- /dev/null
@@ -0,0 +1,33 @@
+.TH L3TOL 3 
+.SH NAME
+l3tol, ltol3 \- convert between 3-byte integers and long integers
+.SH SYNOPSIS
+.nf
+.B l3tol(lp, cp, n)
+.B long *lp;
+.B char *cp;
+.PP
+.B ltol3(cp, lp, n)
+.B char *cp;
+.B long *lp;
+.fi
+.SH DESCRIPTION
+.I L3tol
+converts a list of
+.I n
+three-byte integers packed into a character string
+pointed to by 
+.I cp
+into a list of long integers pointed to by
+.IR lp .
+.PP
+.I Ltol3
+performs the reverse conversion from long integers
+.RI ( lp )
+to three-byte integers
+.RI ( cp ).
+.PP
+These functions are useful for file-system maintenance
+where the i-numbers are three bytes long.
+.SH SEE ALSO
+filsys(5)
diff --git a/usr/man/man3/malloc.3 b/usr/man/man3/malloc.3
new file mode 100644 (file)
index 0000000..c86ec37
--- /dev/null
@@ -0,0 +1,116 @@
+.TH MALLOC 3 
+.UC 4
+.SH NAME
+malloc, free, realloc, calloc \- main memory allocator
+.SH SYNOPSIS
+.nf
+.B char *malloc(size)
+.B unsigned size;
+.PP
+.B free(ptr)
+.B char *ptr;
+.PP
+.B char *realloc(ptr, size)
+.B char *ptr;
+.B unsigned size;
+.PP
+.B char *calloc(nelem, elsize)
+.B unsigned nelem, elsize;
+.fi
+.SH DESCRIPTION
+.I Malloc
+and
+.I free
+provide a simple general-purpose memory allocation package.
+.I Malloc
+returns a pointer to a block of at least
+.I size
+bytes beginning on a word boundary.
+.PP
+The argument to
+.I free
+is a pointer to a block previously allocated by
+.IR malloc ;
+this space is made available for further allocation,
+but its contents are left undisturbed.
+.PP
+Needless to say, grave disorder will result if the space
+assigned by
+.I malloc
+is overrun or if some random number is handed to
+.IR free .
+.PP
+.I Malloc
+allocates the first big enough contiguous reach of
+free space
+found in a circular search from the last 
+block allocated or freed,
+coalescing adjacent free blocks as it searches.
+It calls
+.I sbrk
+(see
+.IR break (2))
+to get more memory from the system when there is no
+suitable space already free.
+.PP
+.I Realloc
+changes the size of the block pointed to by
+.I ptr
+to
+.I size
+bytes and returns a pointer to the (possibly moved)
+block.
+The contents will be unchanged up to the
+lesser of the new and old sizes.
+.PP
+.I Realloc
+also works if
+.I ptr
+points to a block freed since the last call of
+.I malloc, realloc
+or
+.IR calloc ;
+thus sequences of
+.I free, malloc
+and
+.I realloc
+can exploit the search strategy of
+.I malloc
+to do storage compaction.
+.PP
+.I Calloc
+allocates space for
+an array of
+.I nelem
+elements of size
+.I elsize.
+The space is initialized to zeros.
+.PP
+Each of the allocation routines returns a pointer
+to space suitably aligned (after possible pointer coercion)
+for storage of any type of object.
+.SH DIAGNOSTICS
+.I Malloc, realloc
+and
+.I calloc
+return a null pointer (0) if there is no available memory
+or if the arena has been detectably corrupted by storing outside the bounds
+of a block.
+.I Malloc
+may be recompiled to check the arena very stringently
+on every transaction;
+see the source code.
+.SH BUGS
+When
+.I realloc
+returns 0,
+the block
+pointed to by
+.I ptr
+may be destroyed.
+.PP
+The current incarnation of the allocator is unsuitable for direct use in
+a large virtual environment where many small blocks are to be kept, since
+it keeps all allocated and freed blocks on a single circular list.  Just
+before more memory is allocated, all allocated and freed blocks are
+referenced; this can cause a huge number of page faults.
diff --git a/usr/man/man3/mktemp.3 b/usr/man/man3/mktemp.3
new file mode 100644 (file)
index 0000000..0e14abc
--- /dev/null
@@ -0,0 +1,19 @@
+.TH MKTEMP 3 
+.SH NAME
+mktemp \- make a unique file name
+.SH SYNOPSIS
+.nf
+.B char *mktemp(template)
+.B char *template;
+.fi
+.SH DESCRIPTION
+.I Mktemp
+replaces
+.I template
+by a unique file name, and returns the
+address of the template.
+The template should look like a file name with six trailing
+X's, which will be replaced with the
+current process id and a unique letter.
+.SH "SEE ALSO"
+getpid(2)
diff --git a/usr/man/man3/monitor.3 b/usr/man/man3/monitor.3
new file mode 100644 (file)
index 0000000..c3dbbc6
--- /dev/null
@@ -0,0 +1,85 @@
+.TH MONITOR 3 
+.SH NAME
+monitor \- prepare execution profile
+.SH SYNOPSIS
+.nf
+.B monitor(lowpc, highpc, buffer, bufsize, nfunc)
+.B int (*lowpc)(), (*highpc)();
+.B short buffer[];
+.fi
+.SH DESCRIPTION
+An executable program created by
+`cc \-p' automatically includes calls for
+.I monitor
+with default parameters;
+.I monitor
+needn't be called explicitly
+except to gain fine control over profiling.
+.PP
+.I Monitor
+is an interface to
+.IR profil (2).
+.I Lowpc
+and
+.I highpc
+are the addresses of two functions;
+.I buffer
+is the address of a (user supplied)
+array of
+.I bufsize
+short integers.
+.I Monitor
+arranges to record a histogram of
+periodically sampled values of the program counter,
+and of counts of calls
+of certain functions, in the buffer.
+The lowest address sampled
+is that of
+.I lowpc
+and the highest is
+just below
+.IR highpc .
+At most
+.I nfunc
+call counts can be kept; only calls of functions
+compiled with the profiling option
+.B \-p
+of
+.IR cc (1)
+are recorded.
+For the results to be significant,
+especially where there are small, heavily
+used routines,
+it is suggested that the buffer be no more
+than a few times smaller than the range
+of locations sampled.
+.PP
+To profile the entire program,
+it is sufficient to use
+.PP
+.nf
+       extern etext();
+       . . .
+       monitor((int) 2, etext, buf, bufsize, nfunc);
+.fi
+.PP
+.I Etext
+lies just above all the
+program text, see
+.IR end (3).
+.PP
+To stop execution monitoring and write the results
+on the file
+.I mon.out,
+use
+.PP
+       monitor(0);
+.LP
+then
+.IR prof (1)
+can be used
+to examine the results.
+.SH FILES
+mon.out
+.SH "SEE ALSO"
+prof(1), profil(2), cc(1)
diff --git a/usr/man/man3/nlist.3 b/usr/man/man3/nlist.3
new file mode 100644 (file)
index 0000000..b11b44a
--- /dev/null
@@ -0,0 +1,50 @@
+.TH NLIST 3 
+.UC 4
+.SH NAME
+nlist \- get entries from name list
+.SH SYNOPSIS
+.nf
+.B #include <nlist.h>
+.B nlist(filename, nl)
+.B char *filename;
+.B struct nlist nl[];
+.fi
+.SH DESCRIPTION
+.I Nlist
+examines the name list in
+the given executable output file
+and selectively extracts a
+list of values.
+The name list consists of
+an array of structures containing names,
+types and values.
+The list is terminated with a null name.
+Each name is looked up in the name list of
+the file.
+If the name is found, the type and value of the
+name are inserted in the next two fields.
+If the name is not found, both entries are set to 0.
+See
+.IR a.out (5)
+for the structure declaration.
+.PP
+This subroutine is useful for
+examining the system name list kept in
+the file
+.BR /vmunix .
+In this way programs can obtain system addresses
+that are up to date.
+.SH "SEE ALSO"
+a.out(5)
+.SH DIAGNOSTICS
+All
+type entries are set to 0 if the file cannot be found
+or if it is not a valid namelist.
+.SH BUGS
+On other versions of UNIX you must include <a.out.h> rather than <nlist.h>;
+this is unfortunate, but
+.I <a.out.h>
+can't be used on the
+VAX because it contains a
+.B union
+which can't be initialized.
diff --git a/usr/man/man3/perror.3 b/usr/man/man3/perror.3
new file mode 100644 (file)
index 0000000..7f6e064
--- /dev/null
@@ -0,0 +1,43 @@
+.TH PERROR 3 
+.SH NAME
+perror, sys_errlist, sys_nerr \- system error messages
+.SH SYNOPSIS
+.nf
+.B perror(s)
+.B char *s;
+.PP
+.B int sys_nerr;
+.B char *sys_errlist[];
+.fi
+.SH DESCRIPTION
+.I Perror
+produces a short error message
+on the standard error file
+describing the last error encountered during a call
+to the system from a C program.
+First the argument string
+.I s
+is printed, then a colon, then the message and a new-line.
+Most usefully, the argument string is the name
+of the program which incurred the error.
+The error number is taken from the external variable
+.I errno
+(see
+.IR intro (2)),
+which is set when errors occur but not cleared when
+non-erroneous calls are made.
+.PP
+To simplify variant formatting
+of messages, the vector of message strings
+.I sys_errlist
+is provided;
+.I errno
+can be used as an index in this table to get the
+message string without the newline.
+.I Sys_nerr
+is the number of messages provided for in the table;
+it should be checked because new
+error codes may be added to the system before
+they are added to the table.
+.SH "SEE ALSO"
+intro(2)
diff --git a/usr/man/man3/plot.3x b/usr/man/man3/plot.3x
new file mode 100644 (file)
index 0000000..46de393
--- /dev/null
@@ -0,0 +1,88 @@
+.TH PLOT 3X 
+.SH NAME
+plot: openpl et al. \- graphics interface
+.SH SYNOPSIS
+.nf
+.B openpl()
+.PP
+.B erase()
+.PP
+.B label(s)
+.B char s[];
+.PP
+.B line(x1, y1, x2, y2)
+.PP
+.B circle(x, y, r)
+.PP
+.B arc(x, y, x0, y0, x1, y1)
+.PP
+.B move(x, y)
+.PP
+.B cont(x, y)
+.PP
+.B point(x, y)
+.PP
+.B linemod(s)
+.B char s[];
+.PP
+.B space(x0, y0, x1, y1)
+.PP
+.B closepl()
+.fi
+.PP
+.ft R
+.SH DESCRIPTION
+These subroutines
+generate
+graphic output in a relatively
+device-independent manner.
+See
+.IR  plot (5)
+for a description
+of their effect.
+.I Openpl
+must be used before any of the others to open the
+device for writing.
+.I Closepl
+flushes the output.
+.PP
+String arguments to
+.I label
+and
+.I linemod
+are null-terminated, and do not contain newlines.
+.PP
+Various flavors of these functions exist for different
+output devices. 
+They are obtained by the following
+.IR ld (1)
+options:
+.TP 8n
+.B \-lplot
+device-independent
+graphics stream on standard
+output for 
+.IR plot (1)
+filters
+.br
+.ns
+.TP
+.B \-l300
+GSI 300 terminal
+.br
+.ns
+.TP
+.B \-l300s
+GSI 300S terminal
+.br
+.ns
+.TP
+.B \-l450
+DASI 450 terminal
+.br
+.ns
+.TP
+.B \-l4014
+Tektronix 4014 terminal
+.SH "SEE ALSO"
+plot(5), plot(1), graph(1)
diff --git a/usr/man/man3/popen.3s b/usr/man/man3/popen.3s
new file mode 100644 (file)
index 0000000..d224b99
--- /dev/null
@@ -0,0 +1,66 @@
+.TH POPEN 3S
+.SH NAME
+popen, pclose \- initiate I/O to/from a process
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.SM
+.B FILE
+.B *popen(command, type)
+.br
+.B char *command, *type;
+.PP
+.B pclose(stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+The arguments to 
+.I popen
+are pointers to null-terminated strings
+containing respectively a shell command line and an I/O
+mode, either "r" for reading or "w" for
+writing.
+It creates a pipe between
+the calling process and
+the command to be executed.
+The value returned 
+is a stream pointer that
+can be used (as appropriate) to write to the standard input
+of the command or read from its standard output.
+.PP
+A stream opened by
+.I popen
+should be closed by
+.I pclose,
+which waits for the associated process to terminate
+and returns the exit status of the command.
+.PP
+Because open files are shared, a type "r" command
+may be used as an input filter,
+and a type "w" as an output filter.
+.SH "SEE ALSO"
+pipe(2),
+fopen(3),
+fclose(3),
+system(3),
+wait(2)
+.SH DIAGNOSTICS
+.I Popen
+returns a null pointer
+if files or processes cannot be created, or the Shell 
+cannot be accessed.
+.PP
+.I Pclose
+returns \-1 if
+.I stream
+is not associated with a `popened' command.
+.SH BUGS
+Buffered reading before opening an input filter
+may leave the standard input of that filter mispositioned.
+Similar problems with an output filter may be
+forestalled by careful buffer flushing, e.g. with
+.I fflush,
+see
+.IR fclose (3).
diff --git a/usr/man/man3/putc.3s b/usr/man/man3/putc.3s
new file mode 100644 (file)
index 0000000..7177c31
--- /dev/null
@@ -0,0 +1,105 @@
+.TH PUTC 3S 
+.SH NAME
+putc, putchar, fputc, putw \- put character or word on a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B int putc(c, stream)
+.br
+.B char c;
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B putchar(c)
+.PP
+.B fputc(c, stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.B putw(w, stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Putc
+appends the character
+.I c
+to the named output
+.IR stream .
+It returns the character written.
+.PP
+.I Putchar(c)
+is defined as 
+.I "putc(c, stdout)."
+.PP
+.I Fputc
+behaves like 
+.I putc,
+but is a genuine function rather than a macro.
+It may be used to save on object text.
+.PP
+.I Putw
+appends word 
+(i.e.
+.BR int )
+.I w
+to the output
+.IR stream .
+It returns the word written.
+.I Putw
+neither assumes nor causes special alignment in the file.
+.PP
+The standard stream
+.I stdout
+is normally buffered if and only if the
+output does not refer to a terminal;
+this default may be changed by
+.IR setbuf (3).
+The standard stream
+.I stderr
+is by default unbuffered unconditionally,
+but use of
+.I freopen
+(see
+.IR fopen (3))
+will cause it to become buffered;
+.IR setbuf ,
+again, will set the state to whatever is desired.
+When an output stream is unbuffered information appears on the
+destination file or terminal as soon as written;
+when it is buffered many characters are saved up and written as a block.
+.I Fflush
+(see 
+.IR fclose (3))
+may be used to force the block out early.
+.SH "SEE ALSO"
+fopen(3), fclose(3), getc(3),
+puts(3), printf(3),
+fread(3)
+.SH DIAGNOSTICS
+These functions return the constant
+.SM
+.B EOF
+upon error.
+Since this is a good integer,
+.IR  ferror (3)
+should be used to detect 
+.I putw
+errors.
+.SH BUGS
+Because it is implemented as a macro,
+.I putc
+treats a
+.I stream
+argument with side effects improperly.
+In particular
+`putc(c, *f++);'
+doesn't work sensibly.
+.PP
+Errors can occur long after the call to
+.I putc.
diff --git a/usr/man/man3/puts.3s b/usr/man/man3/puts.3s
new file mode 100644 (file)
index 0000000..7457fbb
--- /dev/null
@@ -0,0 +1,45 @@
+.TH PUTS 3S 
+.SH NAME
+puts, fputs \- put a string on a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B puts(s)
+.br
+.B char *s;
+.PP
+.B fputs(s, stream)
+.br
+.B char *s;
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Puts
+copies the null-terminated string
+.I s
+to the standard output stream
+.I stdout
+and appends a
+newline character.
+.PP
+.I Fputs
+copies the null-terminated string
+.I s
+to the named output
+.IR stream .
+.PP
+Neither routine copies the terminal null character.
+.SH "SEE ALSO"
+fopen(3), gets(3),
+putc(3), printf(3),
+ferror(3)
+.br
+fread(3) for
+.I fwrite
+.SH BUGS
+.I Puts
+appends a newline,
+.I fputs
+does not, all in the name of backward compatibility.
diff --git a/usr/man/man3/qsort.3 b/usr/man/man3/qsort.3
new file mode 100644 (file)
index 0000000..803f765
--- /dev/null
@@ -0,0 +1,26 @@
+.TH QSORT 3 
+.SH NAME
+qsort \- quicker sort
+.SH SYNOPSIS
+.nf
+.B qsort(base, nel, width, compar)
+.B char *base;
+.B int (*compar)();
+.fi
+.SH DESCRIPTION
+.I Qsort
+is an implementation
+of the quicker-sort algorithm.
+The first argument is a pointer to the base of the data;
+the second is the number of elements;
+the third is the width of an element
+in bytes;
+the last is the name of the comparison routine
+to be called with two arguments which are pointers
+to the elements being compared.
+The routine must return
+an integer less than, equal to, or greater than 0
+according as the first argument is to be considered
+less than, equal to, or greater than the second.
+.SH "SEE ALSO"
+sort(1)
diff --git a/usr/man/man3/rand.3 b/usr/man/man3/rand.3
new file mode 100644 (file)
index 0000000..f2ea951
--- /dev/null
@@ -0,0 +1,24 @@
+.TH RAND 3 VAX-11
+.SH NAME
+rand, srand \- random number generator
+.SH SYNOPSIS
+.nf
+.B srand(seed)
+.B int seed;
+.PP
+.B rand()
+.fi
+.SH DESCRIPTION
+.I Rand
+uses a multiplicative congruential
+random number generator
+with period 2\u\s732\s0\d
+to return successive pseudo-random
+numbers in the range from 0 to 2\u\s731\s10\d\-1.
+.PP
+The generator is reinitialized by calling
+.I srand
+with 1 as argument.
+It can be set to a random starting point by calling
+.I srand
+with whatever you like as argument.
diff --git a/usr/man/man3/regex.3 b/usr/man/man3/regex.3
new file mode 100644 (file)
index 0000000..ae639ef
--- /dev/null
@@ -0,0 +1,62 @@
+.TH REGEX 3 2/29/80
+.UC
+.SH NAME
+re_comp, re_exec \- regular expression handler
+.SH SYNOPSIS
+.nf
+.B char *re_comp(s)
+.B char *s;
+.PP
+.B re_exec(s)
+.B char *s;
+.fi
+.SH DESCRIPTION
+.I Re_comp
+compiles a string into an internal form suitable for 
+pattern matching. 
+.I Re_exec 
+checks the argument string against the last string passed to
+.I re_comp.
+.PP
+.I Re_comp
+returns 0 if the string
+.I s
+was compiled successfully; otherwise a string containing an
+error message is returned. If 
+.I re_comp
+is passed 0 or a null string, it returns without changing the currently
+compiled regular expression.
+.PP
+.I Re_exec
+returns 1 if the string
+.I s
+matches the last compiled regular expression, 0 if the string
+.I s
+failed to match the last compiled regular expression, and
+-1 if the compiled regular expression was invalid (indicating an
+internal error).
+.PP
+The strings passed to both
+.I re_comp
+and
+.I re_exec
+may have trailing or embedded newline characters; 
+they are terminated by nulls.
+The regular expressions recognized are described in the manual entry
+for 
+.I ed
+(1), given the above difference.
+.SH "SEE ALSO"
+ed(1), ex(1)
+.SH DIAGNOSTICS
+.I Re_exec
+returns -1 for an internal error.
+.PP
+.I Re_comp
+returns one of the following strings if an error occurs:
+"No previous regular expression",
+"Regular expression too long",
+"unmatched \e(",
+"missing ]",
+"too many \e(\e) pairs",
+"unmatched \e)".
diff --git a/usr/man/man3/scanf.3s b/usr/man/man3/scanf.3s
new file mode 100644 (file)
index 0000000..9ade3f3
--- /dev/null
@@ -0,0 +1,253 @@
+.TH SCANF 3S 
+.SH NAME
+scanf, fscanf, sscanf \- formatted input conversion
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B scanf(format
+[ , pointer ] . . .
+.B )
+.br
+.B char *format;
+.PP
+.B fscanf(stream, format
+[ , pointer ] . . .
+.B )
+.br
+.SM
+.B FILE
+.B *stream;
+.br
+.B char *format;
+.PP
+.B sscanf(s, format
+[ , pointer ] . . .
+.B )
+.br
+.B char *s, *format;
+.SH DESCRIPTION
+.I Scanf
+reads from the standard input stream
+.IR stdin .
+.I Fscanf
+reads from the named input
+.IR stream .
+.I Sscanf
+reads from the character string
+.IR s .
+Each function reads characters, interprets
+them according to a format, and stores the results in its arguments.
+Each expects as arguments
+a control string
+.I format,
+described below,
+and a set of
+.I pointer
+arguments
+indicating where the converted input should be stored.
+.PP
+The
+control string
+usually contains
+conversion specifications, which are used to direct interpretation
+of input sequences.
+The control string may contain:
+.TP 4
+1.
+Blanks, tabs or newlines,
+which match optional white space in the input.
+.TP 4
+2.
+An ordinary character (not %) which must match
+the next character of the input stream.
+.TP 4
+3.
+Conversion specifications, consisting of the
+character
+.BR % ,
+an optional assignment suppressing character
+.BR * ,
+an optional numerical maximum field width, and a conversion
+character.
+.PP
+A conversion specification directs the conversion of the
+next input field; the result
+is placed in the variable pointed to by the corresponding argument,
+unless assignment suppression was
+indicated by
+.BR * .
+An input field is defined as a string of non-space characters;
+it extends to the next inappropriate character or until the field
+width, if specified, is exhausted.
+.PP
+The conversion character indicates the interpretation of the
+input field; the corresponding pointer argument must
+usually be of a restricted type.
+The following conversion characters are legal:
+.TP 4
+.B  %
+a single `%' is expected
+in the input at this point;
+no assignment is done.
+.TP 4
+.B  d
+a decimal integer is expected;
+the corresponding argument should be an integer pointer.
+.TP 4
+.B  o
+an octal integer is expected;
+the corresponding argument should be a integer pointer.
+.TP 4
+.B  x
+a hexadecimal integer is expected;
+the corresponding argument should be an integer pointer.
+.ti -0.2i
+.TP 4
+.B  s
+a character string is expected;
+the corresponding argument should be a character pointer
+pointing to an array of characters large enough to accept the
+string and a terminating `\e0', which will be added.
+The input field is terminated by a space character
+or a newline.
+.TP 4
+.B  c
+a character is expected; the
+corresponding argument should be a character pointer.
+The normal skip over space characters is suppressed
+in this case;
+to read the next non-space character, try
+`%1s'.
+If a field width is given, the corresponding argument
+should refer to a character array, and the
+indicated number of characters is read.
+.TP 4
+\z\fBe\v'1'f\v'-1'\fR
+a
+floating point number is expected;
+the next field is converted accordingly and stored through the
+corresponding argument, which should be a pointer to a
+.IR float .
+The input format for
+floating point numbers is
+an optionally signed
+string of digits
+possibly containing a decimal point, followed by an optional
+exponent field consisting of an E or e followed by an optionally signed integer.
+.TP 4
+.B  [
+indicates a string not to be delimited by space characters.
+The left bracket is followed by a set of characters and a right
+bracket; the characters between the brackets define a set
+of characters making up the string.
+If the first character
+is not circumflex (\|^\|), the input field
+is all characters until the first character not in the set between
+the brackets; if the first character
+after the left bracket is ^, the input field is all characters
+until the first character which is in the remaining set of characters
+between the brackets.
+The corresponding argument must point to a character array.
+.PP
+The conversion characters
+.BR d ,
+.B o
+and
+.B x
+may be capitalized or preceeded by
+.B l
+to indicate that a pointer to
+.B long
+rather than to
+.B int
+is in the argument list.
+Similarly, the conversion characters
+.B e
+or
+.B f
+may be capitalized or
+preceded by
+.B l
+to indicate a pointer to 
+.B double
+rather than to 
+.BR float .
+The conversion characters
+.BR d ,
+.B o
+and
+.B x
+may be preceeded by
+.B h
+to indicate a pointer to
+.B short
+rather than to
+.BR int .
+.PP
+The
+.I scanf
+functions return the number of successfully matched and assigned input
+items.
+This can be used to decide how many input items were found.
+The constant
+.SM
+.B EOF
+is returned upon end of input; note that this is different
+from 0, which means that no conversion was done;
+if conversion was intended, it was frustrated by an
+inappropriate character in the input.
+.PP
+For example, the call
+.IP "" 10
+int i; float x; char name[50];
+.br
+scanf("%d%f%s", &i, &x, name);
+.PP
+with the input line
+.IP
+25   54.32E\(mi1  thompson
+.PP
+will assign to
+.I i
+the value
+25,
+.I x
+the value 5.432, and
+.I name
+will contain
+.IR `thompson\e0' .
+Or,
+.IP
+int i; float x; char name[50];
+.br
+scanf("%2d%f%*d%[1234567890]", &i, &x, name);
+.PP
+with input
+.IP
+56789 0123 56a72
+.PP
+will assign 56 to
+.I i,
+789.0 to
+.I x,
+skip `0123',
+and place the string `56\e0' in
+.IR name .
+The next call to
+.I getchar
+will return `a'.
+.SH "SEE ALSO"
+atof(3),
+getc(3), printf(3)
+.SH DIAGNOSTICS
+The 
+.I scanf
+functions return
+.SM
+.B EOF
+on end of input,
+and a short count for missing or illegal data items.
+.SH BUGS
+The success of literal matches and suppressed
+assignments is not directly
+determinable.
diff --git a/usr/man/man3/setbuf.3s b/usr/man/man3/setbuf.3s
new file mode 100644 (file)
index 0000000..bac9c2f
--- /dev/null
@@ -0,0 +1,55 @@
+.TH SETBUF 3S 
+.UC 4
+.SH NAME
+setbuf \- assign buffering to a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B setbuf(stream, buf)
+.br
+.SM
+.B FILE
+.B *stream;
+.br
+.B char *buf;
+.SH DESCRIPTION
+.I Setbuf
+is used after a stream has been opened but before it
+is read or written.
+It causes the character array
+.I buf
+to be used instead of an automatically allocated buffer.
+If
+.I buf
+is the constant pointer
+.SM
+.B NULL,
+input/output will be completely unbuffered.
+.PP
+A manifest constant 
+.SM
+.B BUFSIZ
+tells how big an array is needed:
+.IP
+.B char
+buf[BUFSIZ];
+.PP
+A buffer is normally obtained from
+.IR  malloc (3)
+upon the first
+.I getc
+or
+.IR  putc (3)
+on the file,
+except that the standard output is line buffered when directed to a terminal.
+Other output streams directed to terminals,
+and the standard error stream
+.I stderr
+are normally not buffered.
+If the standard output is line buffered, then it is flushed each time
+data is read from the standard input by
+.IR read (2).
+.SH "SEE ALSO"
+fopen(3), getc(3), putc(3), malloc(3)
+.SH BUGS
+The standard error stream should be line buffered by default.
diff --git a/usr/man/man3/setjmp.3 b/usr/man/man3/setjmp.3
new file mode 100644 (file)
index 0000000..3b8806e
--- /dev/null
@@ -0,0 +1,41 @@
+.TH SETJMP 3
+.SH NAME
+setjmp, longjmp \- non-local goto
+.SH SYNOPSIS
+.nf
+.B #include <setjmp.h>
+.PP
+.B setjmp(env)
+.B jmp_buf env;
+.PP
+.B longjmp(env, val)
+.B jmp_buf env;
+.fi
+.SH DESCRIPTION
+These routines are useful for dealing with errors 
+and interrupts encountered in
+a low-level subroutine of a program.
+.PP
+.I Setjmp 
+saves its stack environment in
+.I env
+for later use by
+.I longjmp.
+It returns value 0.
+.PP
+.I Longjmp
+restores the environment saved by the last call of
+.IR setjmp .
+It then returns in such a way that execution
+continues as if the call of 
+.I setjmp
+had just returned the value
+.I val
+to the function that invoked
+.I setjmp,
+which must not itself have returned in the interim.
+All accessible data have values as of the time
+.I longjmp
+was called.
+.SH "SEE ALSO"
+signal(2)
diff --git a/usr/man/man3/signal.3 b/usr/man/man3/signal.3
new file mode 100644 (file)
index 0000000..b0f9998
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man3/sigset.3
diff --git a/usr/man/man3/sigset.3 b/usr/man/man3/sigset.3
new file mode 100644 (file)
index 0000000..374a45c
--- /dev/null
@@ -0,0 +1,137 @@
+.TH SIGSET 3
+.UC 4
+.SH NAME
+sigset, signal, sighold, sigignore, sigrelse, sigpause \- manage signals
+.SH SYNOPSIS
+.nf
+.B #include <signal.h>
+.B void action();
+.B int sig;
+.PP
+.B sigset(sig, action)
+.B signal(sig, action)
+.PP
+.B sighold(sig)
+.B sigignore(sig)
+.B sigrelse(sig)
+.PP
+.B sigpause(sig)
+.PP
+.fi
+.B cc ... \-ljobs
+.nf
+.SH DESCRIPTION
+This is a package of signal management functions to manage the signals
+as described in
+.IR sigsys (2).
+These functions are available only in this version of UNIX, and should
+not be used when the mechanisms of
+.IR signal (2)
+would suffice, as they would then impair portability.
+These functions are contained in the \fIjobs\fR library, obtained by
+specifying the loader option \fB\-ljobs\fR.
+.PP
+.I Sigset
+is used to provide a default signal handler for signal
+.I sig.
+This function is remembered across subsequent calls to the other
+functions, and need not be specified again.
+After
+.I sigset
+instances of
+.I sig
+will cause an interrupt to be taken at
+.I func,
+with the signal then held so that recursive trapping due to
+the signal will not occur.  During normal return from
+.I func,
+the routines arrange for the signal action to be restored so that
+subsequent signals will also trap to
+.I func.
+If a non-local exit is to be taken, then
+.I sigrelse
+must be called to un-hold the signal action, restoring the
+original catch.
+.I Func
+may also be specified as
+SIG_DFL, SIG_IGN or SIG_HOLD, as described in
+.IR sigsys (2).
+The value specified on the previous call to
+.I sigset
+is returned; if
+.I sigset
+has never been called, then the default action inherited from the
+system is returned.
+.PP
+.I Signal
+is like
+.I sigset,
+but the signal will not be held when the action routine is called;
+rather it will have reverted to SIG_DFL.
+This is generally unsafe, but is included for backwards compatibility
+to the old signal mechanism.
+It should not be used.
+.PP
+.I Sighold
+and
+.I sigrelse
+may be used to block off
+.I sig
+in a piece of code where it cannot be tolerated.
+After
+.I sigrelse
+the catch initially set with
+.I sigset
+will be restored.
+.PP
+.I Sigignore
+can be used to temporarily set the action for
+.I sig
+to ignore the signal.  If the signal had been held before
+the call to
+.I sigignore,
+any pending instance of the signal will be discarded.
+.PP
+.I Sigpause
+may be used by a routine which wishes to check for some condition
+produced at interrupt level by the
+.I sig
+signal, and then to pause waiting for the condition to arise with
+the catch of the signal enabled.
+In correct usage it must be preceded by an instance of
+.I sighold
+to block the signal.
+.I Sigpause
+is like
+.I pause
+in that it will return after
+.I any
+signal is processed.
+The usual thing to do then is to reenable the hold with
+.I sighold,
+check the condition
+again, and
+.I sigpause
+again if the condition has not arisen.
+.SH "SEE ALSO"
+sigsys(2), signal(2), jobs(3), tty(4)
+.SH BUGS
+.I Sighold
+and
+.I sigrelse
+do not nest; the first
+.I sigrelse
+restores the default catch.
+.PP
+These functions store information in data space.  You thus
+.B must
+call
+.IR sigsys (2)
+rather than any of
+.I sigset
+or
+.I signal
+after a
+.IR vfork (2)
+in the child which is to then
+.IR exec (2).
diff --git a/usr/man/man3/sin.3m b/usr/man/man3/sin.3m
new file mode 100644 (file)
index 0000000..95a87a6
--- /dev/null
@@ -0,0 +1,67 @@
+.TH SIN 3M 
+.SH NAME
+sin, cos, tan, asin, acos, atan, atan2 \- trigonometric functions
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double sin(x)
+.B double x;
+.PP
+.B double cos(x)
+.B double x;
+.PP
+.B double asin(x)
+.B double x;
+.PP
+.B double acos(x)
+.B double x;
+.PP
+.B double atan(x)
+.B double x;
+.PP
+.B double atan2(x, y)
+.B double x, y;
+.fi
+.SH DESCRIPTION
+.I Sin, cos
+and
+.I tan
+return trigonometric functions of radian arguments.
+The magnitude of the argument should be checked
+by the caller to make sure the result is meaningful.
+.PP
+.I Asin
+returns the arc sin in the range \-\(*p/2 to \(*p/2.
+.PP
+.I Acos
+returns the arc cosine in the range
+0 to \(*p.
+.PP
+.I Atan
+returns the arc tangent of
+.I x
+in the range \-\(*p/2 to \(*p/2.
+.PP
+.I Atan2
+returns the arc tangent of
+.I x/y
+in the range \-\(*p to \(*p.
+.SH DIAGNOSTICS
+Arguments of magnitude greater than 1
+cause
+.I asin
+and
+.I acos
+to return value 0;
+.I errno
+is set to EDOM.
+The value of
+.I tan
+at its singular points is a huge number, and
+.I errno
+is set to ERANGE.
+.SH BUGS
+The value of
+.I tan
+for arguments greater than about 2**31 is garbage.
diff --git a/usr/man/man3/sinh.3m b/usr/man/man3/sinh.3m
new file mode 100644 (file)
index 0000000..ef4beaf
--- /dev/null
@@ -0,0 +1,24 @@
+.TH SINH 3M
+.SH NAME
+sinh, cosh, tanh \- hyperbolic functions
+.SH SYNOPSIS
+.nf
+.B #include <math.h>
+.PP
+.B double sinh(x)
+.PP
+.B double cosh(x)
+.B double x;
+.PP
+.B double tanh(x)
+.B double x;
+.fi
+.SH DESCRIPTION
+These functions compute the designated hyperbolic functions
+for real arguments.
+.SH DIAGNOSTICS
+.I Sinh
+and
+.I cosh
+return a huge value of appropriate sign
+when the correct value would overflow.
diff --git a/usr/man/man3/sleep.3 b/usr/man/man3/sleep.3
new file mode 100644 (file)
index 0000000..33ede2d
--- /dev/null
@@ -0,0 +1,24 @@
+.TH SLEEP 3 
+.SH NAME
+sleep \- suspend execution for interval
+.SH SYNOPSIS
+.nf
+.B sleep(seconds)
+.B unsigned seconds;
+.fi
+.SH DESCRIPTION
+The current process is suspended from execution for the number
+of seconds specified by the argument.
+The actual suspension time may be up to 1 second less than
+that requested, because scheduled wakeups occur at fixed 1-second intervals,
+and an arbitrary amount longer because of other activity
+in the system.
+.PP
+The routine is implemented by setting an alarm clock signal
+and pausing until it occurs.
+The previous state of this signal is saved and restored.
+If the sleep time exceeds the time to the alarm signal,
+the process sleeps only until the signal would have occurred, and the
+signal is sent 1 second later.
+.SH "SEE ALSO"
+alarm(2), pause(2)
diff --git a/usr/man/man3/stdio.3s b/usr/man/man3/stdio.3s
new file mode 100644 (file)
index 0000000..fde02aa
--- /dev/null
@@ -0,0 +1,125 @@
+.TH STDIO 3S 
+.UC 4
+.SH NAME
+stdio \- standard buffered input/output package
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.SM
+.B FILE
+.B *stdin;
+.br
+.SM
+.B FILE
+.B *stdout;
+.br
+.SM
+.B FILE
+.B *stderr;
+.SH DESCRIPTION
+The functions described in Sections 3S constitute an efficient
+user-level buffering scheme.
+The in-line macros
+.I getc
+and
+.IR  putc (3)
+handle characters quickly.
+The higher level routines
+.I "gets, fgets, scanf, fscanf, fread,"
+.I "puts, fputs, printf, fprintf, fwrite"
+all use
+.I getc
+and
+.I putc;
+they can be freely intermixed.
+.PP
+A file with associated buffering is called a
+.I stream,
+and is declared to be a pointer to a defined type
+.SM
+.B FILE.
+.IR  Fopen (3)
+creates certain descriptive data for a stream
+and returns a pointer to designate the stream in all
+further transactions.
+There are three normally open streams with constant
+pointers declared in
+the include file and associated with the standard open files:
+.TP 10n
+.BR stdin
+standard input file
+.br
+.ns
+.TP
+.B stdout
+standard output file
+.br
+.ns
+.TP
+.BR stderr
+standard error file
+.PP
+A constant `pointer'
+.SM
+.B NULL
+(0)
+designates no stream at all.
+.PP
+An integer constant
+.SM
+.B EOF
+(\-1) is returned
+upon end of file or error by integer functions that
+deal with streams.
+.PP
+Any routine that uses the standard input/output package
+must include the header file <stdio.h> of pertinent
+macro definitions.
+The functions and constants mentioned in sections labeled 3S
+are declared in the include file
+and need no further declaration.
+The constants, and the following `functions' are
+implemented as macros; redeclaration of these names
+is perilous:
+.I getc,
+.I getchar,
+.I putc,
+.I putchar,
+.I feof,
+.I ferror,
+.IR fileno .
+.SH "SEE ALSO"
+open(2), close(2), read(2), write(2)
+.SH DIAGNOSTICS
+The value
+.SM
+.B EOF
+is returned uniformly to indicate that a
+.SM
+.B FILE
+pointer has not been initialized with
+.I fopen,
+input (output) has been attempted on an output (input) stream,
+or a
+.SM
+.B FILE
+pointer designates corrupt or otherwise unintelligible
+.SM
+.B FILE
+data.
+.PP
+For purposes of efficiency, this implementation of the standard library
+has been changed to line buffer output to a terminal by default and attempts
+to do this transparently by flushing the output whenever a 
+.IR read (2)
+from the standard input is necessary.  This is almost always transparent,
+but may cause confusion or malfunctioning of programs which use
+standard i/o routines but use
+.IR read (2)
+themselves to read from the standard input.
+.PP
+In cases where a large amount of computation is done after printing
+part of a line on an output terminal, it is necessary to
+.IR fflush (3)
+the standard output before going off and computing so that the output
+will appear.
diff --git a/usr/man/man3/string.3 b/usr/man/man3/string.3
new file mode 100644 (file)
index 0000000..7605a35
--- /dev/null
@@ -0,0 +1,99 @@
+.TH STRING 3 
+.SH NAME
+strcat, strncat, strcmp, strncmp, strcpy, strncpy, strlen, index, rindex \- string operations
+.SH SYNOPSIS
+.nf
+.B char *strcat(s1, s2)
+.B char *s1, *s2;
+.PP
+.B char *strncat(s1, s2, n)
+.B char *s1, *s2;
+.PP
+.B strcmp(s1, s2)
+.B char *s1, *s2;
+.PP
+.B strncmp(s1, s2, n)
+.B char *s1, *s2;
+.PP
+.B char *strcpy(s1, s2)
+.B char *s1, *s2;
+.PP
+.B char *strncpy(s1, s2, n)
+.B char *s1, *s2;
+.PP
+.B strlen(s)
+.B char *s;
+.PP
+.B char *index(s, c)
+.B char *s, c;
+.PP
+.B char *rindex(s, c)
+.B char *s, c;
+.fi
+.SH DESCRIPTION
+These functions operate on null-terminated strings.
+They do not check for overflow of any receiving string.
+.PP
+.I Strcat
+appends a copy of string
+.I s2
+to the end of string
+.IR s1 .
+.I Strncat
+copies at most
+.I n
+characters.
+Both return a pointer to the null-terminated result.
+.PP
+.I Strcmp
+compares its arguments and returns an integer
+greater than, equal to, or less than 0,
+according as
+.I s1
+is lexicographically greater than, equal to, or
+less than
+.IR s2 .
+.I Strncmp
+makes the same comparison but looks at at most
+.I n
+characters.
+.PP
+.I Strcpy
+copies string
+.I s2
+to
+.I s1,
+stopping after the null character has been moved.
+.I Strncpy
+copies exactly
+.I n
+characters,
+truncating or null-padding
+.I s2;
+the target may not be null-terminated if the length
+of
+.I s2
+is
+.I n
+or more.
+Both return
+.IR s1 .
+.PP
+.I Strlen
+returns the number of non-null characters in
+.IR s .
+.PP
+.I Index
+.RI ( rindex )
+returns a pointer to the first (last)
+occurrence of character 
+.I c
+in string
+.I s,
+or zero if
+.I c
+does not occur in  the string.
+.SH BUGS
+.I Strcmp 
+uses native character comparison, which is signed
+on PDP11's and VAX-11's, unsigned on other machines.
diff --git a/usr/man/man3/swab.3 b/usr/man/man3/swab.3
new file mode 100644 (file)
index 0000000..5b1f8f3
--- /dev/null
@@ -0,0 +1,21 @@
+.TH SWAB 3 
+.SH NAME
+swab \- swap bytes
+.SH SYNOPSIS
+.nf
+.B swab(from, to, nbytes)
+.B char *from, *to;
+.fi
+.SH DESCRIPTION
+.I Swab
+copies
+.I nbytes
+bytes pointed to by
+.I from
+to the position pointed to by
+.I to,
+exchanging adjacent even and odd bytes.
+It is useful for carrying binary data between
+PDP11's and other machines.
+.I Nbytes
+should be even.
diff --git a/usr/man/man3/system.3 b/usr/man/man3/system.3
new file mode 100644 (file)
index 0000000..b1a0524
--- /dev/null
@@ -0,0 +1,23 @@
+.TH SYSTEM 3
+.SH NAME
+system \- issue a shell command
+.SH SYNOPSIS
+.nf
+.B system(string)
+.B char *string;
+.fi
+.SH DESCRIPTION
+.I System
+causes the
+.I string
+to be given to
+.IR  sh (1)
+as input as if the string had been typed as a command
+at a terminal.
+The current process waits until the shell has
+completed, then returns the exit status of the shell.
+.SH "SEE ALSO"
+popen(3),
+exec(2), wait(2)
+.SH DIAGNOSTICS
+Exit status 127 indicates the shell couldn't be executed.
diff --git a/usr/man/man3/termcap.3 b/usr/man/man3/termcap.3
new file mode 100644 (file)
index 0000000..f1181a1
--- /dev/null
@@ -0,0 +1,144 @@
+.TH TERMCAP 3
+.UC 4
+.SH NAME
+tgetent, tgetnum, tgetflag, tgetstr, tgoto, tputs \- terminal independent operation routines
+.SH SYNOPSIS
+.nf
+.B char PC;
+.B char *BC;
+.B char *UP;
+.B short ospeed;
+.PP
+.B tgetent(bp, name)
+.B char *bp, *name;
+.PP
+.B tgetnum(id)
+.B char *id;
+.PP
+.B tgetflag(id)
+.B char *id;
+.PP
+.B char *
+.B tgetstr(id, area)
+.B char *id, **area;
+.PP
+.B char *
+.B tgoto(cm, destcol, destline)
+.B char *cm;
+.PP
+.B tputs(cp, affcnt, outc)
+.B register char *cp;
+.B int affcnt;
+.B int (*outc)();
+.fi
+.SH DESCRIPTION
+These functions extract and use capabilities from the terminal capability data
+base
+.IR termcap (5).
+These are low level routines;
+see
+.IR curses (3)
+for a higher level package.
+.PP
+.I Tgetent
+extracts the entry for terminal
+.I name
+into the buffer at
+.I bp.
+.I Bp
+should be a character buffer of size
+1024 and must be retained through all subsequent calls
+to
+.I tgetnum,
+.I tgetflag,
+and
+.I tgetstr.
+.I Tgetent
+returns \-1 if it cannot open the
+.I termcap
+file, 0 if the terminal name given does not have an entry,
+and 1 if all goes well.
+It will look in the environment for a TERMCAP variable.
+If found, and the value does not begin with a slash,
+and the terminal type
+.B name
+is the same as the environment string TERM,
+the TERMCAP string is used instead of reading the termcap file.
+If it does begin with a slash, the string is used as a path name rather than
+.I /etc/termcap.
+This can speed up entry into programs that call
+.IR tgetent ,
+as well as to help debug new terminal descriptions
+or to make one for your terminal if you can't write the file
+.I /etc/termcap.
+.PP
+.I Tgetnum
+gets the numeric value of capability
+.I id,
+returning \-1 if is not given for the terminal.
+.I Tgetflag
+returns 1 if the specified capability is present in
+the terminal's entry, 0 if it is not.
+.I Tgetstr
+gets the string value of capability
+.I id,
+placing it in the buffer at
+.I area,
+advancing the
+.I area
+pointer.
+It decodes the abbreviations for this field described in
+.IR termcap (5),
+except for cursor addressing and padding information.
+.PP
+.I Tgoto
+returns a cursor addressing string decoded from
+.I cm
+to go to column
+.I destcol
+in line
+.I destline.
+It uses the external variables
+.B UP
+(from the \fBup\fR capability)
+and
+.B BC
+(if \fBbc\fR is given rather than \fBbs\fR)
+if necessary to avoid placing \fB\en\fR, \fB^D\fR or \fB^@\fR in
+the returned string.
+(Programs which call tgoto should be sure to turn off the XTABS bit(s),
+since tgoto may now output a tab.
+Note that programs using termcap should in general turn off XTABS
+anyway since some terminals use control I for other functions,
+such as nondestructive space.)
+If a \fB%\fR sequence is given which is not understood, then
+.I tgoto
+returns \*(lqOOPS\*(rq.
+.PP
+.I Tputs
+decodes the leading padding information of the string
+.I cp;
+.I affcnt
+gives the number of lines affected by the operation, or 1 if this is
+not applicable,
+.I outc
+is a routine which is called with each character in turn.
+The external variable
+.I ospeed
+should contain the output speed of the terminal as encoded by
+.I stty (2).
+The external variable
+.B PC
+should contain a pad character to be used (from the \fBpc\fR capability)
+if a null (\fB^@\fR) is inappropriate.
+.SH FILES
+.ta \w'/usr/lib/libtermcap.a  'u
+/usr/lib/libtermcap.a  \-ltermcap library
+.br
+/etc/termcap   data base
+.DT
+.SH SEE ALSO
+ex(1), curses(3), termcap(5)
+.SH AUTHOR
+William Joy
+.SH BUGS
diff --git a/usr/man/man3/termlib.3 b/usr/man/man3/termlib.3
new file mode 100644 (file)
index 0000000..b9c7bf8
--- /dev/null
@@ -0,0 +1,3 @@
+.pl 1
+The ``termlib'' library is now named ``termcap''.
+See ``man 3 termcap''.
diff --git a/usr/man/man3/ttyname.3 b/usr/man/man3/ttyname.3
new file mode 100644 (file)
index 0000000..69d3dd1
--- /dev/null
@@ -0,0 +1,43 @@
+.TH TTYNAME 3 
+.SH NAME
+ttyname, isatty, ttyslot \- find name of a terminal
+.SH SYNOPSIS
+.B char *ttyname(fildes)
+.PP
+.B isatty(fildes)
+.PP
+.B ttyslot()
+.SH DESCRIPTION
+.I Ttyname
+returns a pointer to the null-terminated path name
+of the terminal device associated with file descriptor
+.IR fildes .
+.PP
+.I Isatty
+returns 1 if
+.I fildes
+is associated with a terminal device, 0 otherwise.
+.PP
+.I Ttyslot
+returns the number of the entry in the
+.IR ttys (5)
+file for the control terminal of the
+current process.
+.SH FILES
+/dev/\(**
+.br
+/etc/ttys
+.SH SEE ALSO
+ioctl(2), ttys(5)
+.SH DIAGNOSTICS
+.I Ttyname
+returns a null pointer (0) if
+.I fildes
+does not describe a terminal device in directory `/dev'.
+.PP
+.I Ttyslot
+returns 0 if `/etc/ttys' is inaccessible or if
+it cannot determine the control terminal.
+.SH BUGS
+The return value points to static data
+whose content is overwritten by each call.
diff --git a/usr/man/man3/ungetc.3s b/usr/man/man3/ungetc.3s
new file mode 100644 (file)
index 0000000..a8fecad
--- /dev/null
@@ -0,0 +1,38 @@
+.TH UNGETC 3S 
+.SH NAME
+ungetc \- push character back into input stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B ungetc(c, stream)
+.br
+.SM
+.B FILE
+.B *stream;
+.SH DESCRIPTION
+.I Ungetc
+pushes the character
+.I c
+back on an input stream.
+That character will be returned by the next
+.I getc
+call on that stream.
+.I Ungetc 
+returns 
+.IR c .
+.PP
+One character of pushback is guaranteed provided
+something has been read from the stream and the stream is
+actually buffered.
+Attempts to push EOF are rejected.
+.PP
+.IR  Fseek (3)
+erases all memory of pushed back characters.
+.SH "SEE ALSO"
+getc(3), setbuf(3), fseek(3)
+.SH DIAGNOSTICS
+.I Ungetc
+returns
+.SM
+.B EOF
+if it can't push a character back.
diff --git a/usr/man/man3/valloc.3 b/usr/man/man3/valloc.3
new file mode 100644 (file)
index 0000000..e079a05
--- /dev/null
@@ -0,0 +1,27 @@
+.UC
+.TH VALLOC 3
+.SH NAME
+valloc \- aligned memory allocator
+.SH SYNOPSIS
+.nf
+.B char *valloc(size)
+.B unsigned size;
+.fi
+.SH DESCRIPTION
+.I Valloc
+allocates
+.I size
+bytes aligned on a boundary adequate for
+.IR vread (2)).
+It is implemented by calling
+.IR malloc (3)
+with a slightly larger request, saving the true beginning of the block
+allocated, and returning a properly aligned pointer.
+.SH DIAGNOSTICS
+.I Valloc
+returns a null pointer (0) if there is no available memory
+or if the arena has been detectably corrupted by storing outside the bounds
+of a block.
+.SH BUGS
+.I Vfree
+isn't implemented.
diff --git a/usr/man/man3/varargs.3 b/usr/man/man3/varargs.3
new file mode 100644 (file)
index 0000000..77a1500
--- /dev/null
@@ -0,0 +1,88 @@
+.TH VARARGS 3 
+.SH NAME
+varargs \- variable argument list
+.SH SYNOPSIS
+.nf
+#include <varargs.h>
+\fIfunction\fR(\fBva_alist\fR)
+\fBva_dcl
+va_list \fIpvar\fR;
+\fBva_start\fR(\fIpvar\fR);
+f = \fBva_arg\fR(\fIpvar\fR, \fItype\fR);
+\fBva_end\fR(\fIpvar\fR);
+.fi
+.SH DESCRIPTION
+This set of macros allows portable procedures that accept variable
+argument lists to be written.
+Routines which have variable argument lists (such as
+.IR printf(3))
+that do not use varargs are inherently nonportable, since different
+machines use different argument passing conventions.
+.PP
+.B va_alist
+is used in a function header to declare a variable argument list.
+.PP
+.B va_dcl
+is a declaration for \fBva_alist\fP.
+Note that there is no semicolon after
+.B va_dcl.
+.PP
+.B va_list
+is a type which can be used for the variable
+.I pvar,
+which is used to traverse the list.
+One such variable must always be declared.
+.PP
+.B va_start
+.RI (pvar)
+is called to initialize
+.I pvar
+to the beginning of the list.
+.PP
+.B va_arg
+.RI ( pvar , type )
+will return the next argument in the list
+pointed to by
+.IR pvar .
+.I Type
+is the type the argument is expected to be.
+Different types can be mixed, but it is up
+to the routine to know what type of argument is
+expected, since it cannot be determined at runtime.
+.PP
+.B va_end
+.RI ( pvar )
+is used to finish up.
+.PP
+Multiple traversals, each bracketted by
+.B va_start
+\&..
+.B va_end,
+are possible.
+.SH EXAMPLE
+.nf
+       \fB#include\fP <varargs.h>
+       execl(\fBva_alist\fP)
+       \fBva_dcl\fP
+       {
+               \fBva_list\fP ap;
+               \fBchar\fP *file;
+               \fBchar\fP *args[100];
+               \fBint\fP argno = 0;
+
+               \fBva_start\fP(ap);
+               file = \fBva_arg(ap, \fBchar\fP *);
+               \fBwhile\fP (args[argno++] = \fBva_arg\fP(ap, \fBchar\fP *))
+                       \fB;\fP
+               \fBva_end\fP(ap);
+               \fBreturn\fP execv(file, args);
+       }
+.fi
+.SH BUGS
+It is up to the calling routine to determine how many arguments
+there are, since it is not possible to determine this from the
+stack frame.  For example,
+.I execl
+passes a 0 to signal the end of the list.
+.I Printf
+can tell how many arguments are there by the format.
diff --git a/usr/man/man4/cons.4 b/usr/man/man4/cons.4
new file mode 100644 (file)
index 0000000..29d61c4
--- /dev/null
@@ -0,0 +1,36 @@
+.TH CONS 4 4/1/81
+.UC 4
+.SH NAME
+cons \- VAX-11 console interface
+.SH DESCRIPTION
+The console is available to the processor through the console registers.
+It acts like a normal terminal, except that when the local functions are
+not disabled, control-P puts the console in local console mode (where
+the prompt is ``>>>'').  The operation of the console in this mode varies
+slightly per-processor.
+.PP
+On an 11/780 you can return to the conversational mode using the command
+``se t p'' if the processor is still running or ``continue'' if it is halted.
+The latter command may be abbreviated ``c''.
+If you hit the break key on the console, then the console will go into ODT
+(console debugger mode).  Hit a ``P'' (upper-case letter p)
+to get out of this mode.
+.PP
+On an 11/750
+..or an 11/730
+the processor is halted whenever the console is not in conversational mode,
+and typing ``C'' returns to conversational mode.
+When in console mode on an 11/750 which has a remote diagnosis module,
+a ^D will put you in remote diagnosis mode, where the prompt will be ``RDM>''.
+The command ``ret'' will return from remote diagnosis mode to local console
+mode.
+.PP
+With the above proviso's the console works like any other UNIX terminal.
+.SH FILES
+/dev/console
+.SH "SEE ALSO"
+tty(4), reboot(8)
+.br
+VAX Hardware Handbook
+.SH DIAGNOSTICS
+None.
diff --git a/usr/man/man4/intro.4 b/usr/man/man4/intro.4
new file mode 100644 (file)
index 0000000..244df5f
--- /dev/null
@@ -0,0 +1,17 @@
+.TH INTRO 4 4/1/81
+.UC 4
+.SH NAME
+intro \- introduction to special files
+.SH DESCRIPTION
+This section describes the special files and related driver functions
+available on the system.
+In this section the SYNOPSIS section gives a sample specification
+of the related drivers for use in a system description to the
+.IR config (8)
+program.
+The DIAGNOSTICS section lists messages which may appear on the console
+and in the system error log
+/usr/adm/messages
+due to errors in device operation.
+.SH SEE ALSO
+config(8)
diff --git a/usr/man/man4/kmem.4 b/usr/man/man4/kmem.4
new file mode 100644 (file)
index 0000000..7ab48e0
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man4/mem.4
diff --git a/usr/man/man4/lp.4 b/usr/man/man4/lp.4
new file mode 100644 (file)
index 0000000..a7848fc
--- /dev/null
@@ -0,0 +1,64 @@
+.TH LP 4 4/1/81
+.UC 4
+.SH NAME
+lp \- line printer
+.SH SYNOPSIS
+device lp0 at uba0 csr 0177514 vector lpintr
+.SH DESCRIPTION
+.I Lp
+provides the interface to any of the standard
+DEC line printers.
+When it is opened or closed, a suitable number
+of page ejects is generated.
+Bytes written are printed.
+.PP
+The unit number of the printer is specified by the minor device
+after removing the low 3 bits, which act as per-device parameters.
+Currently only the lowest of the low three bits is interpreted:
+if it is set, the device is treated as having a 64-character set,
+rather than a full 96-character set.
+In the resulting half-ASCII mode, lower case letters are turned
+into upper case and certain characters are escaped according to
+the following table:
+.PP
+.br
+.ns
+.TP 10
+{
+\o"-("
+.br
+.ns
+.TP 10
+}
+\o"-)"
+.br
+.ns
+.TP 10
+\`
+\o"-\'"
+.br
+.ns
+.TP 10
+|
+\o"\-!"
+.br
+.ns
+.TP 10
+~
+\o"\-^"
+..
+.PP
+The driver correctly interprets
+carriage returns, backspaces, tabs, and form feeds.
+Lines longer than 132 characters are truncated
+(This is a parameter in the driver).
+.SH FILES
+/dev/lp
+.SH "SEE ALSO"
+lpr(1)
+.SH DIAGNOSTICS
+None.
+.SH BUGS
+Although the driver supports multiple printers this has never
+been tried.  In any case user-level software support for multiple printers
+is not available.
diff --git a/usr/man/man4/mail.4 b/usr/man/man4/mail.4
new file mode 100644 (file)
index 0000000..9320fbe
--- /dev/null
@@ -0,0 +1,18 @@
+.TH MAIL 4
+.UC 4
+.SH NAME
+mail \- pseudo-device for mail notification
+.SH DESCRIPTION
+The file
+.B /dev/mail
+is a multiplexor file
+maintained by the mail notification daemon.
+When a piece of mail is delivered the mail delivery process
+writes information on this file and the mail notification daemon
+.B /etc/comsat
+notifies a user of the arrival of the mail if the user desires to be notified.
+.SH SEE ALSO
+biff(1)
+.SH FILES
+/dev/mail
+.SH BUGS
diff --git a/usr/man/man4/newtty.4 b/usr/man/man4/newtty.4
new file mode 100644 (file)
index 0000000..07d8193
--- /dev/null
@@ -0,0 +1,90 @@
+.TH NEWTTY 4 4/1/81
+.UC 4
+.SH NAME
+newtty \- summary of the ``new'' tty driver
+.SH USAGE
+.B "stty new"
+.PP
+.B "stty new crt"
+.SH DESCRIPTION
+This is a summary of the new tty driver, described completely, with the
+old terminal driver, in
+.IR tty (4).
+The new driver is largely compatible with the old but provides additional
+functionality for job control.
+.LP
+.B "CRTs and printing terminals."
+.LP
+The new terminal driver acts differently on CRTs and on printing terminals.
+On CRTs at speeds of 1200 baud or greater it normally erases input characters
+physically with backspace-space-backspace when they are erased logically;
+at speed under 1200 baud this is often unreasonably slow, so the cursor
+is normally merely moved to the left.  This is the behavior when you say
+\*(lqstty new crt\*(rq; to have the tty driver always erase the characters say
+\*(lqstty new crt crterase crtkill\*(rq,
+to have the characters remain even at 1200
+baud or greater say \*(lqstty new crt \-crterase \-crtkill\*(rq.
+.LP
+On printing terminals the command \*(lqstty new prterase\*(rq should be given.
+Logically erased characters are then echoed printed backwards
+between a `\e' and an `/' character.
+.LP
+Other terminal modes are possible, but less commonly used; see
+.IR tty (4)
+and
+.IR stty (1)
+for details.
+.LP
+.B "Input editing and output control."
+.PP
+When preparing input the character #
+(normally changed to ^H using
+.IR stty (1))
+erases the last input character,
+\&^W the last input word, and the character @
+(often changed to ^U)
+erases the entire current input
+line.  A ^R character causes the pending input to be retyped.
+Lines are terminated by a return or a newline; a ^D at the beginning
+of a line generates an end-of-file.
+.PP
+Control characters echo as ^x when typed, for some x; the delete character
+is represented as ^?.
+.PP
+The character ^V may be typed before
+.I any
+character so that it may be entered without its special effect.
+For backwards compatibility with the old tty driver the character `\e'
+prevents the special meaning of the character and line erase characters,
+much as ^V does.
+.LP
+Output is suspended when a ^S character is typed and resumed when a ^Q
+character is type.  Output is discarded after a ^O character is typed
+until another ^O is type, more input arrives, or the condition is cleared
+by a program (such as the shell just before it prints a prompt.)
+.PP
+.B "Signals."
+.PP
+A non-interactive program is interrupted by a ^? (delete); this character
+is often reset to ^C using
+.IR stty (1).
+A quit ^\e character causes programs to terminate like
+^? does, but also causes a \fIcore\fR image file to be created which
+can then be examined with a debugger.  This is often used to stop runaway
+processes.
+Interactive programs often catch interrupts and return to their command
+loop; only the most well debugged programs catch quits.
+.PP
+Programs may be stopped by hitting ^Z, which returns control to the shell.
+They may then be resumed using the job control mechanisms of the shell,
+i.e. the
+.I fg
+(foreground) command.
+The character ^Y is like ^Z but takes effect when read rather then when
+typed; it is much less frequently used.
+.PP
+See
+.IR tty (4)
+for a more complete description of the new terminal driver.
+.SH "SEE ALSO"
+csh(1), newcsh(1), stty(1), tty(4)
diff --git a/usr/man/man4/null.4 b/usr/man/man4/null.4
new file mode 100644 (file)
index 0000000..a464301
--- /dev/null
@@ -0,0 +1,13 @@
+.TH NULL 4 
+.SH NAME
+null \- data sink
+.SH DESCRIPTION
+Data written on 
+a null special file
+is discarded.
+.PP
+Reads from 
+a null special file
+always return 0 bytes.
+.SH FILES
+/dev/null
diff --git a/usr/man/man4/rv.4 b/usr/man/man4/rv.4
new file mode 100644 (file)
index 0000000..9351ece
--- /dev/null
@@ -0,0 +1,71 @@
+.TH RV 4 
+.SH NAME
+rv \- Racal/Vadic ACU interface
+.SH DESCRIPTION
+The racal/vadic ACU interface is provided by the files
+.I /dev/cua[01]
+which is a multiplexed file, and by the daemon
+.I dnd
+which monitors the file, simulating a standard DN dialer.
+To place an outgoing call one forks a sub-process
+trying to open
+.I /dev/cul?
+and then opens the corresponding file
+.I /dev/cua?
+file and writes a number on it.
+The daemon translates the call to proper format for the
+Racal/Vadic interface, and monitors the progress of the call
+recording accounting information for later use.
+.PP
+The codes for the phone numbers are the same as in the DN interface:
+.TP
+0-9
+dial 0-9
+.br
+.ns
+.TP
+.B :
+dial *
+.br
+.ns
+.TP
+.B ;
+dial #
+.br
+.ns
+.TP
+\-
+delay for second dial tone
+.br
+.ns
+.TP
+<
+end-of-number
+.PP
+The entire telephone number must be
+presented in a single
+.I write
+system call.
+.PP
+It is require that an end-of-number
+code be given.
+.DT
+.SH FILES
+/dev/cua0      virtual dialer for 300 baud dialout
+.br
+/dev/cua1      virtual dialer for 1200 baud dialout
+.br
+/dev/cul0      the terminal which is connected to the 300 baud dialout
+.br
+/dev/cul1      the terminal which is connected to the 1200 baud dialout
+.br
+/usr/adm/dnacct        Accounting records for sucessfully completed calls.
+.SH "SEE ALSO"
+cu(1), uucp(1)
+.SH BUGS
+Locking problems.
+.PP
+The multiplexor seems to have rare-case bugs which occasinally crash
+the system taking trap type 9's, usually in the
+.I sdata
+system routine.
diff --git a/usr/man/man4/va.4 b/usr/man/man4/va.4
new file mode 100644 (file)
index 0000000..a4439d2
--- /dev/null
@@ -0,0 +1,131 @@
+.TH VA 4 4/1/81
+.UC 4
+.SH NAME
+va \- Benson-Varian interface
+.SH SYNOPSIS
+device va0 at uba? csr 0164000 vector vaintr
+.SH DESCRIPTION
+The Benson-Varian printer/plotter in normally used with the programs
+.IR vpr (1),
+.IR vprint (1)
+or
+.IR vtroff (1).
+This description is designed for those who wish to drive the Benson-Varian
+directly.
+.PP
+The Benson-Varian at Berkeley uses 11\*(rq by 8\*(rq fan-fold paper.
+It will print 132 characters per line in print mode
+and 2112 dots per line in plot mode.
+.PP
+In print mode, the Benson-Varian uses a modified ASCII character set.
+Most control characters print various non-ASCII graphics such as daggers,
+sigmas, copyright symbols, etc.
+Only LF and FF are used as format effectors.  LF acts as a newline,
+advancing to the beginning of the next line, and FF advances to the top of
+the next page.
+.PP
+In plot mode, the Benson-Varian prints one raster line at a time.
+An entire raster line of bits (2112 bits = 264 bytes) is sent, and
+then the Benson-Varian advances to the next raster line.
+.PP
+.B Note:
+The Benson-Varian must be sent an even number of bytes.
+If an odd number is sent, the last byte will be lost.
+Nulls can be used in print mode to pad to an even number of bytes.
+.PP
+To use the Benson-Varian yourself, you must realize that you cannot open the
+device,
+.I /dev/va0
+if there is a daemon active.
+You can see if there is a daemon active by doing a
+.IR ps (1),
+or by looking in the directory
+.I /usr/spool/vad.
+If there is a file
+.I lock
+there, then there is probably a daemon
+.IR /usr/lib/vad
+running.
+If not, you should remove the
+.I lock.
+.PP
+In any case, when your program tries to open the device
+.I /dev/va0
+you may get one of two errors.
+The first of these
+ENXIO
+indicates that the Benson-Varian is already in use.
+Your program can then
+.IR sleep (2)
+and try again in a while, or give up.
+The second is
+EIO
+and indicates that the Benson-Varian is offline.
+.PP
+To set the Benson-Varian into plot mode, ``#include <vcmd.h>''
+and use the following
+.IR ioctl (2)
+call
+.IP
+ioctl(fileno(va), VSETSTATE, plotmd);
+.PP
+where
+.B plotmd
+is defined to be
+.IP
+\fBint\fR plotmd[] = { VPLOT, 0, 0 };
+.PP
+and
+.I va
+is the result of a call to
+.I fopen
+on stdio.
+When you finish using the Benson-Varian in plot mode you should advance to
+a new page
+by sending it a FF after putting it back into print mode, i.e. by
+.PP
+'nf
+       \fBint\fR prtmd[] = { VPRINT, 0, 0 };
+       \&...
+       fflush(va);
+       ioctl(fileno(va), VSETSTATE, prtmd);
+       write(fileno(va), "\ef\e0", 2);
+.fi
+.PP
+.IR N.B. :
+If you use the standard I/O library with the Benson-Varian you
+.B must
+do
+.IP
+setbuf(vp, vpbuf);
+.PP
+where
+.I vpbuf
+is declared
+.IP
+\fBchar\fR vpbuf[BUFSIZ];
+.PP
+otherwise the standard I/O library, thinking that the Benson-Varian
+is a terminal (since it is a character special file) will not adequately buffer
+the data you are sending to the Benson-Varian.
+This will cause it to run
+.B extremely
+slowly and tend to grind the system to a halt.
+.SH FILES
+/dev/va0
+.br
+/usr/include/sys/vcmd.h
+.SH SEE ALSO
+vfont(5), vpr(1), vtroff(1), vp(4)
+.SH DIAGNOSTICS
+\fBva%d: npr timeout\fR.  The device was not able to get data from
+the UNIBUS within the timeout period, most likely because some other
+device was hogging the bus.  (But see BUGS below).
+.SH BUGS
+The 1's (one's) and l's (lower-case el's) in the Benson-Varian's
+standard character set look very similar; caution is advised.
+.PP
+The interface hardware is rumored to have problems which can
+play havoc with the UNIBUS.  We have intermittent minor problems on the
+UNIBUS where our va lives, but haven't ever been able to pin them down
+completely.
diff --git a/usr/man/man5/a.out.5 b/usr/man/man5/a.out.5
new file mode 100644 (file)
index 0000000..d9d675f
--- /dev/null
@@ -0,0 +1,248 @@
+.TH A.OUT 5 VAX/11
+.UC 4
+.SH NAME
+a.out \- assembler and link editor output
+.SH SYNOPSIS
+.B #include <a.out.h>
+.SH DESCRIPTION
+.I A.out
+is the output file of the assembler
+.IR as (1)
+and the link editor
+.IR ld (1).
+Both programs make
+.I a.out
+executable if there were no
+errors and no unresolved external references.
+Layout information as given in the include file for the VAX-11 is:
+.nf
+.ta \w'#define  'u +\w'unsigned  'u +\w'a_dirsize  'u +4n
+.PP
+/*
+.ti +\w'/'u
+* Header prepended to each a.out file.
+.ti +\w'/'u
+*/
+struct exec {
+       long    a_magic;        /* magic number */
+       unsigned        a_text; /* size of text segment */
+       unsigned        a_data; /* size of initialized data */
+       unsigned        a_bss;  /* size of uninitialized data */
+       unsigned        a_syms; /* size of symbol table */
+       unsigned        a_entry;        /* entry point */
+       unsigned        a_trsize;       /* size of text relocation */
+       unsigned        a_drsize;       /* size of data relocation */
+};
+
+#define        OMAGIC  0407    /* old impure format */
+#define        NMAGIC  0410    /* read-only text */
+#define        ZMAGIC  0413    /* demand load format */
+
+/*
+.ti +\w'/'u
+* Macros which take exec structures as arguments and tell whether
+.ti +\w'/'u
+* the file has a reasonable magic number or offsets to text\||\|symbols\||\|strings.
+.ti +\w'/'u
+*/
+#define        N_BADMAG(x) \e
+    (((x).a_magic)!=OMAGIC && ((x).a_magic)!=NMAGIC && ((x).a_magic)!=ZMAGIC)
+
+#define        N_TXTOFF(x) \e
+       ((x).a_magic==ZMAGIC ? 1024 : sizeof (struct exec))
+#define N_SYMOFF(x) \e
+       (N_TXTOFF(x) + (x).a_text+(x).a_data + (x).a_trsize+(x).a_drsize)
+#define        N_STROFF(x) \e
+       (N_SYMOFF(x) + (x).a_syms)
+.DT
+.fi
+.PP
+The file has five sections:
+a header, the program text and data,
+relocation information, a symbol table and a string table (in that order).
+The last three may be omitted
+if the program was loaded
+with the `\-s' option
+of
+.I ld
+or if the symbols and relocation have been
+removed by
+.IR strip (1).
+.PP
+In the header the sizes of each section are given in bytes.
+The size of the header is not included in any of the other sizes.
+.PP
+When an
+.I a.out
+file is executed, three logical segments are
+set up: the text segment, the data segment
+(with uninitialized data, which starts off as all 0, following
+initialized),
+and a stack.
+The text segment begins at 0
+in the core image; the header is not loaded.
+If the magic number in the header is OMAGIC (0407),
+it indicates that the text
+segment is not to be write-protected and shared,
+so the data segment is immediately contiguous
+with the text segment.
+This is the oldest kind of executable program and is rarely used.
+If the magic number is NMAGIC (0410) or ZMAGIC (0413),
+the data segment begins at the first 0 mod 1024 byte
+boundary following the text segment,
+and the text segment is not writable by the program;
+if other processes are executing the same file,
+they will share the text segment.
+For ZMAGIC format, the text segment begins at a 0 mod 1024 byte boundary
+in the
+.I a.out
+file, the remaining bytes after the header in the first block are
+reserved and should be zero.
+In this case the text and data sizes must both be multiples of 1024 bytes,
+and the pages of the file will be brought into the running image as needed,
+and not pre-loaded as with the other formats.  This is especially suitable
+for very large programs and is the default format produced by
+.IR ld (1).
+.PP
+The stack will occupy the highest possible locations
+in the core image: growing downwards from
+.lg 0
+0x7ffff000.
+.lg 1
+The stack is automatically extended as required.
+The data segment is only extended as requested by
+.IR break (2).
+.PP
+After the header in the file follow the text, data, text relocation
+data relocation, symbol table and string table in that order.
+The text begins at the byte 1024 in the file for ZMAGIC format or just
+after the header for the other formats.  The N_TXTOFF macro returns
+this absolute file position when given the name of an exec structure
+as argument.  The data segment is contiguous with the text and immediately
+followed by the text relocation and then the data relocation information.
+The symbol table follows all this; its position is computed by the
+N_SYMOFF macro.  Finally, the string table immediately follows the
+symbol table at a position which can be gotten easily using N_STROFF.
+The first 4 bytes of the string table are not used for string storage,
+but rather contain the size of the string table; this size INCLUDES
+the 4 bytes, the minimum string table size is thus 4.
+.PP
+The layout of a symbol table entry and the principal flag values
+that distinguish symbol types are given in the include file as follows:
+.PP
+.nf
+.ta \w'#define  'u +\w'char'u-1u +\w'unsigned  'u+1u +\w'*n_name  'u
+/*
+.ti +\w'/'u
+* Format of a symbol table entry.
+.ti +\w'/'u
+*/
+struct nlist {
+       union {
+               char    *n_name;        /* for use when in-core */
+               long    n_strx; /* index into file string table */
+       } n_un;
+       unsigned char   n_type; /* type flag, i.e. N_TEXT etc; see below */
+       char    n_other;
+       short   n_desc; /* see <stab.h> */
+       unsigned        n_value;        /* value of this symbol (or sdb offset) */
+};
+#define        n_hash  n_desc  /* used internally by ld */
+
+/*
+.ti +\w'/'u
+* Simple values for n_type.
+.ti +\w'/'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_COMM  0x12    /* common (internal to ld) */
+#define        N_FN    0x1f    /* file name symbol */
+
+#define        N_EXT   01      /* external bit, or'ed in */
+#define        N_TYPE  0x1e    /* mask for all the type bits */
+
+/*
+.ti +\w'/'u
+* Other permanent symbol table entries have some of the N_STAB bits set.
+.ti +\w'/'u
+* These are given in <stab.h>
+.ti +\w'/'u
+*/
+#define        N_STAB  0xe0    /* if any of these bits set, don't discard */
+
+/*
+.ti +\w'/'u
+* Format for namelist values.
+.ti +\w'/'u
+*/
+#define        N_FORMAT        "%08x"
+.fi
+.DT
+.PP
+In the
+.I a.out
+file a symbol's n_un.n_strx field gives an index into the
+string table.  A n_strx value of 0 indicates that no name is associated
+with a particular symbol table entry.  The field n_un.n_name can be used
+to refer to the symbol name only if the program sets this up using
+n_strx and appropriate data from the string table.
+.PP
+If a symbol's type is undefined external,
+and the value field is non-zero,
+the symbol is interpreted by the loader
+.I ld
+as
+the name of a common region
+whose size is indicated by the value of the
+symbol.
+.PP
+The value of a byte in the text or data which is not
+a portion of a reference to an undefined external symbol
+is exactly that value which will appear in memory
+when the file is executed.
+If a byte in the text or data
+involves a reference to an undefined external symbol,
+as indicated by the relocation information,
+then the value 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 to the bytes in the file.
+.PP
+If relocation
+information is present, it amounts to eight bytes per
+relocatable datum as in the following structure:
+.PP
+.nf
+.ta \w'#define  'u +\w'unsigned  'u +\w'r_symbolnum:24,  'u +4n
+/*
+.ti +\w'/'u
+* Format of a relocation datum.
+.ti +\w'/'u
+*/
+struct relocation_info {
+       int     r_address;      /* address which is relocated */
+       unsigned        r_symbolnum:24, /* local symbol ordinal */
+               r_pcrel:1,      /* was relocated pc relative already */
+               r_length:2,     /* 0=byte, 1=word, 2=long */
+               r_extern:1,     /* does not include value of sym referenced */
+               :4;     /* nothing, yet */
+};
+.fi
+.DT
+.PP
+There is no relocation information if a_trsize+a_drsize==0.
+If r_extern is 0, then r_symbolnum is actually a n_type for the relocation
+(i.e. N_TEXT meaning relative to segment text origin.)
+.fi
+.SH "SEE ALSO"
+adb(1), as(1), ld(1), nm(1), sdb(1), stab(5), strip(1)
+.SH BUGS
+Not having the size of the string table in the header is a loss, but
+expanding the header size would have meant stripped executable file
+incompatibility, and we couldn't hack this just now.
diff --git a/usr/man/man5/acct.5 b/usr/man/man5/acct.5
new file mode 100644 (file)
index 0000000..7a7285b
--- /dev/null
@@ -0,0 +1,28 @@
+.TH ACCT 5
+.SH NAME
+acct \- execution accounting file
+.SH SYNOPSIS
+.B #include <sys/acct.h>
+.SH DESCRIPTION
+.IR Acct (2)
+causes entries to be made into an accounting file
+for each process that terminates.
+The accounting file is a sequence of entries whose layout,
+as defined by the include file
+is:
+.PP
+.nf
+.ta \w'typedef 'u +\w'comp_t  'u +\w'ac_comm[10];   'u
+.so /usr/include/sys/acct.h
+.fi
+.PP
+If the process does an
+.IR exec (2),
+the first 10 characters of the filename appear in
+.I ac_comm.
+The accounting flag contains bits indicating whether
+.IR exec (2)
+was ever accomplished, and whether the
+process ever had super-user privileges.
+.SH SEE ALSO
+acct(2), sa(1)
diff --git a/usr/man/man5/aliases.5 b/usr/man/man5/aliases.5
new file mode 100644 (file)
index 0000000..ac51134
--- /dev/null
@@ -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/usr/man/man5/ar.5 b/usr/man/man5/ar.5
new file mode 100644 (file)
index 0000000..0821da2
--- /dev/null
@@ -0,0 +1,68 @@
+.TH AR 5 
+.UC 4
+.SH NAME
+ar \- archive (library) file format
+.SH SYNOPSIS
+.B #include <ar.h>
+.SH DESCRIPTION
+.IR N.B. :
+This archive format is new to this distribution.
+See
+.IR old (8)
+and
+.IR arcv (1)
+for programs to deal with the old format.
+.PP
+The archive command
+.I ar
+is used to combine several files into
+one.
+Archives are used mainly as libraries to be searched
+by the link-editor
+.I ld.
+.PP
+A file produced by
+.I ar
+has a magic string at the start,
+followed by the constituent files, each preceded by a file header.
+The magic number and header layout as described in the
+include file are:
+.RS
+.PP
+.nf
+.ta \w'#define 'u +\w'SARMAG 'u
+.ec %
+.so /usr/include/ar.h
+.ec \
+.fi
+.RE
+.LP
+The name is a blank-padded string.
+The
+.I ar_fmag
+field contains ARFMAG
+to help verify the presence of a header.
+The other fields are left-adjusted, blank-padded numbers.
+They are decimal except for
+.IR ar_mode ,
+which is octal.
+The date is the modification date of the file
+at the time of its insertion into the archive.
+.PP
+Each file begins on a even (0 mod 2) boundary;
+a new-line is inserted between files if necessary.
+Nevertheless the size given reflects the
+actual size of the file exclusive of padding.
+.PP
+There is no provision for empty areas in an archive
+file.
+.PP
+The encoding of the header is portable across machines.
+If an archive contains printable files, the archive itself
+is printable.
+.SH "SEE ALSO"
+ar(1), ld(1), nm(1)
+.SH BUGS
+File names lose trailing blanks.
+Most software dealing with archives takes even
+an included blank as a name terminator.
diff --git a/usr/man/man5/core.5 b/usr/man/man5/core.5
new file mode 100644 (file)
index 0000000..4248a72
--- /dev/null
@@ -0,0 +1,36 @@
+.TH CORE 5 
+.UC 4
+.SH NAME
+core \- format of memory image file
+.SH DESCRIPTION
+UNIX
+writes out a memory image of a terminated
+process when any of various errors occur.
+See
+.IR signal (2)
+for the list of reasons;
+the most common are memory violations, illegal
+instructions, bus errors, and user-generated
+quit signals.
+The memory image is called `core' and is written in the process's
+working directory (provided it can be; normal
+access controls apply).
+.PP
+The maximum size of a
+.I core
+file is limited by
+.IR vlimit (2) .
+Files which would be larger than the limit are not created.
+.PP
+The core file consists of the \fIu.\fR area, which currently consists
+of 6 pages, beginning with a \fIuser\fR structure as given in
+/usr/include/sys/user.h.
+The kernel stack grows from the end of this 6 page region.
+The remainder of the core file consists first of the data pages and then
+the stack pages of the process image.
+.PP
+In general the debugger
+.IR adb (1)
+is sufficient to deal with core images.
+.SH "SEE ALSO"
+adb(1), signal(2), vlimit(2)
diff --git a/usr/man/man5/dir.5 b/usr/man/man5/dir.5
new file mode 100644 (file)
index 0000000..7e81022
--- /dev/null
@@ -0,0 +1,43 @@
+.TH DIR 5 
+.SH NAME
+dir \- format of directories
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B #include <sys/dir.h>
+.SH 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;
+see
+.IR filsys (5).
+The structure of a directory entry as given in the
+include file is:
+.RS
+.ta 8n +10n
+.PP
+.nf
+#ifndef        DIRSIZ
+#define        DIRSIZ  14
+#endif
+struct direct
+{
+       ino_t   d_ino;
+       char    d_name[DIRSIZ];
+};
+.fi
+.RE
+.PP
+By convention, the first two entries in each directory
+are for `\fB.\fR' and `\fB..\fR'.  The first is an entry for the
+directory itself.  The second is for the parent
+directory.
+The meaning of `\fB..\fR' is modified for the root directory
+of the master file system
+.RB (\*(lq / \*(rq),
+where `\fB..\fR' has the
+same meaning as `\fB.\fR'.
+.SH "SEE ALSO"
+filsys(5)
diff --git a/usr/man/man5/dump.5 b/usr/man/man5/dump.5
new file mode 100644 (file)
index 0000000..aeb57c9
--- /dev/null
@@ -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/usr/man/man5/environ.5 b/usr/man/man5/environ.5
new file mode 100644 (file)
index 0000000..f8e69f3
--- /dev/null
@@ -0,0 +1,80 @@
+.TH ENVIRON 5
+.UC 4
+.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 the form
+.RI ` name = value '.
+The following names are used by various commands:
+.TP "\w'TERMCAP 'u"
+PATH
+The sequence of directory prefixes that
+.I sh, time,
+.IR nice (1),
+etc.,
+apply in searching for a file known by an incomplete path name.
+The prefixes are separated by `:'.
+.IR Login (1)
+sets PATH=:/usr/ucb:/bin:/usr/bin.
+.TP
+HOME
+A user's login directory, set by
+.IR login (1)
+from the password file
+.IR passwd (5).
+.TP
+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
+.I /etc/termcap
+.RI ( termcap (5))
+for a list of terminal types.
+.TP
+SHELL
+The file name of the users login shell.
+.TP
+TERMCAP
+The string describing the terminal in TERM,
+or the name of the termcap file, see
+.IR termcap (5), termlib (3).
+.TP
+EXINIT
+A startup list of commands read by
+.IR ex (1),
+.IR edit (1),
+and
+.IR vi (1).
+.TP
+USER
+The login name of the user.
+.PP
+Further names may be placed in the environment by
+the
+.I export
+command and `name=value' arguments in
+.IR sh (1),
+or by the
+.I setenv
+command if you use
+.IR csh (1).
+Arguments 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
+`.profile' files:
+MAIL, PS1, PS2, IFS.
+.SH SEE ALSO
+csh(1), ex(1), login(1), sh(1), exec(2), system(3), termlib(3), termcap(5), term(7)
diff --git a/usr/man/man5/filsys.5 b/usr/man/man5/filsys.5
new file mode 100644 (file)
index 0000000..3e0e3d4
--- /dev/null
@@ -0,0 +1,283 @@
+.TH FILSYS 5
+.UC 4
+.SH NAME
+filsys, flblk, ino \- format of file system volume
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B #include <sys/flbk.h>
+.br
+.B #include <sys/filsys.h>
+.br
+.B #include <sys/ino.h>
+.SH DESCRIPTION
+Every
+file system storage volume
+(e.g. RF disk, RK disk, RP disk, DECtape reel)
+has a common format for certain vital information.
+Every such volume is divided into a certain number
+of 1024-byte blocks.
+Block 0 is unused and is available to contain
+a bootstrap program, pack label, or other information.
+.PP
+Block 1 is the
+.I "super block."
+The layout of the super block as defined by the include file
+.I <sys/filsys.h>
+is:
+.PP
+.nf
+.ta \w'struct 'u +\w'daddr_t  'u +\w's_inode[NICINOD]; 'u
+.so /usr/include/sys/filsys.h
+.fi
+.PP
+.I S_isize
+is the address of the first block after the i-list,
+which starts just after the super-block, in block 2.
+Thus the i-list is
+.IR s_isize \-2
+blocks long.
+.I S_fsize
+is the address of the first block not potentially
+available for allocation
+to a file.
+These numbers are used by the system to
+check for bad block addresses;
+if an `impossible' block address is allocated from the free list
+or is freed,
+a diagnostic is written on the on-line console.
+Moreover, the free array is cleared, so as to prevent further
+allocation from a presumably corrupted free list.
+.PP
+The free list for each volume is maintained as
+follows.
+The
+.I s_free
+array contains, in
+.I "s_free[1], ... , s_free[s_nfree\-1],"
+up to NICFREE free block numbers.
+NICFREE is a configuration constant.
+.I S_free[0]
+is the block address of the head
+of a chain of blocks constituting the free list.
+The layout of each block of the free chain as defined
+in the include file
+.I <sys/fblk.h>
+is:
+.PP
+.nf
+.so /usr/include/sys/fblk.h
+.fi
+.PP
+The fields
+.I df_nfree
+and
+.I df_free
+in a free block are used exactly like
+.I s_nfree
+and 
+.I s_free
+in the super block.
+To allocate a block:
+decrement
+.I s_nfree,
+and the new block number is
+.I s_free[s_nfree].
+If the new block address is 0,
+there are no blocks left, so give an error.
+If
+.I s_nfree
+became 0,
+read the new block into
+.I s_nfree
+and 
+.I s_free.
+To free a block, check if
+.I s_nfree
+is NICFREE; if so,
+copy
+.I s_nfree
+and the
+.I s_free
+array into it,
+write it out, and set
+.I s_nfree
+to 0.
+In any event set
+.I s_free[s_nfree]
+to the freed block's address and
+increment
+.I s_nfree.
+.PP
+.I S_ninode
+is the number of free i-numbers in the
+.I s_inode
+array.
+To allocate an i-node:
+if
+.I s_ninode
+is greater than 0,
+decrement it and return
+.I s_inode[s_ninode].
+If it was 0, read the i-list
+and place the numbers of all free inodes
+(up to NICINOD) into the
+.I s_inode
+array,
+then try again.
+To free an i-node,
+provided
+.I s_ninode
+is less than NICINODE,
+place its number into
+.I s_inode[s_ninode]
+and increment
+.I s_ninode.
+If
+.I s_ninode
+is already NICINODE, don't bother to enter the freed i-node into any table.
+This list of i-nodes is only to speed
+up the allocation process; the information
+as to whether the inode is really free
+or not is maintained in the inode itself.
+.PP
+The fields
+.I s_lasti
+and
+.I s_nbehind
+are used to avoid searching the inode list from the beginning
+each time the system runs out of inodes.
+.I S_lasti
+gives the base of the block of inodes last searched on the filesystem
+when inodes ran out, and
+.I s_nbehind
+gives the number of inodes, whose numbers were less than
+.I s_lasti
+when they were freed with
+.I s_ninode
+already
+NICINODE.
+Thus
+.I s_ninode
+is the number of free inodes before
+.I s_lasti.
+The system will search forward for free inodes from
+.I s_lasti
+for more inodes unless
+.I s_nbehind
+is sufficiently large, in which case it will search the file system
+inode list from the beginning.
+This mechanism serves to avoid n**2 behavior in allocating inodes.
+.PP
+.I S_flock
+and
+.I s_ilock
+are flags maintained in the core
+copy of the file system
+while it is mounted
+and their values on disk are immaterial.
+The value of
+.I s_fmod
+on disk is likewise immaterial;
+it is used as a 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.
+.I S_ronly
+is a write-protection indicator; its disk value is also immaterial.
+.PP
+.I S_time
+is the last time the super-block of the file system was changed.
+During a reboot,
+.I s_time
+of the super-block for the root file system
+is used to set the system's idea of the time.
+.PP
+The fields
+.I s_tfree, s_tinode, s_fname
+and
+.I s_fpack
+are not currently maintained.
+.PP
+I-numbers begin at 1, and the storage for i-nodes
+begins in block 2.
+.tr |
+I-nodes are 64 bytes long, so 16 of them fit into a block.
+I-node 2 is reserved for the root directory of the file
+system, but no other i-number has a built-in
+meaning.
+Each i-node represents one file.
+The format of an i-node as given in the include file
+.I <sys/ino.h>
+is:
+.PP
+.nf
+.ta \w'#define 'u +\w'time_t  'u +\w'di_addr[40]; 'u
+.so /usr/include/sys/ino.h
+.fi
+.PP
+.I Di_mode
+tells the kind of file; it
+is encoded identically to the
+.I st_mode field of
+.IR stat (2).
+.I Di_nlink
+is the number of directory entries
+(links) that refer to this i-node.
+.I Di_uid
+and
+.I di_gid
+are the owner's user and group IDs.
+.I Size
+is the number of bytes in the file.
+.I Di_atime
+and
+.I di_mtime
+are the times of last access and modification
+of the file contents (read, write or create)
+(see
+.IR times (2));
+.I Di_ctime
+records the time of last modification
+to the inode or to the file, and is used
+to determine whether it should be dumped.
+.PP
+Special files are recognized by their modes
+and not by i-number.
+A block-type special file is one which
+can potentially be mounted as a file system;
+a character-type special file cannot, though it is
+not necessarily character-oriented.
+For special files, the 
+.I di_addr
+field is occupied by the device code
+(see
+.IR types (5)).
+The device codes
+of block and character special files overlap.
+.PP
+Disk addresses of plain files and directories
+are kept in the array
+.I di_addr
+packed into 3 bytes each.
+The first 10 addresses specify device blocks directly.
+The last 3 addresses are singly, doubly, and triply
+indirect and point to blocks of 256 block pointers.
+Pointers in indirect blocks have the type
+.I daddr_t
+(see
+.IR types (5)).
+.PP
+For block
+.I b
+in a file to exist,
+it
+is not necessary that all blocks less than
+.I 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.
+.SH "SEE ALSO"
+fsck(8), icheck(8), dcheck(8), dir(5), mount(8), stat(2), types(5)
diff --git a/usr/man/man5/fstab.5 b/usr/man/man5/fstab.5
new file mode 100644 (file)
index 0000000..eb368ec
--- /dev/null
@@ -0,0 +1,121 @@
+.TH FSTAB 5 
+.UC 4
+.SH NAME
+fstab \- static information about the filesystems
+.SH SYNOPSIS
+.B #include <fstab.h>
+.SH DESCRIPTION
+The file
+.I /etc/fstab
+contains descriptive information about the various file
+systems.
+.I /etc/fstab
+is only
+.I read
+by programs, and not written;
+it is the duty of the system administrator to properly create 
+and maintain this file.
+.PP
+These programs use
+.I /etc/fstab:
+.I dump,
+.I mount,
+.I umount,
+.I swapon,
+.I fsck
+and
+.I df.
+The order of records in
+.I /etc/fstab
+is important,
+for both
+.I fsck,
+.I mount,
+and
+.I umount
+sequentially iterate through
+.I /etc/fstab
+doing their thing.
+.PP
+The special file name is the 
+.B block
+special file name, 
+and not the character special file name.
+If a program needs the character special file name,
+the program must create it by appending a ``r'' after the
+last ``/'' in the special file name.
+.PP
+If
+.I fs_type
+is ``rw'' or ``ro'' then the file system whose name is given in the
+.I fs_file
+field is normally mounted read-write or read-only on the specified special
+file.
+The
+.I fs_freq
+field is used for these file systems by the
+.IR dump (8)
+command to determine which file systems need to be dumped.
+The
+.I fs_passno
+field is used by the
+.IR fsck (8)
+program to determine the order in which file system checks are done
+at reboot time.
+The root file system should be specified with a
+.I fs_passno
+of 1, and other file systems should have larger numbers.  File systems
+within a drive should have distinct numbers, but file systems on different
+drives can be checked on the same pass to utilize parallelism available in
+the hardware.
+.PP
+If
+.I fs_type
+is ``sw'' then the special file is made avaiable as a piece of swap
+space by the
+.IR swapon (8)
+command at the end of the system reboot procedure.
+The fields other than
+.I fs_spec
+and
+.I fs_type
+are not used in this case.
+.PP
+.I Fs_type
+may be specified as ``xx'' to cause an entry to be ignored.
+This is useful to show disk partitions which are currently not
+used but will be used later.
+.sp 1
+.nf
+.ta \w'#define 'u +\w'FSTABARG(p) 'u \w'#define 'u+\w'char\ \ 'u+\w'fs_spec[FSNMLG]; 'u
+#define        FSTAB           "/etc/fstab"
+#define        FSNMLG          16
+
+#define        FSTABFMT        "%16s:%16s:%2s:%d:%d\en"
+#define        FSTABARG(p)     (p)\->fs_spec, (p)\->fs_file, \e
+               (p)\->fs_type, &(p)\->fs_freq, &(p)\->fs_passno
+#define        FSTABNARGS      5
+
+#define        FSTAB_RW        "rw"            /* read write device */
+#define        FSTAB_RO        "ro"            /* read only device */
+#define        FSTAB_SW        "sw"            /* swap device */
+#define        FSTAB_XX        "xx"            /* ignore totally */
+
+.ta \w'#define 'u +\w'char\ \ 'u +\w'fs_spec[FSNMLG]; 'u
+struct fstab {
+       char    fs_spec[FSNMLG];        /* block special device name */
+       char    fs_file[FSNMLG];        /* file system path prefix */
+       char    fs_type[3];             /* rw,ro,sw or xx */
+       int     fs_freq;                /* dump frequency, in days */
+       int     fs_passno;              /* pass number on parallel dump */
+};
+.fi
+
+.PP
+The proper way to read records from
+.I /etc/fstab
+is to use the routines getfsent(), getfsspec() or getfsfile().
+.SH FILES
+/etc/fstab
+.SH SEE ALSO
+getfsent(3)
diff --git a/usr/man/man5/group.5 b/usr/man/man5/group.5
new file mode 100644 (file)
index 0000000..50d86dd
--- /dev/null
@@ -0,0 +1,41 @@
+.TH GROUP 5 
+.SH NAME
+group \- group file
+.SH DESCRIPTION
+.I Group
+contains for each group the
+following information:
+.HP 10
+group name
+.br
+.ns
+.HP 10
+encrypted password
+.br
+.ns
+.HP 10
+numerical group ID
+.br
+.ns
+.HP 10
+a comma separated list of all users allowed in the group
+.PP
+This is an ASCII file.
+The fields are separated
+by colons;
+Each group is separated from the next by a new-line.
+If the password field is null, no password is demanded.
+.PP
+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 group ID's to names.
+.SH FILES
+/etc/group
+.SH "SEE ALSO"
+newgrp(1), crypt(3), passwd(1), passwd(5)
+.SH BUGS
+The
+.IR passwd (1)
+command won't change the passwords.
diff --git a/usr/man/man5/mpxio.5 b/usr/man/man5/mpxio.5
new file mode 100644 (file)
index 0000000..11479a8
--- /dev/null
@@ -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/usr/man/man5/mtab.5 b/usr/man/man5/mtab.5
new file mode 100644 (file)
index 0000000..dc35cba
--- /dev/null
@@ -0,0 +1,34 @@
+.TH MTAB 5 
+.SH NAME
+mtab \- mounted file system table
+.SH DESCRIPTION
+.I Mtab
+resides in directory
+.I /etc
+and contains a table of devices mounted by the
+.I mount
+command.
+.I Umount
+removes entries.
+.PP
+Each entry is 64 bytes long;
+the first 32 are the null-padded name of the
+place where the special file is mounted;
+the second 32 are the null-padded name of the special
+file.
+The special file has all its directories
+stripped away;
+that is, everything through the last `/' is thrown
+away.
+.PP
+This table is present only so people can look at it.
+It does not matter to
+.I mount
+if there are duplicated entries nor
+to
+.I umount
+if a name cannot be found.
+.SH FILES
+/etc/mtab
+.SH "SEE ALSO"
+mount(8)
diff --git a/usr/man/man5/passwd.5 b/usr/man/man5/passwd.5
new file mode 100644 (file)
index 0000000..b87b5a2
--- /dev/null
@@ -0,0 +1,69 @@
+.TH PASSWD 5 
+.UC
+.SH NAME
+passwd \- password file
+.SH DESCRIPTION
+.I Passwd
+contains for each user the
+following information:
+.HP 10
+name (login name, contains no upper case)
+.br
+.ns
+.HP 10
+encrypted password
+.br
+.ns
+.HP 10
+numerical user ID
+.br
+.ns
+.HP 10
+numerical group ID
+.br
+.ns
+.HP 10
+user's real name, office, extension, home phone.
+.br
+.ns
+.HP 10
+initial working directory
+.br
+.ns
+.HP 10
+program to use as Shell
+.PP
+The name may contain `&', meaning insert the login name.
+This information is set by the
+.IR chfn (1)
+command and used by the
+.IR finger (1)
+command.
+.PP
+This is an ASCII file.  Each field within each user's entry
+is separated from the next by a colon.
+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, then
+.I /bin/sh
+is used.
+.PP
+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.
+.PP
+Appropriate precautions must be taken to lock the file against changes
+if it is to be edited with a text editor;
+.IR vipw (8)
+does the necessary locking.
+.SH FILES
+/etc/passwd
+.SH "SEE ALSO"
+getpwent(3), login(1), crypt(3), passwd(1), group(5), chfn(1), finger(1),
+vipw(8), adduser(8)
+.SH BUGS
+A binary indexed file format should be available for fast access.
+.PP
+User information (name, office, etc.) should be stored elsewhere.
diff --git a/usr/man/man5/plot.5 b/usr/man/man5/plot.5
new file mode 100644 (file)
index 0000000..040c536
--- /dev/null
@@ -0,0 +1,118 @@
+.TH PLOT 5 
+.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 a stream of plotting instructions.
+Each instruction consists of an ASCII letter
+usually followed by bytes of binary information.
+The instructions are executed in order.
+A point is designated by
+four bytes representing
+the
+x and y
+values;
+each value
+is a signed integer.
+The last designated point in an
+.B "l, m, n,"
+or
+.B p
+instruction becomes the `current point'
+for the next instruction.
+.PP
+Each of the following descriptions begins with the name
+of the corresponding routine in
+.IR  plot (3).
+.TP 3
+.B  m
+move: The next four bytes give a new current point.
+.TP 3
+.B  n
+cont: Draw a line from the current point to
+the point given by the next four bytes.
+See
+.IR  plot (1).
+.TP 3
+.B  p
+point: Plot the point given by the next four bytes.
+.TP 3
+.B  l
+line: Draw a line from the point given by the next
+four bytes to the point given by the following four bytes.
+.TP 3
+.B  t
+label: Place the following ASCII string so that its
+first character falls on the current point.
+The string is terminated by a newline.
+.TP 3
+.B  a
+arc:
+The first four bytes give the center, the next four give the
+starting point,
+and the last four give the end point of a circular arc.
+The least significant coordinate of the end point is
+used only to determine the quadrant.
+The arc is drawn counter-clockwise.
+.TP 3
+.B  c
+circle:
+The first four bytes give the center of the circle,
+the next two the radius.
+.TP 3
+.B  e
+erase: Start another frame of output.
+.TP 3
+.B  f
+linemod: Take the following string, up to a newline,
+as the style for drawing further lines.
+The styles are
+`dotted,'
+`solid,' `longdashed,' `shortdashed,' and `dotdashed.'
+Effective only in 
+.I plot 4014
+and
+.I plot ver.
+.TP 3
+.B  s
+space: The next four bytes give
+the lower left corner of the plotting area;
+the following four give the upper right corner.
+The plot will be magnified or reduced to fit
+the device as closely as possible.
+.IP
+Space 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 whose face isn't square.
+.RS
+.TP 10n
+4014
+space(0, 0, 3120, 3120);
+.br
+.ns
+.TP 
+ver
+space(0, 0, 2048, 2048);
+.br
+.ns
+.TP 
+300, 300s
+space(0, 0, 4096, 4096);
+.br
+.ns
+.TP 
+450
+space(0, 0, 4096, 4096);
+.RE
+.SH "SEE ALSO"
+plot(1), plot(3), graph(1)
diff --git a/usr/man/man5/stab.5 b/usr/man/man5/stab.5
new file mode 100644 (file)
index 0000000..fa17797
--- /dev/null
@@ -0,0 +1,216 @@
+.TH STAB 5
+.UC 4
+.SH NAME
+stab \- symbol table types
+.SH SYNOPSIS
+.B "#include <stab.h>"
+.SH DESCRIPTION
+.I Stab.h
+defines some values of the n_type field of the symbol table of a.out files.
+These are the types for permanent symbols (i.e. not local labels, etc.)
+used by the debugger
+.IR sdb (1)
+and the Berkeley Pascal compiler
+.IR pc (1).
+Symbol table entries can be produced by the
+.I .stabs
+assembler directive.
+This allows one to specify a double-quote delimited name, a symbol type,
+one char and one short of information about the symbol, and an unsigned
+long (usually an address).
+To avoid having to produce an explicit label for the address field,
+the
+.I .stabd
+directive can be used to implicitly address the current location.
+If no name is needed, symbol table entries can be generated using the
+.I .stabn
+directive.
+The loader promises to preserve the order of symbol table entries produced
+by
+.I .stab
+directives.
+As described in a.out(5), an element of the symbol table
+consists of the following structure:
+.PP
+.nf
+/*
+.ti +\w'/'u
+* Format of a symbol table entry.
+.ti +\w'/'u
+*/
+.ta \w'#define\ 'u +\w'unsigned 'u +\w'char\ \ 'u +\w'n_name;\ \ 'u
+struct nlist {
+       union {
+               char    *n_name;        /* for use when in-core */
+               long    n_strx;         /* index into file string table */
+       } n_un;
+       unsigned char   n_type;         /* type flag */
+       char            n_other;        /* unused */
+       short           n_desc;         /* see struct desc, below */
+       unsigned        n_value;        /* address or offset or line */
+};
+.fi
+.DT
+.PP
+The low bits of the n_type field are used to place a symbol into
+at most one segment, according to 
+the following masks, defined in
+.BR <a.out.h> .
+A symbol can be in none of these segments by having none of these segment
+bits set.
+.PP
+.nf
+/*
+.ti +\w'/'u
+* Simple values for n_type.
+.ti +\w'/'u
+*/
+.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   01      /* external bit, or'ed in */
+.DT
+.fi
+.PP
+The n_value field of a symbol is relocated by the linker,
+.IR ld (5)
+as an address within the appropriate segment.
+N_value fields of symbols not in any segment are unchanged by the linker.
+In addition, the linker will discard certain symbols, according to rules
+of its own, unless the n_type field has one of the following bits set:
+.PP
+.nf
+/*
+.ti +\w'/'u
+* Other permanent symbol table entries have some of the N_STAB bits set.
+.ti +\w'/'u
+* These are given in <stab.h>
+.ti +\w'/'u
+*/
+.ta \w'#define\ 'u +\w'N_FNAME\ 'u +\w'0x0\ \ \ 'u
+#define        N_STAB          0xe0            /* if any of these bits set, don't discard */
+
+.DT
+.fi
+.PP
+This allows up to 112 (7 \(** 16) symbol types, split between the various
+segments.
+Some of these have already been claimed.
+The symbolic debugger,
+.IR sdb (1),
+uses the following n_type values:
+.PP
+.nf
+.ta \w'#define\ 'u +\w'N_FNAME\ 'u +\w'0x0\ \ \ 'u
+#define        N_GSYM  0x20    /* global symbol: name,,0,type,0 */
+#define        N_FNAME 0x22    /* procedure name (f77 kludge): name,,0 */
+#define        N_FUN   0x24    /* procedure: name,,0,linenumber,address */
+#define        N_STSYM 0x26    /* static symbol: name,,0,type,address */
+#define        N_LCSYM 0x28    /* .lcomm symbol: name,,0,type,address */
+#define        N_RSYM  0x40    /* register sym: name,,0,type,register */
+#define        N_SLINE 0x44    /* src line: 0,,0,linenumber,address */
+#define        N_SSYM  0x60    /* structure elt: name,,0,type,struct_offset */
+#define        N_SO    0x64    /* source file name: name,,0,0,address */
+#define        N_LSYM  0x80    /* local sym: name,,0,type,offset */
+#define        N_SOL   0x84    /* #included file name: name,,0,0,address */
+#define        N_PSYM  0xa0    /* parameter: name,,0,type,offset */
+#define        N_ENTRY 0xa4    /* alternate entry: name,linenumber,address */
+#define        N_LBRAC 0xc0    /* left bracket: 0,,0,nesting level,address */
+#define        N_RBRAC 0xe0    /* right bracket: 0,,0,nesting level,address */
+#define        N_BCOMM 0xe2    /* begin common: name,, */
+#define        N_ECOMM 0xe4    /* end common: name,, */
+#define        N_ECOML 0xe8    /* end common (local name): ,,address */
+#define        N_LENG  0xfe    /* second stab entry with length information */
+.fi
+.PP
+where the comments give the
+.I sdb
+conventional use for
+.IR .stab s
+and the n_name, n_other, n_desc, and n_value fields
+of the given n_type. 
+.I Sdb
+uses the n_desc field to hold a type specifier in the form used
+by the Portable C Compiler,
+.IR cc (1),
+in which a base type is qualified in the following structure:
+.PP
+.nf
+.ta \w'#define\ 'u +\w'short\ \ 'u
+struct desc {
+       short   q6:2,
+               q5:2,
+               q4:2,
+               q3:2,
+               q2:2,
+               q1:2,
+               basic:4;
+};
+.DT
+.fi
+.PP
+There are four qualifications, with q1 the most significant and q6 the least
+significant:
+.nf
+       0       none
+       1       pointer
+       2       function
+       3       array
+.fi
+The sixteen basic types are assigned as follows:
+.nf
+       0       undefined
+       1       function argument
+       2       character
+       3       short
+       4       int
+       5       long
+       6       float
+       7       double
+       8       structure
+       9       union
+       10      enumeration
+       11      member of enumeration
+       12      unsigned character
+       13      unsigned short
+       14      unsigned int
+       15      unsigned long
+.fi
+.PP
+The Berkeley Pascal compiler,
+.IR pc (1),
+uses the following n_type value:
+.PP
+.nf
+#define        N_PC    0x30    /* global pascal symbol: name,,0,subtype,line */
+.fi
+.PP
+and uses the following subtypes to do type checking across separately
+compiled files:
+.nf
+       1       source file name
+       2       included file name
+       3       global label
+       4       global constant
+       5       global type
+       6       global variable
+       7       global function
+       8       global procedure
+       9       external function
+       10      external procedure
+.fi
+.SH "SEE ALSO"
+as(1), ld(1), sdb(1), a.out(5)
+.SH BUGS
+.PP
+.IR Sdb (1)
+assumes that a symbol of type N_GSYM with name
+.I name
+is located at address
+.IR _\|name .
+.PP
+More basic types are needed.
diff --git a/usr/man/man5/termcap.5 b/usr/man/man5/termcap.5
new file mode 100644 (file)
index 0000000..dbb5212
--- /dev/null
@@ -0,0 +1,596 @@
+.tr ||
+.TH TERMCAP 5 5/10/80 5
+.UC 4
+.SH NAME
+termcap \- terminal capability data base
+.SH SYNOPSIS
+/etc/termcap
+.SH DESCRIPTION
+.I Termcap
+is a data base describing terminals,
+used,
+.IR e.g. ,
+by
+.IR vi (1)
+and
+.IR curses (3).
+Terminals are described in
+.I termcap
+by giving a set of capabilities which they have, and by describing
+how operations are performed.
+Padding requirements and initialization sequences
+are included in
+.I termcap.
+.PP
+Entries in
+.I termcap
+consist of a number of `:' separated fields.
+The first entry for each terminal gives the names which are known for the
+terminal, separated by `|' characters.  The first name is always 2 characters
+long and is used by older version 6 systems which store the terminal type
+in a 16 bit word in a systemwide data base.
+The second name given is the most common abbreviation for the terminal, and the
+last name given should be a long name fully identifying the terminal.
+The second name should contain no blanks; the last name may well contain
+blanks for readability.
+.SH CAPABILITIES
+.nf
+(P) indicates padding may be specified
+(P*) indicates that padding may be based on no. lines affected
+
+.ta \w'k0-k9  'u +\w'Type  'u +\w'Pad?  'u
+\fBName        Type    Pad?    Description\fR
+ae     str     (P)     End alternate character set
+al     str     (P*)    Add new blank line
+am     bool            Terminal has automatic margins
+as     str     (P)     Start alternate character set
+bc     str             Backspace if not \fB^H\fR
+bs     bool            Terminal can backspace with \fB^H\fR
+bt     str     (P)     Back tab
+bw     bool            Backspace wraps from column 0 to last column
+CC     str             Command character in prototype if terminal settable
+cd     str     (P*)    Clear to end of display
+ce     str     (P)     Clear to end of line
+ch     str     (P)     Like cm but horizontal motion only, line stays same
+cl     str     (P*)    Clear screen
+cm     str     (P)     Cursor motion
+co     num             Number of columns in a line
+cr     str     (P*)    Carriage return, (default \fB^M\fR)
+cs     str     (P)     Change scrolling region (vt100), like cm
+cv     str     (P)     Like ch but vertical only.
+da     bool            Display may be retained above
+dB     num             Number of millisec of bs delay needed
+db     bool            Display may be retained below
+dC     num             Number of millisec of cr delay needed
+dc     str     (P*)    Delete character
+dF     num             Number of millisec of ff delay needed
+dl     str     (P*)    Delete line
+dm     str             Delete mode (enter)
+dN     num             Number of millisec of nl delay needed
+do     str             Down one line
+dT     num             Number of millisec of tab delay needed
+ed     str             End delete mode
+ei     str             End insert mode; give \*(lq:ei=:\*(rq if \fBic\fR
+eo     str             Can erase overstrikes with a blank
+ff     str     (P*)    Hardcopy terminal page eject (default \fB^L\fR)
+hc     bool            Hardcopy terminal
+hd     str             Half-line down (forward 1/2 linefeed)
+ho     str             Home cursor (if no \fBcm\fR)
+hu     str             Half-line up (reverse 1/2 linefeed)
+hz     str             Hazeltine; can't print ~'s
+ic     str     (P)     Insert character
+if     str             Name of file containing \fBis\fR
+im     bool            Insert mode (enter); give \*(lq:im=:\*(rq if \fBic\fR
+in     bool            Insert mode distinguishes nulls on display
+ip     str     (P*)    Insert pad after character inserted
+is     str             Terminal initialization string
+k0-k9  str             Sent by \*(lqother\*(rq function keys 0-9
+kb     str             Sent by backspace key
+kd     str             Sent by terminal down arrow key
+ke     str             Out of \*(lqkeypad transmit\*(rq mode
+kh     str             Sent by home key
+kl     str             Sent by terminal left arrow key
+kn     num             Number of \*(lqother\*(rq keys
+ko     str             Termcap entries for other non-function keys
+kr     str             Sent by terminal right arrow key
+ks     str             Put terminal in \*(lqkeypad transmit\*(rq mode
+ku     str             Sent by terminal up arrow key
+l0-l9  str             Labels on \*(lqother\*(rq function keys
+li     num             Number of lines on screen or page
+ll     str             Last line, first column (if no \fBcm\fR)
+ma     str             Arrow key map, used by vi version 2 only
+mi     bool            Safe to move while in insert mode
+ml     str             Memory lock on above cursor.
+ms     bool            Safe to move while in standout and underline mode
+mu     str             Memory unlock (turn off memory lock).
+nc     bool            No correctly working carriage return (DM2500,H2000)
+nd     str             Non-destructive space (cursor right)
+nl     str     (P*)    Newline character (default \fB\en\fR)
+ns     bool            Terminal is a \s-2CRT\s+2 but doesn't scroll.
+os     bool            Terminal overstrikes
+pc     str             Pad character (rather than null)
+pt     bool            Has hardware tabs (may need to be set with \fBis\fR)
+se     str             End stand out mode
+sf     str     (P)     Scroll forwards
+sg     num             Number of blank chars left by so or se
+so     str             Begin stand out mode
+sr     str     (P)     Scroll reverse (backwards)
+ta     str     (P)     Tab (other than \fB^I\fR or with padding)
+tc     str             Entry of similar terminal - must be last
+te     str             String to end programs that use \fBcm\fP
+ti     str             String to begin programs that use \fBcm\fR
+uc     str             Underscore one char and move past it
+ue     str             End underscore mode
+ug     num             Number of blank chars left by us or ue
+ul     bool            Terminal underlines even though it doesn't overstrike
+up     str             Upline (cursor up)
+us     str             Start underscore mode
+vb     str             Visible bell (may not move cursor)
+ve     str             Sequence to end open/visual mode
+vs     str             Sequence to start open/visual mode
+xb     bool            Beehive (f1=escape, f2=ctrl C)
+xn     bool            A newline is ignored after a wrap (Concept)
+xr     bool            Return acts like \fBce\fP \er \en (Delta Data)
+xs     bool            Standout not erased by writing over it (HP 264?)
+xt     bool            Tabs are destructive, magic so char (Teleray 1061)
+.fi
+.PP
+.B A Sample Entry
+.PP
+The following entry, which describes the Concept\-100, is among the more
+complex entries in the
+.I termcap
+file as of this writing.
+(This particular concept entry is outdated,
+and is used as an example only.)
+.PP
+.nf
+c1\||\|c100\||\|concept100:is=\eEU\eEf\eE7\eE5\eE8\eEl\eENH\eEK\eE\e200\eEo&\e200:\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:nd=\eE=:\e
+        :se=\eEd\eEe:so=\eED\eEE:ta=8\et:ul:up=\eE;:vb=\eEk\eEK:xn:
+.fi
+.PP
+Entries may continue onto multiple lines by giving a \e as the last
+character of a line, and that empty fields
+may be included for readability (here between the last field on a line
+and the first field on the next).
+Capabilities in
+.I termcap
+are of three types:
+Boolean capabilities which indicate that the terminal has
+some particular feature, numeric capabilities giving the size of the terminal
+or the size of particular delays, and string
+capabilities, which give a sequence which can be used to perform particular
+terminal operations.
+.PP
+.B Types of Capabilities
+.PP
+All capabilities have two letter codes.  For instance, the fact that
+the Concept has \*(lqautomatic margins\*(rq (i.e. an automatic return and linefeed
+when the end of a line is reached) is indicated by the capability \fBam\fR.
+Hence the description of the Concept includes \fBam\fR.
+Numeric capabilities are followed by the character `#' and then the value.
+Thus \fBco\fR which indicates the number of columns the terminal has
+gives the value `80' for the Concept.
+.PP
+Finally, string valued capabilities, such as \fBce\fR (clear to end of line
+sequence) are given by the two character code, an `=', and then a string
+ending at the next following `:'.  A delay in milliseconds may appear after
+the `=' in such a capability, and padding characters are supplied by the
+editor after the remainder of the string is sent to provide this delay.
+The delay can be either a integer, e.g. `20', or an integer followed by
+an `*', i.e. `3*'.  A `*' indicates that the padding required is proportional
+to the number of lines affected by the operation, and the amount given is
+the per-affected-unit padding required.
+When a `*' is specified, it is sometimes useful to give a delay of the form
+`3.5' specify a delay per unit to tenths of milliseconds.
+.PP
+A number of escape sequences are provided in the string valued capabilities
+for easy encoding of characters there.  A \fB\eE\fR maps to an \s-2ESCAPE\s0
+character, \fB^x\fR maps to a control-x for any appropriate x, and the sequences
+\fB\en \er \et \eb \ef\fR give a newline, return, tab, backspace and formfeed.
+Finally, characters may be given as three octal digits after a \fB\e\fR,
+and the characters \fB^\fR and \fB\e\fR may be given as \fB\e^\fR and \fB\e\e\fR.
+If it is necessary to place a \fB:\fR in a capability it must be escaped in
+octal as \fB\e072\fR.
+If it is necessary to place a null character in a string capability it
+must be encoded as \fB\e200\fR.  The routines which deal with
+.I termcap
+use C strings, and strip the high bits of the output very late so that
+a \fB\e200\fR comes out as a \fB\e000\fR would.
+.br
+.ne 5
+.PP
+.B Preparing Descriptions
+.PP
+We now outline how to prepare descriptions of terminals.
+The most effective way to prepare a terminal description is by imitating
+the description of a similar terminal in
+.I termcap
+and to build up a description gradually, using partial descriptions
+with
+.I ex
+to check that they are correct.
+Be aware that a very unusual terminal may expose deficiencies in
+the ability of the
+.I termcap
+file to describe it
+or bugs in
+.I ex.
+To easily test a new terminal description you can set the environment variable
+TERMCAP to a pathname of a file containing the description you are working
+on and the editor will look there rather than in
+.I /etc/termcap.
+TERMCAP can also be set to the termcap entry itself
+to avoid reading the file when starting up the editor.
+(This only works on version 7 systems.)
+.PP
+.B Basic capabilities
+.PP
+The number of columns on each line for the terminal is given by the
+\fBco\fR numeric capability.  If the terminal is a \s-2CRT\s0, then the
+number of lines on the screen is given by the \fBli\fR capability.
+If the terminal wraps around to the beginning of the next line when
+it reaches the right margin, then it should have the \fBam\fR capability.
+If the terminal can clear its screen, then this is given by the
+\fBcl\fR string capability.  If the terminal can backspace, then it
+should have the \fBbs\fR capability, unless a backspace is accomplished
+by a character other than \fB^H\fR (ugh) in which case you should give
+this character as the \fBbc\fR string capability.  If it overstrikes
+(rather than clearing a position when a character is struck over)
+then it should have the \fBos\fR capability.
+.PP
+A very important point here is that the local cursor motions encoded
+in
+.I termcap
+are undefined at the left and top edges of a \s-2CRT\s0 terminal.
+The editor will never attempt to backspace around the left edge, nor
+will it attempt to go up locally off the top.  The editor assumes that
+feeding off the bottom of the screen will cause the screen to scroll up,
+and the \fBam\fR capability tells whether the cursor sticks at the right
+edge of the screen.  If the terminal has switch selectable automatic margins,
+the
+.I termcap
+file usually assumes that this is on, i.e. \fBam\fR.
+.PP
+These capabilities suffice to describe hardcopy and \*(lqglass-tty\*(rq terminals.
+Thus the model 33 teletype is described as
+.PP
+.DT
+       t3\||\|33\||\|tty33:co#72:os
+.PP
+while the Lear Siegler \s-2ADM\-3\s0 is described as
+.PP
+.DT
+       cl\||\|adm3|3|lsi adm3:am:bs:cl=^Z:li#24:co#80
+.PP
+.B Cursor addressing
+.PP
+Cursor addressing in the terminal is described by a
+\fBcm\fR string capability, with 
+.IR printf (3s)
+like escapes \fB%x\fR in it.
+These substitute to encodings of the current line or column position,
+while other characters are passed through unchanged.
+If the \fBcm\fR string is thought of as being a function, then its
+arguments are the line and then the column to which motion is desired,
+and the \fB%\fR encodings have the following meanings:
+.PP
+.DT
+.nf
+       %d      as in \fIprintf\fR, 0 origin
+       %2      like %2d
+       %3      like %3d
+       %.      like %c
+       %+x     adds \fIx\fR to value, then %.
+       %>xy    if value > x adds y, no output.
+       %r      reverses order of line and column, no output
+       %i      increments line/column (for 1 origin)
+       %%      gives a single %
+       %n      exclusive or row and column with 0140 (DM2500)
+       %B      BCD (16*(x/10)) + (x%10), no output.
+       %D      Reverse coding (x-2*(x%16)), no output. (Delta Data).
+.fi
+.PP
+Consider the HP2645, which, to get to row 3 and column 12, needs
+to be sent \eE&a12c03Y padded for 6 milliseconds.  Note that the order
+of the rows and columns is inverted here, and that the row and column
+are printed as two digits.  Thus its \fBcm\fR capability is \*(lqcm=6\eE&%r%2c%2Y\*(rq.
+The Microterm \s-2ACT-IV\s0 needs the current row and column sent
+preceded by a \fB^T\fR, with the row and column simply encoded in binary,
+\*(lqcm=^T%.%.\*(rq.  Terminals which use \*(lq%.\*(rq need to be able to
+backspace the cursor (\fBbs\fR or \fBbc\fR),
+and to move the cursor up one line on the screen (\fBup\fR introduced below).
+This is necessary because it is not always safe to transmit \fB\et\fR, \fB\en\fR
+\fB^D\fR and \fB\er\fR, as the system may change or discard them.
+.PP
+A final example is the \s-2LSI ADM\s0-3a, which uses row and column
+offset by a blank character, thus \*(lqcm=\eE=%+ %+ \*(rq.
+.PP
+.B Cursor motions
+.PP
+If the terminal can move the cursor one position to the right, leaving
+the character at the current position unchanged, then this sequence should
+be given as \fBnd\fR (non-destructive space).  If it can move the cursor
+up a line
+on the screen in the same column, this should be given as \fBup\fR.
+If the terminal has no cursor addressing capability, but can home the cursor
+(to very upper left corner of screen) then this can be given as
+\fBho\fR; similarly a fast way of getting to the lower left hand corner
+can be given as \fBll\fR; this may involve going up with \fBup\fR
+from the home position,
+but the editor will never do this itself (unless \fBll\fR does) because it
+makes no assumption about the effect of moving up from the home position.
+.PP
+.B Area clears
+.PP
+If the terminal can clear from the current position to the end of the
+line, leaving the cursor where it is, this should be given as \fBce\fR.
+If the terminal can clear from the current position to the end of the
+display, then this should be given as \fBcd\fR.
+The editor only uses
+\fBcd\fR from the first column of a line.
+.PP
+.B Insert/delete line
+.PP
+If the terminal can open a new blank line before the line where the cursor
+is, this should be given as \fBal\fR; this is done only from the first
+position of a line.  The cursor must then appear on the newly blank line.
+If the terminal can delete the line which the cursor is on, then this
+should be given as \fBdl\fR; this is done only from the first position on
+the line to be deleted.
+If the terminal can scroll the screen backwards, then this can be given as
+\fBsb\fR, but just \fBal\fR suffices.
+If the terminal can retain display memory above then the
+\fBda\fR capability should be given; if display memory can be retained
+below then \fBdb\fR should be given.  These let the editor understand
+that deleting a line on the screen may bring non-blank lines up from below
+or that scrolling back with \fBsb\fR may bring down non-blank lines.
+.PP
+.B Insert/delete character
+.PP
+There are two basic kinds of intelligent terminals with respect to
+insert/delete character which can be described using
+.I termcap.
+The most common insert/delete character operations affect only the characters
+on the current line and shift characters off the end of the line rigidly.
+Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make
+a distinction between typed and untyped blanks on the screen, shifting
+upon an insert or delete only to an untyped blank on the screen which is
+either eliminated, or expanded to two untyped blanks.  You can find out
+which kind of terminal you have by clearing the screen and then typing
+text separated by cursor motions.  Type \*(lqabc\ \ \ \ def\*(rq using local
+cursor motions (not spaces) between the \*(lqabc\*(rq and the \*(lqdef\*(rq.
+Then position the cursor before the \*(lqabc\*(rq and put the terminal in insert
+mode.  If typing characters causes the rest of the line to shift
+rigidly and characters to fall off the end, then your terminal does
+not distinguish between blanks and untyped positions.  If the \*(lqabc\*(rq
+shifts over to the \*(lqdef\*(rq which then move together around the end of the
+current line and onto the next as you insert, you have the second type of
+terminal, and should give the capability \fBin\fR, which stands for
+\*(lqinsert null\*(rq.  If your terminal does something different and unusual
+then you may have to modify the editor to get it to use the insert
+mode your terminal defines.  We have seen no terminals which have an insert
+mode not not falling into one of these two classes.
+.PP
+The editor can handle both terminals which have an insert mode, and terminals
+which send a simple sequence to open a blank position on the current line.
+Give as \fBim\fR the sequence to get into insert mode, or give it an
+empty value if your terminal uses a sequence to insert a blank position.
+Give as \fBei\fR the sequence to leave insert mode (give this, with
+an empty value also if you gave \fBim\fR so).
+Now give as \fBic\fR any sequence needed to be sent just before sending
+the character to be inserted.  Most terminals with a true insert mode
+will not give \fBic\fR, terminals which send a sequence to open a screen
+position should give it here.  (Insert mode is preferable to the sequence
+to open a position on the screen if your terminal has both.)
+If post insert padding is needed, give this as a number of milliseconds
+in \fBip\fR (a string option).  Any other sequence which may need to be
+sent after an insert of a single character may also be given in \fBip\fR.
+.PP
+It is occasionally necessary to move around while in insert mode
+to delete characters on the same line (e.g. if there is a tab after
+the insertion position).  If your terminal allows motion while in
+insert mode you can give the capability \fBmi\fR to speed up inserting
+in this case.  Omitting \fBmi\fR will affect only speed.   Some terminals
+(notably Datamedia's) must not have \fBmi\fR because of the way their
+insert mode works.
+.PP
+Finally, you can specify delete mode by giving \fBdm\fR and \fBed\fR
+to enter and exit delete mode, and \fBdc\fR to delete a single character
+while in delete mode.
+.PP
+.B "Highlighting, underlining, and visible bells"
+.PP
+If your terminal has sequences to enter and exit standout mode these
+can be given as \fBso\fR and \fBse\fR respectively.
+If there are several flavors of standout mode
+(such as inverse video, blinking, or underlining \-
+half bright is not usually an acceptable \*(lqstandout\*(rq mode
+unless the terminal is in inverse video mode constantly)
+the preferred mode is inverse video by itself.
+If the code to change into or out of standout
+mode leaves one or even two blank spaces on the screen,
+as the TVI 912 and Teleray 1061 do,
+then \fBug\fR should be given to tell how many spaces are left.
+.PP
+Codes to begin underlining and end underlining can be given as \fBus\fR
+and \fBue\fR respectively.
+If the terminal has a code to underline the current character and move
+the cursor one space to the right, 
+such as the Microterm Mime,
+this can be given as \fBuc\fR.
+(If the underline code does not move the cursor to the right,
+give the code followed by a nondestructive space.)
+.PP
+Many terminals, such as the HP 2621, automatically leave standout
+mode when they move to a new line or the cursor is addressed.
+Programs using standout mode should exit standout mode before
+moving the cursor or sending a newline.
+.PP
+If the terminal has
+a way of flashing the screen to indicate an error quietly (a bell replacement)
+then this can be given as \fBvb\fR; it must not move the cursor.
+If the terminal should be placed in a different mode during
+open and visual modes of
+.I ex,
+this can be given as
+\fBvs\fR and \fBve\fR, sent at the start and end of these modes
+respectively.  These can be used to change, e.g., from a underline
+to a block cursor and back.
+.PP
+If the terminal needs to be in a special mode when running
+a program that addresses the cursor,
+the codes to enter and exit this mode can be given as \fBti\fR and \fBte\fR.
+This arises, for example, from terminals like the Concept with more than
+one page of memory.
+If the terminal has only memory relative cursor addressing and not screen
+relative cursor addressing, a one screen-sized window must be fixed into
+the terminal for cursor addressing to work properly.
+.PP
+If your terminal correctly generates underlined characters
+(with no special codes needed)
+even though it does not overstrike,
+then you should give the capability \fBul\fR.
+If overstrikes are erasable with a blank,
+then this should be indicated by giving \fBeo\fR.
+.PP
+.B Keypad
+.PP
+If the terminal has a keypad that transmits codes when the keys are pressed,
+this information can be given. Note that it is not possible to handle
+terminals where the keypad only works in local (this applies, for example,
+to the unshifted HP 2621 keys).
+If the keypad can be set to transmit or not transmit,
+give these codes as \fBks\fR and \fBke\fR.
+Otherwise the keypad is assumed to always transmit.
+The codes sent by the left arrow, right arrow, up arrow, down arrow,
+and home keys can be given as \fBkl, kr, ku, kd, \fRand\fB kh\fR respectively.
+If there are function keys such as f0, f1, ..., f9, the codes they send
+can be given as \fBk0, k1, ..., k9\fR.
+If these keys have labels other than the default f0 through f9, the labels
+can be given as \fBl0, l1, ..., l9\fR.
+If there are other keys that transmit the same code as the terminal expects
+for the corresponding function, such as clear screen, the \fItermcap\fP
+2 letter codes can be given in the \fBko\fR capability,
+for example, \*(lq:ko=cl,ll,sf,sb:\*(rq, which says that the terminal has
+clear, home down, scroll down, and scroll up keys that transmit
+the same thing as the cl, ll, sf, and sb entries.
+.PP
+The
+.B ma
+entry is also used to indicate arrow keys on terminals which have
+single character arrow keys.  It is obsolete but still in use in
+version 2 of vi, which must be run on some minicomputers due to
+memory limitations.
+This field is redundant with
+.BR "kl, kr, ku, kd, " and " kh" .
+It consists of groups of two characters.
+In each group, the first character is what an arrow key sends, the
+second character is the corresponding vi command.
+These commands are
+.B h
+for
+.BR kl ,
+.B j
+for
+.BR kd ,
+.B k
+for
+.BR ku ,
+.B l
+for
+.BR kr ,
+and
+.B H
+for
+.BR kh .
+For example, the mime would be
+.B ":ma=^Kj^Zk^Xl:"
+indicating arrow keys left (^H), down (^K), up (^Z), and right (^X).
+(There is no home key on the mime.)
+.PP
+.B Miscellaneous
+.PP
+If the terminal requires other than a null (zero) character as a pad,
+then this can be given as \fBpc\fR.
+.PP
+If tabs on the terminal require padding, or if the terminal uses a
+character other than \fB^I\fR to tab, then this can be given as \fBta\fR.
+.PP
+Hazeltine terminals, which don't allow `~' characters to be printed should
+indicate \fBhz\fR.
+Datamedia terminals, which echo carriage-return linefeed for carriage return
+and then ignore a following linefeed should indicate \fBnc\fR.
+Early Concept terminals, which ignore a linefeed immediately after an \fBam\fR
+wrap, should indicate \fBxn\fR.
+If an erase-eol is required to get rid of standout
+(instead of merely writing on top of it),
+\fBxs\fP should be given.
+Teleray terminals, where tabs turn all characters moved over to blanks,
+should indicate \fBxt\fR.
+Other specific terminal problems may be corrected by adding more
+capabilities of the form \fBx\fIx\fR.
+.PP
+Other capabilities
+include \fBis\fR, an initialization string for the terminal,
+and \fBif\fR, the name of a file containing long initialization strings.
+These strings are expected to properly clear and then set the tabs
+on the terminal, if the terminal has settable tabs.
+If both are given, \fBis\fR will be printed before \fBif\fR.
+This is useful where \fBif\fR is
+.I /usr/lib/tabset/std
+but \fBis\fR
+clears the tabs first.
+.PP
+.B Similar Terminals
+.PP
+If there are two very similar terminals,
+one can be defined as being just like the other with certain exceptions.
+The string capability \fBtc\fR can be given
+with the name of the similar terminal.
+This capability must be \fIlast\fP and the combined length of the two entries
+must not exceed 1024. Since
+.I termlib
+routines search the entry from left to right, and since the tc capability is
+replaced by the corresponding entry, the capabilities given at the left
+override the ones in the similar terminal.
+A capability can be cancelled with \fBxx@\fR where xx is the capability.
+For example, the entry
+.PP
+       hn\||\|2621nl:ks@:ke@:tc=2621:
+.PP
+defines a 2621nl that does not have the \fBks\fR or \fBke\fR capabilities,
+and hence does not turn on the function key labels when in visual mode.
+This is useful for different modes for a terminal, or for different
+user preferences.
+.SH FILES
+.DT
+/etc/termcap   file containing terminal descriptions
+.SH SEE ALSO
+ex(1), curses(3), termcap(3), tset(1), vi(1), ul(1), more(1)
+.SH AUTHOR
+William Joy
+.br
+Mark Horton added underlining and keypad support
+.SH BUGS
+.I Ex
+allows only 256 characters for string capabilities, and the routines
+in 
+.I termcap(3)
+do not check for overflow of this buffer.
+The total length of a single entry (excluding only escaped newlines)
+may not exceed 1024.
+.PP
+The
+.BR ma ,
+.BR vs ,
+and
+.B ve
+entries are specific to the
+.I vi
+program.
+.PP
+Not all programs support all entries.
+There are entries that are not supported by any program.
diff --git a/usr/man/man5/tp.5 b/usr/man/man5/tp.5
new file mode 100644 (file)
index 0000000..4341c6e
--- /dev/null
@@ -0,0 +1,70 @@
+.TH TP 5 
+.SH NAME
+tp \- DEC/mag tape formats
+.SH DESCRIPTION
+.I Tp
+dumps files to and extracts files from
+DECtape and magtape.
+The formats of these tapes are the same except
+that magtapes have larger directories.
+.PP
+Block zero contains a
+copy of a stand-alone bootstrap program.
+See
+.IR reboot (8).
+.PP
+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:
+.nf
+.IP ""
+.ta 8n +\w'unsigned short  'u
+struct {
+       char    pathname[32];
+       unsigned short  mode;
+       char    uid;
+       char    gid;
+       char    unused1;
+       char    size[3];
+       long    modtime;
+       unsigned short  tapeaddr;
+       char    unused2[16];
+       unsigned short  checksum;
+};
+.fi
+.DT
+.PP
+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 
+(see file system
+.IR filsys (5)).
+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.
+.PP
+Blocks above 25 (resp. 63) are available for file storage.
+.PP
+A fake entry
+has a size of zero.
+.SH "SEE ALSO"
+filsys(5), tp(1)
+.SH BUGS
+The
+.I pathname, uid, gid,
+and
+.I size
+fields are too small.
diff --git a/usr/man/man5/ttys.5 b/usr/man/man5/ttys.5
new file mode 100644 (file)
index 0000000..03da300
--- /dev/null
@@ -0,0 +1,36 @@
+.TH TTYS 5 
+.SH NAME
+ttys \- terminal initialization data
+.SH DESCRIPTION
+The
+.I ttys
+file is read by the
+.I init
+program and specifies
+which terminal special files are to have
+a process created for them which will allow people to
+log in.
+It contains one line per special file.
+.PP
+The first character of a line is either `0' or `1';
+the former causes the line to be ignored,
+the latter causes it to 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
+.I login.
+For normal lines,
+the character is `0';
+other characters can be used, for example, with hard-wired terminals
+where speed recognition is unnecessary
+or which have special characteristics.
+.RI ( Getty
+will have to be fixed in such cases.)
+The remainder of the line is the terminal's entry
+in the device directory, /dev.
+.SH FILES
+/etc/ttys
+.SH "SEE ALSO"
+init(8), getty(8), login(1)
diff --git a/usr/man/man5/ttytype.5 b/usr/man/man5/ttytype.5
new file mode 100644 (file)
index 0000000..c102d4e
--- /dev/null
@@ -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/usr/man/man5/types.5 b/usr/man/man5/types.5
new file mode 100644 (file)
index 0000000..3f2a910
--- /dev/null
@@ -0,0 +1,32 @@
+.TH TYPES 5
+.UC 4
+.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 UNIX system code;
+some data of these types are accessible to user code:
+.PP
+.nf
+.ta \w'typedef\ \ 'u +\w'minor(x)\ \ 'u +\w' short\ \ 'u
+.so /usr/include/sys/types.h
+.fi
+.PP
+The form
+.I daddr_t
+is used for disk addresses except in an
+i-node on disk, see
+.IR filsys (5).
+Times are encoded in seconds since 00:00:00 GMT, January 1, 1970.
+The major and minor parts of a device code
+specify kind and unit number of a device
+and are installation-dependent.
+Offsets are measured in bytes from the beginning of a file.
+The
+.I label_t
+variables are used to save the processor state
+while another process is running.
+.SH SEE ALSO
+filsys(5), time(2), lseek(2), adb(1)
diff --git a/usr/man/man5/utmp.5 b/usr/man/man5/utmp.5
new file mode 100644 (file)
index 0000000..28880b9
--- /dev/null
@@ -0,0 +1,56 @@
+.TH UTMP 5 
+.UC 4
+.SH NAME
+utmp, wtmp \- login records
+.SH SYNOPSIS
+.B #include <utmp.h>
+.SH DESCRIPTION
+The
+.I utmp
+file allows one to discover information about who is currently
+using UNIX.
+The file is a sequence of entries with the following
+structure declared in the include file:
+.RS
+.PP
+.nf
+.so /usr/include/utmp.h
+.fi
+.RE
+.PP
+This structure gives the name of the special file
+associated with the user's terminal, the user's login name,
+and the time of the login in the form of
+.IR time (2).
+.PP
+The
+.I wtmp
+file records all logins and logouts.
+Its format is exactly like
+.I utmp
+except that
+a null user name indicates a logout on the associated
+terminal.
+Furthermore, the terminal name `~' indicates that the
+system was rebooted at the indicated time;
+the adjacent pair of entries with terminal names
+`\^|\^' and `}' indicate the system-maintained time
+just before and just after a
+.I date
+command has changed the system's idea of the time.
+.PP
+.I Wtmp
+is maintained by
+.IR login (1)
+and
+.IR init (8).
+Neither of these programs creates the file,
+so if it is removed record-keeping is turned off.
+It is summarized by
+.IR ac (8).
+.SH FILES
+/etc/utmp
+.br
+/usr/adm/wtmp
+.SH "SEE ALSO"
+login(1), init(8), who(1), ac(8)
diff --git a/usr/man/man5/uuencode.5 b/usr/man/man5/uuencode.5
new file mode 100644 (file)
index 0000000..de82b24
--- /dev/null
@@ -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), uudecode(1), uusend(1), uucp(1), mail(1)
diff --git a/usr/man/man5/vfont.5 b/usr/man/man5/vfont.5
new file mode 100644 (file)
index 0000000..6c4a062
--- /dev/null
@@ -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/usr/man/man5/wtmp.5 b/usr/man/man5/wtmp.5
new file mode 100644 (file)
index 0000000..b330e44
--- /dev/null
@@ -0,0 +1,33 @@
+.TH WTMP 5 
+.tr ||
+.SH NAME
+wtmp \- user login history
+.SH DESCRIPTION
+This
+file records all logins and logouts.
+Its format is exactly like
+.IR utmp (5)
+except that
+a null user name indicates a logout on the associated
+typewriter.
+Furthermore, the typewriter name `~' indicates that the
+system was rebooted at the indicated time;
+the adjacent pair of entries with typewriter names
+`|' and `}' indicate the system-maintained time
+just before and just after a
+.I date
+command has changed the system's idea of the time.
+.PP
+.I Wtmp
+is maintained by
+.IR login (1)
+and
+.IR init (8).
+Neither of these programs creates the file,
+so if it is removed record-keeping is turned off.
+It is summarized by
+.IR ac (1).
+.SH FILES
+/usr/adm/wtmp
+.SH "SEE ALSO"
+utmp(5), login(1), init(8), ac(1), who(1)
diff --git a/usr/man/man6/aardvark.6 b/usr/man/man6/aardvark.6
new file mode 100644 (file)
index 0000000..c258815
--- /dev/null
@@ -0,0 +1,20 @@
+.TH AARDVARK 6
+.UC 4
+.SH NAME
+aardvark \- yet another exploration game
+.SH SYNOPSIS
+.B /usr/games/aardvark
+.SH DESCRIPTION
+Aardvark is yet another computer fantasy simulation game
+of the adventure/zork genre.
+This one is written in DDL (Dungeon Definition Language)
+and is intended primarily as an example of how to write
+a dungeon in DDL.
+.SH FILES
+.ta \w'/usr/games/lib/aardvark'u
+/usr/games/lib/ddlrun  ddl interpreter
+.br
+/usr/games/lib/aardvark        internal form of aardvark dungeon
+.SH AUTHOR
+Mike Urban, UCLA
+.SH BUGS
diff --git a/usr/man/man6/aliens.6 b/usr/man/man6/aliens.6
new file mode 100644 (file)
index 0000000..b265d48
--- /dev/null
@@ -0,0 +1,15 @@
+.TH ALIENS 6 4/2/81
+.UC 4
+.SH NAME
+aliens \- The alien invaders attack the earth
+.SH SYNIOPSIS
+.B /usr/games/aliens
+.SH DESCRIPTION
+.PP
+This is a UNIX version of Space Invaders.  The program is pretty much self
+documenting.
+.SH FILES
+/usr/games/lib/aliens.log      Score file
+.SH BUGS
+The program is a CPU hog.  It needs to be re-written.
+It doesn't do well on terminals that run slower than 9600 baud.
diff --git a/usr/man/man6/arithmetic.6 b/usr/man/man6/arithmetic.6
new file mode 100644 (file)
index 0000000..b60866d
--- /dev/null
@@ -0,0 +1,65 @@
+.TH ARITHMETIC 6 
+.SH NAME
+arithmetic \- provide drill in number facts
+.SH SYNOPSIS
+.B /usr/games/arithmetic
+[
+.B +\-x/
+] [ range ]
+.SH DESCRIPTION
+.I Arithmetic
+types out simple arithmetic problems,
+and waits for an answer to be typed in.
+If the answer is correct,
+it types back \*(lqRight!\*(rq,
+and a new problem.
+If the answer is wrong,
+it replies \*(lqWhat?\*(rq,
+and waits for another answer.
+Every twenty problems, it publishes
+statistics on correctness and the time required
+to answer.
+.PP
+To quit the program,
+type an interrupt (delete).
+.PP
+The first optional argument determines the kind of problem
+to be generated;
+.B +\-x/
+respectively cause
+addition, subtraction, multiplication, and division
+problems to be generated.
+One or more characters can be given;
+if more than one is given, the different types of
+problems will be mixed in random order; default is
+.B +\-
+.PP
+.I Range
+is a decimal number;
+all addends, subtrahends, differences, multiplicands, divisors,
+and quotients will be less than or equal to the value of
+.IR range .
+Default
+.I range
+is 10.
+.PP
+At the start, all numbers less than or equal to
+.I range
+are equally likely
+to appear.
+If the respondent makes a mistake,
+the numbers in the problem which was missed
+become more likely to reappear.
+.PP
+As a matter of educational philosophy, the program will
+not give correct answers,
+since the learner should, in principle,
+be able to calculate them.
+Thus the program is intended to provide drill for
+someone just past the first learning stage,
+not to teach number facts
+.I de
+.IR novo .
+For almost all users,
+the relevant statistic should be
+time per problem, not percent correct.
diff --git a/usr/man/man6/backgammon.6 b/usr/man/man6/backgammon.6
new file mode 100644 (file)
index 0000000..c7bc3ec
--- /dev/null
@@ -0,0 +1,8 @@
+.TH BACKGAMMON 6 
+.SH NAME
+backgammon \- the game
+.SH SYNOPSIS
+.B /usr/games/backgammon
+.SH DESCRIPTION
+This program does what you expect.
+It will ask whether you need instructions.
diff --git a/usr/man/man6/banner.6 b/usr/man/man6/banner.6
new file mode 100644 (file)
index 0000000..c4d29b6
--- /dev/null
@@ -0,0 +1,42 @@
+.TH BANNER 6
+.UC
+.SH NAME
+banner \- print large banner on printer
+.SH SYNOPSIS
+.B /usr/games/banner
+[
+.BI \-w n
+]
+message ...
+.SH DESCRIPTION
+.I Banner
+prints a large, high quality banner on the standard output.
+If the message is omitted, it prompts for and
+reads one line of its standard input.
+If
+.B \-w
+is given, the output is scrunched down from a width
+of 132 to
+.I n ,
+suitable for a narrow terminal.
+If
+.I n
+is omitted,
+it defaults to 80.
+.PP
+The output should be printed on a hard-copy device, up to 132 columns wide,
+with no breaks between the pages. The volume is enough that you want
+a printer or a fast hardcopy terminal, but if you are patient, a
+decwriter or other 300 baud terminal will do.
+.SH BUGS
+Several ASCII characters are not defined, notably <, >, [, ], \\,
+^, _, {, }, |, and ~.  Also, the characters ", ', and & are funny
+looking (but in a useful way.)
+.PP
+The
+.B \-w
+option is implemented by skipping some rows and columns.
+The smaller it gets, the grainier the output.
+Sometimes it runs letters together.
+.SH AUTHOR
+Mark Horton
diff --git a/usr/man/man6/bcd.6 b/usr/man/man6/bcd.6
new file mode 100644 (file)
index 0000000..9b30a77
--- /dev/null
@@ -0,0 +1,13 @@
+.TH BCD 6 
+.SH NAME
+bcd \- convert to antique media
+.SH SYNOPSIS
+.B /usr/games/bcd
+text
+.SH DESCRIPTION
+.I Bcd
+converts the literal
+.I text
+into a form familiar to old-timers.
+.SH "SEE ALSO"
+dd(1)
diff --git a/usr/man/man6/boggle.6 b/usr/man/man6/boggle.6
new file mode 100644 (file)
index 0000000..03bc258
--- /dev/null
@@ -0,0 +1,46 @@
+.TH BOGGLE 6
+.UC 4
+.SH NAME
+boggle \- play the game of boggle
+.SH SYNOPSIS
+.B /usr/games/boggle
+[
+.B +
+] [
+.B ++
+]
+.SH DESCRIPTION
+This program is intended for people wishing to sharpen their
+skills at Boggle (TM Parker Bros.).
+If you invoke the program with 4 arguments of 4
+letters each,
+.RI ( e.g.
+.RB \*(lq "boggle appl epie moth erhd" \*(rq)
+the program forms the
+obvious Boggle grid and lists all the words from
+.B /usr/dict/words
+found
+therein. If you invoke the program without arguments, it will generate
+a board for you, let you enter words for 3 minutes, and then tell you
+how well you did relative to
+.BR /usr/dict/words .
+.PP
+The object of Boggle is to find, within 3
+minutes, as many words as possible in a 4 by 4 grid of letters. Words
+may be formed from any sequence of 3 or more adjacent letters in the
+grid. The letters may join horizontally, vertically, or diagonally.
+However, no position in the grid may be used more than once within any
+one word. In competitive play amongst humans, each player is given
+credit for those of his words which no other player has found.
+.PP
+In interactive play, enter your words separated by spaces, tabs,
+or newlines. A bell will ring when there is 2:00, 1:00, 0:10, 0:02,
+0:01, and 0:00 time left. You may complete any word started before the
+expiration of time. You can surrender before time is up by hitting
+\&'break'. While entering words, your erase character is only effective
+within the current word and your line kill character is ignored.
+.PP
+Advanced players may wish to invoke the program with 1 or 2 +'s as
+the first argument. The first + removes the restriction that positions
+can only be used once in each word. The second + causes a position to
+be considered adjacent to itself as well as its (up to) 8 neighbors.
diff --git a/usr/man/man6/chase.6 b/usr/man/man6/chase.6
new file mode 100644 (file)
index 0000000..5610f86
--- /dev/null
@@ -0,0 +1,28 @@
+.TH CHASE 6 4/1/81
+.UC 4
+.SH NAME
+chase \- Try to escape to killer robots
+.SH SYNOPSIS
+.B /usr/games/chase
+[
+.I nrobots
+] [
+.I nfences
+]
+.SH DESCRIPTION
+.PP
+The object of the game chase is to move around inside of the box on the
+screen without getting eaten by the robots chasing and without running
+into anything.
+.PP
+If a robot runs into another robot while chasing you, they crash and leave
+a junk heap.  If a robot runs into a fence, it is destroyed.
+.PP
+If you can survive until all the robots are destroyed, you have won!
+.PP
+If you do not specify either
+.I nrobots
+or
+.I nfences,
+chase will prompt you for them.
+.SH BUGS
diff --git a/usr/man/man6/chess.6 b/usr/man/man6/chess.6
new file mode 100644 (file)
index 0000000..5fef18a
--- /dev/null
@@ -0,0 +1,27 @@
+.TH CHESS 6 
+.SH NAME
+chess \- the game of chess
+.SH SYNOPSIS
+.B /usr/games/chess
+.SH DESCRIPTION
+.I Chess
+is a computer program that plays class D chess.
+Moves may be given either in standard (descriptive) notation
+or in algebraic notation.
+The symbol `+' is used to specify check;
+`o-o' and `o-o-o' specify castling.
+To play black, type `first';
+to print the board, type an empty line.
+.PP
+Each move is echoed in the appropriate notation followed by
+the program's reply.
+.SH FILES
+/usr/lib/book          opening `book'
+.SH DIAGNOSTICS
+The most cryptic diagnostic is `eh?' which
+means that the input was syntactically incorrect.
+.SH WARNING
+Over-use of this program
+will cause it to go away.
+.SH BUGS
+Pawns may be promoted only to queens.
diff --git a/usr/man/man6/ching.6 b/usr/man/man6/ching.6
new file mode 100644 (file)
index 0000000..880d48d
--- /dev/null
@@ -0,0 +1,142 @@
+.TH CHING 6 
+.SH NAME
+ching, fortune \- the book of changes and other cookies
+.SH SYNOPSIS
+.B /usr/games/ching
+[ hexagram ]
+.PP
+.B /usr/games/fortune
+.SH DESCRIPTION
+The
+.I "I Ching"
+or
+.I "Book of Changes"
+is an ancient Chinese oracle
+that has been in use for
+centuries
+as a source of wisdom
+and advice.
+.PP
+The text of the
+.I oracle
+(as it is sometimes known)
+consists of sixty-four
+.I hexagrams,
+each symbolized
+by a particular
+arrangement of
+six straight
+(\-\-\-)
+and broken
+(\-\ \-)
+lines.
+These lines
+have values ranging
+from six through nine,
+with the even
+values indicating
+the broken lines.
+.PP
+Each hexagram
+consists of two major sections.
+The
+.B  Judgement
+relates specifically
+to the matter at hand
+(E.g.,
+\*(lqIt furthers one to have somewhere to go.\*(rq)
+while the
+.B  Image
+describes
+the general attributes
+of the hexagram
+and how they apply
+to one's own life
+(\*(lqThus the superior man
+makes himself strong
+and untiring.\*(rq).
+.PP
+When any of the lines
+have the values six or nine,
+they are moving lines;
+for each
+there is an appended
+judgement which
+becomes significant.
+Furthermore, the moving lines
+are inherently unstable and
+change into their opposites;
+a second hexagram
+(and thus an additional judgement)
+is formed.
+.PP
+Normally, one consults the oracle
+by fixing the desired question
+firmly in mind
+and then casting a set of changes
+(lines)
+using yarrow\-stalks
+or tossed coins.
+The resulting hexagram
+will be the answer
+to the question.
+.PP
+Using an algorithm
+suggested by S. C. Johnson,
+the Unix
+.IR oracle " simply reads"
+a question
+from the standard input
+(up to an EOF)
+and hashes the individual
+characters
+in combination with the
+time of day, process id
+and any other magic numbers
+which happen to be lying
+around the system.
+The resulting value
+is used as the seed
+of a random number generator
+which drives a simulated
+coin\-toss divination.
+The answer is then piped through
+.BR nroff " for formatting"
+and will appear on the
+standard output.
+.PP
+For those who wish
+to remain steadfast
+in the old traditions,
+the oracle will also accept
+the results of a personal
+divination using,
+for example,
+coins.
+To do this,
+cast the change
+and then type the
+resulting line values
+as an argument.
+.PP
+The impatient modern may prefer to settle for
+Chinese cookies; try
+.I fortune.
+.SH "SEE ALSO"
+It furthers one to see the great man.
+.SH DIAGNOSTICS
+The great prince issues commands,
+.br
+Founds states, vests families with fiefs.
+.br
+Inferior people should not be employed.
+.SH BUGS
+Waiting in the mud
+.br
+Brings about the arrival of the enemy.
+.PP
+If one is not extremely careful,
+.br
+Somebody may come up from behind and strike him.
+.br
+Misfortune.
diff --git a/usr/man/man6/cribbage.6 b/usr/man/man6/cribbage.6
new file mode 100644 (file)
index 0000000..ed3ce45
--- /dev/null
@@ -0,0 +1,95 @@
+.TH CRIBBAGE 6
+.UC 4
+.SH NAME
+cribbage \- the card game cribbage
+.SH SYNOPSIS
+.B /usr/games/cribbage
+[
+-[r][e][q]
+] name ...
+.SH DESCRIPTION
+.I Cribbage
+plays the card game cribbage, with the program playing one hand
+and the user the other.  The program will initially ask the user if
+the rules of the game are needed -- if so, it will print out
+the appropriate section from
+.I According to Hoyle
+with
+.I more (I).
+.PP
+.I Cribbage
+options include:
+.TP
+.B \-e
+When the player makes a mistakes scoring his hand or crib, provide an
+explanation of the correct score.  (This is especially useful for
+beginning players.)
+.TP
+.B \-q
+Print a shorter form of all messages -- this is only recommended for
+users who have played the game without specifying this option.
+.TP
+.B \-r
+Instead of asking the player to cut the deck, the program will randomly
+cut the deck.
+.PP
+.I Cribbage
+first asks the player whether he wishes to play a short game
+(\*(lqonce around\*(rq, to 61) or a long game (\*(lqtwice around\*(rq, to 121).  A
+response of `s' will result in a short game, any other response will
+play a long game.
+.PP
+At the start of the first game, the program
+asks the player to cut the deck to determine who gets the
+first crib.  The user should respond with a number between 0 and
+51, indicating how many cards down the deck is to be cut.  The player
+who cuts the lower ranked card gets the first crib.
+If more than one game is played, the
+loser of the previous game gets the first crib in the current game.
+.PP
+For each hand, the program first prints the player's hand,
+whose crib it is, and then asks the player
+to discard two cards into the crib.  The cards are prompted for
+one per line, and are typed as explained below.
+.PP
+After discarding, the program cuts the deck (if it is the player's
+crib) or asks the player to cut the deck (if it's its crib); in the later
+case, the appropriate response is a number from 0 to 39 indicating
+how far down the remaining 40 cards are to be cut.
+.PP
+After cutting the deck, play starts with the non-dealer (the person
+who doesn't have the crib) leading the first card.
+Play continues, as per cribbage, until all cards are exhausted.  The
+program keeps track of the scoring of all points and the total of
+the cards on the table.
+.PP
+After play, the hands are scored.  The program requests the player to
+score his hand (and the crib, if it is his) by printing out the
+appropriate cards (and the cut card enclosed in brackets).
+Play continues until one player reaches the game limit (61 or 121).
+.PP
+A carriage return when a numeric input is expected is equivalent
+to typing the lowest legal value; when cutting the deck this
+is equivalent to choosing the top card.
+.PP
+Cards are specified as rank followed by suit.  The ranks may be specified
+as one of:
+`a', `2', `3', `4', `5', `6', `7', `8', `9', `t', `j', `q', and `k',
+or alternatively, one of: \*(lqace\*(rq, \*(lqtwo\*(rq, \*(lqthree\*(rq, \*(lqfour\*(rq, \*(lqfive\*(rq, \*(lqsix\*(rq,
+\*(lqseven\*(rq, \*(lqeight\*(rq, \*(lqnine\*(rq, \*(lqten\*(rq, \*(lqjack\*(rq, \*(lqqueen\*(rq, and \*(lqking\*(rq.
+Suits may be specified as: `s', `h', `d', and `c', or alternatively as:
+\*(lqspades\*(rq, \*(lqhearts\*(rq, \*(lqdiamonds\*(rq, and \*(lqclubs\*(rq.
+A card may be specified as: <rank> \*(lq \*(rq <suit>, or: <rank> \*(lq of \*(rq <suit>.
+If the single letter rank and suit designations are used, the space
+separating the suit and rank may be left out.  Also, if only one card
+of the desired rank is playable, typing the rank is sufficient.
+For example, if your hand was \*(lq2H, 4D, 5C, 6H, JC, KD\*(rq and it was
+desired to discard the king of diamonds, any of the following could be typed:
+\*(lqk\*(rq, \*(lqking\*(rq, \*(lqkd\*(rq, \*(lqk d\*(rq, \*(lqk of d\*(rq, \*(lqking d\*(rq, \*(lqking of d\*(rq, \*(lqk diamonds\*(rq,
+\*(lqk of diamonds\*(rq, \*(lqking diamonds\*(rq, or \*(lqking of diamonds\*(rq.
+.SH FILES
+.ta 2i
+/usr/games/cribbage
+.SH AUTHOR
+Earl T. Cohen
+.SH BUGS
diff --git a/usr/man/man6/fish.6 b/usr/man/man6/fish.6
new file mode 100644 (file)
index 0000000..3f86361
--- /dev/null
@@ -0,0 +1,29 @@
+.TH FISH 6
+.UC 4
+.SH NAME
+fish \- play ``Go Fish''
+.SH SYNOPSIS
+.B /usr/games/fish
+.SH DESCRIPTION
+.I Fish
+plays the game of \*(lqGo Fish\*(rq,
+a childrens' card game.  The Object is to
+accumulate `books' of 4 cards with the same face value.  The
+players alternate turns; each turn begins with one player
+selecting a card from his hand, and asking the other player for
+all cards of that face value.  If the other player has one or
+more cards of that face value in his hand, he gives them to the
+first player, and the first player makes another request.
+Eventually, the first player asks for a card which is not in
+the second player's hand: he replies `GO FISH!' The first
+player then draws a card from the `pool' of undealt cards.  If
+this is the card he had last requested, he draws again.  When a
+book is made, either through drawing or requesting, the cards
+are laid down and no further action takes place with that face
+value.
+.PP
+To play the computer, simply make guesses by typing a,
+2, 3, 4, 5, 6, 7, 8, 9, 10, j, q, or k when asked.  Hitting
+return gives you information about the size of my hand and the
+pool, and tells you about my books.  Saying `p' as a first
+guess puts you into `pro' level; The default is pretty dumb.
diff --git a/usr/man/man6/fortune.6 b/usr/man/man6/fortune.6
new file mode 100644 (file)
index 0000000..c69f306
--- /dev/null
@@ -0,0 +1,51 @@
+.TH FORTUNE 6
+.SH NAME
+fortune \- print a random, hopefully interesting, adage
+.SH SYNOPSIS
+.B fortune
+[
+.B \-
+] [
+.B \-wslao
+]
+..[ file ]
+.SH DESCRIPTION
+.I Fortune
+with no arguments
+prints out a random adage. The flags mean:
+.sp
+.TP 5
+.B \-w
+Waits before termination
+for an amount of time calculated from the number of characters in the message.
+This is useful if it is executed as part of the logout procedure
+to guarantee that the message can be read
+before the screen is cleared.
+.TP 5
+.B \-s
+Short messages only.
+.TP 5
+.B \-l
+Long messages only.
+.TP
+.B \-o
+Choose from an alternate list of adages,
+often used for portentially offensive ones.
+.TP
+.B \-a
+Choose from either list of adages.
+.PP
+..The user may specify a file of adages.
+..This file must be created by strfile(6),
+..and be given by the user as
+...it file.
+..Only one such file may be named,
+..subsequent ones are ignored.
+.sp
+Mail suggestions for new fortunes to "fortune".
+.SH FILES
+/usr/lib/fortunes.dat
+.SH AUTHOR
+Ken Arnold
+...SH SEE\ ALSO
+..strfile(6)
diff --git a/usr/man/man6/mille.6 b/usr/man/man6/mille.6
new file mode 100644 (file)
index 0000000..3488887
--- /dev/null
@@ -0,0 +1,398 @@
+.TH MILLE 6
+.UC 4
+.SH NAME
+mille \- play Mille Bournes
+.SH SYNOPSIS
+.B /usr/games/mille
+[ file ]
+.SH DESCRIPTION
+.I Mille
+plays a two-handed game
+reminiscent of
+the Parker Brother's game of Mille Bournes
+with you.
+The rules are described below.
+If a file name is given on the command line,
+the game saved in that file is started.
+.PP
+When a game is started up,
+the bottom of the score window will contain a list of commands.
+They are:
+.IP P
+Pick a card from the deck.
+This card is placed in the `P' slot in your hand.
+.IP D
+Discard a card from your hand.
+To indicate which card,
+type the number of the card in the hand
+(or \*(lqP\*(rq for the just-picked card)
+followed by a <RETURN> or <SPACE>.
+The <RETURN or <SPACE> is required to allow recovery from typos
+which can be very expensive,
+like discarding safeties.
+.IP U
+Use a card.
+The card is again indicated by its number,
+followed by a <RETURN> or <SPACE>.
+.IP O
+Toggle ordering the hand.
+By default off,
+if turned on it will sort the cards in your hand appropriately.
+This is not recommended for the impatient on slow terminals.
+.IP Q
+Quit the game.
+This will ask for confirmation, just to be sure.
+Hitting <DELETE>
+(or <RUBOUT>) 
+is equivalent.
+.IP S
+Save the game in a file.
+If the game was started from a file,
+you will be given an opportunity to save it on the same file.
+If you don't wish to, or you did not start from a file,
+you will be asked for the file name.
+If you type a <RETURN> without a name,
+the save will be terminated and the game resumed.
+.IP R
+Redraw the screen from scratch.
+The command ^L
+(control `L')
+will also work.
+.IP W
+Toggle window type.
+This switches the score window between the startup window
+(with all the command names)
+and the end-of-game window.
+Using the end-of-game window
+saves time by eliminating the switch at the end of the game
+to show the final score.
+Recommended for hackers and other miscreants.
+.PP
+If you make a mistake, an error message will be printed
+on the last line of the score window,
+and a bell will beep.
+.PP
+At the end of each hand or game,
+you will be asked if you wish to play another.
+If not, it will ask you if you want to save the game.
+If you do, and the save is unsuccessful,
+play will be resumed as if you had said you wanted to play another hand/game.
+This allows you to use the
+.RB \*(lq S \*(rq
+command to reattempt the save.
+.SH AUTHOR
+Ken Arnold
+.br
+(The game itself is a product of Parker Brothers, Inc.)
+.SH "SEE ALSO"
+curses(3),
+.I "Screen Updating and Cursor Movement Optimization:"
+.IR "A Library Package" ,
+Ken Arnold
+.SH CARDS
+.PP
+Here is some useful information.
+The number in parentheses after the card name
+is the number of that card in the deck:
+.sp
+.nf
+.ne 10
+.ta \w'Speed Limit (3)'u+3n \w'Speed Limit (3)'u+\w'End of Limit (6)'u+6n
+Hazard Repair  Safety
+.sp
+Out of Gas (2) Gasoline (6)    Extra Tank (1)
+Flat Tire (2)  Spare Tire (6)  Puncture Proof (1)
+Accident (2)   Repairs (6)     Driving Ace (1)
+Stop (4)       Go (14) Right of Way (1)
+Speed Limit (3)        End of Limit (6)
+.sp
+.ce
+25 \- (10), 50 \- (10), 75 \- (10), 100 \- (12), 200 \- (4)
+.sp
+.fi
+.DT
+.SH RULES
+.PP
+.BR Object :
+The point of game is to get a total of 5000 points
+in several hands.
+Each hand is a race to put down exactly 700 miles
+before your opponent does.
+Beyond the points gained by putting down milestones,
+there are several other ways of making points.
+.PP
+.BR Overview :
+The game is played with a deck of 101 cards.
+.I Distance
+cards represent a number of miles traveled.
+They come in denominations of 25, 50, 75, 100, and 200.
+When one is played,
+it adds that many miles to the player's trip so far this hand.
+.I Hazard
+cards are used to prevent your opponent from putting down Distance cards.
+They can only be played if your opponent has a
+.I Go
+card on top of the Battle pile.
+The cards are
+.IR "Out of Gas" ,
+.IR "Accident" ,
+.IR "Flat Tire" ,
+.IR "Speed Limit" ,
+and
+.IR "Stop" .
+.I Remedy
+cards fix problems caused by Hazard cards played on you by
+your opponent.
+The cards are
+.IR "Gasoline" ,
+.IR "Repairs" ,
+.IR "Spare Tire" ,
+.IR "End of Limit" ,
+and
+.IR "Go" .
+.I Safety
+cards prevent your opponent from putting specific Hazard cards on you
+in the first place.
+They are
+.IR "Extra Tank" ,
+.IR "Driving Ace" ,
+.IR "Puncture Proof" ,
+and
+.IR "Right of Way" ,
+and there are only one of each in the deck.
+.PP
+.BR "Board Layout" :
+The board is split into several areas.
+From top to bottom, they are:
+.B "SAFETY AREA"
+(unlabeled):
+This is where the safeties will be placed as they are played.
+.BR HAND :
+These are the cards in your hand.
+.BR BATTLE :
+This is the Battle pile.
+All the Hazard and Remedy Cards are played here,
+except the
+.I "Speed Limit"
+and
+.I "End of Limit"
+cards.
+Only the top card is displayed,
+as it is the only effective one.
+.BR SPEED :
+The Speed pile.
+The
+.I "Speed Limit"
+and
+.I "End of Limit"
+cards are played here
+to control the speed at which the player is allowed to put down miles.
+.BR MILEAGE :
+Miles are placed here.
+The total of the numbers shown here is the distance traveled so far.
+.PP
+.BR Play :
+The first pick alternates between the two players.
+Each turn usually starts with a pick from the deck.
+The player then plays a card,
+or if this is not possible or desirable,
+discards one.
+Normally, a play or discard of a single card
+constitutes a turn.
+If the card played is a safety,
+however,
+the same player takes another turn immediately.
+.PP
+This repeats until one of the players reaches 700 points
+or the deck runs out.
+If someone reaces 700,
+they have the option of going for an
+.IR Extension ,
+which means that the play continues until someone reaches 1000 miles.
+.PP
+.BR "Hazard and Remedy Cards" :
+Hazard Cards are played on your opponent's Battle and Speed piles.
+Remedy Cards are used for undoing the effects of your opponent's nastyness.
+.PP
+.RB "\ \ \ \ " Go
+(Green Light)
+must be the top card on your Battle pile
+for you to play any mileage,
+unless you have played the
+.I "Right of Way"
+card (see below).
+.br
+.RB "\ \ \ \ " Stop
+is played on your opponent's
+.I Go
+card
+to prevent them from playing mileage until they play a
+.I Go
+card.
+.br
+.RB "\ \ \ \ " "Speed Limit"
+is played on your opponent's Speed pile.
+Until they play an
+.I "End of Limit"
+they can only play 25 or 50 mile cards,
+presuming their
+.I Go
+card allows them to do even that.
+.br
+.RB "\ \ \ \ " "End of Limit"
+is played on your Speed pile
+to nullify a
+.I "Speed Limit"
+played by your opponent.
+.br
+.RB "\ \ \ \ " "Out of Gas"
+is played on your opponent's
+.I Go
+card.
+They must then play a
+.I Gasoline
+card,
+and then a
+.I Go
+card
+before they can play any more mileage.
+.br
+.RB "\ \ \ \ " "Flat Tire"
+is played on your opponent's
+.I Go
+card.
+They must then play a
+.I "Spare Tire"
+card,
+and then a
+.I Go
+card
+before they can play any more mileage.
+.br
+.RB "\ \ \ \ " "Accident"
+is played on your opponent's
+.I Go
+card.
+They must then play a
+.I Repairs
+card,
+and then a
+.I Go
+card
+before they can play any more mileage.
+.br
+.PP
+.BR "Safety Cards" :
+Safety cards prevent your opponent
+from playing the corresponding Hazard cards on you
+for the rest of the hand.
+It cancels an attack in progress,
+and
+.IR "always entitles the player to an extra turn" .
+.br
+.RB "\ \ \ \ "  "Right of Way"
+prevents your opponent from playing both
+.I Stop
+and
+.I "Speed Limit"
+cards on you.
+It also acts as a permanent
+.I Go
+card for the rest of the hand,
+so you can play mileage
+as long as there is not a Hazard card
+on top of your Battle pile.
+In this case only,
+your opponent can play Hazard cards directly on a Remedy card
+besides a Go card.
+.br
+.RB "\ \ \ \ " "Extra Tank"
+When played,
+your opponent cannot play an
+.I "Out of Gas"
+on your Battle Pile.
+.br
+.RB "\ \ \ \ " "Puncture Proof"
+When played,
+your opponent cannot play a
+.I "Flat Tire"
+on your Battle Pile.
+.br
+.RB "\ \ \ \ " "Driving Ace"
+When played,
+your opponent cannot play an
+.I Accident
+on your Battle Pile.
+.PP
+.BR "Distance Cards" :
+Distance cards are played when you have a
+.I Go
+card on your Battle pile,
+or a Right of Way in your Safety area and are not stopped by a Hazard Card.
+They can be played in any combination that totals exactly 700 miles,
+except that
+.IR "you cannot play more than two 200 mile cards in one hand" .
+A hand ends whenever one player gets exactly 700 miles or the deck runs out.
+In that case, play continues until neither someone reaches 700,
+or neither player can use any cards in their hand.
+If the trip is completed after the deck runs out,
+this is called
+.IR "Delayed Action" .
+.PP
+.BR "Coup Fourr\o'\(aae'" :
+This is a French fencing term for a counter-thrust move as part of a parry
+to an opponents attack.
+In Mille Bournes,
+it is used as follows:
+If an opponent plays a Hazard card,
+and you have the corresponding Safety in your hand,
+you play it immediately,
+even
+.I before
+you draw.
+This immediately removes the Hazard card from your Battle pile,
+and protects you from that card for the rest of the game.  This
+gives you more points (see \*(lqScoring\*(rq below).
+.PP
+.BR Scoring :
+Scores are totaled at the end of each hand,
+whether or not anyone completed the trip.
+The terms used in the Score window have the following meanings:
+.br
+.RB "\ \ \ \ " "Milestones Played" :
+Each player scores as many miles as they played before the trip ended.
+.br
+.RB "\ \ \ \ " "Each Safety" :
+100 points for each safety in the Safety area.
+.br
+.RB "\ \ \ \ " "All 4 Safeties" :
+300 points if all four safeties are played.
+.br
+.RB "\ \ \ \ " "Each Coup Four\o'\(aae'" :
+300 points for each Coup Four\o'\(aae' accomplished.
+.PP
+The following bonus scores can apply only to the winning player.
+.br
+.RB "\ \ \ \ " "Trip Completed" :
+400 points bonus for completing the trip to 700 or 1000.
+.br
+.RB "\ \ \ \ " "Safe Trip" :
+300 points bonus for completing the trip without using any 200 mile cards.
+.br
+.RB "\ \ \ \ " "Delayed Action" :
+300 points bonus for finishing after the deck was exhausted.
+.br
+.RB "\ \ \ \ " "Extension" :
+200 points bonus for completing a 1000 mile trip.
+.br
+.RB "\ \ \ \ " "Shut-Out" :
+500 points bonus for completing the trip
+before your opponent played any mileage cards.
+.PP
+Running totals are also kept for the current score for each player
+for the hand
+.RB ( "Hand Total" ),
+the game
+.RB ( "Overall Total" ),
+and number of games won
+.RB ( Games ).
diff --git a/usr/man/man6/monop.6 b/usr/man/man6/monop.6
new file mode 100644 (file)
index 0000000..e3436d5
--- /dev/null
@@ -0,0 +1,184 @@
+.de Sc         \" start command list macro
+.ie n .PD 0
+.el .PD 0.5
+.sp
+..
+.de Cm         \" define command macro
+.TP 10
+.ie t .BR "\\$1" :
+.el .IR "\\$1" :
+..
+.de Ec         \" end command macro
+.PD 1
+..
+.TH MONOP 6
+.UC 4
+.SH NAME
+monop \- Monopoly game
+.SH SYNOPSIS
+.B /usr/games/monop
+[ file ]
+.SH DESCRIPTION
+.I Monop
+is reminiscent of the Parker Brother's game Monopoly,
+and
+monitors a game between 1 to 9 users.
+It is assumed that the rules of Monopoly are known.
+The game follows the standard rules,
+with the exception that,
+if a property would go up for auction
+and there are only two solvent players,
+no auction is held and the property remains unowned.
+.PP
+The game, in effect,
+lends the player money,
+so it is possible to buy something which you cannot afford.
+However, as soon as a person goes into debt,
+he must \*(lqfix the problem\*(rq,
+.IR i.e. ,
+make himself solvent,
+before play can continue.
+If this is not possible,
+the player's property reverts to his debtee,
+either a player or the bank.
+A player can resign at any time to any person
+or the bank,
+which puts the property back on the board, unowned.
+.PP
+Any time that the response to a question is a
+.IR string ,
+e.g., a name, place or person,
+you can type `?'
+to get a list of valid answers.
+It is not possible to input a negative number,
+nor is it ever necessary.
+.Sc
+.IR "A Summary of Commands" :
+.Cm quit
+quit game:
+This allows you to quit the game.
+It asks you if you're sure.
+.Cm print
+print board:
+This prints out the current board.
+The columns have the following meanings
+(column headings are the same for the
+.BR where ,
+.BR "own holdings" ,
+and
+.B holdings
+commands):
+.PP
+.RS 10
+.TP "\w'Name\ \ 'u"
+Name
+The first ten characters of the name of the square
+.TP
+Own
+The \fInumber\fR of the owner of the property.
+.TP
+Price
+The cost of the property (if any)
+.TP
+Mg
+This field has a `*' in it if the property is mortgaged
+.TP
+#
+If the property is a Utility or Railroad, this is the number
+of such owned by the owner.
+If the property is land, this is the number of houses on it.
+.TP
+Rent
+Current rent on the property.
+If it is not owned, there is no rent.
+.RE
+.Cm where
+where players are:
+Tells you where all the players are.
+A `*' indicates the current player.
+.Cm "own\ holdings"
+List your own holdings,
+.IR i.e. ,
+money, get-out-of-jail-free cards, and property.
+.Cm holdings
+holdings list:
+Look at anyone's holdings.
+It will ask you whose holdings you wish to look at.
+When you are finished, type \*(lqdone\*(rq.
+.Cm shell
+shell escape:
+Escape to a shell.
+When the shell dies,
+the program continues where you left off.
+.Cm mortgage
+mortgage property:
+Sets up a list of mortgageable property,
+and asks which you wish to mortgage.
+.Cm unmortgage
+unmortgage property:
+Unmortgage mortgaged property.
+.Cm buy
+buy houses:
+Sets up a list of monopolies on which you can buy houses.
+If there is more than one, it asks you which you want to buy for.
+It then asks you how many for each piece of property,
+giving the current amount in parentheses after the property name.
+If you build in an unbalanced manner
+(a disparity of more than one house within the same monopoly),
+it asks you to re-input things.
+.Cm sell
+sell houses:
+Sets up a list of monopolies from which you can sell houses.
+it operates in an analogous manner to
+.I buy
+.Cm card
+card for jail:
+Use a get-out-of-jail-free card to get out of jail.
+If you're not in jail,
+or you don't have one,
+it tells you so.
+.Cm pay
+pay for jail:
+Pay $50 to get out of jail,
+from whence you are put on Just Visiting.
+Difficult to do if you're not there.
+.Cm trade
+This allows you to trade with another player.
+It asks you whom you wish to trade with,
+and then asks you what each wishes to give up.
+You can get a summary at the end,
+and, in all cases,
+it asks for confirmation of the trade before doing it.
+.Cm resign
+Resign to another player or the bank.
+If you resign to the bank,
+all property reverts to its virgin state,
+and get-out-of-jail free cards revert to the deck.
+.Cm save
+save game:
+Save the current game in a file for later play.
+You can continue play after saving,
+either by adding the file in which you saved the game after the
+.I monop
+command,
+or by using the
+.I restore
+command (see below).
+It will ask you which file you wish to save it in,
+and, if the file exists, confirm that you wish to overwrite it.
+.Cm restore
+restore game:
+Read in a previously saved game from a file.
+It leaves the file intact.
+.Cm roll
+Roll the dice and move forward to your new location.  
+If you simply hit the <RETURN> key instead of a command,
+it is the same as typing
+.IR roll .
+.Ec
+.SH AUTHOR
+Ken Arnold
+.SH FILES
+/usr/games/lib/cards.pck       Chance and Community Chest cards
+.SH BUGS
+No command can be given an argument instead of a response to a query.
diff --git a/usr/man/man6/number.6 b/usr/man/man6/number.6
new file mode 100644 (file)
index 0000000..caf38d5
--- /dev/null
@@ -0,0 +1,14 @@
+.TH NUMBER 6
+.SH NAME
+number \- convert Arabic numerals to English
+.SH SYNOPSIS
+.B /usr/games/number
+.SH DESCRIPTION
+.I Number
+copies the standard input to the standard output,
+changing each decimal number to a fully spelled out version.
+Punctuation is added to make the output sound well when
+played through
+.IR speak (1).
+.SH "SEE ALSO"
+speak(1)
diff --git a/usr/man/man6/quiz.6 b/usr/man/man6/quiz.6
new file mode 100644 (file)
index 0000000..c58ba4b
--- /dev/null
@@ -0,0 +1,73 @@
+.TH QUIZ 6 
+.SH NAME
+quiz \- test your knowledge
+.SH SYNOPSIS
+.B /usr/games/quiz
+[
+.B \-i
+file ]
+[
+.B \-t
+] [ category1 category2 ]
+.SH DESCRIPTION
+.I Quiz
+gives associative
+knowledge tests on various subjects.
+It asks items chosen from
+.I category1
+and expects answers from
+.IR category2 .
+If no categories are specified,
+.I quiz
+gives instructions
+and lists the available categories.
+.PP
+.I Quiz
+tells a correct answer whenever you type
+a bare newline.
+At the end of input, upon interrupt,
+or when questions run out,
+.I quiz
+reports a score and terminates.
+.PP
+The
+.B \-t
+flag specifies `tutorial' mode,
+where missed questions are repeated
+later, and material is gradually introduced as you learn.
+.PP
+The
+.B \-i
+flag causes the named file to be substituted for the
+default index file.
+The lines of these files have the  syntax:
+.IP "" 4
+.nf
+.ta \w'alternate 'u
+line   = category newline \(bv category `:' line
+category       = alternate \(bv category `|' alternate
+alternate      = empty \(bv alternate primary
+primary        = character \(bv `[' category `]' \(bv option
+option = `{' category `}'
+.PP
+.fi
+The first category on each
+line of an index file names an information file.
+The remaining categories specify the order and contents of
+the data in each line of the
+information file.
+Information files have the same syntax.
+Backslash `\\' is used as with
+.IR sh (1)
+to quote syntactically
+significant characters or to insert transparent
+newlines into a line.
+When either a question or its answer is empty,
+.I quiz
+will refrain from asking it.
+.SH FILES
+/usr/games/quiz.k/*
+.SH BUGS
+The construct `a|ab' doesn't work in an information
+file.
+Use `a{b}'.
diff --git a/usr/man/man6/rogue.6 b/usr/man/man6/rogue.6
new file mode 100644 (file)
index 0000000..00dd3e1
--- /dev/null
@@ -0,0 +1,51 @@
+.TH ROGUE 6 4/1/81
+.UC 4
+.SH NAME
+rogue \- Exploring The Dungeons of Doom
+.SH SYNOPSIS
+.B rogue
+[
+.I save_file
+]
+.SH DESCRIPTION
+.PP
+.I Rogue
+is a computer fantasy game with a new twist.  It is crt oriented and the
+object of the game is to survive the attacks of various monsters and get
+a lot of gold, rather than the puzzle solving orientation of most computer
+fantasy games.
+.PP
+To get started you really only need to know two commands.  The command
+.B ?
+will give you a list of the available commands and the command
+.B /
+will identify the things you see on the screen.
+.PP
+To win the game (as opposed to merely playing to beat other people high
+scores) you must locate the Amulet of Yendor which is somewhere below
+the 20th level of the dungeon and get it out.  Nobody has achieved this
+yet and if somebody does, they will probably go down in history as a hero
+among heros.
+.PP
+When the game ends, either by your death, when you quit, or if you (by
+some miracle) manage to win,
+.I rogue
+will give you alist of the top-ten scorers.  The scoring is based entirely
+upon how much gold you get.  There is a 10% penalty for getting yourself
+killed.
+.PP
+For more detailed directions, read the document
+.I "A Guide to the Dungeons of Doom."
+.SH FILES
+.DT
+/usr/games/lib/rogue_roll      Score file
+.br
+~/rogue.sav    Default save file
+.SH SEE ALSO
+Michael C. Toy,
+.I "A guide to the Dungeons of Doom"
+.SH BUGS
+.PP
+Probably infinite.  Currently known bugs are: Sometimes you are still hungry
+even after you eat food and sometimes you get a monster on the screen in
+reverse video which may or may not cause a core dump.
diff --git a/usr/man/man6/snake.6 b/usr/man/man6/snake.6
new file mode 100644 (file)
index 0000000..3a7c617
--- /dev/null
@@ -0,0 +1,90 @@
+.TH SNAKE 6
+.UC 4
+.SH NAME
+snake, snscore \- display chase game
+.SH SYNOPSIS
+.B /usr/games/snake
+[
+.BI \-w n
+] [
+.BI \-l n
+]
+.br
+.B /usr/games/snscore
+.SH DESCRIPTION
+Snake is a display-based game which must be played on a CRT terminal
+from among those supported by vi(1).
+The object of the game is to make as much money as possible without
+getting eaten by the snake.
+The
+.B \-l
+and
+.B \-w
+options allow you to specify the length and width of the field.
+By default the entire screen (except for the last column) is used.
+.PP
+You are represented on the screen by an I.
+The snake is 6 squares long and is represented by S's.
+The money is $, and an exit is #.
+Your score is posted in the upper left hand corner.
+.PP
+You can move around using the same conventions as vi(1),
+the h, j, k, and l keys work, as do the arrow keys.
+Other possibilities include:
+.IP sefc
+These keys are like hjkl but form a directed pad around the d key.
+.IP HJKL
+These keys move you all the way in the indicated direction to the
+same row or column as the money.
+This does
+.I not
+let you jump away from the snake, but rather saves you from having
+to type a key repeatedly.
+The snake still gets all his turns.
+.IP SEFC
+Likewise for the upper case versions on the left.
+.IP ATPB
+These keys move you to the four edges of the screen.
+Their position on the keyboard is the mnemonic, e.g.
+P is at the far right of the keyboard.
+.IP x
+This lets you quit the game at any time.
+.IP p
+Points in a direction you might want to go.
+.IP w
+Space warp to get out of tight squeezes, at a price.
+.IP !
+Shell escape
+.IP ^Z
+Suspend the snake game, on systems which support it.
+Otherwise an interactive shell is started up.
+.PP
+To earn money, move to the same square the money is on.
+A new $ will appear when you earn the current one.
+As you get richer, the snake gets hungrier.
+To leave the game, move to the exit (#).
+.PP
+A record is kept of the personal best score of each player.
+Scores are only counted if you leave at the exit,
+getting eaten by the snake is worth nothing.
+.PP
+As in pinball, matching the last digit of your score to the number
+which appears after the game is worth a bonus.
+.PP
+To see who wastes time playing snake, run
+.I /usr/games/snscore .
+.SH FILES
+.nf
+.ta \w'/usr/games/lib/snakerawscores 'u
+/usr/games/lib/snakerawscores  database of personal bests
+/usr/games/lib/snake.log       log of games played
+/usr/games/busy        program to determine if system too busy
+.DT
+.fi
+.SH BUGS
+.PP
+When playing on a small screen,
+it's hard to tell when you hit the edge of the screen.
+.PP
+The scoring function takes into account the size of the screen.
+A perfect function to do this equitably has not been devised.
diff --git a/usr/man/man6/worm.6 b/usr/man/man6/worm.6
new file mode 100644 (file)
index 0000000..0d1515e
--- /dev/null
@@ -0,0 +1,32 @@
+.TH WORM 6 4/2/81
+.SH NAME
+worm \- Play the growing worm game
+.SH SYNOPSIS
+.B worm
+[
+.I size
+]
+.SH DESCRIPTION
+.PP
+In
+.I worm,
+you are a little worm, your body is the "o"'s on the screen
+and your head is the "@".  You move with the hjkl keys (as in the game
+snake).  If you don't press any keys, you continue in the direction you
+last moved.  The upper case HJKL keys move you as if you had pressed
+several (9 for HL and 5 for JK) of the corrosponding lower case key
+(unless you run into a digit, then it stops).
+.PP
+On the screen you will see a digit, if your worm eats the digit is will
+grow longer, the actual amount longer depends on which digit it was
+that you ate.  The object of the game is to see how long you can make
+the worm grow.
+.PP
+The game ends when the worm runs into either the sides of the screen,
+or itself.  The current score (how much the worm has grown) is kept in
+the upper left corner of the screen.
+.PP
+The optional argument, if present, is the initial length of the worm.
+.SH BUGS
+If the initial length of the worm is set to less than one or more
+than 75, various strange things happen.
diff --git a/usr/man/man6/wump.6 b/usr/man/man6/wump.6
new file mode 100644 (file)
index 0000000..da26a10
--- /dev/null
@@ -0,0 +1,29 @@
+.TH WUMP 6 
+.SH NAME
+wump \- the game of hunt-the-wumpus
+.SH SYNOPSIS
+.B /usr/games/wump
+.SH DESCRIPTION
+.I Wump
+plays the game of `Hunt the Wumpus.'
+A Wumpus is a creature that lives in a cave with several rooms
+connected by tunnels.
+You wander among the rooms, trying to
+shoot the Wumpus with an arrow, meanwhile avoiding
+being eaten by the Wumpus and falling
+into
+Bottomless Pits.
+There are also Super Bats which are likely to pick you up
+and drop you in some random room.
+.PP
+The program asks various questions which you answer
+one per line;
+it will give a more detailed description
+if you want.
+.PP
+This program is based on one described in
+.I "People's Computer Company,"
+.I 2,
+2 (November 1973).
+.SH BUGS
+It will never replace Space War.
diff --git a/usr/man/man6/zork.6 b/usr/man/man6/zork.6
new file mode 100644 (file)
index 0000000..b25202e
--- /dev/null
@@ -0,0 +1,35 @@
+.TH ZORK 6
+.UC 4
+.SH NAME
+zork \- the game of dungeon
+.SH SYNOPSIS
+.B /usr/games/zork
+.SH DESCRIPTION
+.I Dungeon
+is a computer fantasy simulation based on Adventure and on
+Dungeons & Dragons, originally written by Lebling, Blank,
+and Anderson of MIT.
+In it you explore a dungeon made up of
+various rooms, caves, rivers, and so on.
+The object of the game is to collect as much treasure as possible
+and stow it safely in the trophy case (and, of course, to stay alive.)
+.PP
+Figuring out the rules is part of the game, but if you are stuck,
+you should start off with \*(lqopen mailbox\*(rq, \*(lqtake leaflet\*(rq, and then
+\*(lqread leaflet\*(rq.
+Additional useful commands that are not documented include:
+.PP
+quit   (to end the game)
+.PP
+!cmd   (the usual shell escape convention)
+.PP
+>      (to save a game)
+.PP
+<      (to restore a game)
+.SH FILES
+/usr/games/lib/d*
+.SH BUGS
+We don't have the source, only a pdp-11 binary that has been severely
+munged to get it to work on V7 Unix.
+(The original binary was for RSX-11, which was patched for V6,
+and then patched for V7.)
diff --git a/usr/man/man7/ascii.7 b/usr/man/man7/ascii.7
new file mode 100644 (file)
index 0000000..f012a24
--- /dev/null
@@ -0,0 +1,49 @@
+.TH ASCII 7 
+.SH NAME
+ascii \- map of ASCII character set
+.SH SYNOPSIS
+.B cat /usr/pub/ascii
+.SH DESCRIPTION
+.I Ascii
+is a map of the ASCII character set, to be printed as needed.
+It contains:
+.nf
+
+.cs R 20
+|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 em |032 sub|033 esc|034 fs |035 gs |036 rs |037 us |
+|040 sp |041  ! |042  " |043  # |044  $ |045  % |046  & |047  \' |
+|050  ( |051  ) |052  * |053  + |054  , |055  \- |056  . |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  \\ |135  ] |136  ^ |137  _ |
+|140  \` |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|
+
+| 00 nul| 01 soh| 02 stx| 03 etx| 04 eot| 05 enq| 06 ack| 07 bel|
+| 08 bs | 09 ht | 0a nl | 0b vt | 0c np | 0d cr | 0e so | 0f si |
+| 10 dle| 11 dc1| 12 dc2| 13 dc3| 14 dc4| 15 nak| 16 syn| 17 etb|
+| 18 can| 19 em | 1a sub| 1b esc| 1c fs | 1d gs | 1e rs | 1f us |
+| 20 sp | 21  ! | 22  " | 23  # | 24  $ | 25  % | 26  & | 27  \' |
+| 28  ( | 29  ) | 2a  * | 2b  + | 2c  , | 2d  \- | 2e  . | 2f  / |
+| 30  0 | 31  1 | 32  2 | 33  3 | 34  4 | 35  5 | 36  6 | 37  7 |
+| 38  8 | 39  9 | 3a  : | 3b  ; | 3c  < | 3d  = | 3e  > | 3f  ? |
+| 40  @ | 41  A | 42  B | 43  C | 44  D | 45  E | 46  F | 47  G |
+| 48  H | 49  I | 4a  J | 4b  K | 4c  L | 4d  M | 4e  N | 4f  O |
+| 50  P | 51  Q | 52  R | 53  S | 54  T | 55  U | 56  V | 57  W |
+| 58  X | 59  Y | 5a  Z | 5b  [ | 5c  \\ | 5d  ] | 5e  ^ | 5f  _ |
+| 60  \` | 61  a | 62  b | 63  c | 64  d | 65  e | 66  f | 67  g |
+| 68  h | 69  i | 6a  j | 6b  k | 6c  l | 6d  m | 6e  n | 6f  o |
+| 70  p | 71  q | 72  r | 73  s | 74  t | 75  u | 76  v | 77  w |
+| 78  x | 79  y | 7a  z | 7b  { | 7c  | | 7d  } | 7e  ~ | 7f del|
+.fi
+.cs R
+.SH FILES
+/usr/pub/ascii
diff --git a/usr/man/man7/eqnchar.7 b/usr/man/man7/eqnchar.7
new file mode 100644 (file)
index 0000000..eb1342b
--- /dev/null
@@ -0,0 +1,173 @@
+.EQ
+tdefine ciplus % "\o'\(pl\(ci'" %
+ndefine ciplus % O\b+ %
+tdefine citimes % "\o'\(mu\(ci'" %
+ndefine citimes % O\bx %
+tdefine =wig % "\(eq\h'-\w'\(eq'u-\w'\s-2\(ap'u/2u'\v'-.4m'\s-2\z\(ap\(ap\s+2\v'.4m'\h'\w'\(eq'u-\w'\s-2\(ap'u/2u'" %
+ndefine =wig % =\b"~" %
+tdefine bigstar % "\o'\(pl\(mu'" %
+ndefine bigstar % X\b|\b- %
+tdefine =dot % "\z\(eq\v'-.6m'\h'.2m'\s+2.\s-2\v'.6m'\h'.1m'" %
+ndefine =dot % = dot %
+tdefine orsign % "\s-2\v'-.15m'\z\e\e\h'-.05m'\z\(sl\(sl\v'.15m'\s+2" %
+ndefine orsign % \e/ %
+tdefine andsign % "\s-2\v'-.15m'\z\(sl\(sl\h'-.05m'\z\e\e\v'.15m'\s+2" %
+ndefine andsign % /\e %
+tdefine =del % "\v'.3m'\z=\v'-.6m'\h'.3m'\s-1\(*D\s+1\v'.3m'" %
+ndefine =del % = to DELTA %
+tdefine oppA % "\s-2\v'-.15m'\z\e\e\h'-.05m'\z\(sl\(sl\v'-.15m'\h'-.75m'\z-\z-\h'.2m'\z-\z-\v'.3m'\h'.4m'\s+2" %
+ndefine oppA % V\b- %
+tdefine oppE %"\s-3\v'.2m'\z\(em\v'-.5m'\z\(em\v'-.5m'\z\(em\v'.55m'\h'.9m'\z\(br\z\(br\v'.25m'\s+3" %
+ndefine oppE % E\b/ %
+tdefine incl % "\s-1\z\(or\h'-.1m'\v'-.45m'\z\(em\v'.7m'\z\(em\v'.2m'\(em\v'-.45m'\s+1" %
+ndefine incl % C\b_ %
+tdefine nomem % "\o'\(mo\(sl'" %
+ndefine nomem % C\b-\b/ %
+tdefine angstrom % "\fR\zA\v'-.3m'\h'.2m'\(de\v'.3m'\fP\h'.2m'" %
+ndefine angstrom % A to o %
+tdefine star %{ roman "\v'.5m'\s+3*\s-3\v'-.5m'"}%
+ndefine star % * %
+tdefine || % \(or\(or %
+tdefine <wig % "\z<\v'.4m'\(ap\v'-.4m'" %
+ndefine <wig %{ < from "~" }%
+tdefine >wig % "\z>\v'.4m'\(ap\v'-.4m'" %
+ndefine >wig %{ > from "~" }%
+tdefine langle % "\s-3\b'\(sl\e'\s0" %
+ndefine langle %<%
+tdefine rangle % "\s-3\b'\e\(sl'\s0" %
+ndefine rangle %>%
+tdefine hbar % "\zh\v'-.6m'\h'.05m'\(ru\v'.6m'" %
+ndefine hbar % h\b\u-\d %
+ndefine ppd % _\b| %
+tdefine ppd % "\o'\(ru\s-2\(or\s+2'" %
+tdefine <-> % "\o'\(<-\(->'" %
+ndefine <-> % "<-->" %
+tdefine <=> % "\s-2\z<\v'.05m'\h'.2m'\z=\h'.55m'=\h'-.6m'\v'-.05m'>\s+2" %
+ndefine <=> % "<=>" %
+tdefine |< % "\o'<\(or'" %
+ndefine |< % <\b| %
+tdefine |> % "\o'>\(or'" %
+ndefine |> % |\b> %
+tdefine ang % "\v'-.15m'\z\s-2\(sl\s+2\v'.15m'\(ru" %
+ndefine ang % /\b_ %
+tdefine rang % "\z\(or\h'.15m'\(ru" %
+ndefine rang % L %
+tdefine 3dot % "\v'-.8m'\z.\v'.5m'\z.\v'.5m'.\v'-.2m'" %
+ndefine 3dot % .\b\u.\b\u.\d\d %
+tdefine thf % ".\v'-.5m'.\v'.5m'." %
+ndefine thf % ..\b\u.\d %
+tdefine quarter % roman \(14 %
+ndefine quarter % 1/4 %
+tdefine 3quarter % roman \(34 %
+ndefine 3quarter % 3/4 %
+tdefine degree % \(de %
+ndefine degree % nothing sup o %
+tdefine square % \(sq %
+ndefine square % [] %
+tdefine circle % \(ci %
+ndefine circle % O %
+tdefine blot % "\fB\(sq\fP" %
+ndefine blot % H\bI\bX %
+tdefine bullet % \(bu %
+ndefine bullet % o\bx\be %
+tdefine -wig % "\(~=" %
+ndefine -wig % - to "~" %
+tdefine wig % \(ap %
+ndefine wig % "~" %
+tdefine prop % \(pt %
+ndefine prop % oc %
+tdefine empty % \(es %
+ndefine empty % O\b/ %
+tdefine member % \(mo %
+ndefine member % C\b- %
+tdefine cup % \(cu %
+ndefine cup % U %
+define cap % \(ca %
+define subset % \(sb %
+define supset % \(sp %
+define !subset % \(ib %
+define !supset % \(ip %
+.EN
+.TH EQNCHAR 7 
+.UC
+.SH NAME
+eqnchar \- special character definitions for eqn
+.SH SYNOPSIS
+.B eqn /usr/pub/eqnchar
+[ files ]
+.B \(bv troff
+[ options ]
+.PP
+.B neqn /usr/pub/eqnchar
+[ files ]
+.B \(bv nroff
+[ options ]
+.SH DESCRIPTION
+.I Eqnchar
+contains
+.I troff
+and
+.I nroff
+character definitions for constructing characters that are not
+available on the Graphic Systems typesetter.
+These definitions are primarily intended for use with
+.I eqn
+and
+.IR neqn .
+It contains
+definitions for the following characters
+.PP
+.nf
+.ta \w'angstrom  'u \n(.lu/3u +\w'angstrom  'u \n(.lu*2u/3u +\w'angstrom  'u
+.EQ
+"ciplus"       ciplus  "|\||"  ||      "square"        square
+.EN
+.EQ
+"citimes"      citimes "langle"        langle  "circle"        circle
+.EN
+.EQ
+"wig"  wig     "rangle"        rangle  "blot"  blot
+.EN
+.EQ
+"-wig" -wig    "hbar"  hbar    "bullet"        bullet
+.EN
+.EQ
+">wig" >wig    "ppd"   ppd     "prop"  prop
+.EN
+.EQ
+"<wig" <wig    "<->"   <->     "empty" empty
+.EN
+.EQ
+"=wig" =wig    "<=>"   <=>     "member"        member
+.EN
+.EQ
+"star" star    "|\|<"  |<      "nomem" nomem
+.EN
+.EQ
+"bigstar"      bigstar "|\|>"  |>      "cup"   cup
+.EN
+.EQ
+"=dot" =dot    "ang"   ang     "cap"   cap
+.EN
+.EQ
+"orsign"       orsign  "rang"  rang    "incl"  incl
+.EN
+.EQ
+"andsign"      andsign "3dot"  3dot    "subset"        subset
+.EN
+.EQ
+"=del" =del    "thf"   thf     "supset"        supset
+.EN
+.EQ
+"oppA" oppA    "quarter"       quarter "!subset"       !subset
+.EN
+.EQ
+"oppE" oppE    "3quarter"      3quarter        "!supset"       !supset
+.EN
+.EQ
+"angstrom"     angstrom        "degree"        degree
+.EN
+.SH FILES
+/usr/pub/eqnchar
+.SH SEE ALSO
+troff(1), eqn(1)
diff --git a/usr/man/man7/greek.7 b/usr/man/man7/greek.7
new file mode 100644 (file)
index 0000000..0720069
--- /dev/null
@@ -0,0 +1,41 @@
+.TH GREEK 7 
+.SH NAME
+greek \- graphics for extended TTY-37 type-box
+.SH SYNOPSIS
+.B "cat /usr/pub/greek"
+[ \(bv
+.BR "greek \-T" terminal
+]
+.SH DESCRIPTION
+.I Greek
+gives the mapping
+from ascii
+to the `shift out' graphics in effect between SO and SI 
+on model 37 Teletypes
+with a 128-character type-box.
+These are the default greek characters produced by
+.I nroff.
+The filters of 
+.IR greek (1)
+attempt to print them on various other terminals.
+The file contains:
+.PP
+.nf
+.if n .ta 9 +3 +6 +9 +3 +6 +9 +3 +6
+.if t .ta 1i +.3i +.75i +1i +.3i +.75i +1i  +.3i
+alpha  \(*a    A       beta    \(*b    B       gamma   \(*g    \\
+GAMMA  \(*G    G       delta   \(*d    D       DELTA   \(*D    W
+epsilon        \(*e    S       zeta    \(*z    Q       eta     \(*y    N
+THETA  \(*H    T       theta   \(*h    O       lambda  \(*l    L
+LAMBDA \(*L    E       mu      \(*m    M       nu      \(*n    @
+xi     \(*c    X       pi      \(*p    J       PI      \(*P    P
+rho    \(*r    K       sigma   \(*s    Y       SIGMA   \(*S    R
+tau    \(*t    I       phi     \(*f    U       PHI     \(*F    F
+psi    \(*q    V       PSI     \(*Q    H       omega   \(*w    C
+OMEGA  \(*W    Z       nabla   \(gr    [       not     \(no    _
+partial        \(pd    ]       integral        \(is    ^
+.fi
+.SH "SEE ALSO"
+greek(1)
+.br
+troff(1)
diff --git a/usr/man/man7/man.7 b/usr/man/man7/man.7
new file mode 100644 (file)
index 0000000..adeed8d
--- /dev/null
@@ -0,0 +1,178 @@
+.TH MAN 7 
+.SH NAME
+man \- macros to typeset manual
+.SH SYNOPSIS
+.B
+nroff  \-man\ 
+file ...
+.PP
+.B
+troff  \-man\ 
+file ...
+.SH DESCRIPTION
+These macros are used to lay out pages of this manual.
+A skeleton page may be found in the file 
+/usr/man/man0/xx.
+.PP
+Any text argument
+.I t
+may be zero to six words.
+Quotes may be used to include blanks in a `word'.
+If 
+.I text
+is empty,
+the special treatment is applied to
+the next input line with text to be printed.
+In this way
+.BR . I
+may be used to italicize a whole line, or
+.BR . SM
+followed by
+.BR . B
+to make small bold letters.
+.PP
+A prevailing indent distance is remembered between
+successive indented paragraphs,
+and is reset to default value upon reaching a non-indented paragraph.
+Default units for indents
+.I i
+are ens.
+.PP
+Type font and size are reset to default values
+before each paragraph, and after processing
+font and size setting macros.
+.PP
+These strings are predefined by
+.BR \-man :
+.IP \e*R
+.if t `\*R', `(Reg)' in
+.if t .I nroff.
+.if n `(Reg)', trademark symbol in
+.if n .I troff.
+.IP \e*S
+Change to default type size.
+.SH FILES
+/usr/lib/tmac/tmac.an
+.br
+/usr/man/man0/xx
+.SH SEE ALSO
+troff(1), man(1)
+.SH BUGS
+Relative indents don't nest.
+.SH REQUESTS
+.ta \w'.TH n c x 'u +\w'Cause 'u +\w'Argument\ 'u
+.di xx
+                       \ka
+.br
+.di
+.in \nau
+.ti0
+Request        Cause   If no   Explanation
+.ti0
+       Break   Argument
+.ti0
+.li
+.B \fIt\fR     no      \fIt\fR=n.t.l.* Text
+.I t
+is bold.
+.ti0
+.li
+.BI \fIt\fR    no      \fIt\fR=n.t.l.  Join
+words of
+.I t
+alternating bold and italic.
+.ti0
+.li
+.BR \fIt\fR    no      \fIt\fR=n.t.l.  Join
+words of
+.I t
+alternating bold and Roman.
+.ti0
+.li
+.DT    no      .5i 1i...       Restore default tabs.
+.ti0
+.li
+.HP \fIi\fR    yes     \fIi\fR=p.i.*   Set prevailing indent to
+.I i.
+Begin paragraph with hanging indent.
+.ti0
+.li
+.I \fIt\fR     no      \fIt\fR=n.t.l.  Text
+.I t
+is italic.
+.ti0
+.li
+.IB \fIt\fR    no      \fIt\fR=n.t.l.  Join
+words of
+.I t
+alternating italic and bold.
+.ti0
+.li
+.IP \fIx i\fR  yes     \fIx\fR=""      Same as .TP with tag
+.I x.
+.ti0
+.li
+.IR \fIt\fR    no      \fIt\fR=n.t.l.  Join
+words of
+.I t
+alternating italic and Roman.
+.ti0
+.li
+.LP    yes     -       Same as .PP.
+.ti0
+.li
+.PD \fId\fR    no      \fId\fR=.4v     Interparagraph distance is 
+.I d.
+.ti0
+.li
+.PP    yes     -       Begin paragraph.
+Set prevailing indent to .5i.
+.ti0
+.li
+.RE    yes     -       End of relative indent.
+Set prevailing indent to amount of starting .RS.
+.ti0
+.li
+.RB \fIt\fR    no      \fIt\fR=n.t.l.  Join
+words of
+.I t
+alternating Roman and bold.
+.ti0
+.li
+.RI \fIt\fR    no      \fIt\fR=n.t.l.  Join
+words of
+.I t
+alternating Roman and italic.
+.ti0
+.li
+.RS \fIi\fR    yes     \fIi\fR=p.i.    Start relative indent,
+move left margin in distance
+.I i.
+Set prevailing indent to .5i for nested indents.
+.ti0
+.li
+.SH \fIt\fR    yes     \fIt\fR=n.t.l.  Subhead.
+.ti0
+.li
+.SM \fIt\fR    no      \fIt\fR=n.t.l.  Text
+.I t
+is small.
+.ti0
+.li
+.TH \fIn c x\fR        yes     -       Begin page named
+.I n
+of chapter
+.IR c;
+.I x
+is extra commentary, e.g. `local', for page foot.
+Set prevailing indent and tabs to .5i.
+.ti0
+.li
+.TP \fIi\fR    yes     \fIi\fR=p.i.    Set prevailing indent to
+.I i.
+Begin indented paragraph
+with hanging tag given by next text line.
+If tag doesn't fit, place it on separate line.
+.PP
+.ti0
+* n.t.l. = next text line; p.i. = prevailing indent
diff --git a/usr/man/man7/me.7 b/usr/man/man7/me.7
new file mode 100644 (file)
index 0000000..61d35ac
--- /dev/null
@@ -0,0 +1,270 @@
+.hc %
+.TH ME 7 11/16/79
+.UC
+.SH NAME
+me \- macros for formatting papers
+.SH SYNOPSIS
+.B "nroff \-me"
+[ options ]
+file ... 
+.br
+.B "troff \-me"
+[ options ]
+file ... 
+.SH DESCRIPTION
+This package of 
+.I nroff
+and
+.I troff
+macro definitions provides a canned formatting
+facility for tech%nical papers in various formats.
+When producing 2-column output on a terminal, filter
+the output through
+.IR  col (1).
+.PP
+The macro requests are defined below.
+Many
+.I nroff
+and
+.I troff
+requests are unsafe in conjunction with
+this package, however these requests may be used with
+impunity after the first .pp:
+.nf
+.IP
+.ta \w'.sz +n  'u
+\&.bp  begin new page
+\&.br  break output line here
+\&.sp n        insert n spacing lines
+\&.ls n        (line spacing) n=1 single, n=2 double space
+\&.na  no alignment of right margin
+\&.ce n        center next n lines
+\&.ul n        underline next n lines
+\&.sz +n       add n to point size
+.fi
+.PP
+Output of the
+.I eqn,
+.I neqn,
+.I refer,
+and
+.IR  tbl (1)
+preprocessors
+for equations and tables is acceptable as input.
+.SH FILES
+/usr/lib/tmac/tmac.e
+.br
+/usr/lib/me/*
+.SH "SEE ALSO"
+eqn(1), troff(1), refer(1), tbl(1)
+.br
+\-me Reference Manual, Eric P. Allman
+.br
+Writing Papers with Nroff Using \-me
+.tr &.
+.SH REQUESTS 
+In the following list,
+\*(lqinitialization\*(rq
+refers to the first .pp, .lp, .ip, .np, .sh, or .uh macro.
+This list is incomplete;
+see
+.I "The \-me Reference Manual"
+for interesting details.
+.PP
+.ta \w'.eh \'x\'y\'z\'  'u +\w'Initial 'u +\w'Cause 'u
+.br
+.di x
+                       \ka
+.br
+.di
+.in \nau
+.ti0
+Request        Initial Cause   Explanation
+.ti0
+       Value   Break
+.br
+.in \nau
+.ti0
+\&.(c  -       yes     Begin centered block
+.ti0
+\&.(d  -       no      Begin delayed text
+.ti0
+\&.(f  -       no      Begin footnote
+.ti0
+\&.(l  -       yes     Begin list
+.ti0
+\&.(q  -       yes     Begin major quote
+.ti0
+\&.(x \fIx\fR  -       no      Begin indexed item in index
+.I x
+.ti0
+\&.(z  -       no      Begin floating keep
+.ti0
+\&.)c  -       yes     End centered block
+.ti0
+\&.)d  -       yes     End delayed text
+.ti0
+\&.)f  -       yes     End footnote
+.ti0
+\&.)l  -       yes     End list
+.ti0
+\&.)q  -       yes     End major quote
+.ti0
+\&.)x  -       yes     End index item
+.ti0
+\&.)z  -       yes     End floating keep
+.ti 0
+\&.++ \fIm H\fR        -       no      Define paper section.
+.I m
+defines the part of the paper, and can be
+.B C
+(chapter),
+.B A
+(appendix),
+.B P
+(preliminary, e.g., abstract, table of contents, etc.),
+.B B
+(bibliography),
+.B RC
+(chapters renumbered from page one each chapter),
+or
+.B RA
+(appendix renumbered from page one).
+.ti 0
+\&.+c \fIT\fR  -       yes     Begin chapter (or appendix, etc., as
+set by .++).
+.I T
+is the chapter title.
+.ti0
+\&.1c  1       yes     One column format on a new page.
+.ti0
+\&.2c  1       yes     Two column format.
+.ti0
+\&.EN  -       yes     Space after equation
+produced by
+.I eqn
+or
+.IR neqn .
+.ti0
+\&.EQ \fIx y\fR        -       yes     Precede equation; break out and
+add space.
+Equation number is
+.IR y .
+The optional argument \fIx\fR
+may be
+.I I
+to indent equation (default),
+.I L
+to left-adjust the equation, or
+.I C
+to center the equation.
+.ti0
+\&.TE  -       yes     End table.
+.ti0
+\&.TH  -       yes     End heading section of table.
+.ti0
+\&.TS \fIx\fR  -       yes     Begin table; if \fIx\fR is
+.I H
+table has repeated heading.
+.ti 0
+\&.ac \fIA N\fR        -       no      Set up for ACM style output.
+.I A
+is the Author's name(s),
+.I N
+is the total number of pages.
+Must be given before the first initialization.
+.ti0
+\&.b \fIx\fR   no      no      Print
+.I x
+in boldface; if no argument switch to boldface.
+.ti 0
+\&.ba \fI+n\fR 0       yes     Augments the base indent by
+.I n.
+This indent is used to set the indent on regular text
+(like paragraphs).
+.ti0
+\&.bc  no      yes     Begin new column
+.ti0
+\&.bi \fIx\fR  no      no      Print
+.I x
+in bold italics (nofill only)
+.ti0
+\&.bx \fIx\fR  no      no      Print \fIx\fR in a box (nofill only).
+.ti 0
+\&.ef \fI\'x\'y\'z\'\fR        \'\'\'\'        no      Set even footer to x  y  z
+.ti 0
+\&.eh \fI\'x\'y\'z\'\fR        \'\'\'\'        no      Set even header to x  y  z
+.ti 0
+\&.fo \fI\'x\'y\'z\'\fR        \'\'\'\'        no      Set footer to x  y  z
+.ti 0
+\&.hx  -       no      Supress headers and footers on next page.
+.ti0
+\&.he \fI\'x\'y\'z\'\fR        \'\'\'\'        no      Set header to x  y  z
+.ti0
+\&.hl  -       yes     Draw a horizontal line
+.ti0
+\&.i \fIx\fR   no      no      Italicize
+.I x;
+if
+.I x
+missing, italic text follows.
+.ti0
+\&.ip \fIx y\fR        no      yes     Start indented paragraph,
+with hanging tag
+.IR x .
+Indentation is
+.I y
+ens (default 5).
+.ti0
+\&.lp  yes     yes     Start left-blocked paragraph.
+.ti 0
+\&.lo  -       no      Read in a file of local macros of the
+form
+.BI \&.* x.
+Must be given before initialization.
+.ti0
+\&.np  1       yes     Start numbered paragraph.
+.ti 0
+\&.of \fI\'x\'y\'z\'\fR        \'\'\'\'        no      Set odd footer to x  y  z
+.ti 0
+\&.oh \fI\'x\'y\'z\'\fR        \'\'\'\'        no      Set odd header to x  y  z
+.ti 0
+\&.pd  -       yes     Print delayed text.
+.ti0
+\&.pp  no      yes     Begin paragraph.
+First line indented.
+.ti0
+\&.r   yes     no      Roman text follows.
+.ti 0
+\&.re  -       no      Reset tabs to default values.
+.ti 0
+\&.sc  no      no      Read in a file of special characters
+and diacritical marks.
+Must be given before initialization.
+.ti0
+\&.sh \fIn x\fR        -       yes     Section head follows,
+font automatically bold.
+.I n
+is level of section,
+.I x
+is title of section.
+.ti 0
+\&.sk  no      no      Leave the next page blank.
+Only one page is remembered ahead.
+.ti 0
+\&.sz \fI+n\fR 10p     no      Augment the point size by
+.I n
+points.
+.ti 0
+\&.th  no      no      Produce the paper in thesis format.
+Must be given before initialization.
+.ti 0
+\&.tp  no      yes     Begin title page.
+.ti0
+\&.u \fIx\fR   -       no      Underline argument (even in \fItroff\fR).
+(Nofill only).
+.ti0
+\&.uh  -       yes     Like .sh but unnumbered.
+.ti0
+\&.xp \fIx\fR  -       no      Print index
+.I x.
diff --git a/usr/man/man7/ms.7 b/usr/man/man7/ms.7
new file mode 100644 (file)
index 0000000..a6242a1
--- /dev/null
@@ -0,0 +1,329 @@
+.hc %
+.TH MS 7 
+.SH NAME
+ms \- macros for formatting manuscripts
+.SH SYNOPSIS
+.B "nroff \-ms"
+[ options ]
+file ... 
+.br
+.B "troff \-ms"
+[ options ]
+file ... 
+.SH DESCRIPTION
+This package of 
+.I nroff
+and
+.I troff
+macro definitions provides a canned formatting
+.li
+facility for tech%nical papers in various formats.
+When producing 2-column output on a terminal, filter
+the output through
+.IR  col (1).
+.PP
+The macro requests are defined below.
+Many
+.I nroff
+and
+.I troff
+requests are unsafe in conjunction with
+this package, however these requests may be used with
+impunity after the first .PP:
+.IP
+.ta \w'.sp n 'u
+.li
+.bp    begin new page
+.nf
+.li
+.br    break output line here
+.li
+.sp n  insert n spacing lines
+.li
+.ls n  (line spacing) n=1 single, n=2 double space
+.li
+.na    no alignment of right margin
+.fi
+.PP
+Output of the
+.I eqn,
+.I neqn,
+.I refer,
+and
+.IR  tbl (1)
+preprocessors
+for equations and tables is acceptable as input.
+.SH FILES
+/usr/lib/tmac/tmac.s
+.SH "SEE ALSO"
+eqn(1), troff(1), refer(1), tbl(1)
+.tr &.
+.SH REQUESTS 
+.ta \w'..ND \fIdate\fR 'u +\w'Initial 'u +\w'Cause 'u
+.br
+.di x
+                       \ka
+.br
+.di
+.in \nau
+.ti0
+Request        Initial Cause   Explanation
+.ti0
+       Value   Break
+.br
+.in \nau
+.ti0
+.li
+.1C    yes     yes     One column format on a new page.
+.ti0
+.li
+.2C    no      yes     Two column format.
+.ti0
+.li
+.AB    no      yes     Begin abstract.
+.ti0
+.li
+.AE    -       yes     End abstract.
+.ti0
+.li
+.AI    no      yes     Author's institution follows.
+Suppressed in TM.
+.ti0
+.li
+.AT    no      yes     Print `\ 1Attached' and turn off line filling.
+.ti0
+.li
+.AU \fIx y\fR  no      yes     Author's name follows.
+.IR x " is location and " "y\fR is"
+extension, ignored except in TM.
+.ti0
+.li
+.B \fIx\fR     no      no      Print \fIx\fR in boldface; if no argument switch to boldface.
+.ti 0
+.li
+.B1    no      yes     Begin text to be enclosed in a box.
+.ti0
+.li
+.B2    no      yes     End text to be boxed & print it.
+.ti0
+.li
+.BT    date    no      Bottom title, automatically invoked at
+foot of page.
+May be redefined.
+.ti0
+.li
+.BX \fIx\fR    no      no      Print \fIx\fR in a box.
+.ti0
+.li
+.CS \fIx...\fR -       yes     Cover sheet info if
+TM format, suppressed otherwise.
+Arguments are number of text pages,
+other pages, total pages, figures, tables, references.
+.ti0
+.li
+.CT    no      yes     Print `Copies to' and enter no-fill mode.
+.ti0
+.li
+.DA \fIx\fR    nroff   no      `Date line' at bottom of page
+is
+.IR x .
+Default is today.
+.ti0
+.li
+.DE    -       yes     End displayed text.
+Implies .KE.
+.ti0
+.li
+.DS \fIx\fR    no      yes     Start of displayed text,
+to appear verbatim line-by-line.
+.IR x "=I for indented display (default),"
+.IR x "=L for left-justified on the page,"
+.IR x "=C for centered,"
+.IR x "=B for make left-justified block, then center whole block."
+Implies .KS.
+.ti0
+.li
+.EG    no      -       Print document in BTL format for `Engineer's Notes.'  Must be first.
+.ti0
+.li
+.EN    -       yes     Space after equation
+produced by
+.I eqn
+or
+.IR neqn .
+.ti0
+.li
+.EQ \fIx y\fR  -       yes     Precede equation; break out and
+add space.
+Equation number is
+.IR y .
+The optional argument \fIx\fR
+may be
+.I I
+to indent equation (default),
+.I L
+to left-adjust the equation, or
+.I C
+to center the equation.
+.ti0
+.li
+.FE    -       yes     End footnote.
+.ti0
+.li
+.FS    no      no      Start footnote.
+The note will be moved to the bottom of the page.
+.ti0
+.li
+.HO    -       no      `Bell Laboratories, Holmdel,
+New Jersey 07733'.
+.ti0
+.li
+.I \fIx\fR     no      no      Italicize \fIx\fR;
+if \fIx\fR missing, italic text follows.
+.ti0
+.li
+.IH    no      no      `Bell Laboratories, Naperville, Illinois 60540'
+.ti0
+.li
+.IM    no      no      Print document in BTL format for an internal memorandum.  Must be first.
+.ti0
+.li
+.IP \fIx y\fR  no      yes     Start indented paragraph,
+with hanging tag
+.IR x .
+Indentation is
+.IR y ""
+ens (default 5).
+.ti0
+.li
+.KE    -       yes     End keep.
+Put kept text on next page if not enough room.
+.ti0
+.li
+.KF    no      yes     Start floating keep.
+If the kept text must be moved to the next page,
+float later text back to this page.
+.ti0
+.li
+.KS    no      yes     Start keeping following text.
+.ti0
+.li
+.LG    no      no      Make letters larger.
+.ti0
+.li
+.LP    yes     yes     Start left-blocked paragraph.
+.ti0
+.li
+.MF    -       -       Print document in BTL format for `Memorandum for File.'  Must be first.
+.ti0
+.li
+.MH    -       no      `Bell Laboratories, Murray Hill,
+New Jersey 07974'.
+.ti0
+.li
+.MR    -       -       Print document in BTL format for `Memorandum for Record.'  Must be first.
+.ti0
+.li
+.ND \fIdate\fR troff   no      Use date supplied (if any) only in
+special BTL format positions; omit from page footer.
+.ti0
+.li
+.NH \fIn\fR    -       yes     Same as .SH, with section
+number supplied automatically.
+Numbers are multilevel, like 1.2.3,
+where
+.IR n ""
+tells what level is wanted (default is 1).
+.ti0
+.li
+.NL    yes     no      Make letters normal size.
+.ti0
+.li
+.OK    -       yes     `Other keywords' for TM cover
+sheet follow.
+.ti0
+.li
+.PP    no      yes     Begin paragraph.
+First line indented.
+.ti0
+.li
+.PT    pg #    -       Page title, automatically invoked at
+top of page.
+May be redefined.
+.ti0
+.li
+.PY    -       no      `Bell Laboratories, Piscataway, New Jersey 08854'
+.ti0
+.li
+.QE    -       yes     End quoted (indented and shorter) material.
+.ti0
+.li
+.QP    -       yes     Begin single paragraph which is indented and shorter.
+.ti0
+.li
+.QS    -       yes     Begin quoted (indented and shorter) material.
+.ti0
+.li
+.R     yes     no      Roman text follows.
+.ti0
+.li
+.RE    -       yes     End relative indent level.
+.ti0
+.li
+.RP    no      -       Cover sheet and first page for released
+paper.
+Must precede other requests.
+.ti0
+.li
+.RS    -       yes     Start level of relative indentation.
+Following .IP's are measured from current indentation.
+.ti0
+.li
+.SG \fIx\fR    no      yes     Insert signature(s) of author(s),
+ignored except in TM.
+.IR x " is the reference line (initials of author and typist)."
+.ti0
+.li
+.SH    -       yes     Section head follows,
+font automatically bold.
+.ti0
+.li
+.SM    no      no      Make letters smaller.
+.ti0
+.li
+.TA \fIx\fR... 5...    no      Set tabs in ens.
+Default is 5 10 15 ...
+.ti0
+.li
+.TE    -       yes     End table.
+.ti0
+.li
+.TH    -       yes     End heading section of table.
+.ti0
+.li
+.TL    no      yes     Title follows.
+.ti0
+.li
+.TM \fIx\fR... no      -       Print document in BTL technical memorandum format.
+Arguments are TM number, (quoted list of) case number(s), and file number.
+Must precede other requests.
+.ti0
+.li
+.TR \fIx\fR    -       -       Print in BTL technical report format; report number is \fIx\fR.  Must be first.
+.ti0
+.li
+.TS \fIx\fR    -       yes     Begin table; if \fIx\fR is
+.I H
+table has repeated heading.
+.ti0
+.li
+.UL \fIx\fR    -       no      Underline argument (even in troff).
+.ti0
+.li
+.UX    -       no      `UNIX'; first time used, add footnote `UNIX is a trademark of
+Bell Laboratories.'
+.ti0
+.li
+.WH    -       no      `Bell Laboratories, Whippany,
+New Jersey 07981'.
+.tr &&
diff --git a/usr/man/man7/term.7 b/usr/man/man7/term.7
new file mode 100644 (file)
index 0000000..3cc2f2b
--- /dev/null
@@ -0,0 +1,54 @@
+.TH TERM 7 
+.SH NAME
+terminals \- conventional names
+.SH DESCRIPTION
+These names
+are used by certain commands and are maintained 
+as part of the shell environment
+(see
+.IR sh (1), environ (5)).
+.LP
+.nf
+.ta \w'450\-12\-8  'u
+adm3a  Lear Seigler Adm-3a
+2621   Hewlett-Packard HP262? series terminals
+hp     Hewlett-Packard HP264? series terminals
+c100   Human Designed Systems Concept 100
+h19    Heathkit H19
+mime   Microterm mime in enhanced ACT IV mode
+1620   DIABLO 1620 (and others using HyType II)
+300    DASI/DTC/GSI 300 (and others using HyType I)
+33     TELETYPE\*R Model 33
+37     TELETYPE Model 37
+43     TELETYPE Model 43
+735    Texas Instruments TI735 (and TI725)
+745    Texas Instruments TI745
+dumb   terminals with no special features
+4014   Tektronix 4014
+vt52   Digital Equipment Corp. VT52
+.fi
+.PP
+The list goes on and on.
+Consult /etc/termcap
+(see
+.IR termcap (5))
+for an up-to-date and locally correct list.
+.PP
+Commands whose behavior may depend on the terminal
+either consult TERM in the environment,
+or accept arguments of the form
+.BR \-Tterm,
+where
+.I term
+is one of the names given above.
+.SH SEE ALSO
+stty(1), tabs(1), plot(1),
+sh(1), environ(5)
+ex(1), clear(1), more(1), ul(1), tset(1),
+termcap(5), termlib(3), ttytype(5)
+.br
+troff(1) for
+.I nroff
+.SH BUGS
+The programs that ought to adhere to this nomenclature
+do so only fitfully.
diff --git a/usr/man/man8/ac.8 b/usr/man/man8/ac.8
new file mode 100644 (file)
index 0000000..2d9d99c
--- /dev/null
@@ -0,0 +1,59 @@
+.TH AC 8
+.UC 4
+.SH NAME
+ac \- login accounting
+.SH SYNOPSIS
+.B /etc/ac
+[
+.B \-w
+wtmp ] [
+.B \-p
+] [
+.B \-d
+] [ people ] ...
+.SH DESCRIPTION
+.I Ac
+produces a printout giving
+connect time
+for each user who has logged in
+during the life of the current
+.I wtmp
+file.
+A total is also produced.
+.B \-w
+is used to specify an alternate
+.IR wtmp ""
+file.
+.B \-p
+prints individual totals; without this option,
+only totals are printed.
+.B \-d
+causes a printout for each midnight to midnight
+period.
+Any
+.I people
+will limit the
+printout to only the specified login names.
+If no
+.IR wtmp ""
+file is given,
+.I /usr/adm/wtmp
+is used.
+.PP
+The accounting file
+.I /usr/adm/wtmp
+is maintained by
+.I init
+and
+.I login.
+Neither of these programs creates the file,
+so if it does not exist
+no connect-time accounting is done.
+To start accounting, it should be created with length 0.
+On the other hand if the file is left undisturbed it will
+grow without bound, so periodically any information
+desired should be collected and the file truncated.
+.SH FILES
+/usr/adm/wtmp
+.SH "SEE ALSO"
+init(8), sa(8), login(1), utmp(5).
diff --git a/usr/man/man8/accton.8 b/usr/man/man8/accton.8
new file mode 100644 (file)
index 0000000..ae5388c
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man8/sa.8
diff --git a/usr/man/man8/adduser.8 b/usr/man/man8/adduser.8
new file mode 100644 (file)
index 0000000..c22c10b
--- /dev/null
@@ -0,0 +1,87 @@
+.TH ADDUSER 8
+.UC 4
+.SH NAME
+adduser \- procedure for adding new users
+.SH DESCRIPTION
+A new user must choose a login name, which must not already appear in
+.I /etc/passwd.
+An account can be added by editing a line into the passwd file; this must
+be done with the password file locked e.g. by using
+.IR vipw (8).
+.PP
+A new user is given a group and user id.
+User id's should be distinct across a system, since they
+are used to control access to files.
+Typically, users working on
+similar projects will be put in the same group.  Thus at UCB we have
+groups for system staff, faculty, graduate students, and a few special
+groups for large projects.  System staff is group \*(lq10\*(rq for historical
+reasons, and the super-user is in this group.
+.PP
+A skeletal account for a new user \*(lqernie\*(rq would look like:
+.IP
+ernie::235:20:& Kovacs,508E,7925,6428202:/mnt/grad/ernie:/bin/csh
+.PP
+The first field is the login name \*(lqernie\*(rq.  The next field is the
+encrypted password which is not given and must be initialized using
+.IR passwd (1).
+The next two fields are the user and group id's.
+Traditionally, users in group 20 are graduate students and have account
+names with numbers in the 200's.
+The next field gives information about ernie's real name, office and office
+phone and home phone.
+This information is used by the
+.IR finger (1)
+program.
+From this information we can tell that ernie's real name is
+\*(lqErnie Kovacs\*(rq (the & here serves to repeat \*(lqernie\*(rq
+with appropriate capitalization), that his office is 508 Evans Hall,
+his extension is x2-7925, and this his home phone number is 642-8202.
+You can modify the
+.IR finger (1)
+program if necessary to allow different information to be encoded in
+this field.  The UCB version of finger knows several things particular
+to Berkeley \- that phone extensions start \*(lq2\-\*(rq, that offices ending
+in \*(lqE\*(rq are in Evans Hall and that offices ending in \*(lqC\*(rq are
+in Cory Hall.
+.PP
+The final two fields give a login directory and a login shell name.
+Traditionally, user files live on a file system which has the machines
+single letter
+.IR net (1)
+address as the first of two characters.  Thus on the Berkeley CS Department
+VAX, whose Berknet address is ``csvax'' abbreviated ``v'' the user file
+systems are mounted on ``/va'', ``/vb'', etc.
+On each such filesystem there are subdirectories there for each group
+of users, i.e.: \*(lq/va/staff\*(rq and \*(lq/vb/prof\*(rq.
+This is not strictly necessary but keeps the number of files in the
+top level directories reasonably small.
+.PP
+The login shell will default to \*(lq/bin/sh\*(rq if none is given.
+Most users at Berkeley choose \*(lq/bin/csh\*(rq so this is usually
+specified here.
+.PP
+It is useful to give new users some help in getting started, supplying
+them with a few skeletal files such as
+.I \&.profile
+if they use \*(lq/bin/sh\*(rq, or
+.I \&.cshrc
+and
+.I \&.login
+if they use \*(lq/bin/csh\*(rq.
+The directory
+\*(lq/usr/skel\*(rq contains skeletal definitions of such files.
+New users should be given copies of these files which, for instance,
+arrange to use
+.IR tset (1)
+automatically at each login.
+.SH FILES
+.ta 2i
+/etc/passwd    password file
+.br
+/usr/skel      skeletal login directory
+.SH SEE ALSO
+passwd(1), finger(1), chsh(1), chfn(1), passwd(5), vipw(8)
+.SH BUGS
+User information should be stored in its own data base separate from
+the password file.
diff --git a/usr/man/man8/analyze.8 b/usr/man/man8/analyze.8
new file mode 100644 (file)
index 0000000..72c8769
--- /dev/null
@@ -0,0 +1,117 @@
+.lg 0
+.TH ANALYZE 8
+.UC 4
+.SH NAME
+analyze \- Virtual UNIX postmortem crash analyzer
+.SH SYNOPSIS
+.B /etc/analyze
+[
+.B \-s
+swapfile
+] [
+.B \-f
+] [
+.B \-m
+] [
+.B \-d
+] [
+.B \-D
+] [
+.B \-v
+]
+corefile
+[ system ]
+.SH DESCRIPTION
+.I Analyze
+is the post-mortem analyzer for the state of the paging system.
+In order to use
+.I analyze
+you must arrange to get a image of the memory (and possibly the
+paging area) of the system after it crashes (see
+.IR crash (8)).
+.PP
+The
+.I analyze
+program reads the relevant system data structures from the core
+image file and indexing information from 
+.B /vmunix
+(or the specified file).
+to determine the state of the paging subsystem at the point of crash.
+It looks at each process in the system, and the resources each is
+using in an attempt to determine inconsistencies in the paging system
+state.  Normally, the output consists of a sequence of lines showing
+each active process, its state (whether swapped in or not), its
+.I p0br,
+and the number and location of its page table pages.
+Any pages which are locked while raw i/o is in progress, or which
+are locked because they are
+.I intransit
+are also printed.  (Intransit text pages often diagnose as duplicated;
+you will have to weed these out by hand.)
+.PP
+The program checks that any pages in core which are marked as not
+modified are, in fact, identical to the swap space copies.
+It also checks for non-overlap of the swap space, and that the core
+map entries correspond to the page tables.
+The state of the free list is also checked.
+.PP
+Options to
+.I analyze:
+.TP
+.B \-D
+causes the diskmap for each process to be printed.
+.TP
+.B \-d
+causes the (sorted) paging area usage to be printed.
+.TP
+.B \-f
+which causes the free list to be dumped.
+.TP
+.B \-m
+causes the entire coremap state to be dumped.
+.TP
+.B \-v
+(long unused) which causes a hugely verbose output format to be used.
+.PP
+In general, the output from this program can be confused by processes
+which were forking, swapping, or exiting or
+happened to be in unusual states when the
+crash occurred.  You should examine the flags fields of relevant processes
+in the output of a
+.IR pstat (8)
+to weed out such processes.
+.PP
+It is possible to look at the core dump with
+.I adb
+if you do
+.IP
+adb /vmunix /vmcore
+.br
+.lg 0
+/m 80000000 #ffffffff
+.LP
+which fixes the map of
+.I vmcore
+so that symbols in data space will work.
+Note that the debugger is looking at the physical memory at the point
+of crash; you will have to determine which pages of physical memory
+virtual pages are in if you wish to look at them.
+If
+.I analyze
+says that a processes page tables are in page 218 (hex of course), then
+you can look at them by looking at address 0x80043000 in the dump, i.e.
+\*(lq80043000,80/X\*(rq will print the page of page tables.
+.SH FILES
+/vmunix        default system namelist
+.SH SEE ALSO
+ps(1), crash(8), pstat(8)
+.SH AUTHORS
+Ozalp Babaoglu and William Joy
+.SH DIAGNOSTICS
+Various diagnostics about overlaps in swap mappings, missing swap mappings,
+page table entries inconsistent with the core map, incore pages which
+are marked clean but differ from disk-image copies, pages which are
+locked or intransit, and inconsistencies in the free list.
+.PP
+It would be nice if this program analyzed the system in general, rather
+than just the paging system in particular.
diff --git a/usr/man/man8/arcv.8 b/usr/man/man8/arcv.8
new file mode 100644 (file)
index 0000000..a55ac19
--- /dev/null
@@ -0,0 +1,23 @@
+.TH ARCV 8
+.UC 4
+.SH NAME
+arcv \- convert archives to new format
+.SH SYNOPSIS
+.B /etc/arcv
+file ...
+.SH DESCRIPTION
+.I Arcv
+converts archive files
+(see
+.IR ar (1),
+.IR ar (5))
+from 32v and Third Berkeley editions to a new portable format.
+The conversion is done in place, and the command
+refuses to alter a file not in old archive format.
+.PP
+Old archives are marked with a magic number of 0177545 at the start;
+new archives have a first line ``!<arch>''.
+.SH FILES
+/tmp/v*, temporary copy
+.SH SEE ALSO
+ar(1), ar(5)
diff --git a/usr/man/man8/arff.8 b/usr/man/man8/arff.8
new file mode 100644 (file)
index 0000000..8c637f3
--- /dev/null
@@ -0,0 +1,126 @@
+.TH ARFF 8
+.UC 4
+.SH NAME
+arff, flcopy \- archiver and copier for floppy
+.SH SYNOPSIS
+.B /etc/arff
+[ key ] [ name ... ]
+.br
+.B /etc/flcopy
+[
+.B \-h
+] [
+\fB\-t\fIn\fR
+]
+.SH DESCRIPTION
+.I Arff
+saves and restores files
+on the console floppy disk.
+Its actions are controlled by the
+.I key
+argument.
+The
+.I key
+is a string of characters containing
+at most one function letter and possibly
+one or more function modifiers.
+Other arguments to the command are file
+names specifying which files are to be dumped or restored.
+.PP
+Files names have restrictions, because of radix50 considerations.  They
+must be in the form 1-6 alphanumerics followed by "." followed by
+0-3 alphanumerics.  Case distinctions are lost.  Only the trailing component
+of a pathname is used.
+.PP
+The function portion of
+the key is specified by one of the following letters:
+.TP 8
+.B  r
+The named files
+are replaced where found on the floppy, or added taking up
+the minimal possible portion of the first empty spot on the floppy.
+.TP 8
+.B  x
+The named files are extracted from the floppy.
+.TP 8
+.B  d
+The named files are deleted from the floppy.  Arff will combine contiguous
+deleted files into one empty entry in the rt-11 directory.
+.TP 8
+.B  t
+The names of the specified files are listed each time they occur
+on the floppy.
+If no file argument is given,
+all of the names on the floppy are listed.
+.PP
+The following characters may be used in addition to the letter
+which selects the function desired.
+.TP 10
+.B  v
+Normally
+.I arff
+does its work silently.
+The
+.B v
+(verbose)
+option causes it to type the name of each file it treats
+preceded by the function letter.
+With the
+.B t
+function,
+.B v
+gives more information about the
+floppy entries than just the name.
+.TP 10
+.B f
+causes 
+.I arff
+to use the next argument as the name of the archive instead
+of /dev/floppy. 
+.TP 10
+.B m
+causes
+.I arff
+not to use the mapping algorithm employed in interleaving sectors
+around a floppy disk.  In conjunction with the 
+.B f
+option it may be
+used for extracting files from rt11 formatted cartridge disks, for
+example.
+.PP
+.I Flcopy
+copies
+the console floppy disk
+(opened as `/dev/floppy')
+to a file created in the
+current directory, named \*(lqfloppy\*(rq,
+then prints the message
+\*(lqChange Floppy, hit return when done\*(rq.
+Then
+.I flcopy
+copies the local file back out to the floppy disk.
+.PP
+The
+.B \-h
+option to 
+.I flcopy
+causes it to
+open a file named \*(lqfloppy\*(rq in the current directory
+and copy it to
+.I /dev/floppy;
+the
+.B \-t
+option
+causes only the first
+.I n
+tracks to participate in a copy.
+.SH FILES
+/dev/floppy
+.br
+floppy (in current directory)
+.SH AUTHORS
+Keith Sklower, Richard Tuck
+.SH BUGS
+Floppy errors are handled ungracefully;
+.I Arff
+does not handle multi-segment rt11 directories.
diff --git a/usr/man/man8/catman.8 b/usr/man/man8/catman.8
new file mode 100644 (file)
index 0000000..77f3e5b
--- /dev/null
@@ -0,0 +1,61 @@
+.TH CATMAN 8
+.UC 4
+.SH NAME
+catman \- create the cat files for the manual
+.SH SYNOPSIS
+.B /etc/catman
+[
+.B \-p
+] [
+.B \-n
+] [
+.B \-w
+]
+[ sections ]
+.SH DESCRIPTION
+.I Catman
+creates the preformatted versions of the on-line manual from the nroff
+input files.
+Each manual page is examined and those whose preformatted versions are
+missing or out of date are recreated.
+If any changes are made,
+.I catman
+will recreate the
+.B /usr/lib/whatis
+database.
+.PP
+If there is one parameter not starting with a `\-',
+it is take to be a list of manual sections to look in.
+For example
+.IP
+.B catman 123
+.LP
+will cause the updating to only happen to manual sections
+1, 2, and 3.
+.PP
+Options:
+.TP
+.B \-n
+prevents creations of
+.BR /usr/lib/whatis .
+.TP
+.B \-p
+prints what would be done instead of doing it.
+.TP
+.B \-w
+causes only the 
+.B /usr/lib/whatis
+database to be created.
+No manual reformatting is done.
+.SH FILES
+.ta 2i
+/usr/man/man?/*.*      raw (nroff input) manual sections
+.br
+/usr/man/cat?/*.*      preformatted manual pages
+.br
+/usr/lib/makewhatis    commands to make whatis database
+.DT
+.SH "SEE ALSO"
+man(1)
+.SH BUGS
+Acts oddly on nights with full moons.
diff --git a/usr/man/man8/chgrp.8 b/usr/man/man8/chgrp.8
new file mode 100644 (file)
index 0000000..a788f78
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man8/chown.8
diff --git a/usr/man/man8/chown.8 b/usr/man/man8/chown.8
new file mode 100644 (file)
index 0000000..4b7a493
--- /dev/null
@@ -0,0 +1,36 @@
+.TH CHOWN 8 
+.UC 4
+.SH NAME
+chown, chgrp \- change owner or group
+.SH SYNOPSIS
+.B /etc/chown
+owner file ...
+.PP
+.B /etc/chgrp
+group file ...
+.SH DESCRIPTION
+.I Chown
+changes the owner of the
+.I files
+to
+.IR owner .
+The owner may be either a decimal UID or
+a login name found in the password file.
+.PP
+.I Chgrp
+changes the group-ID of the
+.I files
+to
+.IR group .
+The group may be either a decimal GID or
+a group name found in the group-ID file.
+.PP
+Only the super-user can change owner or group,
+in order to simplify as yet unimplemented accounting procedures.
+.SH FILES
+/etc/passwd
+.br
+/etc/group
+.SH "SEE ALSO"
+chown(2),
+passwd(5), group(5)
diff --git a/usr/man/man8/clri.8 b/usr/man/man8/clri.8
new file mode 100644 (file)
index 0000000..6b25c60
--- /dev/null
@@ -0,0 +1,50 @@
+.TH CLRI 8 
+.UC 4
+.SH NAME
+clri \- clear i-node
+.SH SYNOPSIS
+.B /etc/clri
+filesystem i-number ...
+.SH DESCRIPTION
+.B N.B.:
+.I Clri
+is obsoleted for normal file system repair work by
+.IR fsck (8).
+.PP
+.I Clri
+writes zeros on the i-nodes
+with the decimal
+.I i-numbers
+on the
+.I filesystem.
+After
+.I clri,
+any blocks
+in the affected file
+will show up as `missing' in an
+.IR icheck (1)
+of the
+.I filesystem.
+.PP
+Read and write permission is required on the specified
+file system device.
+The i-node becomes allocatable.
+.PP
+The primary purpose of this routine
+is to remove a file which
+for some reason appears in no
+directory.
+If it is used to zap an i-node
+which does appear in a directory, care should be taken to track down
+the entry and remove it.
+Otherwise, when the i-node is reallocated to some new file,
+the old entry will still point to that file.
+At that point removing the old entry will destroy the new file.
+The new entry will again point to an unallocated i-node,
+so the whole cycle is likely to be repeated again and again.
+.SH "SEE ALSO"
+icheck(8)
+.SH BUGS
+If the file is open,
+.I clri
+is likely to be ineffective.
diff --git a/usr/man/man8/cron.8 b/usr/man/man8/cron.8
new file mode 100644 (file)
index 0000000..faf6942
--- /dev/null
@@ -0,0 +1,56 @@
+.TH CRON 8 
+.SH NAME
+cron \- clock daemon
+.SH SYNOPSIS
+.B /etc/cron
+.SH DESCRIPTION
+.I Cron
+executes commands at specified dates and times
+according to the instructions in the file
+/usr/lib/crontab.
+Since
+.I cron
+never exits,
+it should only be executed once.
+This is best done by running
+.I cron
+from the initialization
+process through the file
+/etc/rc;
+see
+.IR init (8).
+.PP
+Crontab
+consists of lines of six fields each.
+The fields are separated by spaces or tabs.
+The first five are integer patterns to
+specify the
+minute (0-59),
+hour (0-23),
+day of the month (1-31),
+month of the year (1-12),
+and day of the week (1-7 with 1=Monday).
+Each of these patterns may
+contain a number in the range above;
+two numbers separated by
+a minus
+meaning a range inclusive;
+a list of numbers separated by
+commas meaning any of the numbers;
+or an asterisk meaning all legal values.
+The sixth field is a string
+that is executed by the Shell at the
+specified times.
+A percent character
+in this field is translated to a new-line
+character.
+Only the first line (up to a % or end of line)
+of the command field is executed by the Shell.
+The other lines are made available to the
+command as standard input.
+.PP
+Crontab is examined by
+.I cron
+every minute.
+.SH FILES
+/usr/lib/crontab
diff --git a/usr/man/man8/dcheck.8 b/usr/man/man8/dcheck.8
new file mode 100644 (file)
index 0000000..f063705
--- /dev/null
@@ -0,0 +1,66 @@
+.TH DCHECK 8 
+.UC 4
+.SH NAME
+dcheck \- file system directory consistency check
+.SH SYNOPSIS
+.B /etc/dcheck
+[
+.B \-i
+numbers ]
+[ filesystem ]
+.SH DESCRIPTION
+.B N.B.:
+.I Dcheck
+is obsoleted for normal consistency checking by
+.IR fsck (8).
+.PP
+.I Dcheck
+reads the directories in a file system
+and compares
+the link-count in each i-node with the number of directory
+entries by which it is referenced.
+If the file system is not specified,
+a set of default file systems
+is checked.
+.PP
+The
+.B \-i
+flag
+is followed by a list of i-numbers;
+when one of those i-numbers turns up
+in a directory,
+the number, the i-number of the directory,
+and the name of the entry are reported.
+.PP
+The program is fastest if the
+raw version of the special file is used,
+since the i-list is read in large chunks.
+.SH FILES
+Default file systems vary with installation.
+.SH "SEE ALSO"
+fsck(8), icheck(8), filsys(5), clri(8), ncheck(8)
+.SH DIAGNOSTICS
+When a file turns up for which the link-count and the number
+of directory entries disagree,
+the relevant facts are reported.
+Allocated files which have 0 link-count and no entries are also
+listed.
+The only dangerous situation
+occurs when there are more entries than links;
+if entries are removed,
+so the link-count drops to 0,
+the remaining entries point to thin air.
+They should be removed.
+When there are more links than entries, or there is
+an allocated file with neither links nor entries,
+some disk space may be lost but the situation will not degenerate.
+.SH BUGS
+Since
+.I dcheck
+is inherently two-pass in nature, extraneous diagnostics
+may be produced if applied to active file systems.
+.PP
+.I Dcheck
+is obsoleted by
+.I fsck
+and remains for historical reasons.
diff --git a/usr/man/man8/delivermail.8 b/usr/man/man8/delivermail.8
new file mode 100644 (file)
index 0000000..5c1070b
--- /dev/null
@@ -0,0 +1,248 @@
+.TH DELIVERMAIL 8
+.UC 4
+.SH NAME
+delivermail \- deliver mail to arbitrary people
+.SH SYNOPSIS
+.B /etc/delivermail
+[
+.BR \- [ fr ]
+.I address
+] [
+.B \-a
+] [
+.BI \-e x
+] [
+.B \-n
+] [
+.B \-m
+] [
+.B \-s
+] [
+.B \-i
+] [
+.B \-h
+.I N
+] address ...
+.SH DESCRIPTION
+.I Delivermail
+delivers a letter to one or more people,
+routing the letter over whatever networks
+are necessary.
+.I Delivermail
+will do inter-net forwarding as necessary
+to deliver the mail to the correct place.
+.PP
+.I Delivermail
+is not intended as a user interface routine;
+it is expected that other programs will provide user-friendly
+front ends,
+and
+.I delivermail
+will be used only to deliver pre-formatted messages.
+.PP
+.I Delivermail
+reads its standard input
+up to a control-D
+or a line with a single dot
+and sends a copy of the letter found there
+to all of the addresses listed.
+If the
+.B \-i
+flag is given,
+single dots are ignored.
+It determines the network to use
+based on the syntax of the addresses.
+Addresses containing the character `@'
+or the word \*(lqat\*(rq
+are sent to the
+.SM ARPANET;
+addresses containing `!'
+are sent to the
+.SM UUCP
+net,
+and addresses containing `:' or `.'
+are sent to the Berkeley network.
+Other addresses are assumed to be local.
+.PP
+Local addresses are looked up in a file
+constructed by
+.IR newaliases (1)
+from the data file
+.I /usr/lib/aliases
+and aliased appropriately.
+Aliasing can be prevented by preceding the address
+with a backslash or using the
+.B \-n
+flag.
+Normally the sender is not included in any alias
+expansions, e.g.,
+if `john' sends to `group',
+and `group' includes `john' in the expansion,
+then the letter will not be delivered to `john'.
+The
+.B \-m
+flag disables this suppression.
+.PP
+.I Delivermail
+computes the person sending the mail
+by looking at your login name.
+The \*(lqfrom\*(rq person
+can be explicitly specified by using the
+.B \-f
+flag;
+or, if the
+.B \-a
+flag is given,
+delivermail looks in the body of the message
+for a \*(lqFrom:\*(rq or \*(lqSender:\*(rq
+field in
+.SM ARPANET
+format.
+The
+.B \-f
+and
+.B \-a
+flags can be used
+only by the special users
+.I root
+and
+.I network,
+or if the person you are trying to become
+is the same as the person you are.
+The
+.B \-r
+flag is entirely equivalent to the
+.B \-f
+flag; it is provided for ease of interface only.
+.PP
+The
+.BI \-e x
+flag controls the disposition of error output,
+as follows:
+.TP 3n
+.B e
+Print errors on the standard output,
+and echo a copy of the message when done.
+It is assumed that a network server will
+return the message back to the user.
+.TP
+.B m
+Mail errors back to the user.
+.TP
+.B p
+Print errors on the standard output.
+.TP
+.B q
+Throw errors away;
+only exit status is returned.
+.TP
+.B w
+Write errors back to the user's terminal,
+but only if the user is still logged in
+and write permission is enabled;
+otherwise errors are mailed back.
+.LP
+If the error is not mailed back,
+and if the mail originated on the machine where the error occurred,
+the letter is appended to the file
+.I dead.letter
+in the sender's home directory.
+.PP
+If the first character of the user name
+is a vertical bar,
+the rest of the user name is used as the name of a program
+to pipe the mail to.
+It may be necessary to quote the name of the user
+to keep
+.I delivermail
+from suppressing the blanks from between arguments.
+.PP
+The message is normally edited to eliminate \*(lqFrom\*(rq
+lines that might confuse other mailers.
+In particular,
+\*(lqFrom\*(rq lines in the header are deleted,
+and \*(lqFrom\*(rq lines in the body are prepended by `>'.
+The
+.B \-s
+flag saves \*(lqFrom\*(rq lines in the header.
+.PP
+The
+.B \-h
+flag gives a \*(lqhop-count\*(rq, i.e.,
+a measure of how many times this message
+has been processed by
+.I delivermail
+(presumably on different machines).
+Each time
+.I delivermail
+processes a message,
+it increases the hop-count by one;
+if it exceeds 30
+.I delivermail
+assumes that an alias loop has occurred
+and it aborts the message.
+The hop-count defaults to zero.
+.PP
+.I Delivermail
+returns an exit status
+describing what it did.
+The codes are defined in <sysexits.h>
+.ta 3n +\w'EX_UNAVAILABLE'u+3n
+.de XX
+.ti \n(.iu
+..
+.in +\w'EX_UNAVAILABLE'u+6n
+.XX
+       EX_OK   Successful completion on all addresses.
+.XX
+       EX_NOUSER       User name not recognized.
+.XX
+       EX_UNAVAILABLE  Catchall meaning necessary resources
+were not available.
+.XX
+       EX_SYNTAX       Syntax error in address.
+.XX
+       EX_SOFTWARE     Internal software error,
+including bad arguments.
+.XX
+       EX_OSERR        Temporary operating system error,
+such as \*(lqcannot fork\*(rq.
+.XX
+       EX_NOHOST       Host name not recognized.
+.SH FILES
+.if t .ta 2i
+.if n .ta 3i
+/usr/lib/aliases       raw data for alias names
+.br
+/usr/lib/aliases.dir   data base of alias names
+.br
+/usr/lib/aliases.pag
+.br
+/bin/mail      to deliver uucp mail
+.br
+/usr/net/bin/v6mail    to deliver local mail
+.br
+/usr/net/bin/sendmail  to deliver Berknet mail
+.br
+/usr/lib/mailers/arpa  to deliver ARPANET mail
+.br
+/tmp/mail*     temp file
+.br
+/tmp/xscript*  saved transcript
+.SH SEE\ ALSO
+biff(1), binmail(1), mail(1), newaliases(1), aliases(5)
+.SH BUGS
+.I Delivermail
+sends one copy of the letter
+to each user;
+it should send one copy
+of the letter to each host
+and distribute to multiple users there
+whenever possible.
+.PP
+.I Delivermail
+assumes the addresses can be represented as one word.
+This is incorrect according to the
+.SM ARPANET
+mail protocol RFC 733 (NIC 41952),
+but is consistent with the real world.
diff --git a/usr/man/man8/dmesg.8 b/usr/man/man8/dmesg.8
new file mode 100644 (file)
index 0000000..f7430a9
--- /dev/null
@@ -0,0 +1,42 @@
+.TH DMESG 8
+.UC 4
+.SH NAME
+dmesg \- collect system diagnostic messages to form error log
+.SH SYNOPSIS
+.B /etc/dmesg
+[ \- ]
+.SH DESCRIPTION
+.I Dmesg
+looks in a system buffer for recently printed diagnostic messages
+and prints them on the standard output.
+The messages are those printed by the system when device (hardware) errors
+occur and (occasionally) when system tables overflow non-fatally.
+If the
+.B \-
+flag is given, then
+.I dmesg
+computes (incrementally) the new messages since the last time it
+was run and places these on the standard output.
+This is typically used with
+.IR cron (8)
+to produce the error log
+.I /usr/adm/messages
+by running the command
+.IP
+/etc/dmesg \- >> /usr/adm/messages
+.LP
+every 10 minutes.
+.SH FILES
+.ta 2i
+/usr/adm/messages      error log (conventional location)
+.br
+/usr/adm/msgbuf        scratch file for memory of \- option
+.SH BUGS
+The system error message buffer is of small finite size.  As
+.I dmesg
+is run only every few minutes, not all error messages
+are guaranteed to be logged.  This can be construed as a blessing rather
+than a curse.
+.PP
+Error diagnostics generated immediately before a system crash will
+never get logged.
diff --git a/usr/man/man8/dumpdir.8 b/usr/man/man8/dumpdir.8
new file mode 100644 (file)
index 0000000..005bd8e
--- /dev/null
@@ -0,0 +1,38 @@
+.TH DUMPDIR 8 
+.UC 4
+.SH NAME
+dumpdir \- print the names of files on a dump tape
+.SH SYNOPSIS
+.B /etc/dumpdir
+[
+.B f
+filename ]
+.SH DESCRIPTION
+.I Dumpdir
+is used to read magtapes dumped with the
+.I dump
+command and list the names and inode numbers
+of all the files and directories on the tape.
+.PP
+The
+.B f
+option causes
+.I filename
+as the name of the tape instead
+of the default.
+.SH FILES
+default tape unit varies with installation
+.br
+rst*
+.SH "SEE ALSO"
+dump(1), restor(1)
+.SH DIAGNOSTICS
+If the dump extends over more than one tape,
+it may ask you to change tapes.
+Reply with a new-line when the next tape has been mounted.
+.SH BUGS
+There is redundant information on the tape
+that could be used in case of tape reading problems.
+Unfortunately,
+.I dumpdir
+doesn't use it.
diff --git a/usr/man/man8/flcopy.8 b/usr/man/man8/flcopy.8
new file mode 100644 (file)
index 0000000..d38ba48
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man8/arff.8
diff --git a/usr/man/man8/getty.8 b/usr/man/man8/getty.8
new file mode 100644 (file)
index 0000000..f55239e
--- /dev/null
@@ -0,0 +1,59 @@
+.TH GETTY 8 
+.UC 4
+.SH NAME
+getty  \- set terminal mode
+.SH SYNOPSIS
+.B /etc/getty
+[ char ]
+.SH DESCRIPTION
+.I Getty
+is invoked by
+.IR  init (8)
+immediately after a terminal is opened,
+following the making of a connection.
+While reading the name
+.I getty
+attempts to adapt the system to the speed and type of terminal
+being used.
+.PP
+.I Init
+calls
+.I getty
+with an argument specified by the
+.I ttys
+file entry for the terminal line.
+Arguments other than `0' can be used to make
+.I getty
+treat the line specially.
+Normally, it
+sets the speed of the interface to 300 baud,
+specifies that raw mode is to be used (break on every character),
+that echo is to be suppressed, and either parity
+allowed.
+It types a banner identifying the system (from
+/usr/include/ident.h and the `login:' message.
+Then the user's name is read, a character at a time.
+If a null character is received, it is assumed to be the result
+of the user pushing the `break' (`interrupt') key.
+The speed is then
+changed to 1200 baud and the `login:' is typed again;
+a second `break' changes the speed to 150 baud and the `login:'
+is typed again.  Successive `break' characters cycle through the
+speeds 300, 1200, and 150 baud.
+.PP
+The user's name is terminated by a new-line or
+carriage-return character.
+The latter results in the system being set to
+treat carriage returns appropriately (see
+.IR  stty (2)).
+.PP
+The user's name is scanned to see if
+it contains any lower-case alphabetic characters; if not,
+and if the name is nonempty, the
+system is told to map any future upper-case characters
+into the corresponding lower-case characters.
+.PP
+Finally, login is called with the user's name as argument.
+.SH "SEE ALSO"
+init(8), login(1), stty(2), ttys(5)
+.SH BUGS
diff --git a/usr/man/man8/icheck.8 b/usr/man/man8/icheck.8
new file mode 100644 (file)
index 0000000..8e5a90c
--- /dev/null
@@ -0,0 +1,105 @@
+.TH ICHECK 8 
+.UC 4
+.SH NAME
+icheck \- file system storage consistency check
+.SH SYNOPSIS
+.B /etc/icheck
+[
+.B \-s
+]  [
+.B \-b
+numbers ]
+[ filesystem ]
+.SH DESCRIPTION
+.B N.B.:
+.I Icheck
+is obsoleted for normal consistency checking by
+.IR fsck (8).
+.PP
+.I Icheck
+examines a file system,
+builds a bit map of used blocks,
+and compares this bit map against
+the free list maintained on the file system.
+If the file system is not specified,
+a set of default file systems
+is checked.
+The normal output of
+.I icheck
+includes a report of
+.IP ""
+The total number of files and the numbers of
+regular, directory, block special and character special files.
+.IP ""
+The total number of blocks in use and the numbers of 
+single-, double-, and triple-indirect blocks and directory blocks.
+.IP ""
+The number of free blocks.
+.IP ""
+The number of blocks missing; i.e. not in any file
+nor in the free list.
+.PP
+The
+.B \-s
+option causes
+.I icheck
+to ignore the actual free list and reconstruct a new one
+by rewriting the super-block of the file system.
+The file system should be dismounted while this is done;
+if this is not possible (for example if
+the root file system has to be salvaged)
+care should be taken that the system is quiescent and that
+it is rebooted immediately afterwards so that the old, bad in-core
+copy of the super-block will not continue to be used.
+Notice also that
+the words in the super-block
+which indicate the size of the free list and of the
+i-list are believed.
+If the super-block has been curdled
+these words will have to be patched.
+The
+.B \-s
+option
+causes the normal output reports to be suppressed.
+.PP
+Following the
+.B \-b
+option is a list of block numbers;
+whenever any of the named blocks turns up in a file,
+a diagnostic is produced.
+.PP
+.I Icheck
+is faster if the raw version of the special file is used,
+since it reads the i-list many blocks at a time.
+.SH FILES
+Default file systems vary with installation.
+.SH "SEE ALSO"
+fsck(8), dcheck(8), ncheck(8),
+filsys(5), clri(8)
+.SH DIAGNOSTICS
+For duplicate blocks
+and bad blocks (which lie outside the file system)
+.I icheck
+announces the difficulty, the i-number, and the kind of block involved.
+If a read error is encountered,
+the block number of the bad block is printed and
+.I icheck
+considers it to contain 0.
+`Bad freeblock' means that
+a block number outside the available space was encountered in the free list.
+`\fIn\fR dups in free'
+means that
+.IR n ""
+blocks were found in the free list which
+duplicate blocks either in some file or in the earlier part of the free list.
+.SH BUGS
+Since
+.I icheck
+is inherently two-pass in nature, extraneous diagnostics
+may be produced if applied to active file systems.
+.PP
+It believes even preposterous super-blocks and
+consequently can get core images.
+.PP
+The system should be fixed so that the reboot after fixing the root
+file system is not necessary.
diff --git a/usr/man/man8/makekey.8 b/usr/man/man8/makekey.8
new file mode 100644 (file)
index 0000000..cba13d1
--- /dev/null
@@ -0,0 +1,47 @@
+.TH MAKEKEY 8
+.SH NAME
+makekey \- generate encryption key
+.SH SYNOPSIS
+.B /usr/lib/makekey
+.SH DESCRIPTION
+.I Makekey
+improves the usefulness of encryption schemes depending on a key by
+increasing the amount of time required to search the key space.  It
+reads 10 bytes from its standard input, and writes 13 bytes on its
+standard output.  The output depends on the input in a way intended to
+be difficult to compute (i.e. to require a substantial fraction of a
+second).
+.PP
+The first eight input bytes
+(the
+.IR "input key" )
+can be arbitrary ASCII characters.
+The last 
+two (the
+.IR salt )
+are best chosen from the set of digits, upper- and lower-case
+letters, and `.' and `/'.
+The salt characters are repeated as the first two characters of the output.
+The remaining 11 output characters are chosen from the same set as the salt
+and constitute the
+.I "output key."
+.PP
+The transformation performed is essentially the following:
+the salt is used to select one of 4096 cryptographic
+machines all based on the National Bureau of Standards
+DES algorithm, but modified in 4096 different ways.
+Using the input key as key,
+a constant string is fed into the machine and recirculated
+a number of times.
+The 64 bits that come out are distributed into the
+66 useful key bits in the result.
+.PP
+.I Makekey
+is intended for programs that perform encryption
+(e.g.
+.I ed
+and
+.IR crypt (1)).
+Usually its input and output will be pipes.
+.SH SEE ALSO
+crypt(1), ed(1)
diff --git a/usr/man/man8/mklost+found.8 b/usr/man/man8/mklost+found.8
new file mode 100644 (file)
index 0000000..bbe6c0a
--- /dev/null
@@ -0,0 +1,20 @@
+.TH MKLOST+FOUND 8
+.UC 4
+.SH NAME
+mklost+found \- make a lost+found directory for fsck
+.SH SYNOPSIS
+.B /etc/mklost+found
+.SH DESCRIPTION
+A directory
+.I lost+found
+is created in the current directory and a number of empty files
+are created therein and then removed so that there will be
+empty slots for
+.IR fsck (8).
+This command should be run immediately after first mounting a newly
+created file system.
+.SH SEE\ ALSO
+fsck(8), mkfs(8)
+.SH BUGS
+Should be done automatically by
+.I mkfs.
diff --git a/usr/man/man8/mknod.8 b/usr/man/man8/mknod.8
new file mode 100644 (file)
index 0000000..2b076b6
--- /dev/null
@@ -0,0 +1,39 @@
+.TH MKNOD 8 
+.UC 4
+.SH NAME
+mknod \- build special file
+.SH SYNOPSIS
+.B /etc/mknod
+name
+[
+.B c
+] [
+.B b
+]
+major
+minor
+.SH DESCRIPTION
+.I Mknod
+makes a special file.
+The first argument is the
+.I name
+of the entry.
+The second is
+.B b
+if the special file is block-type (disks, tape) or
+.B c
+if it is character-type (other devices).
+The last two arguments are
+numbers specifying the
+.I major
+device type
+and the
+.I minor
+device (e.g. unit, drive, or line number).
+.PP
+The assignment of major device numbers is specific to each system.
+They have to be dug out of the
+system source file
+.I conf.c.
+.SH "SEE ALSO"
+mknod(2)
diff --git a/usr/man/man8/mount.8 b/usr/man/man8/mount.8
new file mode 100644 (file)
index 0000000..9aa15b8
--- /dev/null
@@ -0,0 +1,84 @@
+.TH MOUNT 8 
+.UC 4
+.SH NAME
+mount, umount \- mount and dismount file system
+.SH SYNOPSIS
+.B /etc/mount
+[ special name [
+.B \-r
+] ]
+.PP
+.B /etc/mount
+.B \-a
+.PP
+.B /etc/umount
+special
+.PP
+.B /etc/umount
+.B \-a
+.SH DESCRIPTION
+.I Mount
+announces to the system that a removable file system
+is present on the device
+.I special.
+The file
+.I name
+must exist already; it
+must be a directory (unless the root of the
+mounted file system is not a directory).
+It becomes the name of the newly mounted root.
+The optional argument
+.B \-r
+indicates that the file system
+is to be mounted read-only.
+.PP
+.I Umount
+announces to the system that the removable file system previously
+mounted on device
+.I special
+is to be removed.
+.PP
+If the
+.B \-a
+option is present for either
+.I mount
+or
+.I umount,
+all of the file systems described in
+.I /etc/fstab
+are attempted to be mounted or unmounted.
+In this case,
+.I special
+and
+.I name
+are taken from
+.I /etc/fstab.
+The
+.I special
+file name from
+.I /etc/fstab
+is the block special name.
+.PP
+These commands
+maintain a table of mounted devices in
+.I /etc/mtab.
+If invoked without an argument,
+.I mount
+prints the table.
+.PP
+Physically write-protected and magnetic tape file
+systems must be mounted read-only
+or errors will occur when access times are updated,
+whether or not any explicit write is attempted.
+.SH FILES
+/etc/mtab      mount table
+.br
+/etc/fstab     file system table
+.SH "SEE ALSO"
+mount(2),
+mtab(5), fstab(5)
+.SH BUGS
+Mounting file systems full of garbage will crash the system.
+.br
+Mounting a root directory on a non-directory
+makes some apparently good pathnames invalid.
diff --git a/usr/man/man8/ncheck.8 b/usr/man/man8/ncheck.8
new file mode 100644 (file)
index 0000000..63dee95
--- /dev/null
@@ -0,0 +1,56 @@
+.TH NCHECK 8 
+.UC 4
+.SH NAME
+ncheck  \-  generate names from i-numbers
+.SH SYNOPSIS
+.B /etc/ncheck
+[
+.B \-i
+numbers ]  [
+.B \-a
+] [
+.B \-s
+]  [ filesystem ]
+.SH DESCRIPTION
+.B N.B.:
+For most normal file system maintenance, the function of
+.I ncheck
+is subsumed by
+.IR fsck (8).
+.PP
+.I Ncheck
+with no argument
+generates a pathname vs. i-number
+list of all files
+on a set of default file systems.
+Names of directory files are followed by `/\fB.\fR'.
+The
+.B \-i
+option reduces the report to only those files whose i-numbers follow.
+The
+.B \-a
+option
+allows printing of the names
+.RB ` . '
+and
+.RB ` .. ',
+which are ordinarily suppressed.
+suppressed.
+The
+.B \-s
+option reduces the report to special files
+and files with set-user-ID mode;
+it is intended to discover concealed violations
+of security policy.
+.PP
+A file system may be specified.
+.PP
+The report is in no useful
+order, and probably should be sorted.
+.SH "SEE ALSO"
+sort(1), dcheck(8), fsck(8), icheck(8)
+.SH DIAGNOSTICS
+When the filesystem structure is improper,
+`??' denotes the `parent' of
+a parentless file and
+a pathname beginning with `...' denotes a loop.
diff --git a/usr/man/man8/quot.8 b/usr/man/man8/quot.8
new file mode 100644 (file)
index 0000000..471081c
--- /dev/null
@@ -0,0 +1,38 @@
+.TH QUOT 8 
+.UC 4
+.SH NAME
+quot \- summarize file system ownership
+.SH SYNOPSIS
+.B /etc/quot
+[ option ] ...
+[ filesystem ]
+.SH DESCRIPTION
+.I Quot
+prints the number of blocks in the named
+.I filesystem
+currently owned by each user.
+If no 
+.I filesystem
+is named, a default name is assumed.
+The following options are available:
+.TP
+.B \-n
+Cause the pipeline
+.B "ncheck filesystem | sort +0n | quot \-n filesystem
+to produce a list of all files and their owners.
+.TP
+.B \-c
+Print three columns giving file size in blocks, number of
+files of that size, and cumulative total of blocks
+in that size or smaller file.
+.TP
+.B \-f
+Print count of number of files as well as space owned by each user.
+.SH FILES
+Default file system varies with system.
+.br
+/etc/passwd    to get user names
+.SH "SEE ALSO"
+ls(1), du(1)
+.SH BUGS
+Holes in files are counted as if they actually occupied space.
diff --git a/usr/man/man8/renice.8 b/usr/man/man8/renice.8
new file mode 100644 (file)
index 0000000..d5c9768
--- /dev/null
@@ -0,0 +1,28 @@
+.TH RENICE 8
+.UC 4
+.SH NAME
+renice \- alter priority of running process by changing nice
+.SH SYNOPSIS
+.B /etc/renice
+pid
+[ priority ]
+.SH DESCRIPTION
+.I Renice
+can be used by the super-user to alter the 
+priority of a running process.
+By default, the nice of the process is made \*(lq19\*(rq which means that it
+will run only when nothing else in the system wants to.  This can be used
+to nail long running processes which are interfering with interactive work.
+.PP
+.I Renice
+can be given a second argument to choose a nice other than the default.
+Negative nices can be used to make things go very fast.
+.SH FILES
+/vmunix
+.br
+/dev/kmem
+.SH SEE ALSO
+nice(1)
+.SH BUGS
+If you make the nice very negative, then the process cannot be interrupted.
+To regain control you must put the nice back (e.g. to 0.)
diff --git a/usr/man/man8/restor.8 b/usr/man/man8/restor.8
new file mode 100644 (file)
index 0000000..629cd2c
--- /dev/null
@@ -0,0 +1,134 @@
+.TH RESTOR 8 
+.UC 4
+.SH NAME
+restor \- incremental file system restore
+.SH SYNOPSIS
+.B /etc/restor
+key [ argument ... ]
+.SH DESCRIPTION
+.I Restor
+is used to read magtapes dumped with the
+.I dump
+command.
+The
+.I key
+specifies what is to be done.
+.I Key
+is one of the characters
+.B rRxt
+optionally combined with
+.BR f .
+.TP
+.B  f
+Use the first
+.I argument
+as the name of the tape instead
+of the default.
+.TP
+.B  r or R
+The tape
+is read and loaded into the file system
+specified in
+.I argument.
+This should not be done lightly (see below).
+If the key is
+.B R
+.I restor
+asks which tape of a multi volume set to start on.
+This allows restor to be interrupted and then
+restarted (an
+.I icheck
+\-s must be done before restart).
+.TP
+.B  x
+Each file on the
+tape named by an 
+.I argument
+is extracted.
+The file extracted is placed in a file with a numeric name
+supplied by
+.I restor
+(actually the inode number).
+In order to keep the amount of tape read to a minimum,
+the following procedure is recommended:
+.IP
+Mount volume 1 of the set of dump tapes.
+.IP
+Type the
+.I restor
+command.
+.IP
+.I Restor
+will announce whether or not it found the files,
+give the number it will name the file, and rewind the tape.
+.IP
+It then
+asks you to `mount the desired tape volume'.
+Type the number of the volume you choose.
+On a
+multivolume dump the recommended procedure is to mount the
+last through the first volume in that order.
+.I Restor
+checks to see if any of the files requested are on the
+mounted tape (or a later tape, thus the reverse order) and doesn't
+read through the tape if no files are.
+If you are working with a single volume dump or the number of files
+being restored is large, respond to the query with `1' and
+.I restor
+will read the tapes in sequential order.
+.IP
+If you have a hierarchy to restore you can use
+.IR dumpdir (8)
+to produce the list of names and a shell script to move
+the resulting files to their homes.
+.TP
+.B t
+Print the date the tape was written and the date
+the filesystem was dumped from.
+.PP
+The
+.B r
+option should only be used to restore
+a complete dump tape onto a clear file system
+or to restore an incremental dump tape onto this.
+Thus
+.PP
+       /etc/mkfs /dev/rrp0g 145673
+.br
+       restor r /dev/rrp0g
+.PP
+is a typical sequence to restore a complete dump.
+Another
+.I restor
+can be done to get an incremental dump
+in on top of this.
+.PP
+A
+.I dump
+followed by a
+.I mkfs
+and a
+.I restor
+is used to
+change the size of a file system.
+.SH FILES
+default tape unit varies with installation
+.br
+rst*
+.SH "SEE ALSO"
+dump(8), mkfs(8), dumpdir(8)
+.SH DIAGNOSTICS
+There are various diagnostics
+involved with reading the tape and writing the disk.
+There are also diagnostics if the i-list or the free list
+of the file system is not large enough to hold the dump.
+.PP
+If the dump extends over more than one tape,
+it may ask you to change tapes.
+Reply with a new-line when the next tape has been mounted.
+.SH BUGS
+There is redundant information on the tape
+that could be used in case of tape reading problems.
+Unfortunately,
+.I restor
+doesn't use it.
diff --git a/usr/man/man8/sa.8 b/usr/man/man8/sa.8
new file mode 100644 (file)
index 0000000..edcb7e5
--- /dev/null
@@ -0,0 +1,141 @@
+.TH SA 8 4/20/80
+.UC 4
+.SH NAME
+sa, accton \- system accounting
+.SH SYNOPSIS
+.B /etc/sa
+[
+.B \-abcdDfijkKlnrstuv
+] [ file ]
+.PP
+.B /etc/accton 
+[ file ]
+.SH DESCRIPTION
+With an argument naming an existing
+.I file,
+.I accton
+causes system accounting information for
+every process executed to be placed at the end of the file.
+If no argument is given, accounting is turned off.
+.PP
+.I Sa
+reports on, cleans up, and generally maintains
+accounting files.
+.PP
+.I Sa
+is able to condense
+the information in
+.I /usr/adm/acct
+into a summary file
+.I /usr/adm/savacct
+which contains a count of the
+number of times each command was called and the time resources
+consumed.
+This condensation is desirable because on a large system
+.I /usr/adm/acct
+can grow by 100 blocks per day.
+The summary file is normally read before the accounting file,
+so the reports include all available information.
+.PP
+If a file name is given as the last argument,
+that file will be treated
+as the accounting file;
+.I /usr/adm/acct
+is the default.
+.PP
+Output fields are labelled: \*(lqcpu\*(rq for the sum of user+system time
+(in minutes), \*(lqre\*(rq for real time (also in minutes),
+\*(lqk\*(rq for cpu-time averaged core usage (in 1k units),
+\*(lqavio\*(rq for average number of i/o operations per execution.
+With options fields labelled \*(lqtio\*(rq for total i/o operations,
+\*(lqk*sec\*(rq for cpu storage integral (kilo-core seconds), \*(lqu\*(rq and \*(lqs\*(rq
+for user and system cpu time alone (both in minutes) will sometimes
+appear.
+.PP
+There are near a googol of options:
+.PP
+.TP
+a
+Place all command names containing unprintable characters
+and those used only once under the name `***other.'
+.TP
+b
+Sort output by sum of user and system time divided by number of
+calls.
+Default sort is by sum of user and system times.
+.TP
+c
+Besides total user, system, and real time for each command print percentage
+of total time over all commands.
+.TP
+d
+Sort by average number of disk i/o operations.
+.TP
+D
+Print and sort by total number of disk i/o operations.
+.TP
+f
+Force no interactive threshold compression with \-v flag.
+.TP
+i
+Don't read in summary file.
+.TP
+j
+Instead of total minutes time for each category,
+give seconds per call.
+.TP
+k
+Sort by cpu-time average memory usage.
+.TP
+K
+Print and sort by cpu-storage integral.
+.TP
+l
+Separate system and user time; normally they are combined.
+.TP
+m
+Print number of processes and number of CPU minutes for each user.
+.TP
+n
+Sort by number of calls.
+.TP
+r
+Reverse order of sort.
+.TP
+s
+Merge accounting file into summary file
+.I /usr/adm/savacct
+when done.
+.TP
+t
+For each command report ratio of real time to the sum of user and
+system times.
+.TP
+u
+Superseding all other flags,
+print for each command in the accounting file the
+user ID and command name.
+.TP
+v
+Followed by a number
+.I n,
+types the name of
+each command used
+.I n
+times or fewer.
+Await a reply from the terminal;
+if it begins with `y', add the command to
+the category `**junk**.'
+This is used to strip out garbage.
+.dt
+.SH FILES
+.ta 2i
+/usr/adm/acct  raw accounting
+.br
+/usr/adm/savacct       summary
+.br
+/usr/adm/usracct       per-user summary
+.SH "SEE ALSO"
+ac(8), acct(2)
+.SH BUGS
+The number of options to this program is absurd.
diff --git a/usr/man/man8/sticky.8 b/usr/man/man8/sticky.8
new file mode 100644 (file)
index 0000000..e9d9e1a
--- /dev/null
@@ -0,0 +1,44 @@
+.TH STICKY 8
+.UC 4
+.SH NAME
+sticky \- executable files with persistent text
+.SH DESCRIPTION
+While the `sticky bit', mode 01000 (see
+.IR chmod (2)),
+is set on a sharable executable file,
+the text of that file will not be removed from the system swap area.
+Thus the file does not have to be fetched from the file system
+upon each execution.
+As long as a copy remains in the swap area, the
+original text cannot be overwritten in the file system,
+nor can the file be deleted.
+(Directory entries can be removed so long as one link remains.)
+.PP
+Sharable files are made by the
+.B \-n
+and
+.B \-z
+options of
+.IR ld (1).
+.PP
+To replace a sticky file that has been used do:
+(1) Clear the sticky bit with
+.IR chmod (1).
+(2) Execute the old program to flush the swapped copy.
+This can be done safely even if others are using it.
+(3) Overwrite the sticky file.
+If the file is being executed by any process,
+writing will be prevented; it suffices to simply remove the file
+and then rewrite it, being careful to reset the owner and mode with
+.I chmod
+and
+.IR chown (2).
+(4) Set the sticky bit again.
+.PP
+Only the super-user can set the sticky bit.
+.SH BUGS
+Are self-evident.
+.PP
+Is largely unnecessary on the VAX; matters only for large programs that
+will page heavily to start, since text pages are normally cached incore
+as long as possible after all instances of a text image exit.
diff --git a/usr/man/man8/swapon.8 b/usr/man/man8/swapon.8
new file mode 100644 (file)
index 0000000..b002178
--- /dev/null
@@ -0,0 +1,42 @@
+.TH SWAPON 8
+.UC 4
+.SH NAME
+swapon \- specify additional device for paging and swapping
+.SH SYNOPSIS
+.B "/etc/swapon"
+.B \-a
+.br
+.B "/etc/swapon"
+name ...
+.SH DESCRIPTION
+.I Swapon
+is used to specify additional devices on which paging and swapping
+are to take place.
+The system begins by swapping and paging on only a single device
+so that only one disk is required at bootstrap time.
+Calls to
+.I swapon
+normally occur in the system multi-user initialization file
+.I /etc/rc
+making all swap devices available, so that the paging and swapping
+activity is interleaved across several devices.
+.PP
+Normally, the
+.B \-a
+argument is given, causing all devices marked as ``sw''
+swap devices in
+.B /etc/fstab
+to be made available.
+.PP
+The second form gives individual block devices as given
+in the system swap configuration table.  The call makes only this space
+available to the system for swap allocation.
+.SH SEE ALSO
+swapon(2), init(8)
+.SH FILES
+.DT
+/dev/[ru][pk]?b        normal paging devices
+.SH BUGS
+There is no way to stop paging and swapping on a device.
+It is therefore not possible to make use of devices which may be
+dismounted during system operation.
diff --git a/usr/man/man8/sync.8 b/usr/man/man8/sync.8
new file mode 100644 (file)
index 0000000..2983941
--- /dev/null
@@ -0,0 +1,23 @@
+.TH SYNC 8 
+.UC 4
+.SH NAME
+sync \- update the super block
+.SH SYNOPSIS
+.B sync
+.SH DESCRIPTION
+.I Sync
+executes the
+.I sync
+system primitive.
+.I Sync
+can be called to insure all disk writes have been completed before the
+processor is halted in a way not suitably done by
+.IR reboot (8)
+or
+.IR halt (8).
+.PP
+See
+.IR sync (2)
+for details on the system primitive.
+.SH "SEE ALSO"
+sync(2), halt(8), reboot(8), update(8)
diff --git a/usr/man/man8/update.8 b/usr/man/man8/update.8
new file mode 100644 (file)
index 0000000..0940221
--- /dev/null
@@ -0,0 +1,36 @@
+.TH UPDATE 8 
+.SH NAME
+update \- periodically update the super block
+.SH SYNOPSIS
+.B /etc/update
+.SH DESCRIPTION
+.I Update
+is a program that executes
+the
+.IR sync (2)
+primitive every 30 seconds.
+This insures that the file system
+is fairly up to date in case of a crash.
+This command should not be executed directly,
+but should be executed out of the
+initialization shell command file.
+.SH "SEE ALSO"
+sync(2), sync(1), init(8)
+.SH BUGS
+With
+.I update
+running,
+if the CPU is
+halted just as
+the
+.I sync
+is executed,
+a file system can be damaged.
+This is partially due to DEC hardware that
+writes zeros when NPR requests fail.
+A fix would be to have
+.IR sync (1)
+temporarily increment the system time by at
+least 30 seconds to trigger the execution of
+.I update.
+This would give 30 seconds grace to halt the CPU.
diff --git a/usr/man/man8/vipw.8 b/usr/man/man8/vipw.8
new file mode 100644 (file)
index 0000000..05f4645
--- /dev/null
@@ -0,0 +1,23 @@
+.TH VIPW 8
+.UC 4
+.SH NAME
+vipw \- edit the password file with vi
+.SH SYNOPSIS
+.B vipw
+.SH DESCRIPTION
+.I Vipw
+edits the password file while setting the appropriate locks,
+and does any necessary processing after the password file is unlocked.
+If the password file is already being edited, then you will be told
+to try again later
+.SH SEE ALSO
+chfn(1), chsh(1), passwd(1), passwd(5), adduser(8)
+.SH FILES
+/etc/vipw.lock
+.SH BUGS
+.I Vipw
+does not remove the vipw.lock file; this is not a bug, but people tend
+to think it is.
+.PP
+No one deals with left-over /etc/ptmp (the real lock) files after a system
+crash.
diff --git a/usr/man/man8/vpac.8 b/usr/man/man8/vpac.8
new file mode 100644 (file)
index 0000000..6acf1fc
--- /dev/null
@@ -0,0 +1,49 @@
+.TH VPAC 8 2/21/80
+.UC 4
+.SH NAME
+vpac \- print raster printer/ploter accounting information
+.SH SYNOPSIS
+.B /etc/vpac
+[
+.B \-W
+] [
+.B \-s
+] [
+.B \-r
+] [
+.B \-t
+] [ name ... ]
+.SH DESCRIPTION
+.I Vpac
+reads the raster printer/plotter accounting files, accumulating the number
+of pages (for narrow fan-fold devices) or feet (for wide, roll paper devices)
+of paper consumed by each user, and printing out
+how much each user consumed in pages or feet and dollars (billed at
+2 cents / page or 8 cents / foot).  If any
+.I names
+are specified, then statistics are only printed for those users;
+usually, statistics are printed for every user who has used any paper.
+.PP
+The
+.B \-W
+flag causes accounting to be done for a wide roll paper device.  The default is
+to do accounting for a narrow, fan-fold device.
+The
+.B \-t
+flag causes the output to be sorted by feet of paper; usually the
+output is sorted alphabetically by name.  The
+.B \-r
+flag reverses the sorting order.
+The
+.B \-s
+flag causes the accounting information to be summarized on the
+summary accounting file; this summarization is necessary since on a
+busy system, the accounting file can grow by several lines per day.
+.SH FILES
+.ta 2i
+/usr/adm/v?acct        raw accounting files
+.br
+/usr/adm/v?_sum        summary accounting files
+.SH BUGS
+The relationship between the computed price and reality is
+as yet unknown.
diff --git a/usr/man/tocrc b/usr/man/tocrc
new file mode 100755 (executable)
index 0000000..42fc553
--- /dev/null
@@ -0,0 +1,75 @@
+tmp=/tmp/toc$$
+troff=vtroff
+trap "rm $tmp ; exit" 2 3 15
+if [ $# -eq 2 ]
+then
+       : create toc input file for one section only
+
+       ( cd man$1 ; /usr/lib/getNAME -t *.* |
+               sed \
+                       -e 's/.s-1//g' \
+                       -e 's/.s0//g' \
+                       -e 's/.s+1//g' \
+                       -e 's/  *.-  */: /' \
+                       -e 's/$/./' \
+                       -e 's/.TH.*     //' \
+               > ../man0/tocx$1
+       )
+else case $1 in
+       all )
+               :   tocx files for all sections and everything else
+
+               for x in 1 2 3 4 5 6 7 8
+                       do
+                       ./$0 $x $x
+                       done
+               ./$0 t
+               ;;
+       t )
+               :   permuted index and toc files
+
+               if [ ! -f man0/tocx1 ]
+               then
+                       echo "tocx? files missing; must run tocrc all first"
+                       exit
+               fi
+               sed \
+                       -e 's/(1c)/(1C)/' \
+                       -e 's/(1m)/(1M)/' \
+                       -e 's/(1g)/(1G)/' \
+                       -e 's/(3c)/(3C)/' \
+                       -e 's/(3m)/(3M)/' \
+                       -e 's/(3s)/(3S)/' \
+                       -e '/"\."/d' \
+                       man0/tocx? man0/cshcmd \
+               > /tmp/cattoc
+
+               ptx -r -t -b break -f -w 108 -i man0/ignore \
+                   /tmp/cattoc man0/ptxx
+
+               for x in 1 2 3 4 5 6 7 8
+               do
+                       < man0/tocx$x grep '^intro' >$tmp
+                               sed \
+                               -e '2,${' \
+                               -e '/^intro/d' \
+                               -e '}' \
+                               -e 's/ .*://' \
+                               -e 's/.$//' \
+                               -e 's/([^)]*) /" "/' \
+                               -e 's/.*/.xx "&"/' \
+                               -e '/""/d' \
+                               $tmp man0/tocx$x \
+                       >man0/toc$x
+               done
+               ;;
+       tr )
+               cd man0; $troff ptx.in ; cd ..
+               cd man0 ; $troff toc.in  ; cd ..
+               ;;
+       * )
+               ./$0 $1 $1
+               ;;
+       esac
+fi
+exit