BSD 3 development
authorBill Joy <wnj@ucbvax.Berkeley.EDU>
Mon, 12 Feb 1979 13:35:10 +0000 (05:35 -0800)
committerBill Joy <wnj@ucbvax.Berkeley.EDU>
Mon, 12 Feb 1979 13:35:10 +0000 (05:35 -0800)
Work on file usr/man/man0/xx
Work on file usr/man/man1/ac.1m
Work on file usr/man/man1/accton.1
Work on file usr/man/man1/awk.1
Work on file usr/man/man1/clri.1m
Work on file usr/man/man1/ar.1
Work on file usr/man/man1/cp.1
Work on file usr/man/man1/cal.1
Work on file usr/man/man1/call.1c
Work on file usr/man/man1/calendar.1
Work on file usr/man/man1/chown.1
Work on file usr/man/man1/bc.1
Work on file usr/man/man1/chgrp.1
Work on file usr/man/man1/cb.1
Work on file usr/man/man1/col.1
Work on file usr/man/man1/chmod.1
Work on file usr/man/man1/basename.1
Work on file usr/man/man1/comm.1
Work on file usr/man/man1/cmp.1
Work on file usr/man/man1/diffh.1
Work on file usr/man/man1/dc.1
Work on file usr/man/man1/dcheck.1m
Work on file usr/man/man1/date.1
Work on file usr/man/man1/deroff.1
Work on file usr/man/man1/dump.1m
Work on file usr/man/man1/diff3.1
Work on file usr/man/man1/dd.1
Work on file usr/man/man1/diff.1
Work on file usr/man/man1/crypt.1
Work on file usr/man/man1/df.1m
Work on file usr/man/man1/find.1
Work on file usr/man/man1/icheck.1m
Work on file usr/man/man1/kill.1
Work on file usr/man/man1/egrep.1
Work on file usr/man/man1/fgrep.1
Work on file usr/man/man1/graph.1g
Work on file usr/man/man1/file.1
Work on file usr/man/man1/false.1
Work on file usr/man/man1/join.1
Work on file usr/man/man1/expr.1
Work on file usr/man/man1/fed.1
Work on file usr/man/man1/lookbib.1
Work on file usr/man/man1/lex.1
Work on file usr/man/man1/lorder.1
Work on file usr/man/man1/lint.1
Work on file usr/man/man1/look.1
Work on file usr/man/man1/m4.1
Work on file usr/man/man1/mkfs.1m
Work on file usr/man/man1/passwd.1
Work on file usr/man/man1/nroff.1
Work on file usr/man/man1/make.1
Work on file usr/man/man1/ncheck.1m
Work on file usr/man/man1/neqn.1
Work on file usr/man/man1/mknod.1m
Work on file usr/man/man1/mount.1m
Work on file usr/man/man1/plot.1g
Work on file usr/man/man1/pwd.1
Work on file usr/man/man1/refer.1
Work on file usr/man/man1/prof.1
Work on file usr/man/man1/quot.1m
Work on file usr/man/man1/ratfor.1
Work on file usr/man/man1/ptx.1
Work on file usr/man/man1/rev.1
Work on file usr/man/man1/sleep.1
Work on file usr/man/man1/rm.1
Work on file usr/man/man1/spline.1g
Work on file usr/man/man1/sed.1
Work on file usr/man/man1/rmdir.1
Work on file usr/man/man1/size.1
Work on file usr/man/man1/struct.1
Work on file usr/man/man1/split.1
Work on file usr/man/man1/sort.1
Work on file usr/man/man1/tail.1
Work on file usr/man/man1/touch.1
Work on file usr/man/man1/tk.1
Work on file usr/man/man1/sync.1m
Work on file usr/man/man1/tbl.1
Work on file usr/man/man1/tee.1
Work on file usr/man/man1/sum.1
Work on file usr/man/man1/tc.1
Work on file usr/man/man1/time.1
Work on file usr/man/man1/tabs.1
Work on file usr/man/man1/tr.1
Work on file usr/man/man1/troff.1
Work on file usr/man/man1/units.1
Work on file usr/man/man1/tty.1
Work on file usr/man/man1/uniq.1
Work on file usr/man/man1/true.1
Work on file usr/man/man1/uux.1c
Work on file usr/man/man1/tsort.1
Work on file usr/man/man1/wc.1
Work on file usr/man/man1/yacc.1
Work on file usr/man/man2/chmod.2
Work on file usr/man/man2/chdir.2
Work on file usr/man/man2/alarm.2
Work on file usr/man/man2/chown.2
Work on file usr/man/man2/acct.2
Work on file usr/man/man2/exit.2
Work on file usr/man/man2/access.2
Work on file usr/man/man2/pipe.2
Work on file usr/man/man2/intro.2
Work on file usr/man/man2/open.2
Work on file usr/man/man2/mount.2
Work on file usr/man/man2/getuid.2
Work on file usr/man/man2/pause.2
Work on file usr/man/man2/link.2
Work on file usr/man/man2/indir.2
Work on file usr/man/man2/profil.2
Work on file usr/man/man2/nice.2
Work on file usr/man/man2/ioctl.2
Work on file usr/man/man2/lseek.2
Work on file usr/man/man2/mknod.2
Work on file usr/man/man2/stat.2
Work on file usr/man/man2/time.2
Work on file usr/man/man2/signal.2
Work on file usr/man/man2/times.2
Work on file usr/man/man2/umask.2
Work on file usr/man/man2/sync.2
Work on file usr/man/man2/stime.2
Work on file usr/man/man2/unlink.2
Work on file usr/man/man2/utime.2
Work on file usr/man/man2/wait.2
Work on file usr/man/man2/setuid.2
Work on file usr/man/man3/abort.3
Work on file usr/man/man3/fopen.3s
Work on file usr/man/man3/ecvt.3
Work on file usr/man/man3/atof.3
Work on file usr/man/man3/fread.3s
Work on file usr/man/man3/fclose.3s
Work on file usr/man/man3/abs.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/floor.3m
Work on file usr/man/man3/end.3
Work on file usr/man/man3/crypt.3
Work on file usr/man/man3/ferror.3s
Work on file usr/man/man3/gets.3s
Work on file usr/man/man3/getlogin.3
Work on file usr/man/man3/getgrent.3
Work on file usr/man/man3/gamma.3m
Work on file usr/man/man3/getpass.3
Work on file usr/man/man3/getc.3s
Work on file usr/man/man3/getpw.3
Work on file usr/man/man3/fseek.3s
Work on file usr/man/man3/getenv.3
Work on file usr/man/man3/puts.3s
Work on file usr/man/man3/putc.3s
Work on file usr/man/man3/plot.3x
Work on file usr/man/man3/sin.3m
Work on file usr/man/man3/rand.3
Work on file usr/man/man3/setbuf.3s
Work on file usr/man/man3/mktemp.3
Work on file usr/man/man3/l3tol.3
Work on file usr/man/man3/j0.3m
Work on file usr/man/man3/monitor.3
Work on file usr/man/man3/malloc.3
Work on file usr/man/man3/setjmp.3
Work on file usr/man/man3/perror.3
Work on file usr/man/man3/hypot.3m
Work on file usr/man/man3/scanf.3s
Work on file usr/man/man3/popen.3s
Work on file usr/man/man3/intro.3
Work on file usr/man/man3/qsort.3
Work on file usr/man/man3/printf.3s
Work on file usr/man/man3/ttyname.3
Work on file usr/man/man3/string.3
Work on file usr/man/man3/stdio.3s
Work on file usr/man/man3/ungetc.3s
Work on file usr/man/man3/sinh.3m
Work on file usr/man/man3/sleep.3
Work on file usr/man/man3/swab.3
Work on file usr/man/man4/kl.4
Work on file usr/man/man4/null.4
Work on file usr/man/man4/cat.4
Work on file usr/man/man4/kmem.4
Work on file usr/man/man4/ht.4
Work on file usr/man/man4/lp.4
Work on file usr/man/man5/ttys.5
Work on file usr/man/man5/acct.5
Work on file usr/man/man5/plot.5
Work on file usr/man/man5/types.5
Work on file usr/man/man5/ar.5
Work on file usr/man/man5/dir.5
Work on file usr/man/man5/core.5
Work on file usr/man/man5/group.5
Work on file usr/man/man5/wtmp.5
Work on file usr/man/man5/mtab.5
Work on file usr/man/man5/utmp.5
Work on file usr/man/man6/hangman.6
Work on file usr/man/man6/bcd.6
Work on file usr/man/man6/ching.6
Work on file usr/man/man6/wump.6
Work on file usr/man/man6/backgammon.6
Work on file usr/man/man6/quiz.6
Work on file usr/man/man6/arithmetic.6
Work on file usr/man/man7/ascii.7
Work on file usr/man/man7/greek.7
Work on file usr/man/man7/ms.7
Work on file usr/man/man7/man.7
Work on file usr/man/man8/cron.8
Work on file usr/man/man8/makekey.8
Work on file usr/man/man8/update.8
Work on file usr/man/man8/sticky.8

Synthesized-from: 3bsd

204 files changed:
usr/man/man0/xx [new file with mode: 0644]
usr/man/man1/ac.1m [new file with mode: 0644]
usr/man/man1/accton.1 [new file with mode: 0644]
usr/man/man1/ar.1 [new file with mode: 0644]
usr/man/man1/awk.1 [new file with mode: 0644]
usr/man/man1/basename.1 [new file with mode: 0644]
usr/man/man1/bc.1 [new file with mode: 0644]
usr/man/man1/cal.1 [new file with mode: 0644]
usr/man/man1/calendar.1 [new file with mode: 0644]
usr/man/man1/call.1c [new file with mode: 0644]
usr/man/man1/cb.1 [new file with mode: 0644]
usr/man/man1/chgrp.1 [new file with mode: 0644]
usr/man/man1/chmod.1 [new file with mode: 0644]
usr/man/man1/chown.1 [new file with mode: 0644]
usr/man/man1/clri.1m [new file with mode: 0644]
usr/man/man1/cmp.1 [new file with mode: 0644]
usr/man/man1/col.1 [new file with mode: 0644]
usr/man/man1/comm.1 [new file with mode: 0644]
usr/man/man1/cp.1 [new file with mode: 0644]
usr/man/man1/crypt.1 [new file with mode: 0644]
usr/man/man1/date.1 [new file with mode: 0644]
usr/man/man1/dc.1 [new file with mode: 0644]
usr/man/man1/dcheck.1m [new file with mode: 0644]
usr/man/man1/dd.1 [new file with mode: 0644]
usr/man/man1/deroff.1 [new file with mode: 0644]
usr/man/man1/df.1m [new file with mode: 0644]
usr/man/man1/diff.1 [new file with mode: 0644]
usr/man/man1/diff3.1 [new file with mode: 0644]
usr/man/man1/diffh.1 [new file with mode: 0644]
usr/man/man1/dump.1m [new file with mode: 0644]
usr/man/man1/egrep.1 [new file with mode: 0644]
usr/man/man1/expr.1 [new file with mode: 0644]
usr/man/man1/false.1 [new file with mode: 0644]
usr/man/man1/fed.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/graph.1g [new file with mode: 0644]
usr/man/man1/icheck.1m [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/lex.1 [new file with mode: 0644]
usr/man/man1/lint.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/m4.1 [new file with mode: 0644]
usr/man/man1/make.1 [new file with mode: 0644]
usr/man/man1/mkfs.1m [new file with mode: 0644]
usr/man/man1/mknod.1m [new file with mode: 0644]
usr/man/man1/mount.1m [new file with mode: 0644]
usr/man/man1/ncheck.1m [new file with mode: 0644]
usr/man/man1/neqn.1 [new file with mode: 0644]
usr/man/man1/nroff.1 [new file with mode: 0644]
usr/man/man1/passwd.1 [new file with mode: 0644]
usr/man/man1/plot.1g [new file with mode: 0644]
usr/man/man1/prof.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/quot.1m [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/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/sed.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/sort.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/struct.1 [new file with mode: 0644]
usr/man/man1/sum.1 [new file with mode: 0644]
usr/man/man1/sync.1m [new file with mode: 0644]
usr/man/man1/tabs.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/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/tr.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/tsort.1 [new file with mode: 0644]
usr/man/man1/tty.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/uux.1c [new file with mode: 0644]
usr/man/man1/wc.1 [new file with mode: 0644]
usr/man/man1/yacc.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/chdir.2 [new file with mode: 0644]
usr/man/man2/chmod.2 [new file with mode: 0644]
usr/man/man2/chown.2 [new file with mode: 0644]
usr/man/man2/exit.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/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/nice.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/setuid.2 [new file with mode: 0644]
usr/man/man2/signal.2 [new file with mode: 0644]
usr/man/man2/stat.2 [new file with mode: 0644]
usr/man/man2/stime.2 [new file with mode: 0644]
usr/man/man2/sync.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/wait.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/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/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/fopen.3s [new file with mode: 0644]
usr/man/man3/fread.3s [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/getc.3s [new file with mode: 0644]
usr/man/man3/getenv.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/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/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/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/printf.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/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/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/ttyname.3 [new file with mode: 0644]
usr/man/man3/ungetc.3s [new file with mode: 0644]
usr/man/man4/cat.4 [new file with mode: 0644]
usr/man/man4/ht.4 [new file with mode: 0644]
usr/man/man4/kl.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/null.4 [new file with mode: 0644]
usr/man/man5/acct.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/group.5 [new file with mode: 0644]
usr/man/man5/mtab.5 [new file with mode: 0644]
usr/man/man5/plot.5 [new file with mode: 0644]
usr/man/man5/ttys.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/wtmp.5 [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/bcd.6 [new file with mode: 0644]
usr/man/man6/ching.6 [new file with mode: 0644]
usr/man/man6/hangman.6 [new file with mode: 0644]
usr/man/man6/quiz.6 [new file with mode: 0644]
usr/man/man6/wump.6 [new file with mode: 0644]
usr/man/man7/ascii.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/ms.7 [new file with mode: 0644]
usr/man/man8/cron.8 [new file with mode: 0644]
usr/man/man8/makekey.8 [new file with mode: 0644]
usr/man/man8/sticky.8 [new file with mode: 0644]
usr/man/man8/update.8 [new file with mode: 0644]

diff --git a/usr/man/man0/xx b/usr/man/man0/xx
new file mode 100644 (file)
index 0000000..228de3d
--- /dev/null
@@ -0,0 +1,8 @@
+.TH NAME SECTION local
+.SH NAME
+.SH SYNOPSIS
+.SH DESCRIPTION
+.SH FILES
+.SH SEE ALSO
+.SH DIAGNOSTICS
+.SH BUGS
diff --git a/usr/man/man1/ac.1m b/usr/man/man1/ac.1m
new file mode 100644 (file)
index 0000000..73bf29a
--- /dev/null
@@ -0,0 +1,58 @@
+.TH AC 1M 
+.SH NAME
+ac \- login accounting
+.SH SYNOPSIS
+.B 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), login(1), utmp(5).
diff --git a/usr/man/man1/accton.1 b/usr/man/man1/accton.1
new file mode 100644 (file)
index 0000000..e0a6892
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/sa.1m
diff --git a/usr/man/man1/ar.1 b/usr/man/man1/ar.1
new file mode 100644 (file)
index 0000000..fd1426f
--- /dev/null
@@ -0,0 +1,131 @@
+.TH AR 1 
+.SH NAME
+ar \- archive and library maintainer
+.SH SYNOPSIS
+.B ar
+key [ posname ] afile name ...
+.SH DESCRIPTION
+.I Ar
+maintains groups of files
+combined into a single archive file.
+Its main use
+is to create and update library files as used by the loader.
+It can be used, though, for any similar purpose.
+.PP
+.I Key
+is one character from the set
+.B drqtpmx,
+optionally concatenated with
+one or more of
+.B vuaibcl.
+.I Afile
+is the archive file.
+The
+.I names
+are constituent files in the archive file.
+The meanings of the
+.I key
+characters are:
+.TP
+.B d
+Delete the named files from the archive file.
+.TP
+.B r
+Replace the named files in the archive file.
+If the optional character
+.B u
+is used with
+.B r,
+then only those files with
+modified dates later than
+the archive files are replaced.
+If an optional positioning character from the set
+.B abi
+is used, then the
+.I posname
+argument must be present
+and specifies that new files are to be placed
+after
+.RB ( a )
+or before
+.RB ( b
+or
+.BR i )
+.IR posname .
+Otherwise
+new files are placed at the end.
+.TP
+.B q
+Quickly append the named files to the end of the archive file.
+Optional positioning characters are invalid.
+The command does not check whether the added members
+are already in the archive.
+Useful only to avoid quadratic behavior when creating a large
+archive piece-by-piece.
+.TP
+.B t
+Print a table of contents of the archive file.
+If no names are given, all files in the archive are tabled.
+If names are given, only those files are tabled.
+.TP
+.B p
+Print the named files in the archive.
+.TP
+.B m
+Move the named files to the end of the archive.
+If a positioning character is present,
+then the
+.I posname
+argument must be present and,
+as in
+.B r,
+specifies where the files are to be moved.
+.TP
+.B x
+Extract the named files.
+If no names are given, all files in the archive are
+extracted.
+In neither case does
+.B x
+alter the archive file.
+.TP
+.B v
+Verbose.
+Under the verbose option,
+.I ar
+gives a file-by-file
+description of the making of a
+new archive file from the old archive and the constituent files.
+When used with
+.B t,
+it gives a long listing of all information about the files.
+When used with
+.BR p ,
+it precedes each file with a name.
+.TP
+.B c
+Create.
+Normally
+.I ar
+will create
+.I afile
+when it needs to.
+The create option suppresses the
+normal message that is produced when
+.I afile
+is created.
+.TP
+.B l
+Local.
+Normally
+.I ar
+places its temporary files in the directory /tmp.
+This option causes them to be placed in the local directory.
+.SH FILES
+/tmp/v*        temporaries
+.SH "SEE ALSO"
+ld(1), ar(5),
+lorder(1)
+.SH BUGS
+If the same file is mentioned twice in an argument list,
+it may be put in the archive twice.
diff --git a/usr/man/man1/awk.1 b/usr/man/man1/awk.1
new file mode 100644 (file)
index 0000000..f40daf2
--- /dev/null
@@ -0,0 +1,237 @@
+.TH AWK 1 
+.SH NAME
+awk \- pattern scanning and processing language
+.SH SYNOPSIS
+.B awk
+[
+.BI \-F c
+]
+[ prog ] [ file ] ...
+.SH DESCRIPTION
+.I Awk
+scans each input
+.I file
+for lines that match any of a set of patterns specified in
+.IR prog .
+With each pattern in
+.I prog
+there can be an associated action that will be performed
+when a line of a
+.I file
+matches the pattern.
+The set of patterns may appear literally as
+.I prog,
+or in a file
+specified as
+.B \-f
+.IR file .
+.PP
+Files are read in order;
+if there are no files, the standard input is read.
+The file name `\-'
+means the standard input.
+Each line is matched against the
+pattern portion of every pattern-action statement;
+the associated action is performed for each matched pattern.
+.PP
+An input line is made up of fields separated by white space.
+(This default can be changed by using FS,
+.IR "vide infra" ".)"
+The fields are denoted $1, $2, ... ;
+$0 refers to the entire line.
+.PP
+.PP
+A pattern-action statement has the form
+.PP
+       pattern { action }
+.PP
+A missing { action } means print the line;
+a missing pattern always matches.
+.PP
+An action is a sequence of statements.
+A statement can be one of the following:
+.PP
+.nf
+       if ( conditional ) statement [ else statement ]
+       while ( conditional ) statement
+       for ( expression ; conditional ; expression ) statement
+       break
+       continue
+       { [ statement ] ... }
+       variable = expression
+       print [ expression-list ] [ >expression ]
+       printf format [ , expression-list ] [ >expression ]
+       next    # skip remaining patterns on this input line 
+       exit    # skip the rest of the input
+.fi
+.PP
+Statements are terminated by
+semicolons, newlines or right braces.
+An empty expression-list stands for the whole line.
+Expressions take on string or numeric values as appropriate,
+and are built using the operators
++, \-, *, /, %,  and concatenation (indicated by a blank).
+The C operators ++, \-\-, +=, \-=, *=, /=, and %=
+are also available in expressions.
+Variables may be scalars, array elements
+(denoted
+x[i])
+or fields.
+Variables are initialized to the null string.
+Array subscripts may be any string,
+not necessarily numeric;
+this allows for a form of associative memory.
+String constants are quoted "...".
+.PP
+The 
+.I print
+statement prints its arguments on the standard output
+(or on a file if 
+.I >file
+is present), separated by the current output field separator,
+and terminated by the output record separator.
+The
+.I printf
+statement formats its expression list according to the format
+(see
+.IR printf (3)).
+.PP
+The built-in function
+.I length
+returns the length of its argument
+taken as a string,
+or of the whole line if no argument.
+There are also built-in functions
+.I exp,
+.I log,
+.I sqrt,
+and
+.IR int .
+The last truncates its argument to an integer.
+.IR substr(s,\ m,\ n)
+returns the 
+.IR n -character
+substring of
+.I s
+that begins at position
+.IR m .
+The function
+.IR sprintf(fmt,\ expr,\ expr,\ ...)
+formats the expressions
+according to the
+.IR printf (3)
+format given by
+.I fmt
+and returns the resulting string.
+.PP
+Patterns are arbitrary Boolean combinations
+(!, \(or\(or, &&, and parentheses) of 
+regular expressions and
+relational expressions.
+Regular expressions must be surrounded
+by slashes and are as in
+.IR egrep .
+Isolated regular expressions
+in a pattern apply to the entire line.
+Regular expressions may also occur in
+relational expressions.
+.PP
+A pattern may consist of two patterns separated by a comma;
+in this case, the action is performed for all lines
+between an occurrence of the first pattern
+and the next occurrence of the second.
+.PP
+.nf
+A relational expression is one of the following:
+.PP
+.nf
+       expression matchop regular-expression
+       expression relop expression
+.PP
+.fi
+where a relop is any of the six relational operators in C,
+and a matchop is either ~ (for contains)
+or !~ (for does not contain).
+A conditional is an arithmetic expression,
+a relational expression,
+or a Boolean combination
+of these.
+.PP
+The special patterns
+BEGIN
+and
+END
+may be used to capture control before the first input line is read
+and after the last.
+BEGIN must be the first pattern, END the last.
+.PP
+A single character
+.I c
+may be used to separate the fields by starting
+the program with
+.PP
+       BEGIN { FS = "c" }
+.PP
+or by using the
+.BI \-F c
+option.
+.PP
+Other variable names with special meanings
+include NF, the number of fields in the current record;
+NR, the ordinal number of the current record;
+FILENAME, the name of the current input file;
+OFS, the output field separator (default blank);
+ORS, the output record separator (default newline);
+and
+OFMT, the output format for numbers (default "%.6g").
+.PP
+.SH EXAMPLES
+.PP
+Print lines longer than 72 characters:
+.PP
+.nf
+       length > 72
+.fi
+.PP
+Print first two fields in opposite order:
+.PP
+.nf
+       { print $2, $1 }
+.fi
+.PP
+Add up first column, print sum and average:
+.PP
+.nf
+               { s += $1 }
+       END     { print "sum is", s, " average is", s/NR }
+.fi
+.PP
+Print fields in reverse order:
+.PP
+.nf
+       { for (i = NF; i > 0; \-\-i) print $i }
+.fi
+.PP
+Print all lines between start/stop pairs:
+.PP
+.nf
+       /start/, /stop/
+.fi
+.PP
+Print all lines whose first field is different from previous one:
+.PP
+.nf
+       $1 != prev { print; prev = $1 }
+.fi
+.SH SEE ALSO
+.PP
+lex(1), sed(1)
+.br
+A. V. Aho, B. W. Kernighan, P. J. Weinberger,
+.I
+Awk \- a pattern scanning and processing language
+.SH BUGS
+There are no explicit conversions between numbers and strings.
+To force an expression to be treated as a number add 0 to it;
+to force it to be treated as a string concatenate ""
+to it.
diff --git a/usr/man/man1/basename.1 b/usr/man/man1/basename.1
new file mode 100644 (file)
index 0000000..661f3c9
--- /dev/null
@@ -0,0 +1,29 @@
+.TH BASENAME 1 
+.SH NAME
+basename \- strip filename affixes
+.SH SYNOPSIS
+.B basename
+string [ suffix ]
+.SH DESCRIPTION
+.I Basename
+deletes any prefix ending in `/' and the
+.I suffix,
+if present in
+.I string,
+from
+.I string,
+and prints the result on the standard output.
+It is normally used inside substitution marks \`\ \`
+in shell procedures.
+.PP
+This shell procedure invoked with the argument
+.I /usr/src/cmd/cat.c
+compiles the named file and moves the output to
+.I cat
+in the current directory:
+.IP "" 15n
+cc $1
+.br
+mv a.out \`basename $1 .c\`
+.SH "SEE ALSO"
+sh(1)
diff --git a/usr/man/man1/bc.1 b/usr/man/man1/bc.1
new file mode 100644 (file)
index 0000000..b2c24dd
--- /dev/null
@@ -0,0 +1,193 @@
+.TH BC 1 
+.SH NAME
+bc \- arbitrary-precision arithmetic language
+.SH SYNOPSIS
+.B bc
+[
+.B \-c
+] [
+.B \-l
+] [ file ... ]
+.SH DESCRIPTION
+.I Bc
+is an interactive processor for a language which resembles
+C but provides unlimited precision arithmetic.
+It takes input from any files given, then reads
+the standard input.
+The
+.B \-l
+argument stands for the name
+of an arbitrary precision math library.
+The syntax for 
+.I bc
+programs is as follows;
+L means letter a-z,
+E means expression, S means statement.
+.HP 6
+Comments
+.br
+are enclosed in /* and */.
+.HP 6
+Names
+.br
+simple variables: L
+.br
+array elements: L [ E ]
+.br
+The words `ibase', `obase', and `scale'
+.HP 6
+Other operands
+.br
+arbitrarily long numbers with optional sign and decimal point.
+.br
+( E )
+.br
+sqrt ( E )
+.br
+length ( E )   number of significant decimal digits
+.br
+scale ( E )    number of digits right of decimal point
+.br
+L ( E , ... , E )
+.HP 6
+Operators
+.br
++  \-  *  /  %  ^
+(% is remainder; ^ is power)
+.br
+++   \-\-         (prefix and postfix; apply to names)
+.br
+==  <=  >=  !=  <  >
+.br
+=  =+  =\-  =*  =/  =%  =^
+.br
+.HP 6
+Statements
+.br
+E
+.br
+{ S ; ... ; S }
+.br
+if ( E ) S
+.br
+while ( E ) S
+.br
+for ( E ; E ; E ) S
+.br
+null statement
+.br
+break
+.br
+quit
+.HP 6
+Function definitions
+.br
+define L ( L ,..., L ) {
+.br
+       auto L, ... , L
+.br
+       S; ... S
+.br
+       return ( E )
+.br
+}
+.HP 6
+Functions in 
+.B \-l
+math library
+.br
+s(x)   sine
+.br
+c(x)   cosine
+.br
+e(x)   exponential
+.br
+l(x)   log
+.br
+a(x)   arctangent
+.br
+j(n,x) Bessel function
+.PP
+.DT
+All function arguments are passed by value.
+.PP
+The value of a statement that is an expression is printed
+unless the main operator is an assignment.
+Either semicolons or newlines may separate statements.
+Assignment to
+.I scale
+influences the number of digits to be retained on arithmetic
+operations in the manner of
+.IR dc (1).
+Assignments to
+.I ibase
+or
+.I obase
+set the input and output number radix respectively.
+.PP
+The same letter may be used as an array, a function,
+and a simple variable simultaneously.
+All variables are global to the program.
+`Auto' variables are pushed down during function calls.
+When using arrays as function arguments
+or defining them as automatic variables
+empty square brackets must follow the array name.
+.PP
+For example
+.PP
+.nf
+scale = 20
+define e(x){
+       auto a, b, c, i, s
+       a = 1
+       b = 1
+       s = 1
+       for(i=1; 1==1; i++){
+               a = a*x
+               b = b*i
+               c = a/b
+               if(c == 0) return(s)
+               s = s+c
+       }
+}
+.PP
+.fi
+defines a function to compute an approximate value of
+the exponential function and
+.PP
+.nf
+       for(i=1; i<=10; i++) e(i)
+.fi
+.PP
+prints approximate values of the exponential function of
+the first ten integers.
+.PP
+.I Bc
+is actually a preprocessor for
+.IR dc (1),
+which it invokes automatically, unless the
+.B \-c
+(compile only)
+option is present.
+In this case the
+.I dc
+input is sent to the standard output instead.
+.SH FILES
+.ta \w'/usr/lib/lib.b 'u
+/usr/lib/lib.b mathematical library
+.br
+dc(1)  desk calculator proper
+.SH "SEE ALSO"
+dc(1)
+.br
+L. L. Cherry and R. Morris,
+.I
+BC \- An arbitrary precision desk-calculator language
+.SH BUGS
+No &&, \(or\|\(or, or ! operators.
+.br
+.I For
+statement must have all three E's.
+.br
+.I \11\11Quit
+is interpreted when read, not when executed.
diff --git a/usr/man/man1/cal.1 b/usr/man/man1/cal.1
new file mode 100644 (file)
index 0000000..d34b849
--- /dev/null
@@ -0,0 +1,27 @@
+.TH CAL 1 
+.SH NAME
+cal \- print calendar
+.SH SYNOPSIS
+.B cal
+[ month ] year
+.SH DESCRIPTION
+.I Cal
+prints a calendar for the specified year.
+If a month is also specified, a calendar
+just for that month is printed.
+.I Year
+can be between 1
+and 9999.
+The
+.I month
+is a number between 1 and 12.
+The calendar
+produced is that for England and her colonies.
+.PP
+Try September 1752.
+.SH BUGS
+The year is always considered to start in January even though this
+is historically naive.
+.br
+Beware that `cal 78' refers to the early Christian era,
+not the 20th century.
diff --git a/usr/man/man1/calendar.1 b/usr/man/man1/calendar.1
new file mode 100644 (file)
index 0000000..79444b1
--- /dev/null
@@ -0,0 +1,44 @@
+.TH CALENDAR 1 
+.SH NAME
+calendar \- reminder service
+.SH SYNOPSIS
+.B calendar
+[ \- ]
+.SH DESCRIPTION
+.I Calendar 
+consults the file `calendar' in the current directory
+and prints out lines that contain today's or
+tomorrow's date anywhere in the line.
+Most reasonable month-day dates such as `Dec. 7,'
+`december 7,' `12/7,' etc., are recognized, but not
+`7 December' or `7/12'.
+On weekends `tomorrow' extends through Monday.
+.PP
+When 
+an argument is present,
+.I calendar
+does its job for every user
+who has a file `calendar' in his login directory
+and sends him any positive results by
+.IR mail (1).
+Normally this is done daily in the wee hours under control of
+.IR cron (8).
+.SH FILES
+calendar
+.br
+/usr/lib/calendar to figure out today's and tomorrow's dates
+.br
+/etc/passwd
+.br
+/tmp/cal*
+.br
+egrep, sed, mail subprocesses
+.SH "SEE ALSO"
+at(1), cron(8), mail(1)
+.SH BUGS
+Your calendar must be public information for you
+to get reminder service.
+.br
+.I Calendar's
+extended idea of `tomorrow' doesn't account for
+holidays.
diff --git a/usr/man/man1/call.1c b/usr/man/man1/call.1c
new file mode 100644 (file)
index 0000000..9f4ae99
--- /dev/null
@@ -0,0 +1,19 @@
+.TH CALL 1C 
+.SH NAME
+call \- ring a telephone
+.SH SYNOPSIS
+.B call
+phonenumber
+.SH DESCRIPTION
+.I Call
+places an outgoing call to the specified
+.IR phonenumber .
+Nothing special happens when the called party answers.
+.I Phonenumber
+may have any number of digits;
+a `+' sign may be used to specify a point at
+which to wait for a second dial tone.
+.SH FILES
+/dev/dn0
+.SH "SEE ALSO"
+cu(1), dn(5)
diff --git a/usr/man/man1/cb.1 b/usr/man/man1/cb.1
new file mode 100644 (file)
index 0000000..cf68591
--- /dev/null
@@ -0,0 +1,11 @@
+.TH CB 1
+.SH NAME
+cb \- C program beautifier
+.SH SYNOPSIS
+.B cb
+.SH DESCRIPTION
+.I Cb
+places a copy of the C program from the standard input
+on the standard output with spacing and indentation
+that displays the structure of the program.
+.SH BUGS
diff --git a/usr/man/man1/chgrp.1 b/usr/man/man1/chgrp.1
new file mode 100644 (file)
index 0000000..2e84909
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/chown.1
diff --git a/usr/man/man1/chmod.1 b/usr/man/man1/chmod.1
new file mode 100644 (file)
index 0000000..dc61d36
--- /dev/null
@@ -0,0 +1,172 @@
+.TH CHMOD 1 
+.SH NAME
+chmod \- change mode
+.SH SYNOPSIS
+.B chmod
+mode file ...
+.SH DESCRIPTION
+The mode of
+each named file
+is changed
+according to
+.I mode,
+which may be absolute or symbolic.
+An absolute
+.I mode
+is an octal
+number constructed
+from the OR of the
+following modes:
+.TP 10
+4000
+set user ID on execution
+.br
+.br
+.ns
+.TP 10
+2000
+set group ID on execution
+.br
+.br
+.ns
+.TP 10
+1000
+sticky bit, see
+.IR  chmod (2)
+.br
+.br
+.ns
+.TP 10
+0400
+read by owner
+.br
+.br
+.ns
+.TP 10
+0200
+write by owner
+.br
+.br
+.ns
+.TP 10
+0100
+execute (search in directory) by owner
+.br
+.br
+.ns
+.TP 10
+0070
+read, write, execute (search) by group
+.br
+.br
+.ns
+.TP 10
+0007
+read, write, execute (search) by others
+.PP
+A symbolic
+.I mode
+has the form:
+.IP
+.RI [ who ]
+.I op permission
+.RI [ "op permission" "] ..."
+.PP
+The
+.I who
+part is a combination
+of the letters 
+.B u
+(for user's permissions),
+.B g
+(group)
+and
+.B o
+(other).
+The letter
+.B a
+stands for
+.B ugo.
+If
+.I who
+is omitted,
+the default is
+.I a
+but the setting of
+the file creation mask
+(see umask(2))
+is taken into account.
+.PP
+.I Op
+can be
+.B +
+to add
+.I permission
+to the file's mode,
+.B \-
+to take away
+.I permission
+and
+.B =
+to assign
+.I permission
+absolutely
+(all other bits will
+be reset).
+.PP
+.I Permission
+is any combination of the letters
+.B r
+(read),
+.B w
+(write),
+.B x
+(execute),
+.B s
+(set owner or group id)
+and
+.B t
+(save text \- sticky).
+Letters
+.BR u,
+.B g
+or
+.B o
+indicate that
+.I permission
+is to be taken
+from the current
+mode.
+Omitting
+.I permission
+is only useful
+with
+.B =
+to take away
+all permissions.
+.PP
+The first example denies write permission to others,
+the second makes a file executable:
+.IP
+chmod o\-w file
+.br
+chmod +x file
+.PP
+Multiple symbolic modes separated by commas may be given.
+Operations are performed
+in the order specified.
+The letter
+.B s
+is only useful
+with
+.B u
+or
+.B g.
+.PP
+Only the owner of a file (or the super-user) may change its mode.
+.SH "SEE ALSO"
+ls(1),
+chmod(2),
+chown (1),
+stat(2),
+umask(2)
diff --git a/usr/man/man1/chown.1 b/usr/man/man1/chown.1
new file mode 100644 (file)
index 0000000..7be9fe5
--- /dev/null
@@ -0,0 +1,35 @@
+.TH CHOWN 1 
+.SH NAME
+chown, chgrp \- change owner or group
+.SH SYNOPSIS
+.B chown
+owner file ...
+.PP
+.B 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/man1/clri.1m b/usr/man/man1/clri.1m
new file mode 100644 (file)
index 0000000..5754b92
--- /dev/null
@@ -0,0 +1,44 @@
+.TH CLRI 1M 
+.SH NAME
+clri \- clear i-node
+.SH SYNOPSIS
+.B clri
+filesystem i-number ...
+.SH DESCRIPTION
+.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(1)
+.SH BUGS
+If the file is open,
+.I clri
+is likely to be ineffective.
diff --git a/usr/man/man1/cmp.1 b/usr/man/man1/cmp.1
new file mode 100644 (file)
index 0000000..415bbc8
--- /dev/null
@@ -0,0 +1,42 @@
+.TH CMP 1 
+.SH NAME
+cmp \- compare two files
+.SH SYNOPSIS
+.B cmp
+[
+.B \-l
+] [
+.B \-s
+]
+file1 file2
+.SH DESCRIPTION
+The two files are
+compared.
+(If
+.I file1
+is `\-',
+the standard input is used.)
+Under default options,
+.I cmp
+makes no comment if the files are the same;
+if they differ, it announces the byte and line number
+at which the difference occurred.
+If one file is an initial subsequence
+of the other, that fact is noted.
+.PP
+Options:
+.TP 6
+.B  \-l
+Print the byte number (decimal) and the
+differing bytes (octal) for each difference.
+.TP 6
+.B  \-s
+Print nothing for differing files;
+return codes only.
+.dt
+.SH "SEE ALSO"
+diff(1), comm(1)
+.SH DIAGNOSTICS
+Exit code 0 is returned for identical
+files, 1 for different files, and 2 for an
+inaccessible or missing argument.
diff --git a/usr/man/man1/col.1 b/usr/man/man1/col.1
new file mode 100644 (file)
index 0000000..5374efb
--- /dev/null
@@ -0,0 +1,67 @@
+.TH COL 1
+.SH NAME
+col \- filter reverse line feeds
+.SH SYNOPSIS
+.B col [\|\-bfx\|]
+.SH DESCRIPTION
+.I Col
+reads the standard input and writes the standard output.
+It performs the line overlays implied by reverse line
+feeds (ESC-7 in ASCII)
+and by forward and reverse half line feeds (ESC-9 and ESC-8).
+.I Col
+is particularly useful for filtering multicolumn
+output made with the `.rt' command of
+.I nroff
+and output resulting from use of the
+.IR tbl (1)
+preprocessor.
+.PP
+Although
+.I col
+accepts half line motions in its input, it normally does not
+emit them on output.
+Instead, text that would appear between lines is moved to the next lower
+full line boundary.
+This treatment can be suppressed by the
+.B \-f
+(fine) option; in this case
+the output from
+.I col
+may contain forward half line feeds (ESC-9), but will still never contain
+either kind of reverse line motion.
+.PP
+If the
+.B \-b
+option is given,
+.I col
+assumes that the output device in use is not capable of backspacing.
+In this case, if several characters are to appear in the same place,
+only the last one read will be taken.
+.PP
+The control characters SO (ASCII code 017),
+and SI (016) are assumed
+to start and end text in an alternate character set.
+The character set (primary or alternate) associated with each printing
+character read is remembered; on output, SO and SI characters are generated
+where necessary to maintain the correct treatment of each character.
+.PP
+.I Col
+normally converts white space to tabs to shorten printing time.
+If the
+.B \-x
+option is given, this conversion is suppressed.
+.PP
+All control characters are removed from the input except space,
+backspace,
+tab, return, newline, ESC (033) followed by one of 7, 8, 9, SI, SO, and VT
+(013).
+This last character is an alternate form of full reverse line feed, for
+compatibility with some other hardware conventions.
+All other non-printing characters are ignored.
+.SH "SEE ALSO"
+troff(1), tbl(1), greek(1)
+.SH BUGS
+Can't back up more than 128 lines.
+.br
+No more than 800 characters, including backspaces, on a line.
diff --git a/usr/man/man1/comm.1 b/usr/man/man1/comm.1
new file mode 100644 (file)
index 0000000..f7cba5f
--- /dev/null
@@ -0,0 +1,40 @@
+.TH COMM 1 
+.SH NAME
+comm \- select or reject lines common to two sorted files
+.SH SYNOPSIS
+.B comm
+[
+.B \-
+[
+.B 123
+]
+] file1 file2
+.SH DESCRIPTION
+.I Comm
+reads
+.I file1
+and
+.I file2,
+which should be ordered in ASCII collating sequence,
+and produces a three column output: lines only in
+.I file1;
+lines only in
+.I file2;
+and lines in both files.
+The filename `\-' means the standard input.
+.PP
+Flags 1, 2, or 3 suppress printing of the corresponding
+column.
+Thus
+.B comm
+.B \-12
+prints only the lines common to the two files;
+.B comm
+.B \-23
+prints only lines in the first file but not in the second;
+.B comm
+.B \-123
+is a no-op.
+.PP
+.SH "SEE ALSO"
+cmp(1), diff(1), uniq(1)
diff --git a/usr/man/man1/cp.1 b/usr/man/man1/cp.1
new file mode 100644 (file)
index 0000000..605e486
--- /dev/null
@@ -0,0 +1,29 @@
+.TH CP 1 
+.SH  NAME
+cp \- copy
+.SH SYNOPSIS
+.B cp
+file1 file2
+.PP
+.B cp
+file ... directory
+.SH DESCRIPTION
+.I File1
+is copied onto
+.IR file2 .
+The mode and owner of  
+.I file2
+are preserved if it already
+existed; the mode of the source file
+is used otherwise.
+.PP
+In the second form, one or more
+.I files
+are copied into the
+.I directory
+with their original file-names.
+.PP
+.I Cp
+refuses to copy a file onto itself.
+.SH "SEE ALSO"
+cat(1), pr(1), mv(1)
diff --git a/usr/man/man1/crypt.1 b/usr/man/man1/crypt.1
new file mode 100644 (file)
index 0000000..b041371
--- /dev/null
@@ -0,0 +1,85 @@
+.TH CRYPT 1 
+.SH NAME
+crypt \- encode/decode
+.SH SYNOPSIS
+.B crypt
+[ password ]
+.SH DESCRIPTION
+.I Crypt
+reads from the standard input and writes
+on the standard output.
+The
+.I password
+is a key that selects a particular transformation.
+If no
+.I password 
+is given,
+.I crypt
+demands a key from the terminal and turns
+off printing while the key is being typed in.
+.I Crypt
+encrypts and decrypts with the same key:
+.PP
+       crypt key <clear >cypher
+.br
+       crypt key <cypher | pr
+.PP
+will print the clear.
+.PP
+Files encrypted by
+.I crypt
+are compatible with those treated by the editor
+.I ed
+in encryption mode.
+.PP
+The security of encrypted files depends on three factors:
+the fundamental method must be hard to solve;
+direct search of the key space must be infeasible;
+`sneak paths' by which keys or cleartext can become
+visible must be minimized.
+.PP
+.I Crypt
+implements a one-rotor machine designed along the lines
+of the German Enigma, but with a 256-element rotor.
+Methods of attack on such machines are known, but not widely;
+moreover the amount of work required is likely to be large.
+.PP
+The transformation of a key into the internal
+settings of the machine is deliberately designed to
+be expensive, i.e. to take a substantial fraction of
+a second to compute.
+However,
+if keys are restricted to (say)
+three lower-case letters,
+then encrypted files can be read by expending only
+a substantial fraction of
+five minutes of machine time.
+.PP
+Since the key is an argument to the
+.I crypt
+command,
+it is potentially visible to users executing
+.IR ps (1)
+or a derivative.
+To minimize this possibility,
+.I crypt
+takes care to destroy any record of the key
+immediately upon entry.
+No doubt the choice of keys and key security
+are the most vulnerable aspect of
+.I crypt.
+.SH FILES
+/dev/tty for typed key
+.SH "SEE ALSO"
+ed(1),
+makekey(8)
+.SH BUGS
+There is no warranty of merchantability nor any warranty
+of fitness for a particular purpose nor any other warranty,
+either express or implied, as to the accuracy of the
+enclosed materials or as to their suitability for any
+particular purpose.  Accordingly, Bell Telephone
+Laboratories assumes no responsibility for their use by the
+recipient.   Further, Bell Laboratories assumes no obligation
+to furnish any assistance of any kind whatsoever, or to
+furnish any additional information or documentation.
diff --git a/usr/man/man1/date.1 b/usr/man/man1/date.1
new file mode 100644 (file)
index 0000000..e9ea7fc
--- /dev/null
@@ -0,0 +1,42 @@
+.TH DATE 1 
+.SH NAME
+date \- print and set the date
+.SH SYNOPSIS
+.B date
+.RB "[ yymmddhhmm [ " . "ss ] ]"
+.SH DESCRIPTION
+If no argument is given, the current date and time are printed.
+If an argument is given, the current date is set.
+.I yy
+is the last two digits of the year;
+the first
+.I mm
+is the month number;
+.I dd
+is the day number in the month;
+.I hh
+is the hour number (24 hour system);
+the second
+.I mm
+is the minute number;
+.BI . ss
+is optional and is the seconds.
+For example:
+.IP
+date 10080045
+.PP
+sets the date to Oct 8, 12:45 AM.
+The year, month and day may be omitted, the current
+values being the defaults.
+The system operates in GMT.
+.I Date
+takes care of the conversion to and from
+local standard and daylight time.
+.SH FILES
+/usr/adm/wtmp to record time-setting
+.SH SEE ALSO
+utmp(5)
+.SH DIAGNOSTICS
+`No permission' if
+you aren't the super-user and you try to change the date;
+`bad conversion' if the date set is syntactically incorrect.
diff --git a/usr/man/man1/dc.1 b/usr/man/man1/dc.1
new file mode 100644 (file)
index 0000000..4b53d72
--- /dev/null
@@ -0,0 +1,198 @@
+.TH DC 1 
+.SH NAME
+dc \- desk calculator
+.SH SYNOPSIS
+.B dc
+[ file ]
+.SH DESCRIPTION
+.I Dc
+is an arbitrary precision arithmetic package.
+Ordinarily it operates on decimal integers,
+but one may specify an input base, output base,
+and a number of fractional digits to be maintained.
+The overall structure of
+.I dc
+is
+a stacking (reverse Polish) calculator.
+If an argument is given,
+input is taken from that file until its end,
+then from the standard input.
+The following constructions are recognized:
+.HP 6
+number
+.br
+The value of the number is pushed on the stack.
+A number is an unbroken string of the digits 0-9.
+It may be preceded by an underscore _ to input a
+negative number.
+Numbers may contain decimal points.
+.HP 6
++  \- /  *  %  ^
+.br
+The
+top two values on the stack are added
+(+),
+subtracted
+(\-),
+multiplied (*),
+divided (/),
+remaindered (%),
+or exponentiated (^).
+The two entries are popped off the stack;
+the result is pushed on the stack in their place.
+Any fractional part of an exponent is ignored.
+.TP
+.BI s x
+The
+top of the stack is popped and stored into
+a register named
+.I x,
+where
+.I x
+may be any character.
+If
+the
+.B s
+is capitalized,
+.I x
+is treated as a stack and the value is pushed on it.
+.TP
+.BI l x
+The
+value in register
+.I x
+is pushed on the stack.
+The register
+.I x
+is not altered.
+All registers start with zero value.
+If the
+.B l
+is capitalized,
+register
+.I x
+is treated as a stack and its top value is popped onto the main stack.
+.TP
+.B  d
+The
+top value on the stack is duplicated.
+.TP
+.B  p
+The top value on the stack is printed.
+The top value remains unchanged.
+.B P
+interprets the top of the stack as an ascii string,
+removes it, and prints it.
+.TP
+.B  f
+All values on the stack and in registers are printed.
+.TP
+.B  q
+exits the program.
+If executing a string, the recursion level is
+popped by two.
+If
+.B q
+is capitalized,
+the top value on the stack is popped and the string execution level is popped
+by that value.
+.TP
+.B  x
+treats the top element of the stack as a character string
+and executes it as a string of dc commands.
+.TP
+.B  X
+replaces the number on the top of the stack with its scale factor.
+.TP
+.B  "[ ... ]"
+puts the bracketed ascii string onto the top of the stack.
+.HP 6
+.I  "<x  >x  =x"
+.br
+The
+top two elements of the stack are popped and compared.
+Register
+.I x
+is executed if they obey the stated
+relation.
+.TP
+.B  v
+replaces the top element on the stack by its square root.
+Any existing fractional part of the argument is taken
+into account, but otherwise the scale factor is ignored.
+.TP
+.B  !
+interprets the rest of the line as a UNIX command.
+.TP
+.B  c
+All values on the stack are popped.
+.TP
+.B  i
+The top value on the stack is popped and used as the
+number radix for further input.
+.B I
+pushes the input base on the top of the stack.
+.TP
+.B  o
+The top value on the stack is popped and used as the
+number radix for further output.
+.TP
+.SM
+.B O
+pushes the output base on the top of the stack.
+.TP
+.B  k
+the top of the stack is popped, and that value is used as
+a non-negative scale factor:
+the appropriate number of places
+are printed on output,
+and maintained during multiplication, division, and exponentiation.
+The interaction of scale factor,
+input base, and output base will be reasonable if all are changed
+together.
+.TP
+.B  z
+The stack level is pushed onto the stack.
+.TP
+.SM
+.B  Z
+replaces the number on the top of the stack with its length.
+.TP
+.B  ?
+A line of input is taken from the input source (usually the terminal)
+and executed.
+.TP
+.B "; :"
+are used by 
+.I bc
+for array operations.
+.PP
+An example which prints the first ten values of n! is
+.nf
+.PP
+.in +3
+[la1+dsa*pla10>y]sy
+.br
+0sa1
+.br
+lyx
+.fi
+.SH "SEE ALSO"
+bc(1),
+which is a preprocessor for
+.I dc
+providing infix notation and a C-like syntax
+which implements functions and reasonable control
+structures for programs.
+.SH DIAGNOSTICS
+`x is unimplemented' where x is an octal number.
+.br
+`stack empty' for not enough elements on the stack to do what was asked.
+.br
+`Out of space' when the free list is exhausted (too many digits).
+.br
+`Out of headers' for too many numbers being kept around.
+.br
+`Out of pushdown' for too many items on the stack.
+.br
+`Nesting Depth' for too many levels of nested execution.
diff --git a/usr/man/man1/dcheck.1m b/usr/man/man1/dcheck.1m
new file mode 100644 (file)
index 0000000..99493c5
--- /dev/null
@@ -0,0 +1,55 @@
+.TH DCHECK 1M 
+.SH NAME
+dcheck \- file system directory consistency check
+.SH SYNOPSIS
+.B dcheck
+[
+.B \-i
+numbers ]
+[ filesystem ]
+.SH DESCRIPTION
+.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"
+icheck(1), filsys(5), clri(1), ncheck(1)
+.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.
diff --git a/usr/man/man1/dd.1 b/usr/man/man1/dd.1
new file mode 100644 (file)
index 0000000..b16addf
--- /dev/null
@@ -0,0 +1,190 @@
+.TH DD 1 
+.SH NAME
+dd \- convert and copy a file
+.SH SYNOPSIS
+.B dd
+[option=value] ...
+.SH DESCRIPTION
+.I Dd
+copies the specified input file
+to the specified output with
+possible conversions.
+The standard input and output are used by default.
+The input and output block size may be
+specified to take advantage of raw physical I/O.
+.PP
+.br
+.ns
+.TP 15
+.I option
+.I values
+.br
+.ns
+.TP 
+if=
+input file name; standard input is default
+.br
+.ns
+.TP 
+of=
+output file name; standard output is default
+.br
+.ns
+.TP 
+.RI ibs= n
+input block size
+.I n
+bytes (default 512)
+.br
+.ns
+.TP 
+.RI obs= n
+output block size (default 512)
+.br
+.ns
+.TP 
+.RI bs= n
+set both input and output block size,
+superseding
+.I ibs
+and
+.I obs;
+also, if no conversion is specified,
+it is particularly efficient since no copy need be done
+.br
+.ns
+.TP 
+.RI cbs= n
+conversion buffer size
+.br
+.ns
+.TP 
+.RI skip= n
+skip
+.IR n ""
+input records before starting copy
+.br
+.ns
+.TP
+.RI files= n
+skip
+.I n
+input files before starting copy
+.br
+.ns
+.TP 
+.RI seek= n
+seek
+.I n
+records from beginning of output file before copying
+.br
+.ns
+.TP 
+count=\fIn\fR
+copy only
+.IR n ""
+input records
+.br
+.ns
+.TP 
+conv=ascii
+.ds h \h'\w'conv='u'
+convert EBCDIC to ASCII
+.br
+.ns
+.IP \*hebcdic
+convert ASCII to EBCDIC
+.br
+.ns
+.IP \*hibm
+slightly different map of ASCII to EBCDIC
+.br
+.ns
+.IP \*hlcase
+map alphabetics to lower case
+.br
+.ns
+.IP \*hucase
+map alphabetics to upper case
+.br
+.ns
+.IP \*hswab
+swap every pair of bytes
+.br
+.ns
+.IP \*hnoerror
+do not stop processing on an error
+.br
+.ns
+.IP \*hsync
+pad every input record to
+.I  ibs
+.br
+.ns
+.IP "\*h... , ..."
+several comma-separated conversions
+.PP
+.fi
+Where sizes are specified,
+a number of bytes is expected.
+A number may end with
+.B "k, b"
+or
+.B w
+to specify multiplication by
+1024, 512, or 2 respectively;
+a pair of numbers may be separated by
+.B x
+to indicate a product.
+.PP
+.I Cbs
+is used only if
+.I ascii
+or
+.I ebcdic
+conversion is specified.
+In the former case
+.I cbs
+characters are placed into the conversion buffer, converted to
+ASCII, and trailing blanks trimmed and new-line added
+before sending the line to the output.
+In the latter case ASCII characters are read into the
+conversion buffer, converted to EBCDIC, and blanks added
+to make up an
+output record of size
+.IR cbs .
+.PP
+After completion,
+.I dd
+reports the number of whole and partial input and output
+blocks.
+.PP
+For example, to read an EBCDIC tape blocked ten 80-byte
+EBCDIC card images per record into the ASCII file
+.I x:
+.IP
+.nf
+dd if=/dev/rmt0 of=x ibs=800 cbs=80 conv=ascii,lcase
+.fi
+.PP
+Note the use of raw magtape.
+.I Dd
+is especially suited to I/O on the raw
+physical devices because it allows reading
+and writing in arbitrary record sizes.
+.SH "SEE ALSO"
+cp(1), tr(1)
+.SH DIAGNOSTICS
+f+p records in(out): numbers of full and partial records read(written)
+.SH BUGS
+The ASCII/EBCDIC conversion tables are
+taken
+from the 256 character standard in
+the CACM Nov, 1968.
+The `ibm' conversion, while less blessed as a standard,
+corresponds better to certain IBM print train conventions.
+There is no universal solution.
+.PP
+Newlines are inserted only on conversion to ASCII;
+padding is done only on conversion to EBCDIC.
+These should be separate options.
diff --git a/usr/man/man1/deroff.1 b/usr/man/man1/deroff.1
new file mode 100644 (file)
index 0000000..d1ba1bb
--- /dev/null
@@ -0,0 +1,45 @@
+.TH DEROFF 1 
+.SH NAME
+deroff \- remove nroff, troff, tbl and eqn constructs
+.SH SYNOPSIS
+.B deroff
+[
+.B \-w
+]
+file ...
+.SH DESCRIPTION
+.I Deroff
+reads each file in sequence
+and removes all
+.I nroff
+and
+.I troff
+command lines, backslash constructions, macro definitions,
+.I eqn
+constructs
+(between `.EQ' and `.EN' lines or between 
+delimiters),
+and table descriptions
+and writes the remainder on the standard output.
+.I Deroff
+follows chains of included files
+(`.so' and `.nx' commands);
+if a file has already been included, a `.so' is ignored and a `.nx' terminates execution.
+If no input file is given,
+.I deroff
+reads from the standard input file.
+.PP
+If the
+.B \-w
+flag is given, the output is a word list, one `word' (string of letters, digits, and apostrophes,
+beginning with a letter; apostrophes are removed) per line, and all other characters ignored.
+Otherwise, the output follows the original, with the deletions mentioned above.
+.SH "SEE ALSO"
+troff(1), eqn(1), tbl(1)
+.SH BUGS
+.I Deroff
+is not a complete
+.I troff
+interpreter,
+so it can be confused by subtle constructs.
+Most errors result in too much rather than too little output.
diff --git a/usr/man/man1/df.1m b/usr/man/man1/df.1m
new file mode 100644 (file)
index 0000000..d55545f
--- /dev/null
@@ -0,0 +1,19 @@
+.TH DF 1M 
+.SH NAME
+df \- disk free
+.SH SYNOPSIS
+.B df
+[ filesystem ] ...
+.SH DESCRIPTION
+.I Df
+prints out the number of free blocks
+available on the
+.I filesystems.
+If no file system is specified,
+the free space on all of
+the normally mounted file systems
+is printed.
+.SH FILES
+Default file systems vary with installation.
+.SH "SEE ALSO"
+icheck(1)
diff --git a/usr/man/man1/diff.1 b/usr/man/man1/diff.1
new file mode 100644 (file)
index 0000000..b71adb4
--- /dev/null
@@ -0,0 +1,138 @@
+.TH DIFF 1 
+.SH NAME
+diff \- differential file comparator
+.SH SYNOPSIS
+.B diff
+[
+.B \-efbh
+] file1 file2
+.SH DESCRIPTION
+.I Diff
+tells what lines must be changed in two files to bring them
+into agreement.
+If
+.I file1
+.RI ( file2 )
+is `\-', the standard input is used.
+If
+.I file1
+.RI ( file2 )
+is a directory, then a file in that directory
+whose file-name is the same as the file-name of 
+.I file2
+.RI ( file1 )
+is used.
+The normal output contains lines of these forms:
+.IP "" 5
+.I n1
+a
+.I n3,n4
+.br
+.I n1,n2
+d
+.I n3
+.br
+.I n1,n2
+c
+.I n3,n4
+.PP
+These lines resemble
+.I ed
+commands to convert
+.I file1
+into
+.IR file2 .
+The numbers after the letters pertain to
+.IR file2 .
+In fact, by exchanging `a' for `d' and reading backward
+one may ascertain equally how to convert 
+.I file2
+into
+.IR file1 .
+As in 
+.I ed,
+identical pairs where
+.I n1
+=
+.I n2
+or
+.I n3
+=
+.I n4
+are abbreviated as a single number.
+.PP
+Following each of these lines come all the lines that are
+affected in the first file flagged by `<', 
+then all the lines that are affected in the second file
+flagged by `>'.
+.PP
+The
+.B \-b
+option causes
+trailing blanks (spaces and tabs) to be ignored
+and other strings of blanks to compare equal.
+.PP
+The
+.B \-e
+option produces a script of
+.I "a, c"
+and 
+.I d
+commands for the editor
+.I ed,
+which will recreate
+.I file2
+from
+.IR file1 .
+The
+.B \-f
+option produces a similar script,
+not useful with
+.I ed,
+in the opposite order.
+In connection with
+.BR \-e ,
+the following shell program may help maintain
+multiple versions of a file.
+Only an ancestral file ($1) and a chain of 
+version-to-version
+.I ed
+scripts ($2,$3,...) made by
+.I diff
+need be on hand.
+A `latest version' appears on
+the standard output.
+.IP "" 5
+(shift; cat $*; echo \'1,$p\') \(bv ed \- $1
+.PP
+Except in rare circumstances,
+.I diff
+finds a smallest sufficient set of file
+differences.
+.PP
+Option
+.B \-h
+does a fast, half-hearted job.
+It works only when changed stretches are short
+and well separated,
+but does work on files of unlimited length.
+Options 
+.B \-e
+and
+.B \-f
+are unavailable with
+.BR \-h .
+.SH FILES
+/tmp/d?????
+.br
+/usr/lib/diffh for 
+.B \-h
+.SH "SEE ALSO"
+cmp(1), comm(1), ed(1)
+.SH DIAGNOSTICS
+Exit status is 0 for no differences, 1 for some, 2 for trouble.
+.SH BUGS
+Editing scripts produced under the
+.BR \-e " or"
+.BR \-f " option are naive about"
+creating lines consisting of a single `\fB.\fR'.
diff --git a/usr/man/man1/diff3.1 b/usr/man/man1/diff3.1
new file mode 100644 (file)
index 0000000..9403a3c
--- /dev/null
@@ -0,0 +1,97 @@
+.TH DIFF3 1 
+.SH NAME
+diff3 \- 3-way differential file comparison
+.SH SYNOPSIS
+.B diff3
+[
+.B \-ex3
+]
+file1 file2 file3
+.SH DESCRIPTION
+.I Diff3
+compares three versions of a file,
+and publishes disagreeing ranges of text
+flagged with these codes:
+.TP 16
+====
+all three files differ
+.TP 16
+====1
+.IR file1 " is different"
+.TP 16
+====2
+.IR file2 " is different"
+.TP 16
+====3
+.IR file3 " is different"
+.PP
+The type of change suffered in converting a given range
+of a given file to some other is
+indicated in one of these ways:
+.TP 16
+.IB f " : " n1 " a"
+Text is to be appended after line number
+.I n1
+in file
+.I f,
+where
+.I f
+= 1, 2, or 3.
+.TP 16
+.IB f " : " n1 " , " n2 " c"
+Text is to be
+changed in the range line
+.I n1
+to line
+.IR n2 .
+If 
+.I n1
+=
+.I n2,
+the range may be abbreviated to
+.IR n1 .
+.PP
+The original contents of the range follows immediately
+after a
+.B c
+indication.
+When the contents of two
+files are identical, the contents of the lower-numbered
+file is suppressed.
+.PP
+Under the
+.B \-e
+option,
+.I diff3
+publishes a script for the editor
+.I ed
+that will incorporate into
+.I file1
+all changes between
+.I file2
+and
+.I file3,
+.IR i.e .
+the changes that normally would be flagged ==== and ====3.
+Option
+.B \-x
+(\fB\-3\fR)
+produces a script to incorporate
+only changes flagged ==== (====3).
+The following command will apply the resulting script to
+`file1'.
+.PP
+.ti 16n
+(cat script; echo \'1,$p\') \(bv ed \- file1
+.SH FILES
+/tmp/d3?????
+.br
+/usr/lib/diff3
+.SH "SEE ALSO"
+diff(1)
+.SH BUGS
+Text lines that consist of a single `.' will
+defeat
+.B \-e.
+.br
+Files longer than 64K bytes won't work.
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/dump.1m b/usr/man/man1/dump.1m
new file mode 100644 (file)
index 0000000..44d9fa7
--- /dev/null
@@ -0,0 +1,113 @@
+.TH DUMP 1M 
+.SH NAME
+dump \- incremental file system dump
+.SH SYNOPSIS
+.B dump
+[ key [ argument ... ] filesystem ]
+.SH DESCRIPTION
+.I Dump
+copies to magnetic tape all files
+changed after a certain date
+in the
+.I filesystem.
+The
+.I key
+specifies the date and other options about the dump.
+.I Key
+consists of characters from
+the set
+.B 0123456789fusd.
+.TP 5
+.B  f
+Place the dump on the next 
+.I argument 
+file
+instead of the tape.
+.TP 5
+.B  u
+If the dump completes successfully,
+write the date of the beginning of the dump on
+file `/etc/ddate'.
+This file records a separate date for
+each filesystem and each dump level.
+.TP 5
+.B  0\-9
+This number is the `dump level'.
+All files modified since the last date stored
+in the file `/etc/ddate' for
+the same filesystem at lesser levels
+will be dumped.
+If no date is determined by the level,
+the beginning of time is assumed;
+thus the option
+.B 0
+causes the entire filesystem to be dumped.
+.TP 5
+.B  s
+The size of the dump tape is specified in feet.
+The number of feet is taken from the next
+.I argument.
+When the specified size is reached,
+the dump will wait for reels to be changed.
+The default size is 2300 feet.
+.TP 5
+.B d
+The density of the tape, expressed in BPI,
+is taken from the next
+.I argument.
+This is used in calculating the amount of tape
+used per write. The default is 1600.
+.PP
+.DT
+If no arguments are given,
+the
+.I key
+is assumed to be
+.B 9u
+and a default file system is dumped
+to the default tape.
+.PP
+Now a short suggestion on how
+perform dumps.
+Start with a full level 0 dump
+.PP
+       dump 0u
+.PP
+Next,
+periodic level 9 dumps should be made on an
+exponential progression of tapes.
+(Sometimes called Tower of Hanoi \- 1 2 1 3 1 2 1 4 ...
+tape 1 used every other time,
+tape 2 used every fourth,
+tape 3 used every eighth, etc.)
+.PP
+       dump 9u
+.PP
+When the level 9 incremental approaches a full
+tape (about 78000 blocks at 1600 BPI blocked 20),
+a level 1 dump should be made.
+.PP
+       dump 1u
+.PP
+After this,
+the exponential series should progress as uninterrupted.
+These level 9 dumps are based on the level 1 dump which
+is based on the level 0 full dump.
+This progression of levels of dump can be carried
+as far as desired.
+.SH FILES
+default filesystem and tape vary with installation.
+.br
+/etc/ddate     record dump dates of filesystem/level.
+.SH "SEE ALSO"
+restor(1), dump(5), dumpdir(1)
+.SH DIAGNOSTICS
+If the dump requires more than one tape,
+it will ask you to change tapes.
+Reply with a new-line when this has been done.
+.SH BUGS
+Sizes are based on 1600 BPI blocked tape.
+The raw magtape device has to be used to
+approach these densities.
+Read errors on the filesystem are ignored.
+Write errors on the magtape are usually fatal.
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/expr.1 b/usr/man/man1/expr.1
new file mode 100644 (file)
index 0000000..dd63e6a
--- /dev/null
@@ -0,0 +1,96 @@
+.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
+.IR expr " - " expr
+.br
+addition or subtraction of the arguments.
+.TP
+.IR expr " * " expr
+.br
+.IR expr " / " expr
+.br
+.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"
+ed(1), 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/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/fed.1 b/usr/man/man1/fed.1
new file mode 100644 (file)
index 0000000..d83014c
--- /dev/null
@@ -0,0 +1 @@
+.so /usr/man/man1/form.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..7c7786c
--- /dev/null
@@ -0,0 +1,18 @@
+.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.
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/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/icheck.1m b/usr/man/man1/icheck.1m
new file mode 100644 (file)
index 0000000..70fd421
--- /dev/null
@@ -0,0 +1,96 @@
+.TH ICHECK 1M 
+.SH NAME
+icheck \- file system storage consistency check
+.SH SYNOPSIS
+.B icheck
+[
+.B \-s
+]  [
+.B \-b
+numbers ]
+[ filesystem ]
+.SH DESCRIPTION
+.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"
+dcheck(1), ncheck(1),
+filsys(5), clri(1)
+.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.
+.br
+It believes even preposterous super-blocks and
+consequently can get core images.
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..9eef9b1
--- /dev/null
@@ -0,0 +1,38 @@
+.TH KILL 1 
+.SH NAME
+kill \- terminate a process with extreme prejudice
+.SH SYNOPSIS
+.B kill
+[
+.BR \- signo
+]
+processid ...
+.SH DESCRIPTION
+.I Kill
+sends signal 15 (terminate) to the specified processes.
+If a signal number preceded by `\-' is given
+as first argument, that signal is sent instead of
+terminate
+(see
+.IR  signal (2)).
+This will kill processes that do not catch the signal;
+in particular `kill \-9 ...' is a sure kill.
+.PP
+By convention, if process number 0 is specified, all members
+in the process group (i.e. processes resulting from 
+the current login) are signaled.
+.PP
+The killed processes must belong
+to the current user unless
+he is the super-user.
+To shut the system down and bring it up single user
+the super-user may
+use `kill \-1 1'; see
+.IR init (8).
+.PP
+The process number of an asynchronous process
+started with `&' is reported by the shell.
+Process numbers can also be found by using
+.IR ps (1).
+.SH "SEE ALSO"
+ps(1), kill(2), signal(2)
diff --git a/usr/man/man1/lex.1 b/usr/man/man1/lex.1
new file mode 100644 (file)
index 0000000..f1f06be
--- /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)
+.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..92a9611
--- /dev/null
@@ -0,0 +1,142 @@
+.TH LINT 1 
+.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[12] programs
+.br
+/usr/lib/llib-lc declarations for standard functions
+.br
+/usr/lib/llib-port declarations for portable functions
+.SH SEE ALSO
+cc(1)
+.br
+S. C. Johnson,
+.I Lint, a C Program Checker
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..55fa2cc
--- /dev/null
@@ -0,0 +1,36 @@
+.TH LORDER 1 
+.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\`
+.SH FILES
+*symref, *symdef
+.br
+nm(1), sed(1), sort(1), join(1)
+.SH "SEE ALSO"
+tsort(1),
+ld(1),
+ar(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/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/make.1 b/usr/man/man1/make.1
new file mode 100644 (file)
index 0000000..ab8ab35
--- /dev/null
@@ -0,0 +1,206 @@
+.TH MAKE 1 
+.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.
+.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
+.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
+.I cc
+and 
+.IR f77 (1)
+options, `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)
+.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/mkfs.1m b/usr/man/man1/mkfs.1m
new file mode 100644 (file)
index 0000000..69e73fd
--- /dev/null
@@ -0,0 +1,130 @@
+.TH MKFS 1M 
+.SH NAME
+mkfs \- construct a file system
+.SH SYNOPSIS
+.B /etc/mkfs
+special
+proto
+.SH DESCRIPTION
+.I Mkfs
+constructs a file system
+by writing on the special file
+.I special
+according to the directions
+found in
+the prototype file
+.I proto.
+The prototype file
+contains tokens separated by spaces or
+new lines.
+The first token is the name of a file
+to be copied onto block zero as
+the bootstrap program,
+see
+.IR bproc (8).
+The second token is a number specifying the
+size of the created file system.
+Typically it will be the number of blocks on the device,
+perhaps diminished
+by space for swapping.
+The next token is the number of i-nodes
+in the i-list.
+The next set of tokens comprise the specification
+for the root file.
+File specifications consist of tokens
+giving the mode,
+the user-id,
+the group id,
+and the initial contents of the file.
+The syntax of the contents field
+depends on the mode.
+.PP
+The mode token for a file is a 6 character string.
+The first character
+specifies the type of the file.
+(The characters
+.B \-bcd
+specify regular, block special,
+character special and directory files
+respectively.)
+The second character of the type
+is either
+.B u
+or
+.B \-
+to specify set-user-id mode or not.
+The third is
+.B g
+or
+.B \-
+for the set-group-id mode.
+The rest of the mode
+is a three digit octal number giving the
+owner, group, and other read, write, execute
+permissions, see
+.IR chmod (1).
+.PP
+Two decimal number
+tokens come after the mode; they specify the
+user and group ID's of the owner of the file.
+.PP
+If the file is a regular file,
+the next token is a pathname
+whence the contents and size are copied.
+.PP
+If the file is a block or character special file,
+two decimal number tokens
+follow which give the major and minor device numbers.
+.PP
+If the file is a directory,
+.I mkfs
+makes the entries
+.BR . ""
+and
+.B  ..
+and then
+reads a list of names and
+(recursively)
+file specifications for the entries
+in the directory.
+The scan is terminated with the
+token
+.BR $ .
+.PP
+If the prototype file cannot be opened and
+its name consists of a string of digits,
+.I mkfs
+builds a file system with a single
+empty directory on it.
+The size of the file system is the value
+of
+.I proto
+interpreted as a decimal number.
+The number of i-nodes is calculated
+as a function of the filsystem size.
+The boot program is left uninitialized.
+.PP
+A sample prototype specification follows:
+.PP
+.nf
+.in +5
+/usr/mdec/uboot
+4872 55
+d\-\-777 3 1
+usr    d\-\-777 3 1
+       sh      \-\-\-755 3 1 /bin/sh
+       ken     d\-\-755 6 1
+               $
+       b0      b\-\-644 3 1 0 0
+       c0      c\-\-644 3 1 0 0
+       $
+$
+.in -5
+.fi
+.SH "SEE ALSO"
+filsys(5),
+dir(5),
+bproc(8)
+.SH BUGS
+There should be some way to specify links.
+There should be some way to specify bad blocks.
diff --git a/usr/man/man1/mknod.1m b/usr/man/man1/mknod.1m
new file mode 100644 (file)
index 0000000..36ca9db
--- /dev/null
@@ -0,0 +1,38 @@
+.TH MKNOD 1M 
+.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/man1/mount.1m b/usr/man/man1/mount.1m
new file mode 100644 (file)
index 0000000..1ce2221
--- /dev/null
@@ -0,0 +1,51 @@
+.TH MOUNT 1M 
+.SH NAME
+mount, umount \- mount and dismount file system
+.SH SYNOPSIS
+.B /etc/mount
+[ special name [
+.B \-r
+] ]
+.PP
+.B /etc/umount
+special
+.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 last argument 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
+These commands
+maintain a table of mounted devices.
+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
+.SH "SEE ALSO"
+mount(2),
+mtab(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/man1/ncheck.1m b/usr/man/man1/ncheck.1m
new file mode 100644 (file)
index 0000000..7a91b5c
--- /dev/null
@@ -0,0 +1,49 @@
+.TH NCHECK 1M 
+.SH NAME
+ncheck  \-  generate names from i-numbers
+.SH SYNOPSIS
+.B ncheck
+[
+.B \-i
+numbers ]  [
+.B \-a
+] [
+.B \-s
+]  [ filesystem ]
+.SH DESCRIPTION
+.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"
+dcheck(1), icheck(1), sort(1)
+.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/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/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/passwd.1 b/usr/man/man1/passwd.1
new file mode 100644 (file)
index 0000000..a7984ae
--- /dev/null
@@ -0,0 +1,30 @@
+.TH PASSWD 1 
+.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
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/prof.1 b/usr/man/man1/prof.1
new file mode 100644 (file)
index 0000000..53b3b9a
--- /dev/null
@@ -0,0 +1,85 @@
+.TH PROF 1 
+.SH NAME
+prof \- display profile data
+.SH SYNOPSIS
+.B prof
+[
+.B \-v
+] [
+.B \-a
+] [
+.B \-l
+] [
+.BI \- "low\fR [ \fB\-\fIhigh\fR ]"
+] [ file ]
+.SH DESCRIPTION
+.I Prof
+interprets the file
+.I mon.out
+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
+.I mon.out
+profile file.
+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.
+.PP
+If the
+.B \-a
+option is used,
+all symbols are reported rather than
+just external symbols.
+If the
+.B \-l
+option
+is used,
+the output is listed by
+symbol value rather than
+decreasing percentage.
+.PP
+If the
+.B \-v
+option is used,
+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.
+The numbers
+.I low
+and 
+.I high,
+by default 0 and 100, cause a selected
+percentage of the profile to be plotted
+with accordingly higher resolution.
+.PP
+In order for the number of calls to a routine to be tallied,
+the
+.B \-p
+option of
+.I cc
+must have been given when the file containing the
+routine was compiled.
+This option also arranges for the
+.I mon.out
+file to be produced automatically.
+.SH FILES
+.ta \w'mon.out  'u
+mon.out        for profile
+.br
+a.out          for namelist
+.SH "SEE ALSO"
+monitor(3), profil(2), cc(1), plot(1)
+.SH BUGS
+Beware of quantization errors.
diff --git a/usr/man/man1/ptx.1 b/usr/man/man1/ptx.1
new file mode 100644 (file)
index 0000000..ccd2e87
--- /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-\fIi\fR and \fB-\fIo\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..4962aac
--- /dev/null
@@ -0,0 +1,10 @@
+.TH PWD 1 
+.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)
diff --git a/usr/man/man1/quot.1m b/usr/man/man1/quot.1m
new file mode 100644 (file)
index 0000000..766f878
--- /dev/null
@@ -0,0 +1,37 @@
+.TH QUOT 1M 
+.SH NAME
+quot \- summarize file system ownership
+.SH SYNOPSIS
+.B 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/man1/ratfor.1 b/usr/man/man1/ratfor.1
new file mode 100644 (file)
index 0000000..741ed77
--- /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"
+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..37fa2ad
--- /dev/null
@@ -0,0 +1,163 @@
+.TH REFER 1
+.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
+.I /usr/dict/papers
+directory of default publication lists and indexes
+.br
+.I /usr/lib/refer
+directory of programs
+.SH SEE ALSO
+.br
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..1c3c46c
--- /dev/null
@@ -0,0 +1,63 @@
+.TH RM 1 
+.SH NAME
+rm, rmdir  \- remove (unlink) files
+.SH SYNOPSIS
+.B rm
+[
+.B \-fri
+] 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
+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
+.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/sed.1 b/usr/man/man1/sed.1
new file mode 100644 (file)
index 0000000..57f07b6
--- /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)
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/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/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/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/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/sync.1m b/usr/man/man1/sync.1m
new file mode 100644 (file)
index 0000000..350b4a7
--- /dev/null
@@ -0,0 +1,19 @@
+.TH SYNC 1M 
+.SH NAME
+sync \- update the super block
+.SH SYNOPSIS
+.B sync
+.SH DESCRIPTION
+.I Sync
+executes the
+.I sync
+system primitive.
+If the system is to be stopped,
+.I sync
+must be called to insure
+file system integrity.
+See
+.IR sync (2)
+for details.
+.SH "SEE ALSO"
+sync(2), update(8)
diff --git a/usr/man/man1/tabs.1 b/usr/man/man1/tabs.1
new file mode 100644 (file)
index 0000000..e5f63f7
--- /dev/null
@@ -0,0 +1,24 @@
+.TH TABS 1 
+.SH NAME
+tabs \- set terminal tabs
+.SH SYNOPSIS
+.B tabs
+[
+.B \-n
+] [
+terminal
+]
+.SH DESCRIPTION
+.I Tabs
+sets the tabs on a variety of terminals.
+Various of the terminal names given in
+.IR term (7)
+are recognized;
+the default is, however, suitable for most 300
+baud terminals.
+If the
+.B \-n
+flag is present then the left
+margin is not indented as is normal.
+.SH SEE ALSO
+stty(1), term(7)
diff --git a/usr/man/man1/tail.1 b/usr/man/man1/tail.1
new file mode 100644 (file)
index 0000000..82edce4
--- /dev/null
@@ -0,0 +1,35 @@
+.TH TAIL 1 
+.SH NAME
+tail \- deliver the last part of a file
+.SH SYNOPSIS
+.B tail
+.if t [ \(+-number[\fBlbc\fR] ]
+.if n +\b_number[lbc\b\b\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.
+.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.
+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/time.1 b/usr/man/man1/time.1
new file mode 100644 (file)
index 0000000..9f7848a
--- /dev/null
@@ -0,0 +1,26 @@
+.TH TIME 1 
+.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.
+.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.
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..6ec9db2
--- /dev/null
@@ -0,0 +1,22 @@
+.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.
diff --git a/usr/man/man1/tr.1 b/usr/man/man1/tr.1
new file mode 100644 (file)
index 0000000..5850782
--- /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)
+.SH BUGS
+Won't handle ASCII NUL in
+.I string1
+or
+.I string2;
+always deletes NUL from input.
diff --git a/usr/man/man1/troff.1 b/usr/man/man1/troff.1
new file mode 100644 (file)
index 0000000..885e77b
--- /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
+eqn(1), tbl(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/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/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/uux.1c b/usr/man/man1/uux.1c
new file mode 100644 (file)
index 0000000..169a30c
--- /dev/null
@@ -0,0 +1,84 @@
+.TH UUX 1C
+.SH NAME
+uux \- unix to unix command execution
+.SH SYNOPSIS
+.B uux
+[
+.B \-
+]
+command-string
+.SH DESCRIPTION
+.I Uux
+will gather 0 or more files from various systems,
+execute a command on a specified system
+and send standard output to a file on a specified
+system.
+.PP
+The command-string is made up of one or more arguments that look
+like a shell command line,
+except that the command and file names
+may be prefixed by system-name!.
+A null system-name is interpreted as the local system.
+.PP
+File names may be one of
+.IP
+(1) a full pathname;
+.IP
+(2) a pathname preceded by
+.IR ~xxx ;
+where
+.I xxx
+is a userid on the specified system
+and is replaced by that user's login directory;
+.br
+.IP
+(3) anything else is prefixed by the current directory.
+.PP
+The `\-' option will cause the standard input to the
+.I uux
+command to be the standard input to the command-string.
+.PP
+For example, the command
+.IP
+uux "!diff usg!/usr/dan/f1 pwba!/a4/dan/f1 > !fi.diff"
+.PP
+will get the f1 files from the usg and pwba machines,
+execute a
+.I diff
+command
+and put the results in f1.diff in the local directory.
+.PP
+Any special shell characters such as <>;| should be quoted either
+by quoting the entire command-string, or quoting the special
+characters as individual arguments.
+.SH FILES
+/usr/uucp/spool - spool directory
+.br
+/usr/uucp/* - other data and programs
+.SH SEE ALSO
+uucp(1)
+.br
+D. A. Nowitz,
+.I Uucp implementation description
+.SH WARNING
+An installation may, and for security reasons
+generally will, limit the list of
+commands executable on behalf of an incoming request from
+.I uux.
+Typically, a restricted site will permit little other than
+the receipt of mail via 
+.I uux.
+.SH BUGS
+Only the first command of a shell pipeline may
+have a system-name!.
+All other commands are executed on the system of the first
+command.
+.br
+The use of the shell metacharacter
+.B *
+will probably not do what you want it to do.
+.br
+The shell tokens << and >> are not implemented.
+.br
+There is no notification of denial of execution
+on the remote machine.
diff --git a/usr/man/man1/wc.1 b/usr/man/man1/wc.1
new file mode 100644 (file)
index 0000000..7363fcf
--- /dev/null
@@ -0,0 +1,23 @@
+.TH WC 1 
+.SH NAME
+wc \- word count
+.SH SYNOPSIS
+.B wc
+[
+.B \-lwc
+]
+[ name ... ]
+.SH DESCRIPTION
+.I Wc
+counts lines, words and characters 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 the optional argument is present,
+just the specified counts (lines, words or characters)
+are selected by the letters
+.BR l ,
+.BR w ,
+or
+.BR c .
diff --git a/usr/man/man1/yacc.1 b/usr/man/man1/yacc.1
new file mode 100644 (file)
index 0000000..f4e69dc
--- /dev/null
@@ -0,0 +1,88 @@
+.TH YACC 1 
+.SH NAME
+yacc \- yet another compiler-compiler
+.SH SYNOPSIS
+.B yacc
+[
+.B \-vd
+]
+grammar
+.SH DESCRIPTION
+.I Yacc
+converts a context-free grammar into a set of
+tables for a simple automaton which executes an LR(1) parsing
+algorithm.
+The grammar may be ambiguous;
+specified precedence rules are used to break ambiguities.
+.PP
+The output file,
+.IR y.tab.c ,
+must be compiled by the C compiler
+to produce a program
+.IR yyparse .
+This program must be loaded with the lexical analyzer program,
+.IR yylex ,
+as well as
+.I main
+and
+.IR yyerror ,
+an error handling routine.
+These routines must be supplied by the user;
+.IR Lex (1)
+is useful for creating lexical analyzers usable by
+.IR yacc .
+.PP
+If the
+.B \-v
+flag is given, the file
+.I y.output
+is prepared, which contains a description of the parsing tables
+and a report on
+conflicts generated by ambiguities in the grammar.
+.PP
+If the \-\fBd\fR flag is used, the file
+.I y.tab.h
+is generated with the
+.I define
+statements that associate the
+.I yacc\c
+-assigned `token codes' with the user-declared `token names'.
+This allows source files other than
+.I y.tab.c
+to access the token codes.
+.SH FILES
+.ta \w'yacc.tmp, yacc.acts 'u
+y.output
+.br
+y.tab.c
+.br
+y.tab.h        defines for token names
+.br
+yacc.tmp, yacc.acts    temporary files
+.br
+/usr/lib/yaccpar       parser prototype for C programs
+.br
+/lib/liby.a    library with default `main' and `yyerror'
+.SH "SEE ALSO"
+.IR lex (1)
+.br
+.I "LR Parsing"
+by A. V. Aho and S. C. Johnson,
+Computing Surveys, June, 1974.
+.br
+.I "YACC \- Yet Another Compiler Compiler"
+by S. C. Johnson.
+.SH DIAGNOSTICS
+The number of reduce-reduce and shift-reduce conflicts
+is reported on the standard output;
+a more detailed report is
+found in the
+.I y.output
+file.
+Similarly, if some rules are not reachable from the
+start symbol, this is also reported.
+.SH BUGS
+Because file names are fixed, at most one
+.I yacc
+process can be active in a given directory at
+a time.
diff --git a/usr/man/man2/access.2 b/usr/man/man2/access.2
new file mode 100644 (file)
index 0000000..622d2f8
--- /dev/null
@@ -0,0 +1,47 @@
+.TH ACCESS 2 
+.SH NAME
+access \- determine accessibility of file
+.SH SYNOPSIS
+.B access(name, mode)
+.br
+.B char *name;
+.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..ec11103
--- /dev/null
@@ -0,0 +1,36 @@
+.TH ACCT 2 
+.SH NAME
+acct \- turn accounting on or off
+.SH SYNOPSIS
+.B acct(file)
+.br
+.B char *file;
+.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(1)
+.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..00bf45f
--- /dev/null
@@ -0,0 +1,37 @@
+.TH ALARM 2 
+.SH NAME
+alarm \- schedule signal after specified time
+.SH SYNOPSIS
+.B alarm(seconds)
+.br
+.B unsigned seconds;
+.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 cancelled.
+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), 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/chdir.2 b/usr/man/man2/chdir.2
new file mode 100644 (file)
index 0000000..f2d1544
--- /dev/null
@@ -0,0 +1,25 @@
+.TH CHDIR 2 
+.SH NAME
+chdir \- change default directory
+.SH SYNOPSIS
+.B chdir(dirname)
+.br
+.B char *dirname;
+.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/chmod.2 b/usr/man/man2/chmod.2
new file mode 100644 (file)
index 0000000..1b4410d
--- /dev/null
@@ -0,0 +1,56 @@
+.TH CHMOD 2 
+.SH NAME
+chmod \- change mode of file
+.SH SYNOPSIS
+.B chmod(name, mode)
+.br
+.B char *name;
+.SH DESCRIPTION
+The file whose name
+is given as the null-terminated string pointed to by
+.I name
+has its mode changed to
+.IR mode .
+Modes are constructed by ORing together some
+combination of the following:
+.PP
+.RS
+ 04000 set user ID on execution
+ 02000 set group ID on execution
+ 01000 save text image after execution
+ 00400 read by owner
+ 00200 write by owner
+ 00100 execute (search on directory) by owner
+ 00070 read, write, execute (search) by group
+ 00007 read, write, execute (search) by others
+.RE
+.PP
+If an executable file is set up for sharing
+(\fB\-n\fR option of
+.IR ld (1))
+then mode 1000 prevents the system from
+abandoning the swap-space image of the program-text portion
+of the file when its last user
+terminates.
+Thus when the next user of the file executes it,
+the text need not be read from the file
+system but can simply be swapped in,
+saving time.
+Ability to set this bit is restricted to the super-user
+since swap space is consumed
+by the images; it is only worth while for heavily used commands.
+.PP
+Only the owner of a file (or the super-user) may change the mode.
+Only the super-user can set the 1000 mode.
+.SH "SEE ALSO"
+chmod(1)
+.SH DIAGNOSTIC
+Zero is returned if the mode is changed;
+\-1 is returned if
+.I name
+cannot be found or if current user
+is neither the owner of the file nor the super-user.
+.SH "ASSEMBLER (PDP-11)"
+(chmod = 15.)
+.br
+.B sys chmod; name; mode
diff --git a/usr/man/man2/chown.2 b/usr/man/man2/chown.2
new file mode 100644 (file)
index 0000000..376acf7
--- /dev/null
@@ -0,0 +1,32 @@
+.TH CHOWN 2 
+.SH NAME
+chown \- change owner and group of a file
+.SH SYNOPSIS
+.B chown(name, owner, group)
+.br
+.B char *name;
+.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.
+.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/exit.2 b/usr/man/man2/exit.2
new file mode 100644 (file)
index 0000000..6dd30aa
--- /dev/null
@@ -0,0 +1,39 @@
+.TH EXIT 2 
+.SH NAME
+exit \- terminate process
+.SH SYNOPSIS
+.B exit(status)
+.br
+.B int status;
+.PP
+.B _exit(status)
+.br
+.B int status;
+.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.
+.SH "SEE ALSO"
+wait(2)
+.SH "ASSEMBLER (PDP-11)"
+(exit = 1.)
+.br
+(status in r0)
+.br
+.B sys exit
diff --git a/usr/man/man2/getuid.2 b/usr/man/man2/getuid.2
new file mode 100644 (file)
index 0000000..2d1bbb3
--- /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..551b93f
--- /dev/null
@@ -0,0 +1,63 @@
+.TH INDIR 2 
+.SH NAME
+indir, syscall \- indirect system call
+.SH SYNOPSIS
+.BR "syscall(number, r0, r1, arg ...)" \  \  (PDP-11)
+.br
+.BR "syscall(number, arg, ...)" \  \  (VAX-11)
+.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/intro.2 b/usr/man/man2/intro.2
new file mode 100644 (file)
index 0000000..9e2960b
--- /dev/null
@@ -0,0 +1,275 @@
+.TH INTRO 2 
+.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
+lists all the entries into the system.
+Most of these calls have an error return.
+.pg
+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 dialled in or no disk pack is loaded on a drive.
+.en 7 E2BIG "Arg list too long
+An argument list longer than 5120 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 .
diff --git a/usr/man/man2/ioctl.2 b/usr/man/man2/ioctl.2
new file mode 100644 (file)
index 0000000..5350611
--- /dev/null
@@ -0,0 +1,91 @@
+.TH IOCTL 2 
+.SH NAME
+ioctl, stty, gtty \- control device
+.SH SYNOPSIS
+.B #include <sgtty.h>
+.PP
+.B ioctl(fildes, request, argp)
+.br
+.B struct sgttyb *argp;
+.PP
+.B stty(fildes, argp)
+.br
+.B struct sgttyb *argp;
+.PP
+.B gtty(fildes, argp)
+.br
+.B struct sgttyb *argp;
+.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 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.
+.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.
+.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/link.2 b/usr/man/man2/link.2
new file mode 100644 (file)
index 0000000..1225830
--- /dev/null
@@ -0,0 +1,35 @@
+.TH LINK 2 
+.SH NAME
+link \- link to a file
+.SH SYNOPSIS
+.B link(name1, name2)
+.br
+.B char *name1, *name2;
+.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.
+.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..da25318
--- /dev/null
@@ -0,0 +1,66 @@
+.TH LSEEK 2 
+.SH NAME
+lseek, tell \- move read/write pointer
+.SH SYNOPSIS
+.B long lseek(fildes, offset, whence)
+.br
+.B long offset;
+.PP
+.B long tell(fildes)
+.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..76042e5
--- /dev/null
@@ -0,0 +1,42 @@
+.TH MKNOD 2 
+.SH NAME
+mknod \- make a directory or a special file
+.SH SYNOPSIS
+.B mknod(name, mode, addr)
+.br
+.B char *name;
+.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..e968ee0
--- /dev/null
@@ -0,0 +1,88 @@
+.TH MOUNT 2 
+.SH NAME
+mount, umount \- mount or remove file system
+.SH SYNOPSIS
+.B mount(special, name, rwflag)
+.br
+.B char *special, *name;
+.PP
+.B umount(special)
+.br
+.B char *special;
+.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(1)
+.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/nice.2 b/usr/man/man2/nice.2
new file mode 100644 (file)
index 0000000..29f088f
--- /dev/null
@@ -0,0 +1,39 @@
+.TH NICE 2 
+.SH NAME
+nice \- set program priority
+.SH SYNOPSIS
+.B nice(incr)
+.SH DESCRIPTION
+The scheduling
+priority of the process is augmented by
+.IR incr .
+Positive priorities get less
+service than normal.
+Priority 10 is recommended to users
+who wish to execute long-running programs
+without flak from the administration.
+.PP
+Negative increments are ignored except on behalf of 
+the super-user.
+The priority is limited to the range
+\-20 (most urgent) to 20 (least).
+.PP
+The priority of a process is
+passed to a child process by
+.IR fork (2).
+For a privileged process to return to normal priority
+from an unknown state,
+.I nice
+should be called successively with arguments
+\-40 (goes to priority \-20 because of truncation),
+20 (to get to 0),
+then 0 (to maintain compatibility with previous versions
+of this call).
+.SH "SEE ALSO"
+nice(1)
+.SH "ASSEMBLER (PDP-11)"
+(nice = 34.)
+.br
+(priority in r0)
+.br
+.B sys nice
diff --git a/usr/man/man2/open.2 b/usr/man/man2/open.2
new file mode 100644 (file)
index 0000000..816685f
--- /dev/null
@@ -0,0 +1,42 @@
+.TH OPEN 2 
+.SH NAME
+open \- open for reading or writing
+.SH SYNOPSIS
+.B open(name, mode)
+.br
+.B char *name;
+.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)
diff --git a/usr/man/man2/pause.2 b/usr/man/man2/pause.2
new file mode 100644 (file)
index 0000000..d9c4866
--- /dev/null
@@ -0,0 +1,19 @@
+.TH PAUSE 2 
+.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).
+.SH SEE ALSO
+kill(1), kill(2), alarm(2), signal(2), 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..5de1c56
--- /dev/null
@@ -0,0 +1,62 @@
+.TH PIPE 2 
+.SH NAME
+pipe \- create an interprocess channel
+.SH SYNOPSIS
+.B pipe(fildes)
+.br
+.B int fildes[2];
+.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..e9a24a4
--- /dev/null
@@ -0,0 +1,55 @@
+.TH PROFIL 2 
+.SH NAME
+profil \- execution time profile
+.SH SYNOPSIS
+.B profil(buff, bufsiz, offset, scale)
+.br
+.B char *buff;
+.br
+.B int bufsiz, offset, scale;
+.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
diff --git a/usr/man/man2/setuid.2 b/usr/man/man2/setuid.2
new file mode 100644 (file)
index 0000000..69e25d8
--- /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 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..e688f19
--- /dev/null
@@ -0,0 +1,176 @@
+.TH SIGNAL 2 
+.SH NAME
+signal \- catch or ignore signals
+.SH SYNOPSIS
+.B #include <signal.h>
+.PP
+.B (*signal(sig, func))();
+.br
+.B (*func)();
+.SH DESCRIPTION
+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
+.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.
+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
+When a caught signal occurs
+during certain system calls, the call terminates prematurely.
+In particular this can occur
+during a
+.I 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.
+.SH "SEE ALSO"
+kill(1), kill(2),
+ptrace(2),
+setjmp(3)
+.SH DIAGNOSTICS
+The value (int)\-1 is returned if the
+given signal is out of range.
+.SH BUGS
+If a repeated signal arrives before the last one can be
+reset, there is no chance to catch it.
+.PP
+The type specification of the routine and its
+.I func
+argument are problematical.
+.PP
+On the VAX-11, odd values for
+.I func
+are the same as SIG_IGN.
+.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 odd, 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)"
+The following defines the mapping of hardware traps to signals:
+.PP
+.nf
+.ta \w'     Floating divide by zero   'u +\w'15*  'u
+Arithemetic traps:
+.in +5
+Integer overflow       SIGFPE
+Integer division by zero       SIGFPE
+Floating overflow      SIGFPE
+Floating underflow     SIGFPE
+Floating division by zero      SIGFPE
+Decimal division by zero       SIGFPE
+Decimal overflow       SIGFPE
+Subscript-range        SIGFPE
+.in -5
+Access control (i.e. protection
+  violation)
+  except length violation      SIGBUS
+Translation not valid, and
+  Length access control        SIGSEGV
+Reserved instruction   SIGILL
+Customer-reserved instr.       SIGEMT
+Reserved operand       SIGILL
+Reserved addressing    SIGILL
+Trace pending  SIGTRAP
+Bpt instruction        SIGTRAP
+Compatibility-mode     SIGEMT
+Chme   SIGSEGV
+Chms   SIGSEGV
+Chmu   SIGBUS
+.fi
diff --git a/usr/man/man2/stat.2 b/usr/man/man2/stat.2
new file mode 100644 (file)
index 0000000..e297a1c
--- /dev/null
@@ -0,0 +1,95 @@
+.TH STAT 2 
+.SH NAME
+stat, fstat \- get file status
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B #include <sys/stat.h>
+.PP
+.B stat(name, buf)
+.br
+.B char *name;
+.br
+.B struct stat *buf;
+.PP
+.B fstat(fildes, buf)
+.br
+.B struct stat *buf;
+.SH DESCRIPTION
+.I Stat
+obtains detailed information about a named file.
+.I Fstat
+obtains the same information about an open file
+known by the file descriptor from a successful
+.I open, creat, dup
+or
+.IR pipe (2)
+call.
+.PP
+.I Name
+points to a null-terminated string naming
+a file;
+.I buf
+is the address of a buffer
+into which information is placed concerning the file.
+It is unnecessary to have any
+permissions at all with respect to the file, but all directories
+leading to the file must be searchable.
+The layout of the structure pointed to by buf
+as defined in
+.I <stat.h>
+is given below.
+.I St_mode 
+is encoded according to the `#define' statements.
+.PP
+.nf
+.so /usr/include/sys/stat.h
+.fi
+.PP
+The mode bits 0000070 and 0000007 encode group and
+others permissions (see
+.IR chmod (2)).
+The defined types,
+.I 
+ino_t, off_t, time_t,
+name various width integer values;
+.I dev_t
+encodes
+major and minor device numbers;
+their exact definitions are in
+the include file <sys/types.h>
+(see
+.IR types (5).
+.PP
+When
+.I fildes
+is associated with a pipe,
+.I fstat
+reports an ordinary file with an i-node number,
+restricted permissions,
+and a not necessarily meaningful length.
+.PP
+.I st_atime
+is the file was last read.
+For reasons of efficiency, it is not set when a directory
+is searched, although this would be more logical.
+.I st_mtime
+is the time the file was last written or created.
+It is not set by changes of owner, group, link count, or mode.
+.I st_ctime
+is set both both by writing and changing the i-node.
+.SH "SEE ALSO"
+ls(1), filsys(5)
+.SH DIAGNOSTICS
+Zero is returned if a status is available;
+\-1 if the file cannot be found.
+.SH ASSEMBLER
+(stat = 18.)
+.br
+.B sys stat; name; buf
+.PP
+(fstat = 28.)
+.br
+(file descriptor in r0)
+.br
+.B sys fstat; buf
diff --git a/usr/man/man2/stime.2 b/usr/man/man2/stime.2
new file mode 100644 (file)
index 0000000..22c6662
--- /dev/null
@@ -0,0 +1,26 @@
+.TH STIME 2 
+.SH NAME
+stime \- set time
+.SH SYNOPSIS
+.B stime(tp)
+.br
+.B long *tp;
+.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/sync.2 b/usr/man/man2/sync.2
new file mode 100644 (file)
index 0000000..ff0075b
--- /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/time.2 b/usr/man/man2/time.2
new file mode 100644 (file)
index 0000000..3c25698
--- /dev/null
@@ -0,0 +1,58 @@
+.TH TIME 2 
+.SH NAME
+time, ftime \- get date and time
+.SH SYNOPSIS
+.B long time(0)
+.PP
+.B long time(tloc)
+.br
+.B long *tloc;
+.sp
+.B #include <sys/types.h>
+.br
+.B #include <sys/timeb.h>
+.br
+.B ftime(tp)
+.br
+.B struct timeb *tp;
+.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 timezone (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..c8dd57c
--- /dev/null
@@ -0,0 +1,35 @@
+.TH TIMES 2 
+.SH NAME
+times \- get process times
+.SH SYNOPSIS
+.B times(buffer)
+.br
+.B struct tbuffer *buffer;
+.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/60 seconds.
+.PP
+After the call, the buffer will appear as follows:
+.PP
+.nf
+struct tbuffer {
+       long    proc_user_time;
+       long    proc_system_time;
+       long    child_user_time;
+       long    child_system_time;
+};
+.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)
+.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..b995e36
--- /dev/null
@@ -0,0 +1,30 @@
+.TH UMASK 2
+.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 0 (no restrictions).
+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..d94d693
--- /dev/null
@@ -0,0 +1,34 @@
+.TH UNLINK 2 
+.SH NAME
+unlink \- remove directory entry
+.SH SYNOPSIS
+.B unlink(name)
+.br
+.B char *name;
+.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..1a47e79
--- /dev/null
@@ -0,0 +1,31 @@
+.TH UTIME 2
+.SH NAME
+utime \- set file times
+.SH SYNOPSIS
+.B #include <sys/types.h>
+.br
+.B utime(file, timep)
+.br
+.B char *file;
+.br
+.B time_t timep[2];
+.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/wait.2 b/usr/man/man2/wait.2
new file mode 100644 (file)
index 0000000..eeeda74
--- /dev/null
@@ -0,0 +1,70 @@
+.TH WAIT 2 
+.SH NAME
+wait \- wait for process to terminate
+.SH SYNOPSIS
+.B wait(status)
+.br
+.B int *status;
+.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.
+.SH "SEE ALSO"
+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/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..cdf763f
--- /dev/null
@@ -0,0 +1,14 @@
+.TH ABS 3 
+.SH NAME
+abs \- integer absolute value
+.SH SYNOPSIS
+.B abs(i)
+.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/atof.3 b/usr/man/man3/atof.3
new file mode 100644 (file)
index 0000000..5504dd2
--- /dev/null
@@ -0,0 +1,39 @@
+.TH ATOF 3 
+.SH NAME
+atof, atoi, atol \- convert ASCII to numbers
+.SH SYNOPSIS
+.B double atof(nptr)
+.br
+.B char *nptr;
+.PP
+.B atoi(nptr)
+.br
+.B char *nptr;
+.PP
+.B long atol(nptr)
+.br
+.B char *nptr;
+.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
+recoginizes 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..1c057a1
--- /dev/null
@@ -0,0 +1,66 @@
+.TH CRYPT 3 
+.SH NAME
+crypt, setkey, encrypt \- DES encryption
+.SH SYNOPSIS
+.B char *crypt(key, salt)
+.br
+.B char *key, *salt;
+.PP
+.B setkey(key)
+.br
+.B char *key;
+.PP
+.B encrypt(block, edflag)
+.br
+.B char *block;
+.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..cf0da08
--- /dev/null
@@ -0,0 +1,91 @@
+.TH CTIME 3 
+.SH NAME
+ctime, localtime, gmtime, asctime, timezone \-  convert date and time to ASCII
+.SH SYNOPSIS
+.B char *ctime(clock)
+.br
+.B long *clock;
+.PP
+.B #include <time.h>
+.PP
+.B struct tm *localtime(clock)
+.br
+.B long *clock;
+.PP
+.B struct tm *gmtime(clock)
+.br
+.B long *clock;
+.PP
+.B char *asctime(tm)
+.br
+.B struct tm *tm;
+.PP
+.B char *timezone(zone, dst)
+.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/dbm.3x b/usr/man/man3/dbm.3x
new file mode 100644 (file)
index 0000000..02afe6d
--- /dev/null
@@ -0,0 +1,142 @@
+.TH DBM 3X 
+.SH NAME
+dbminit, fetch, store, delete, firstkey, nextkey \- data base subroutines
+.SH SYNOPSIS
+.nf
+.PP
+.B "typedef struct { char *dptr; int dsize; } 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 filesystem 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:
+.PP
+       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 512 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..231dbc4
--- /dev/null
@@ -0,0 +1,65 @@
+.TH ECVT 3 
+.SH NAME
+ecvt, fcvt, gcvt \- output conversion
+.SH SYNOPSIS
+.B char *ecvt(value, ndigit, decpt, sign)
+.br
+.B double value;
+.br
+.B int ndigit, *decpt, *sign;
+.PP
+.B char *fcvt(value, ndigit, decpt, sign)
+.br
+.B double value;
+.br
+.B int ndigit, *decpt, *sign;
+.PP
+.B char *gcvt(value, ndigit, buf)
+.br
+.B double value;
+.br
+.B char *buf;
+.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..d931177
--- /dev/null
@@ -0,0 +1,40 @@
+.TH END 3 
+.SH NAME
+end, etext, edata \- last locations in program
+.SH SYNOPSIS
+.B extern end;
+.br
+.B extern etext;
+.br
+.B extern edata;
+.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 resetting the program break by
+the routines of
+.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..4b78b09
--- /dev/null
@@ -0,0 +1,76 @@
+.TH EXP 3M 
+.SH NAME
+exp, log, log10, pow, sqrt \- exponential, logarithm, power, square root
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double exp(x)
+.br
+.B double x;
+.PP
+.B double log(x)
+.br
+.B double x;
+.PP
+.B double log10(x)
+.br
+.B double x;
+.PP
+.B double pow(x, y)
+.br
+.B double x, y;
+.PP
+.B double sqrt(x)
+.br
+.B double x;
+.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..f47974b
--- /dev/null
@@ -0,0 +1,35 @@
+.TH FLOOR 3M 
+.SH NAME
+fabs, floor, ceil \- absolute value, floor, ceiling functions
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double floor(x)
+.br
+.B double x;
+.PP
+.B double ceil(x)
+.br
+.B double x;
+.PP
+.B double fabs(x)
+.br
+.B double(x);
+.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/fopen.3s b/usr/man/man3/fopen.3s
new file mode 100644 (file)
index 0000000..4d95bbd
--- /dev/null
@@ -0,0 +1,89 @@
+.TH FOPEN 3S 
+.SH NAME
+fopen, freopen, fdopen \- open a stream
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.SM
+.B FILE
+.B *fopen(filename, type)
+.br
+.B char *filename, *type;
+.PP
+.SM
+.B FILE
+.B *freopen(filename, type, stream)
+.br
+.B char *filename, *type;
+.br
+.SM
+.B FILE
+.B *stream;
+.PP
+.SM
+.B FILE
+.B *fdopen(fildes, type)
+.br
+.B char *type;
+.SH DESCRIPTION
+.I Fopen
+opens the file named by
+.I filename
+and associates a stream with it.
+.I Fopen
+returns a pointer to be used to identify
+the stream in subsequent operations.
+.PP
+.I Type
+is a character string having one of the following values:
+.TP 5
+"r"
+open for reading
+.ns
+.TP 5
+"w"
+create for writing
+.ns
+.TP 5
+"a"
+append: open for writing at end
+of file, or create for writing
+.PP
+.I Freopen
+substitutes the named file in place
+of the open
+.IR stream .
+It returns the original value of
+.IR stream .
+The original stream is closed.
+.PP
+.I Freopen
+is typically used to attach the preopened
+constant names,
+.B stdin, stdout, stderr,
+to specified files.
+.PP
+.I Fdopen
+associates a stream with a file descriptor obtained from
+.I open, dup, creat,
+or
+.IR pipe (2).
+The
+.I type
+of the stream must agree with the mode of the open file.
+.SH "SEE ALSO"
+open(2),
+fclose(3)
+.SH DIAGNOSTICS
+.I Fopen
+and 
+.I freopen
+return the pointer
+.SM
+.B NULL
+if
+.I filename
+cannot be accessed.
+.SH BUGS
+.I Fdopen
+is not portable to systems other than UNIX.
diff --git a/usr/man/man3/fread.3s b/usr/man/man3/fread.3s
new file mode 100644 (file)
index 0000000..e2542f5
--- /dev/null
@@ -0,0 +1,51 @@
+.TH FREAD 3S 
+.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
+.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.
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..382e53d
--- /dev/null
@@ -0,0 +1,36 @@
+.TH GAMMA 3M 
+.SH NAME
+gamma \- log gamma function
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double gamma(x)
+.br
+.B double x;
+.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
+       y = gamma(x);
+.br
+       if (y > 88.)
+.br
+               error( );
+.br
+       y = exp(y);
+.br
+       if(signgam)
+.br
+               y = \-y;
+.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/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..79d6476
--- /dev/null
@@ -0,0 +1,20 @@
+.TH GETENV 3
+.SH NAME
+getenv \- value for environment name
+.SH SYNOPSIS
+.B char *getenv(name)
+.br
+.B char *name;
+.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/getgrent.3 b/usr/man/man3/getgrent.3
new file mode 100644 (file)
index 0000000..a4a650d
--- /dev/null
@@ -0,0 +1,93 @@
+.TH GETGRENT 3 
+.SH NAME
+getgrent, getgrgid, getgrnam, setgrent, endgrent \- get group file entry
+.SH SYNOPSIS
+.B #include <grp.h>
+.PP
+.B struct group *getgrent();
+.PP
+.B struct group *getgrgid(gid) int gid;
+.PP
+.B struct group *getgrnam(name) char *name;
+.PP
+.B int setgrent();
+.PP
+.B int endgrent();
+.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
+gr_name
+The name of the group.
+.br
+.ns
+.TP
+gr_passwd
+The encrypted password of the group.
+.br
+.ns
+.TP
+gr_gid
+The numerical group-ID.
+.br
+.ns
+.TP
+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..0f852aa
--- /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..ffea3d1
--- /dev/null
@@ -0,0 +1,24 @@
+.TH GETPASS 3 
+.SH NAME
+getpass \- read a password
+.SH SYNOPSIS
+.B char *getpass(prompt)
+.br
+.B char *prompt;
+.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..03694d6
--- /dev/null
@@ -0,0 +1,26 @@
+.TH GETPW 3  deprecated
+.SH NAME
+getpw \- get name from UID
+.SH SYNOPSIS
+.B getpw(uid, buf)
+.br
+.B char *buf;
+.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/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..283279a
--- /dev/null
@@ -0,0 +1,26 @@
+.TH HYPOT 3M 
+.SH NAME
+hypot, cabs \- euclidean distance
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double hypot(x, y)
+.br
+.B double x, y;
+.PP
+.B double cabs(z)
+.br
+.B struct { double x, y;} z;
+.SH DESCRIPTION
+.I Hypot
+and
+.I cabs
+return
+.PP
+.IP "" 15n
+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..6e6f60a
--- /dev/null
@@ -0,0 +1,92 @@
+.TH INTRO 3
+.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
+(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.
+The files in which these libraries are found are named
+on the appropriate pages.
+.SH FILES
+/lib/libc.a
+.br
+/lib/libm.a, /usr/lib/libm.a (one or the other)
+.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..f9dffcf
--- /dev/null
@@ -0,0 +1,41 @@
+.TH J0 3M 
+.SH NAME
+j0, j1, jn, y0, y1, yn \- bessel functions
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double j0(x)
+.br
+.B double x;
+.PP
+.B double j1(x)
+.br
+.B double x;
+.PP
+.B double jn(n, x);
+.br
+.B double x;
+.PP
+.B double y0(x)
+.br
+.B double x;
+.PP
+.B double y1(x)
+.br
+.B double x;
+.PP
+.B double yn(n, x)
+.br
+.B double x;
+.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/l3tol.3 b/usr/man/man3/l3tol.3
new file mode 100644 (file)
index 0000000..ac373b6
--- /dev/null
@@ -0,0 +1,35 @@
+.TH L3TOL 3 
+.SH NAME
+l3tol, ltol3 \- convert between 3-byte integers and long integers
+.SH SYNOPSIS
+.B l3tol(lp, cp, n)
+.br
+.B long *lp;
+.br
+.B char *cp;
+.PP
+.B ltol3(cp, lp, n)
+.br
+.B char *cp;
+.br
+.B long *lp;
+.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..57073ab
--- /dev/null
@@ -0,0 +1,112 @@
+.TH MALLOC 3 
+.SH NAME
+malloc, free, realloc, calloc \- main memory allocator
+.SH SYNOPSIS
+.B char *malloc(size)
+.br
+.B unsigned size;
+.PP
+.B free(ptr)
+.br
+.B char *ptr;
+.PP
+.B char *realloc(ptr, size)
+.br
+.B char *ptr;
+.br
+.B unsigned size;
+.PP
+.B char *calloc(nelem, elsize)
+.br
+.B unsigned nelem, elsize;
+.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.
diff --git a/usr/man/man3/mktemp.3 b/usr/man/man3/mktemp.3
new file mode 100644 (file)
index 0000000..691bae6
--- /dev/null
@@ -0,0 +1,18 @@
+.TH MKTEMP 3 
+.SH NAME
+mktemp \- make a unique file name
+.SH SYNOPSIS
+.B char *mktemp(template)
+.br
+.B char *template;
+.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..611bc95
--- /dev/null
@@ -0,0 +1,86 @@
+.TH MONITOR 3 
+.SH NAME
+monitor \- prepare execution profile
+.SH SYNOPSIS
+.B monitor(lowpc, highpc, buffer, bufsize, nfunc)
+.br
+.B
+int (*lowpc)( ), (*highpc)( );
+.br
+.B short buffer[ ];
+.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
+       extern etext();
+.br
+       ...
+.br
+       monitor((int)2, etext, buf, bufsize, nfunc);
+.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/perror.3 b/usr/man/man3/perror.3
new file mode 100644 (file)
index 0000000..cd9b7af
--- /dev/null
@@ -0,0 +1,43 @@
+.TH PERROR 3 
+.SH NAME
+perror, sys_errlist, sys_nerr \- system error messages
+.SH SYNOPSIS
+.B perror(s)
+.br
+.B char *s;
+.PP
+.B int sys_nerr;
+.br
+.B char *sys_errlist[];
+.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..fc40ec0
--- /dev/null
@@ -0,0 +1,87 @@
+.TH PLOT 3X 
+.SH NAME
+plot: openpl et al. \- graphics interface
+.SH SYNOPSIS
+.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/printf.3s b/usr/man/man3/printf.3s
new file mode 100644 (file)
index 0000000..9b0916f
--- /dev/null
@@ -0,0 +1,231 @@
+.TH PRINTF 3S
+.SH NAME
+printf, fprintf, sprintf \- formatted output conversion
+.SH SYNOPSIS
+.B #include <stdio.h>
+.PP
+.B printf(format
+.RB [ ,
+arg ] ...
+.B )
+.br
+.B char *format;
+.PP
+.B fprintf(stream, format
+.RB [ ,
+arg ] ...
+.B )
+.br
+.SM
+.B FILE
+.B *stream;
+.br
+.B char *format;
+.PP
+.B sprintf(s, format
+.RB [ ,
+arg ] ...
+.B )
+.br
+.B char *s, format;
+.SH DESCRIPTION
+.I Printf
+places output on the standard output stream
+.IR stdout .
+.I Fprintf
+places output on the named output
+.IR stream .
+.I Sprintf
+places `output' in the string
+.I s,
+followed by the character `\\0'.
+.PP
+Each of these functions 
+converts, formats, and prints its arguments after the first
+under control of the first argument.
+The first argument is a character string
+which contains
+two types of objects:
+plain characters, which are simply copied to the
+output stream,
+and conversion specifications,
+each of which causes conversion and printing
+of the next successive
+.I arg
+.IR printf .
+.PP
+Each conversion specification is introduced by
+the character
+.BR % .
+Following the
+.BR % ,
+there may be
+.TP
+\-
+an optional minus sign `\-' which specifies
+.I "left adjustment"
+of the converted value
+in the
+indicated field;
+.TP
+\-
+an optional digit string specifying a
+.I "field width;"
+if the converted value has fewer characters
+than the field width
+it will be blank-padded on the left (or right,
+if the left-adjustment indicator has been
+given) to make up the field width;
+if the field width begins with a zero,
+zero-padding will be done instead of blank-padding;
+.TP
+\-
+an optional period
+.RB ` . '
+which serves to
+separate the field width from the
+next digit string;
+.TP
+\-
+an optional digit string
+specifying a
+.I precision
+which specifies
+the number of digits to appear after the
+decimal point, for e- and f-conversion,
+or the maximum number of characters
+to be printed from a string;
+.TP
+\-
+the character
+.B l
+specifying that a following
+.BR d ,
+.BR o ,
+.BR x ,
+or
+.B u
+corresponds to a long integer
+.I arg.
+(A capitalized conversion code accomplishes
+the same thing.)
+.TP
+\-
+a character which indicates the type of
+conversion to be applied.
+.PP
+A field width or precision may be `*' instead of a digit string.
+In this case an integer
+.I arg
+supplies
+the field width or precision.
+.PP
+The conversion characters
+and their meanings are
+.TP
+.B dox
+The integer
+.I arg
+is converted to decimal, octal, or
+hexadecimal notation respectively.
+.TP
+.B f
+The float or double
+.I arg
+is converted to decimal notation
+in the style `[\fB\-\fR]ddd.ddd'
+where the number of d's after the decimal point
+is equal to the precision specification
+for the argument.
+If the precision
+is missing,
+6 digits are given;
+if the precision is explicitly 0, no digits and
+no decimal point are printed.
+.TP
+.B e
+The float or double
+.I arg
+is converted in the style
+`[\fB\-\fR]d\fB.\fRddd\fBe\fR\(+-dd'
+where there is one digit before the decimal point and
+the number after is equal to the
+precision specification for the argument;
+when the precision is missing,
+6 digits are produced.
+.TP
+.B g
+The float or double
+.I arg
+is printed in style
+.BR d ,
+in style
+.BR f ,
+or in
+style
+.BR e ,
+whichever gives full precision in minimum space.
+.TP
+.B c
+The character
+.I arg
+is printed.
+Null characters are ignored.
+.TP
+.B s
+.I Arg
+is taken to be a string (character pointer)
+and characters from the string are printed until
+a null character or until
+the number of characters indicated by the precision
+specification is reached;
+however if the precision is 0 or missing
+all characters up to a null are printed.
+.TP
+.B u
+The unsigned integer
+.I arg
+is converted to decimal
+and printed (the result will be in the
+range 0 through MAXUINT, where MAXUINT equals 4294967295 on a VAX-11
+and 65536 on a PDP-11).
+.TP
+.B %
+Print a `%'; no argument is converted.
+.PP
+In no case does a non-existent or small field width
+cause truncation of a field;
+padding takes place only if the specified field
+width exceeds the actual width.
+Characters generated by
+.I printf
+are printed by 
+.IR putc (3).
+.PP
+.B Examples
+.br
+To print a date and time in the form `Sunday, July 3, 10:02',
+where
+.I weekday
+and
+.I month
+are pointers to null-terminated strings:
+.RS
+.HP
+.nh
+printf("%s, %s %d, %02d:%02d", weekday, month, day, hour, min);
+.RE
+.hy
+.PP
+To print
+.if n pi
+.if t \(*p
+to 5 decimals:
+.IP
+printf("pi = %.5f", 4*atan(1.0));
+.SH "SEE ALSO"
+putc(3),
+scanf(3),
+ecvt(3)
+.SH BUGS
+Very wide fields (>128 characters) fail.
diff --git a/usr/man/man3/putc.3s b/usr/man/man3/putc.3s
new file mode 100644 (file)
index 0000000..473caf4
--- /dev/null
@@ -0,0 +1,102 @@
+.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.
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..8a0e69b
--- /dev/null
@@ -0,0 +1,26 @@
+.TH QSORT 3 
+.SH NAME
+qsort \- quicker sort
+.SH SYNOPSIS
+.B qsort(base, nel, width, compar)
+.br
+.B char *base;
+.br
+.B int (*compar)( );
+.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..968c535
--- /dev/null
@@ -0,0 +1,23 @@
+.TH RAND 3 VAX-11
+.SH NAME
+rand, srand \- random number generator
+.SH SYNOPSIS
+.B srand(seed)
+.br
+.B int seed;
+.PP
+.B rand( )
+.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/scanf.3s b/usr/man/man3/scanf.3s
new file mode 100644 (file)
index 0000000..eddd65d
--- /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..6d808b0
--- /dev/null
@@ -0,0 +1,48 @@
+.TH SETBUF 3S 
+.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:
+.PP
+.in +10
+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 output streams directed to terminals,
+and the standard error stream
+.I stderr
+are normally not buffered.
+.SH "SEE ALSO"
+fopen(3), getc(3), putc(3), malloc(3)
diff --git a/usr/man/man3/setjmp.3 b/usr/man/man3/setjmp.3
new file mode 100644 (file)
index 0000000..aae8841
--- /dev/null
@@ -0,0 +1,41 @@
+.TH SETJMP 3
+.SH NAME
+setjmp, longjmp \- non-local goto
+.SH SYNOPSIS
+.B #include <setjmp.h>
+.PP
+.B setjmp(env)
+.br
+.B jmp_buf env;
+.PP
+.B longjmp(env, val)
+.br
+.B jmp_buf env;
+.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/sin.3m b/usr/man/man3/sin.3m
new file mode 100644 (file)
index 0000000..b94767c
--- /dev/null
@@ -0,0 +1,71 @@
+.TH SIN 3M 
+.SH NAME
+sin, cos, tan, asin, acos, atan, atan2 \- trigonometric functions
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double sin(x)
+.br
+.B double x;
+.PP
+.B double cos(x)
+.br
+.B double x;
+.PP
+.B double asin(x)
+.br
+.B double x;
+.PP
+.B double acos(x)
+.br
+.B double x;
+.PP
+.B double atan(x)
+.br
+.B double x;
+.PP
+.B double atan2(x, y)
+.br
+.B double x, y;
+.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..dd95735
--- /dev/null
@@ -0,0 +1,26 @@
+.TH SINH 3M
+.SH NAME
+sinh, cosh, tanh \- hyperbolic functions
+.SH SYNOPSIS
+.B #include <math.h>
+.PP
+.B double sinh(x)
+.br
+.B double x;
+.PP
+.B double cosh(x)
+.br
+.B double x;
+.PP
+.B double tanh(x)
+.br
+.B double x;
+.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..a62945c
--- /dev/null
@@ -0,0 +1,23 @@
+.TH SLEEP 3 
+.SH NAME
+sleep \- suspend execution for interval
+.SH SYNOPSIS
+.B sleep(seconds)
+.br
+.B unsigned seconds;
+.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..0a8f606
--- /dev/null
@@ -0,0 +1,108 @@
+.TH STDIO 3S 
+.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.
diff --git a/usr/man/man3/string.3 b/usr/man/man3/string.3
new file mode 100644 (file)
index 0000000..45a0d69
--- /dev/null
@@ -0,0 +1,106 @@
+.TH STRING 3 
+.SH NAME
+strcat, strcatn, strcmp, strcmpn, strcpy, strcpyn, strlen, index, rindex \- string operations
+.SH SYNOPSIS
+.B char *strcat(s1, s2)
+.br
+.B char *s1, *s2;
+.PP
+.B char *strcatn(s1, s2, n)
+.br
+.B char *s1, *s2;
+.PP
+.B strcmp(s1, s2)
+.br
+.B char *s1, *s2;
+.PP
+.B strcmpn(s1, s2, n)
+.br
+.B char *s1, *s2;
+.PP
+.B char *strcpy(s1, s2)
+.br
+.B char *s1, *s2;
+.PP
+.B char *strcpyn(s1, s2, n)
+.br
+.B char *s1, *s2;
+.PP
+.B strlen(s)
+.br
+.B char *s;
+.PP
+.B char *index(s, c)
+.br
+.B char *s, c;
+.PP
+.B char *rindex(s, c)
+.br
+.B char *s;
+.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 Strcatn
+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 Strcmpn
+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 Strcpyn
+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..7265581
--- /dev/null
@@ -0,0 +1,20 @@
+.TH SWAB 3 
+.SH NAME
+swab \- swap bytes
+.SH SYNOPSIS
+.B swab(from, to, nbytes)
+.br
+.B char *from, *to;
+.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/ttyname.3 b/usr/man/man3/ttyname.3
new file mode 100644 (file)
index 0000000..b7d15ee
--- /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/man4/cat.4 b/usr/man/man4/cat.4
new file mode 100644 (file)
index 0000000..9053a00
--- /dev/null
@@ -0,0 +1,20 @@
+.TH CAT 4 
+.SH NAME
+cat \- phototypesetter interface
+.SH DESCRIPTION
+.I Cat
+provides the interface to a Graphic Systems C/A/T
+phototypesetter.
+Bytes written on the file specify font, size, and other control
+information as well as the characters to be flashed.
+The coding will not be described here.
+.PP
+Only one process may have
+this file open at a time.
+It is write-only.
+.SH FILES
+/dev/cat
+.SH "SEE ALSO"
+troff(1)
+.br
+Phototypesetter interface specification
diff --git a/usr/man/man4/ht.4 b/usr/man/man4/ht.4
new file mode 100644 (file)
index 0000000..077a8cb
--- /dev/null
@@ -0,0 +1,80 @@
+.TH HT 4 
+.SH NAME
+ht \- RH-11/TE-16 magtape interface
+.SH DESCRIPTION
+The files
+.I "mt0, ..., mt15"
+refer to the DEC RH/TM/TE-16 magtape.
+The files
+.I "mt0, ..., mt7"
+are 800 bpi, and
+.I "mt8, ..., mt15"
+are 1600bpi.
+The files
+.I "mt0, ..., mt3"
+and
+.I "mt8, ..., mt11"
+are rewound when closed; the others are not.
+When a file open for writing is closed, a double end-of-file is written.
+.PP
+A standard tape consists of a
+series of 512 byte records terminated by an
+end-of-file.
+To the extent possible, the system makes
+it possible, if inefficient, to treat
+the tape like any other file.
+Seeks have their usual meaning and it is possible
+to read or write a byte at a time.
+Writing in very small units is inadvisable,
+however, because it tends to create monstrous record
+gaps.
+.PP
+The
+.I mt
+files discussed above are useful
+when it is desired to access the tape in a way
+compatible with ordinary files.
+When foreign tapes are to be dealt with, and especially
+when long records are to be read or written, the
+`raw' interface is appropriate.
+The associated files may be named
+.I "rmt0, ..., rmt15,"
+but the same minor-device considerations
+as for the regular files still apply.
+.PP
+Each
+.I read
+or
+.I write
+call reads or writes the next record on the tape.
+In the write case the record has the same length as the
+buffer given.
+During a read, the record size is passed
+back as the number of bytes read, provided it is no greater
+than the buffer size;
+if the record is long, an error is indicated.
+In raw tape I/O, the buffer must begin on a word boundary
+and the count must be even.
+Seeks are ignored.
+A zero count is returned when a tape mark is read;
+another read will fetch the first record of the
+next tape file.
+.SH FILES
+/dev/mt?,
+/dev/rmt?
+.SH "SEE ALSO"
+tp(1)
+.SH BUGS
+The magtape system is supposed to be able
+to take 64 drives.
+Such addressing has never been tried.
+These bugs will be fixed when
+we get more experience with this device.
+.PP
+The driver is limited to four transports.
+.PP
+If any non-data error is encountered, it refuses to do anything
+more until closed.
+In raw I/O, there should be a way
+to perform forward and backward record and file spacing and
+to write an EOF mark explicitly.
diff --git a/usr/man/man4/kl.4 b/usr/man/man4/kl.4
new file mode 100644 (file)
index 0000000..aaa95e7
--- /dev/null
@@ -0,0 +1,24 @@
+.TH KL 4 
+.SH NAME
+kl \- KL-11 or DL-11 asynchronous interface
+.SH DESCRIPTION
+The discussion of terminal I/O given in
+.IR tty (4)
+applies to these devices.
+.PP
+Since they run at a constant speed, attempts
+to change the speed via
+.IR stty (2)
+are ignored.
+.PP
+The on-line console terminal is interfaced using
+a KL-11 or DL-11.
+By appropriate switch settings during a reboot,
+UNIX will come up as a single-user system with I/O
+on the console terminal.
+.SH FILES
+/dev/console   console
+.SH "SEE ALSO"
+tty(4), init(8)
+.SH BUGS
+Modem control for the DL-11E is not implemented.
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..46b2f98
--- /dev/null
@@ -0,0 +1,92 @@
+.TH LP 4 
+.SH NAME
+lp \- line printer
+.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
+An internal parameter within the driver determines
+whether or not the device is treated as having
+a 96- or 64-character set.
+In half-ASCII mode, lower case letters are turned
+into
+upper case
+and certain characters are escaped according to
+the following table:
+.PP
+.if t .ig
+.br
+.ns
+.TP 10
+{
+(\b-
+.br
+.ns
+.TP 10
+}
+)\b-
+.br
+.ns
+.TP 10
+\`
+\'\b-
+.br
+.ns
+.TP 10
+|
+!\b-
+.br
+.ns
+.TP 10
+~
+^\b-
+..
+.if n .ig
+.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.
+A sequence of newlines which extends over the end of
+a page is turned into a form feed.
+All lines are indented 8 characters.
+Lines longer than 80 characters are truncated.
+These numbers are parameters in the driver;
+another parameter allows indenting all printout
+if it is unpleasantly near the left margin.
+.SH FILES
+/dev/lp
+.SH "SEE ALSO"
+lpr(1)
+.SH BUGS
+Half-ASCII mode, the indent and the maximum line length should
+be settable by a call analogous to
+.IR stty (2).
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/man5/acct.5 b/usr/man/man5/acct.5
new file mode 100644 (file)
index 0000000..200e8a0
--- /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/ar.5 b/usr/man/man5/ar.5
new file mode 100644 (file)
index 0000000..bee6b35
--- /dev/null
@@ -0,0 +1,47 @@
+.TH AR 5 
+.SH NAME
+ar \- archive (library) file format
+.SH SYNOPSIS
+.B #include <ar.h>
+.SH DESCRIPTION
+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 number 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'ARMAG 'u
+.so /usr/include/ar.h
+.fi
+.RE
+.LP
+The name is a null-terminated string; the date is in the
+form of
+.IR time (2);
+the user ID and group ID are numbers; the mode is a bit pattern
+per
+.IR chmod (2);
+the size is counted in bytes.
+.PP
+Each file begins on a word boundary;
+a null byte is inserted between files if necessary.
+Nevertheless the size given reflects the
+actual size of the file exclusive of padding.
+.PP
+Notice there is no provision for empty areas in an archive
+file.
+.SH "SEE ALSO"
+ar(1), ld(1), nm(1)
+.SH BUGS
+Coding user and group IDs as characters is a botch.
diff --git a/usr/man/man5/core.5 b/usr/man/man5/core.5
new file mode 100644 (file)
index 0000000..e762f75
--- /dev/null
@@ -0,0 +1,22 @@
+.TH CORE 5 
+.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
+In general the debugger
+.IR adb (1)
+is sufficient to deal with core images.
+.SH "SEE ALSO"
+adb(1), signal(2)
diff --git a/usr/man/man5/dir.5 b/usr/man/man5/dir.5
new file mode 100644 (file)
index 0000000..d87bd0e
--- /dev/null
@@ -0,0 +1,38 @@
+.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
+.so /usr/include/sys/dir.h
+.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 and for the root directories of removable
+file systems.
+In the first case, there is no parent, and in the second,
+the system does not permit off-device references.
+Therefore in both cases `\fB..\fR' has the
+same meaning as `\fB.\fR'.
+.SH "SEE ALSO"
+filsys(5)
diff --git a/usr/man/man5/group.5 b/usr/man/man5/group.5
new file mode 100644 (file)
index 0000000..8a05f33
--- /dev/null
@@ -0,0 +1,37 @@
+.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)
diff --git a/usr/man/man5/mtab.5 b/usr/man/man5/mtab.5
new file mode 100644 (file)
index 0000000..2055d71
--- /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(1)
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/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/types.5 b/usr/man/man5/types.5
new file mode 100644 (file)
index 0000000..f0884f3
--- /dev/null
@@ -0,0 +1,30 @@
+.TH TYPES 5
+.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
+.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..9468a3e
--- /dev/null
@@ -0,0 +1,55 @@
+.TH UTMP 5 
+.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 (1).
+.SH FILES
+/etc/utmp
+.br
+/usr/adm/wtmp
+.SH "SEE ALSO"
+login(1), init(8), who(1), ac(1)
diff --git a/usr/man/man5/wtmp.5 b/usr/man/man5/wtmp.5
new file mode 100644 (file)
index 0000000..d53e456
--- /dev/null
@@ -0,0 +1,32 @@
+.TH WTMP 5 
+.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/arithmetic.6 b/usr/man/man6/arithmetic.6
new file mode 100644 (file)
index 0000000..a023cbc
--- /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 "Right!",
+and a new problem.
+If the answer is wrong,
+it replies "What?",
+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/bcd.6 b/usr/man/man6/bcd.6
new file mode 100644 (file)
index 0000000..3badae5
--- /dev/null
@@ -0,0 +1,18 @@
+.TH BCD 6 
+.SH NAME
+bcd, ppt \- convert to antique media
+.SH SYNOPSIS
+.B /usr/games/bcd
+text
+.PP
+.B /usr/games/ppt
+.SH DESCRIPTION
+.I Bcd
+converts the literal
+.I text
+into a form familiar to old-timers.
+.PP
+.I Ppt
+converts the standard input into yet another form.
+.SH "SEE ALSO"
+dd(1)
diff --git a/usr/man/man6/ching.6 b/usr/man/man6/ching.6
new file mode 100644 (file)
index 0000000..b4c221d
--- /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.,
+"It furthers one to have somewhere to go.")
+while the
+.B  Image
+describes
+the general attributes
+of the hexagram
+and how they apply
+to one's own life
+("Thus the superior man
+makes himself strong
+and untiring.").
+.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/hangman.6 b/usr/man/man6/hangman.6
new file mode 100644 (file)
index 0000000..5234512
--- /dev/null
@@ -0,0 +1,23 @@
+.TH HANGMAN 6 
+.SH NAME
+hangman \- guess the word
+.SH SYNOPSIS
+.B /usr/games/hangman
+[ arg ]
+.SH DESCRIPTION
+.I Hangman
+chooses a word at least seven letters
+long from a dictionary.
+The user is to guess letters one at a time.
+.PP
+The optional argument
+.I arg
+names an alternate dictionary.
+The special name `\-a' gets a particular very large
+dictionary.
+.SH FILES
+/usr/dict/words                the regular dictionary
+.br
+/usr/dict/web2         the alternate dictionary
+.SH BUGS
+Hyphenated compounds are run together.
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/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/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/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/ms.7 b/usr/man/man7/ms.7
new file mode 100644 (file)
index 0000000..dc7511f
--- /dev/null
@@ -0,0 +1,328 @@
+.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'.
diff --git a/usr/man/man8/cron.8 b/usr/man/man8/cron.8
new file mode 100644 (file)
index 0000000..3411d60
--- /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/makekey.8 b/usr/man/man8/makekey.8
new file mode 100644 (file)
index 0000000..39f96a7
--- /dev/null
@@ -0,0 +1,49 @@
+.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/sticky.8 b/usr/man/man8/sticky.8
new file mode 100644 (file)
index 0000000..108547a
--- /dev/null
@@ -0,0 +1,51 @@
+.TH STICKY 8
+.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 \-i
+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; see the next paragraph
+for a dodge.
+(4) Set the sticky bit again.
+Only the super-user can set the sticky bit.
+.PP
+To replace a sharable executable file while any user is
+executing it do:
+(1) Rename the directory entry for that file with
+.IR mv (1).
+(2) Install the new program with
+.I cp,
+.IR mv (1),
+or otherwise.
+(3) With
+.I chown
+and
+.IR chmod (2),
+set the mode of the new file to agree with that of the original
+as necessary.
+(4) Delete the old file when convenient.
+.SH BUGS
+Are self-evident.
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.