From e68173827fbf83be1d71dc445f0610101f923220 Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Mon, 12 Feb 1979 05:35:10 -0800 Subject: [PATCH] BSD 3 development 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 --- usr/man/man0/xx | 8 + usr/man/man1/ac.1m | 58 +++++++ usr/man/man1/accton.1 | 1 + usr/man/man1/ar.1 | 131 +++++++++++++++ usr/man/man1/awk.1 | 237 +++++++++++++++++++++++++++ usr/man/man1/basename.1 | 29 ++++ usr/man/man1/bc.1 | 193 ++++++++++++++++++++++ usr/man/man1/cal.1 | 27 ++++ usr/man/man1/calendar.1 | 44 +++++ usr/man/man1/call.1c | 19 +++ usr/man/man1/cb.1 | 11 ++ usr/man/man1/chgrp.1 | 1 + usr/man/man1/chmod.1 | 172 ++++++++++++++++++++ usr/man/man1/chown.1 | 35 ++++ usr/man/man1/clri.1m | 44 +++++ usr/man/man1/cmp.1 | 42 +++++ usr/man/man1/col.1 | 67 ++++++++ usr/man/man1/comm.1 | 40 +++++ usr/man/man1/cp.1 | 29 ++++ usr/man/man1/crypt.1 | 85 ++++++++++ usr/man/man1/date.1 | 42 +++++ usr/man/man1/dc.1 | 198 +++++++++++++++++++++++ usr/man/man1/dcheck.1m | 55 +++++++ usr/man/man1/dd.1 | 190 ++++++++++++++++++++++ usr/man/man1/deroff.1 | 45 ++++++ usr/man/man1/df.1m | 19 +++ usr/man/man1/diff.1 | 138 ++++++++++++++++ usr/man/man1/diff3.1 | 97 +++++++++++ usr/man/man1/diffh.1 | 1 + usr/man/man1/dump.1m | 113 +++++++++++++ usr/man/man1/egrep.1 | 1 + usr/man/man1/expr.1 | 96 +++++++++++ usr/man/man1/false.1 | 1 + usr/man/man1/fed.1 | 1 + usr/man/man1/fgrep.1 | 1 + usr/man/man1/file.1 | 18 +++ usr/man/man1/find.1 | 169 ++++++++++++++++++++ usr/man/man1/graph.1g | 112 +++++++++++++ usr/man/man1/icheck.1m | 96 +++++++++++ usr/man/man1/join.1 | 104 ++++++++++++ usr/man/man1/kill.1 | 38 +++++ usr/man/man1/lex.1 | 64 ++++++++ usr/man/man1/lint.1 | 142 +++++++++++++++++ usr/man/man1/look.1 | 44 +++++ usr/man/man1/lookbib.1 | 1 + usr/man/man1/lorder.1 | 36 +++++ usr/man/man1/m4.1 | 167 +++++++++++++++++++ usr/man/man1/make.1 | 206 ++++++++++++++++++++++++ usr/man/man1/mkfs.1m | 130 +++++++++++++++ usr/man/man1/mknod.1m | 38 +++++ usr/man/man1/mount.1m | 51 ++++++ usr/man/man1/ncheck.1m | 49 ++++++ usr/man/man1/neqn.1 | 1 + usr/man/man1/nroff.1 | 1 + usr/man/man1/passwd.1 | 30 ++++ usr/man/man1/plot.1g | 69 ++++++++ usr/man/man1/prof.1 | 85 ++++++++++ usr/man/man1/ptx.1 | 106 ++++++++++++ usr/man/man1/pwd.1 | 10 ++ usr/man/man1/quot.1m | 37 +++++ usr/man/man1/ratfor.1 | 64 ++++++++ usr/man/man1/refer.1 | 163 +++++++++++++++++++ usr/man/man1/rev.1 | 11 ++ usr/man/man1/rm.1 | 63 ++++++++ usr/man/man1/rmdir.1 | 1 + usr/man/man1/sed.1 | 296 ++++++++++++++++++++++++++++++++++ usr/man/man1/size.1 | 18 +++ usr/man/man1/sleep.1 | 32 ++++ usr/man/man1/sort.1 | 176 ++++++++++++++++++++ usr/man/man1/spline.1g | 190 ++++++++++++++++++++++ usr/man/man1/split.1 | 35 ++++ usr/man/man1/struct.1 | 110 +++++++++++++ usr/man/man1/sum.1 | 19 +++ usr/man/man1/sync.1m | 19 +++ usr/man/man1/tabs.1 | 24 +++ usr/man/man1/tail.1 | 35 ++++ usr/man/man1/tbl.1 | 215 +++++++++++++++++++++++++ usr/man/man1/tc.1 | 86 ++++++++++ usr/man/man1/tee.1 | 24 +++ usr/man/man1/time.1 | 26 +++ usr/man/man1/tk.1 | 60 +++++++ usr/man/man1/touch.1 | 22 +++ usr/man/man1/tr.1 | 67 ++++++++ usr/man/man1/troff.1 | 212 ++++++++++++++++++++++++ usr/man/man1/true.1 | 30 ++++ usr/man/man1/tsort.1 | 28 ++++ usr/man/man1/tty.1 | 10 ++ usr/man/man1/uniq.1 | 72 +++++++++ usr/man/man1/units.1 | 72 +++++++++ usr/man/man1/uux.1c | 84 ++++++++++ usr/man/man1/wc.1 | 23 +++ usr/man/man1/yacc.1 | 88 ++++++++++ usr/man/man2/access.2 | 47 ++++++ usr/man/man2/acct.2 | 36 +++++ usr/man/man2/alarm.2 | 37 +++++ usr/man/man2/chdir.2 | 25 +++ usr/man/man2/chmod.2 | 56 +++++++ usr/man/man2/chown.2 | 32 ++++ usr/man/man2/exit.2 | 39 +++++ usr/man/man2/getuid.2 | 40 +++++ usr/man/man2/indir.2 | 63 ++++++++ usr/man/man2/intro.2 | 275 ++++++++++++++++++++++++++++++++ usr/man/man2/ioctl.2 | 91 +++++++++++ usr/man/man2/link.2 | 35 ++++ usr/man/man2/lseek.2 | 66 ++++++++ usr/man/man2/mknod.2 | 42 +++++ usr/man/man2/mount.2 | 88 ++++++++++ usr/man/man2/nice.2 | 39 +++++ usr/man/man2/open.2 | 42 +++++ usr/man/man2/pause.2 | 19 +++ usr/man/man2/pipe.2 | 62 +++++++ usr/man/man2/profil.2 | 55 +++++++ usr/man/man2/setuid.2 | 30 ++++ usr/man/man2/signal.2 | 176 ++++++++++++++++++++ usr/man/man2/stat.2 | 95 +++++++++++ usr/man/man2/stime.2 | 26 +++ usr/man/man2/sync.2 | 27 ++++ usr/man/man2/time.2 | 58 +++++++ usr/man/man2/times.2 | 35 ++++ usr/man/man2/umask.2 | 30 ++++ usr/man/man2/unlink.2 | 34 ++++ usr/man/man2/utime.2 | 31 ++++ usr/man/man2/wait.2 | 70 ++++++++ usr/man/man3/abort.3 | 12 ++ usr/man/man3/abs.3 | 14 ++ usr/man/man3/atof.3 | 39 +++++ usr/man/man3/crypt.3 | 66 ++++++++ usr/man/man3/ctime.3 | 91 +++++++++++ usr/man/man3/dbm.3x | 142 +++++++++++++++++ usr/man/man3/ecvt.3 | 65 ++++++++ usr/man/man3/end.3 | 40 +++++ usr/man/man3/exp.3m | 76 +++++++++ usr/man/man3/fclose.3s | 47 ++++++ usr/man/man3/ferror.3s | 61 +++++++ usr/man/man3/floor.3m | 35 ++++ usr/man/man3/fopen.3s | 89 +++++++++++ usr/man/man3/fread.3s | 51 ++++++ usr/man/man3/fseek.3s | 58 +++++++ usr/man/man3/gamma.3m | 36 +++++ usr/man/man3/getc.3s | 85 ++++++++++ usr/man/man3/getenv.3 | 20 +++ usr/man/man3/getgrent.3 | 93 +++++++++++ usr/man/man3/getlogin.3 | 42 +++++ usr/man/man3/getpass.3 | 24 +++ usr/man/man3/getpw.3 | 26 +++ usr/man/man3/gets.3s | 62 +++++++ usr/man/man3/hypot.3m | 26 +++ usr/man/man3/intro.3 | 92 +++++++++++ usr/man/man3/j0.3m | 41 +++++ usr/man/man3/l3tol.3 | 35 ++++ usr/man/man3/malloc.3 | 112 +++++++++++++ usr/man/man3/mktemp.3 | 18 +++ usr/man/man3/monitor.3 | 86 ++++++++++ usr/man/man3/perror.3 | 43 +++++ usr/man/man3/plot.3x | 87 ++++++++++ usr/man/man3/popen.3s | 66 ++++++++ usr/man/man3/printf.3s | 231 +++++++++++++++++++++++++++ usr/man/man3/putc.3s | 102 ++++++++++++ usr/man/man3/puts.3s | 45 ++++++ usr/man/man3/qsort.3 | 26 +++ usr/man/man3/rand.3 | 23 +++ usr/man/man3/scanf.3s | 253 +++++++++++++++++++++++++++++ usr/man/man3/setbuf.3s | 48 ++++++ usr/man/man3/setjmp.3 | 41 +++++ usr/man/man3/sin.3m | 71 +++++++++ usr/man/man3/sinh.3m | 26 +++ usr/man/man3/sleep.3 | 23 +++ usr/man/man3/stdio.3s | 108 +++++++++++++ usr/man/man3/string.3 | 106 ++++++++++++ usr/man/man3/swab.3 | 20 +++ usr/man/man3/ttyname.3 | 43 +++++ usr/man/man3/ungetc.3s | 38 +++++ usr/man/man4/cat.4 | 20 +++ usr/man/man4/ht.4 | 80 ++++++++++ usr/man/man4/kl.4 | 24 +++ usr/man/man4/kmem.4 | 1 + usr/man/man4/lp.4 | 92 +++++++++++ usr/man/man4/null.4 | 13 ++ usr/man/man5/acct.5 | 28 ++++ usr/man/man5/ar.5 | 47 ++++++ usr/man/man5/core.5 | 22 +++ usr/man/man5/dir.5 | 38 +++++ usr/man/man5/group.5 | 37 +++++ usr/man/man5/mtab.5 | 34 ++++ usr/man/man5/plot.5 | 118 ++++++++++++++ usr/man/man5/ttys.5 | 36 +++++ usr/man/man5/types.5 | 30 ++++ usr/man/man5/utmp.5 | 55 +++++++ usr/man/man5/wtmp.5 | 32 ++++ usr/man/man6/arithmetic.6 | 65 ++++++++ usr/man/man6/backgammon.6 | 8 + usr/man/man6/bcd.6 | 18 +++ usr/man/man6/ching.6 | 142 +++++++++++++++++ usr/man/man6/hangman.6 | 23 +++ usr/man/man6/quiz.6 | 73 +++++++++ usr/man/man6/wump.6 | 29 ++++ usr/man/man7/ascii.7 | 49 ++++++ usr/man/man7/greek.7 | 41 +++++ usr/man/man7/man.7 | 178 +++++++++++++++++++++ usr/man/man7/ms.7 | 328 ++++++++++++++++++++++++++++++++++++++ usr/man/man8/cron.8 | 56 +++++++ usr/man/man8/makekey.8 | 49 ++++++ usr/man/man8/sticky.8 | 51 ++++++ usr/man/man8/update.8 | 36 +++++ 204 files changed, 13188 insertions(+) create mode 100644 usr/man/man0/xx create mode 100644 usr/man/man1/ac.1m create mode 100644 usr/man/man1/accton.1 create mode 100644 usr/man/man1/ar.1 create mode 100644 usr/man/man1/awk.1 create mode 100644 usr/man/man1/basename.1 create mode 100644 usr/man/man1/bc.1 create mode 100644 usr/man/man1/cal.1 create mode 100644 usr/man/man1/calendar.1 create mode 100644 usr/man/man1/call.1c create mode 100644 usr/man/man1/cb.1 create mode 100644 usr/man/man1/chgrp.1 create mode 100644 usr/man/man1/chmod.1 create mode 100644 usr/man/man1/chown.1 create mode 100644 usr/man/man1/clri.1m create mode 100644 usr/man/man1/cmp.1 create mode 100644 usr/man/man1/col.1 create mode 100644 usr/man/man1/comm.1 create mode 100644 usr/man/man1/cp.1 create mode 100644 usr/man/man1/crypt.1 create mode 100644 usr/man/man1/date.1 create mode 100644 usr/man/man1/dc.1 create mode 100644 usr/man/man1/dcheck.1m create mode 100644 usr/man/man1/dd.1 create mode 100644 usr/man/man1/deroff.1 create mode 100644 usr/man/man1/df.1m create mode 100644 usr/man/man1/diff.1 create mode 100644 usr/man/man1/diff3.1 create mode 100644 usr/man/man1/diffh.1 create mode 100644 usr/man/man1/dump.1m create mode 100644 usr/man/man1/egrep.1 create mode 100644 usr/man/man1/expr.1 create mode 100644 usr/man/man1/false.1 create mode 100644 usr/man/man1/fed.1 create mode 100644 usr/man/man1/fgrep.1 create mode 100644 usr/man/man1/file.1 create mode 100644 usr/man/man1/find.1 create mode 100644 usr/man/man1/graph.1g create mode 100644 usr/man/man1/icheck.1m create mode 100644 usr/man/man1/join.1 create mode 100644 usr/man/man1/kill.1 create mode 100644 usr/man/man1/lex.1 create mode 100644 usr/man/man1/lint.1 create mode 100644 usr/man/man1/look.1 create mode 100644 usr/man/man1/lookbib.1 create mode 100644 usr/man/man1/lorder.1 create mode 100644 usr/man/man1/m4.1 create mode 100644 usr/man/man1/make.1 create mode 100644 usr/man/man1/mkfs.1m create mode 100644 usr/man/man1/mknod.1m create mode 100644 usr/man/man1/mount.1m create mode 100644 usr/man/man1/ncheck.1m create mode 100644 usr/man/man1/neqn.1 create mode 100644 usr/man/man1/nroff.1 create mode 100644 usr/man/man1/passwd.1 create mode 100644 usr/man/man1/plot.1g create mode 100644 usr/man/man1/prof.1 create mode 100644 usr/man/man1/ptx.1 create mode 100644 usr/man/man1/pwd.1 create mode 100644 usr/man/man1/quot.1m create mode 100644 usr/man/man1/ratfor.1 create mode 100644 usr/man/man1/refer.1 create mode 100644 usr/man/man1/rev.1 create mode 100644 usr/man/man1/rm.1 create mode 100644 usr/man/man1/rmdir.1 create mode 100644 usr/man/man1/sed.1 create mode 100644 usr/man/man1/size.1 create mode 100644 usr/man/man1/sleep.1 create mode 100644 usr/man/man1/sort.1 create mode 100644 usr/man/man1/spline.1g create mode 100644 usr/man/man1/split.1 create mode 100644 usr/man/man1/struct.1 create mode 100644 usr/man/man1/sum.1 create mode 100644 usr/man/man1/sync.1m create mode 100644 usr/man/man1/tabs.1 create mode 100644 usr/man/man1/tail.1 create mode 100644 usr/man/man1/tbl.1 create mode 100644 usr/man/man1/tc.1 create mode 100644 usr/man/man1/tee.1 create mode 100644 usr/man/man1/time.1 create mode 100644 usr/man/man1/tk.1 create mode 100644 usr/man/man1/touch.1 create mode 100644 usr/man/man1/tr.1 create mode 100644 usr/man/man1/troff.1 create mode 100644 usr/man/man1/true.1 create mode 100644 usr/man/man1/tsort.1 create mode 100644 usr/man/man1/tty.1 create mode 100644 usr/man/man1/uniq.1 create mode 100644 usr/man/man1/units.1 create mode 100644 usr/man/man1/uux.1c create mode 100644 usr/man/man1/wc.1 create mode 100644 usr/man/man1/yacc.1 create mode 100644 usr/man/man2/access.2 create mode 100644 usr/man/man2/acct.2 create mode 100644 usr/man/man2/alarm.2 create mode 100644 usr/man/man2/chdir.2 create mode 100644 usr/man/man2/chmod.2 create mode 100644 usr/man/man2/chown.2 create mode 100644 usr/man/man2/exit.2 create mode 100644 usr/man/man2/getuid.2 create mode 100644 usr/man/man2/indir.2 create mode 100644 usr/man/man2/intro.2 create mode 100644 usr/man/man2/ioctl.2 create mode 100644 usr/man/man2/link.2 create mode 100644 usr/man/man2/lseek.2 create mode 100644 usr/man/man2/mknod.2 create mode 100644 usr/man/man2/mount.2 create mode 100644 usr/man/man2/nice.2 create mode 100644 usr/man/man2/open.2 create mode 100644 usr/man/man2/pause.2 create mode 100644 usr/man/man2/pipe.2 create mode 100644 usr/man/man2/profil.2 create mode 100644 usr/man/man2/setuid.2 create mode 100644 usr/man/man2/signal.2 create mode 100644 usr/man/man2/stat.2 create mode 100644 usr/man/man2/stime.2 create mode 100644 usr/man/man2/sync.2 create mode 100644 usr/man/man2/time.2 create mode 100644 usr/man/man2/times.2 create mode 100644 usr/man/man2/umask.2 create mode 100644 usr/man/man2/unlink.2 create mode 100644 usr/man/man2/utime.2 create mode 100644 usr/man/man2/wait.2 create mode 100644 usr/man/man3/abort.3 create mode 100644 usr/man/man3/abs.3 create mode 100644 usr/man/man3/atof.3 create mode 100644 usr/man/man3/crypt.3 create mode 100644 usr/man/man3/ctime.3 create mode 100644 usr/man/man3/dbm.3x create mode 100644 usr/man/man3/ecvt.3 create mode 100644 usr/man/man3/end.3 create mode 100644 usr/man/man3/exp.3m create mode 100644 usr/man/man3/fclose.3s create mode 100644 usr/man/man3/ferror.3s create mode 100644 usr/man/man3/floor.3m create mode 100644 usr/man/man3/fopen.3s create mode 100644 usr/man/man3/fread.3s create mode 100644 usr/man/man3/fseek.3s create mode 100644 usr/man/man3/gamma.3m create mode 100644 usr/man/man3/getc.3s create mode 100644 usr/man/man3/getenv.3 create mode 100644 usr/man/man3/getgrent.3 create mode 100644 usr/man/man3/getlogin.3 create mode 100644 usr/man/man3/getpass.3 create mode 100644 usr/man/man3/getpw.3 create mode 100644 usr/man/man3/gets.3s create mode 100644 usr/man/man3/hypot.3m create mode 100644 usr/man/man3/intro.3 create mode 100644 usr/man/man3/j0.3m create mode 100644 usr/man/man3/l3tol.3 create mode 100644 usr/man/man3/malloc.3 create mode 100644 usr/man/man3/mktemp.3 create mode 100644 usr/man/man3/monitor.3 create mode 100644 usr/man/man3/perror.3 create mode 100644 usr/man/man3/plot.3x create mode 100644 usr/man/man3/popen.3s create mode 100644 usr/man/man3/printf.3s create mode 100644 usr/man/man3/putc.3s create mode 100644 usr/man/man3/puts.3s create mode 100644 usr/man/man3/qsort.3 create mode 100644 usr/man/man3/rand.3 create mode 100644 usr/man/man3/scanf.3s create mode 100644 usr/man/man3/setbuf.3s create mode 100644 usr/man/man3/setjmp.3 create mode 100644 usr/man/man3/sin.3m create mode 100644 usr/man/man3/sinh.3m create mode 100644 usr/man/man3/sleep.3 create mode 100644 usr/man/man3/stdio.3s create mode 100644 usr/man/man3/string.3 create mode 100644 usr/man/man3/swab.3 create mode 100644 usr/man/man3/ttyname.3 create mode 100644 usr/man/man3/ungetc.3s create mode 100644 usr/man/man4/cat.4 create mode 100644 usr/man/man4/ht.4 create mode 100644 usr/man/man4/kl.4 create mode 100644 usr/man/man4/kmem.4 create mode 100644 usr/man/man4/lp.4 create mode 100644 usr/man/man4/null.4 create mode 100644 usr/man/man5/acct.5 create mode 100644 usr/man/man5/ar.5 create mode 100644 usr/man/man5/core.5 create mode 100644 usr/man/man5/dir.5 create mode 100644 usr/man/man5/group.5 create mode 100644 usr/man/man5/mtab.5 create mode 100644 usr/man/man5/plot.5 create mode 100644 usr/man/man5/ttys.5 create mode 100644 usr/man/man5/types.5 create mode 100644 usr/man/man5/utmp.5 create mode 100644 usr/man/man5/wtmp.5 create mode 100644 usr/man/man6/arithmetic.6 create mode 100644 usr/man/man6/backgammon.6 create mode 100644 usr/man/man6/bcd.6 create mode 100644 usr/man/man6/ching.6 create mode 100644 usr/man/man6/hangman.6 create mode 100644 usr/man/man6/quiz.6 create mode 100644 usr/man/man6/wump.6 create mode 100644 usr/man/man7/ascii.7 create mode 100644 usr/man/man7/greek.7 create mode 100644 usr/man/man7/man.7 create mode 100644 usr/man/man7/ms.7 create mode 100644 usr/man/man8/cron.8 create mode 100644 usr/man/man8/makekey.8 create mode 100644 usr/man/man8/sticky.8 create mode 100644 usr/man/man8/update.8 diff --git a/usr/man/man0/xx b/usr/man/man0/xx new file mode 100644 index 0000000000..228de3d32e --- /dev/null +++ b/usr/man/man0/xx @@ -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 index 0000000000..73bf29af11 --- /dev/null +++ b/usr/man/man1/ac.1m @@ -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 index 0000000000..e0a6892545 --- /dev/null +++ b/usr/man/man1/accton.1 @@ -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 index 0000000000..fd1426fbeb --- /dev/null +++ b/usr/man/man1/ar.1 @@ -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 index 0000000000..f40daf2666 --- /dev/null +++ b/usr/man/man1/awk.1 @@ -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 index 0000000000..661f3c9591 --- /dev/null +++ b/usr/man/man1/basename.1 @@ -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 index 0000000000..b2c24ddc94 --- /dev/null +++ b/usr/man/man1/bc.1 @@ -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 Quit +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 index 0000000000..d34b849d1b --- /dev/null +++ b/usr/man/man1/cal.1 @@ -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 index 0000000000..79444b16c7 --- /dev/null +++ b/usr/man/man1/calendar.1 @@ -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 index 0000000000..9f4ae99cfe --- /dev/null +++ b/usr/man/man1/call.1c @@ -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 index 0000000000..cf68591775 --- /dev/null +++ b/usr/man/man1/cb.1 @@ -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 index 0000000000..2e8490951d --- /dev/null +++ b/usr/man/man1/chgrp.1 @@ -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 index 0000000000..dc61d36609 --- /dev/null +++ b/usr/man/man1/chmod.1 @@ -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 index 0000000000..7be9fe5880 --- /dev/null +++ b/usr/man/man1/chown.1 @@ -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 index 0000000000..5754b92631 --- /dev/null +++ b/usr/man/man1/clri.1m @@ -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 index 0000000000..415bbc8b58 --- /dev/null +++ b/usr/man/man1/cmp.1 @@ -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 index 0000000000..5374efb856 --- /dev/null +++ b/usr/man/man1/col.1 @@ -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 index 0000000000..f7cba5f652 --- /dev/null +++ b/usr/man/man1/comm.1 @@ -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 index 0000000000..605e4866fb --- /dev/null +++ b/usr/man/man1/cp.1 @@ -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 index 0000000000..b041371608 --- /dev/null +++ b/usr/man/man1/crypt.1 @@ -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 cypher +.br + crypt key 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 index 0000000000..99493c5dd8 --- /dev/null +++ b/usr/man/man1/dcheck.1m @@ -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 index 0000000000..b16addf76b --- /dev/null +++ b/usr/man/man1/dd.1 @@ -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 index 0000000000..d1ba1bbf02 --- /dev/null +++ b/usr/man/man1/deroff.1 @@ -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 index 0000000000..d55545f7e1 --- /dev/null +++ b/usr/man/man1/df.1m @@ -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 index 0000000000..b71adb4cac --- /dev/null +++ b/usr/man/man1/diff.1 @@ -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 index 0000000000..9403a3cbb5 --- /dev/null +++ b/usr/man/man1/diff3.1 @@ -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 index 0000000000..d3e5e7017c --- /dev/null +++ b/usr/man/man1/diffh.1 @@ -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 index 0000000000..44d9fa76e3 --- /dev/null +++ b/usr/man/man1/dump.1m @@ -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 index 0000000000..979b88dbf3 --- /dev/null +++ b/usr/man/man1/egrep.1 @@ -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 index 0000000000..dd63e6ac02 --- /dev/null +++ b/usr/man/man1/expr.1 @@ -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 index 0000000000..0336736103 --- /dev/null +++ b/usr/man/man1/false.1 @@ -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 index 0000000000..d83014c753 --- /dev/null +++ b/usr/man/man1/fed.1 @@ -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 index 0000000000..979b88dbf3 --- /dev/null +++ b/usr/man/man1/fgrep.1 @@ -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 index 0000000000..7c7786c41a --- /dev/null +++ b/usr/man/man1/file.1 @@ -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 index 0000000000..bad926d81c --- /dev/null +++ b/usr/man/man1/find.1 @@ -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 index 0000000000..27c7dc0e0d --- /dev/null +++ b/usr/man/man1/graph.1g @@ -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 index 0000000000..70fd421aeb --- /dev/null +++ b/usr/man/man1/icheck.1m @@ -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 index 0000000000..fe45af8657 --- /dev/null +++ b/usr/man/man1/join.1 @@ -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 index 0000000000..9eef9b1440 --- /dev/null +++ b/usr/man/man1/kill.1 @@ -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 index 0000000000..f1f06be7b8 --- /dev/null +++ b/usr/man/man1/lex.1 @@ -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 index 0000000000..92a9611081 --- /dev/null +++ b/usr/man/man1/lint.1 @@ -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 index 0000000000..e8a3f9a103 --- /dev/null +++ b/usr/man/man1/look.1 @@ -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 index 0000000000..c78203876b --- /dev/null +++ b/usr/man/man1/lookbib.1 @@ -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 index 0000000000..55fa2cc2d0 --- /dev/null +++ b/usr/man/man1/lorder.1 @@ -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 index 0000000000..14313338dc --- /dev/null +++ b/usr/man/man1/m4.1 @@ -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 index 0000000000..ab8ab35ea8 --- /dev/null +++ b/usr/man/man1/make.1 @@ -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 +. +.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 index 0000000000..69e73fd712 --- /dev/null +++ b/usr/man/man1/mkfs.1m @@ -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 index 0000000000..36ca9dbac0 --- /dev/null +++ b/usr/man/man1/mknod.1m @@ -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 index 0000000000..1ce222125e --- /dev/null +++ b/usr/man/man1/mount.1m @@ -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 index 0000000000..7a91b5c66b --- /dev/null +++ b/usr/man/man1/ncheck.1m @@ -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 index 0000000000..20efc87ec9 --- /dev/null +++ b/usr/man/man1/neqn.1 @@ -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 index 0000000000..b84fdfe28f --- /dev/null +++ b/usr/man/man1/nroff.1 @@ -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 index 0000000000..a7984ae62c --- /dev/null +++ b/usr/man/man1/passwd.1 @@ -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 index 0000000000..77d53c6028 --- /dev/null +++ b/usr/man/man1/plot.1g @@ -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 index 0000000000..53b3b9a259 --- /dev/null +++ b/usr/man/man1/prof.1 @@ -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 index 0000000000..ccd2e879dd --- /dev/null +++ b/usr/man/man1/ptx.1 @@ -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 index 0000000000..4962aacd20 --- /dev/null +++ b/usr/man/man1/pwd.1 @@ -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 index 0000000000..766f878ee9 --- /dev/null +++ b/usr/man/man1/quot.1m @@ -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 index 0000000000..741ed77a08 --- /dev/null +++ b/usr/man/man1/ratfor.1 @@ -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 index 0000000000..37fa2ad37e --- /dev/null +++ b/usr/man/man1/refer.1 @@ -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 index 0000000000..fdde69ced2 --- /dev/null +++ b/usr/man/man1/rev.1 @@ -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 index 0000000000..1c3c46c688 --- /dev/null +++ b/usr/man/man1/rm.1 @@ -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 index 0000000000..a51fde8d02 --- /dev/null +++ b/usr/man/man1/rmdir.1 @@ -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 index 0000000000..57f07b6dab --- /dev/null +++ b/usr/man/man1/sed.1 @@ -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 index 0000000000..d68e5751cb --- /dev/null +++ b/usr/man/man1/size.1 @@ -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 index 0000000000..635c8bc206 --- /dev/null +++ b/usr/man/man1/sleep.1 @@ -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 index 0000000000..5b62e72c4c --- /dev/null +++ b/usr/man/man1/sort.1 @@ -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_________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 index 0000000000..4b0de58e91 --- /dev/null +++ b/usr/man/man1/spline.1g @@ -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 index 0000000000..0e5c682fe7 --- /dev/null +++ b/usr/man/man1/split.1 @@ -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 index 0000000000..357457af9a --- /dev/null +++ b/usr/man/man1/struct.1 @@ -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 index 0000000000..58182c3073 --- /dev/null +++ b/usr/man/man1/sum.1 @@ -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 index 0000000000..350b4a7f4f --- /dev/null +++ b/usr/man/man1/sync.1m @@ -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 index 0000000000..e5f63f7d7e --- /dev/null +++ b/usr/man/man1/tabs.1 @@ -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 index 0000000000..82edce468d --- /dev/null +++ b/usr/man/man1/tail.1 @@ -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 +_number[lbc___] +[ 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 index 0000000000..a8b45b7878 --- /dev/null +++ b/usr/man/man1/tbl.1 @@ -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 index 0000000000..250457eb31 --- /dev/null +++ b/usr/man/man1/tc.1 @@ -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 index 0000000000..609a4cb738 --- /dev/null +++ b/usr/man/man1/tee.1 @@ -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 index 0000000000..9f7848a3ae --- /dev/null +++ b/usr/man/man1/time.1 @@ -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 index 0000000000..d2ebd72b2c --- /dev/null +++ b/usr/man/man1/tk.1 @@ -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 index 0000000000..6ec9db253c --- /dev/null +++ b/usr/man/man1/touch.1 @@ -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 index 0000000000..5850782999 --- /dev/null +++ b/usr/man/man1/tr.1 @@ -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\' 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 index 0000000000..885e77be81 --- /dev/null +++ b/usr/man/man1/troff.1 @@ -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 index 0000000000..cf415714b8 --- /dev/null +++ b/usr/man/man1/true.1 @@ -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 index 0000000000..3893259ad4 --- /dev/null +++ b/usr/man/man1/tsort.1 @@ -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 index 0000000000..6b60cb22c2 --- /dev/null +++ b/usr/man/man1/tty.1 @@ -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 index 0000000000..ad5439a81e --- /dev/null +++ b/usr/man/man1/uniq.1 @@ -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 index 0000000000..21f5d39904 --- /dev/null +++ b/usr/man/man1/units.1 @@ -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 index 0000000000..169a30c911 --- /dev/null +++ b/usr/man/man1/uux.1c @@ -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 index 0000000000..7363fcf9cc --- /dev/null +++ b/usr/man/man1/wc.1 @@ -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 index 0000000000..f4e69dcea4 --- /dev/null +++ b/usr/man/man1/yacc.1 @@ -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 index 0000000000..622d2f8c5e --- /dev/null +++ b/usr/man/man2/access.2 @@ -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 index 0000000000..ec11103e66 --- /dev/null +++ b/usr/man/man2/acct.2 @@ -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 index 0000000000..00bf45f5cd --- /dev/null +++ b/usr/man/man2/alarm.2 @@ -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 index 0000000000..f2d1544e98 --- /dev/null +++ b/usr/man/man2/chdir.2 @@ -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 index 0000000000..1b4410dc61 --- /dev/null +++ b/usr/man/man2/chmod.2 @@ -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 index 0000000000..376acf78e2 --- /dev/null +++ b/usr/man/man2/chown.2 @@ -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 index 0000000000..6dd30aa226 --- /dev/null +++ b/usr/man/man2/exit.2 @@ -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 index 0000000000..2d1bbb33f0 --- /dev/null +++ b/usr/man/man2/getuid.2 @@ -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 index 0000000000..551b93fcce --- /dev/null +++ b/usr/man/man2/indir.2 @@ -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 index 0000000000..9e2960bf71 --- /dev/null +++ b/usr/man/man2/intro.2 @@ -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 +.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 , +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 index 0000000000..5350611858 --- /dev/null +++ b/usr/man/man2/ioctl.2 @@ -0,0 +1,91 @@ +.TH IOCTL 2 +.SH NAME +ioctl, stty, gtty \- control device +.SH SYNOPSIS +.B #include +.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 index 0000000000..1225830492 --- /dev/null +++ b/usr/man/man2/link.2 @@ -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 index 0000000000..da25318f7b --- /dev/null +++ b/usr/man/man2/lseek.2 @@ -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 index 0000000000..76042e5eab --- /dev/null +++ b/usr/man/man2/mknod.2 @@ -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 index 0000000000..e968ee0d5d --- /dev/null +++ b/usr/man/man2/mount.2 @@ -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 index 0000000000..29f088fdaa --- /dev/null +++ b/usr/man/man2/nice.2 @@ -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 index 0000000000..816685f1f6 --- /dev/null +++ b/usr/man/man2/open.2 @@ -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 index 0000000000..d9c4866b96 --- /dev/null +++ b/usr/man/man2/pause.2 @@ -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 index 0000000000..5de1c56769 --- /dev/null +++ b/usr/man/man2/pipe.2 @@ -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 index 0000000000..e9a24a44d8 --- /dev/null +++ b/usr/man/man2/profil.2 @@ -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 index 0000000000..69e25d8e5f --- /dev/null +++ b/usr/man/man2/setuid.2 @@ -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 index 0000000000..e688f19234 --- /dev/null +++ b/usr/man/man2/signal.2 @@ -0,0 +1,176 @@ +.TH SIGNAL 2 +.SH NAME +signal \- catch or ignore signals +.SH SYNOPSIS +.B #include +.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 index 0000000000..e297a1ca51 --- /dev/null +++ b/usr/man/man2/stat.2 @@ -0,0 +1,95 @@ +.TH STAT 2 +.SH NAME +stat, fstat \- get file status +.SH SYNOPSIS +.B #include +.br +.B #include +.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 +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 +(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 index 0000000000..22c6662bb7 --- /dev/null +++ b/usr/man/man2/stime.2 @@ -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 index 0000000000..ff0075bfb2 --- /dev/null +++ b/usr/man/man2/sync.2 @@ -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 index 0000000000..3c256985ab --- /dev/null +++ b/usr/man/man2/time.2 @@ -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 +.br +.B #include +.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 : +.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 index 0000000000..c8dd57cacf --- /dev/null +++ b/usr/man/man2/times.2 @@ -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 index 0000000000..b995e36743 --- /dev/null +++ b/usr/man/man2/umask.2 @@ -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 index 0000000000..d94d69336c --- /dev/null +++ b/usr/man/man2/unlink.2 @@ -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 index 0000000000..1a47e797e2 --- /dev/null +++ b/usr/man/man2/utime.2 @@ -0,0 +1,31 @@ +.TH UTIME 2 +.SH NAME +utime \- set file times +.SH SYNOPSIS +.B #include +.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 index 0000000000..eeeda74e5e --- /dev/null +++ b/usr/man/man2/wait.2 @@ -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 index 0000000000..f13b33c5ed --- /dev/null +++ b/usr/man/man3/abort.3 @@ -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 index 0000000000..cdf763fd8d --- /dev/null +++ b/usr/man/man3/abs.3 @@ -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 index 0000000000..5504dd2180 --- /dev/null +++ b/usr/man/man3/atof.3 @@ -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 index 0000000000..1c057a1141 --- /dev/null +++ b/usr/man/man3/crypt.3 @@ -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 index 0000000000..cf0da08681 --- /dev/null +++ b/usr/man/man3/ctime.3 @@ -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 +.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 index 0000000000..02afe6dcd5 --- /dev/null +++ b/usr/man/man3/dbm.3x @@ -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 index 0000000000..231dbc4ee8 --- /dev/null +++ b/usr/man/man3/ecvt.3 @@ -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 index 0000000000..d931177305 --- /dev/null +++ b/usr/man/man3/end.3 @@ -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 index 0000000000..4b78b0997d --- /dev/null +++ b/usr/man/man3/exp.3m @@ -0,0 +1,76 @@ +.TH EXP 3M +.SH NAME +exp, log, log10, pow, sqrt \- exponential, logarithm, power, square root +.SH SYNOPSIS +.B #include +.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 index 0000000000..695f3ab894 --- /dev/null +++ b/usr/man/man3/fclose.3s @@ -0,0 +1,47 @@ +.TH FCLOSE 3S +.SH NAME +fclose, fflush \- close or flush a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..71fdc800cf --- /dev/null +++ b/usr/man/man3/ferror.3s @@ -0,0 +1,61 @@ +.TH FERROR 3S +.SH NAME +feof, ferror, clearerr, fileno \- stream status inquiries +.SH SYNOPSIS +.B #include +.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 index 0000000000..f47974bdc5 --- /dev/null +++ b/usr/man/man3/floor.3m @@ -0,0 +1,35 @@ +.TH FLOOR 3M +.SH NAME +fabs, floor, ceil \- absolute value, floor, ceiling functions +.SH SYNOPSIS +.B #include +.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 index 0000000000..4d95bbd64b --- /dev/null +++ b/usr/man/man3/fopen.3s @@ -0,0 +1,89 @@ +.TH FOPEN 3S +.SH NAME +fopen, freopen, fdopen \- open a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..e2542f5b9e --- /dev/null +++ b/usr/man/man3/fread.3s @@ -0,0 +1,51 @@ +.TH FREAD 3S +.SH NAME +fread, fwrite \- buffered binary input/output +.SH SYNOPSIS +.B #include +.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 index 0000000000..2e4a5bf86f --- /dev/null +++ b/usr/man/man3/fseek.3s @@ -0,0 +1,58 @@ +.TH FSEEK 3S +.SH NAME +fseek, ftell, rewind \- reposition a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..382e53d51f --- /dev/null +++ b/usr/man/man3/gamma.3m @@ -0,0 +1,36 @@ +.TH GAMMA 3M +.SH NAME +gamma \- log gamma function +.SH SYNOPSIS +.B #include +.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 index 0000000000..1f86577eb2 --- /dev/null +++ b/usr/man/man3/getc.3s @@ -0,0 +1,85 @@ +.TH GETC 3S +.SH NAME +getc, getchar, fgetc, getw \- get character or word from stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..79d6476cfd --- /dev/null +++ b/usr/man/man3/getenv.3 @@ -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 index 0000000000..a4a650da9a --- /dev/null +++ b/usr/man/man3/getgrent.3 @@ -0,0 +1,93 @@ +.TH GETGRENT 3 +.SH NAME +getgrent, getgrgid, getgrnam, setgrent, endgrent \- get group file entry +.SH SYNOPSIS +.B #include +.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 index 0000000000..0f852aad15 --- /dev/null +++ b/usr/man/man3/getlogin.3 @@ -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 index 0000000000..ffea3d1d6e --- /dev/null +++ b/usr/man/man3/getpass.3 @@ -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 index 0000000000..03694d6f21 --- /dev/null +++ b/usr/man/man3/getpw.3 @@ -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 index 0000000000..061824da6a --- /dev/null +++ b/usr/man/man3/gets.3s @@ -0,0 +1,62 @@ +.TH GETS 3S +.SH NAME +gets, fgets \- get a string from a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..283279a938 --- /dev/null +++ b/usr/man/man3/hypot.3m @@ -0,0 +1,26 @@ +.TH HYPOT 3M +.SH NAME +hypot, cabs \- euclidean distance +.SH SYNOPSIS +.B #include +.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 index 0000000000..6e6f60a09b --- /dev/null +++ b/usr/man/man3/intro.3 @@ -0,0 +1,92 @@ +.TH INTRO 3 +.SH NAME +intro \- introduction to library functions +.SH SYNOPSIS +.B #include +.PP +.B #include +.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 . +.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 . +.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 . +.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 index 0000000000..f9dffcffcb --- /dev/null +++ b/usr/man/man3/j0.3m @@ -0,0 +1,41 @@ +.TH J0 3M +.SH NAME +j0, j1, jn, y0, y1, yn \- bessel functions +.SH SYNOPSIS +.B #include +.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 index 0000000000..ac373b6da2 --- /dev/null +++ b/usr/man/man3/l3tol.3 @@ -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 index 0000000000..57073ab022 --- /dev/null +++ b/usr/man/man3/malloc.3 @@ -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 index 0000000000..691bae6f17 --- /dev/null +++ b/usr/man/man3/mktemp.3 @@ -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 index 0000000000..611bc95f33 --- /dev/null +++ b/usr/man/man3/monitor.3 @@ -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 index 0000000000..cd9b7af171 --- /dev/null +++ b/usr/man/man3/perror.3 @@ -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 index 0000000000..fc40ec02de --- /dev/null +++ b/usr/man/man3/plot.3x @@ -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 index 0000000000..d224b9961a --- /dev/null +++ b/usr/man/man3/popen.3s @@ -0,0 +1,66 @@ +.TH POPEN 3S +.SH NAME +popen, pclose \- initiate I/O to/from a process +.SH SYNOPSIS +.B #include +.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 index 0000000000..9b0916f636 --- /dev/null +++ b/usr/man/man3/printf.3s @@ -0,0 +1,231 @@ +.TH PRINTF 3S +.SH NAME +printf, fprintf, sprintf \- formatted output conversion +.SH SYNOPSIS +.B #include +.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 index 0000000000..473caf441e --- /dev/null +++ b/usr/man/man3/putc.3s @@ -0,0 +1,102 @@ +.TH PUTC 3S +.SH NAME +putc, putchar, fputc, putw \- put character or word on a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..7457fbbe2c --- /dev/null +++ b/usr/man/man3/puts.3s @@ -0,0 +1,45 @@ +.TH PUTS 3S +.SH NAME +puts, fputs \- put a string on a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..8a0e69bac7 --- /dev/null +++ b/usr/man/man3/qsort.3 @@ -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 index 0000000000..968c53562c --- /dev/null +++ b/usr/man/man3/rand.3 @@ -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 index 0000000000..eddd65daf7 --- /dev/null +++ b/usr/man/man3/scanf.3s @@ -0,0 +1,253 @@ +.TH SCANF 3S +.SH NAME +scanf, fscanf, sscanf \- formatted input conversion +.SH SYNOPSIS +.B #include +.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 index 0000000000..6d808b0c04 --- /dev/null +++ b/usr/man/man3/setbuf.3s @@ -0,0 +1,48 @@ +.TH SETBUF 3S +.SH NAME +setbuf \- assign buffering to a stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..aae8841316 --- /dev/null +++ b/usr/man/man3/setjmp.3 @@ -0,0 +1,41 @@ +.TH SETJMP 3 +.SH NAME +setjmp, longjmp \- non-local goto +.SH SYNOPSIS +.B #include +.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 index 0000000000..b94767c371 --- /dev/null +++ b/usr/man/man3/sin.3m @@ -0,0 +1,71 @@ +.TH SIN 3M +.SH NAME +sin, cos, tan, asin, acos, atan, atan2 \- trigonometric functions +.SH SYNOPSIS +.B #include +.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 index 0000000000..dd95735dcd --- /dev/null +++ b/usr/man/man3/sinh.3m @@ -0,0 +1,26 @@ +.TH SINH 3M +.SH NAME +sinh, cosh, tanh \- hyperbolic functions +.SH SYNOPSIS +.B #include +.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 index 0000000000..a62945cb67 --- /dev/null +++ b/usr/man/man3/sleep.3 @@ -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 index 0000000000..0a8f60639f --- /dev/null +++ b/usr/man/man3/stdio.3s @@ -0,0 +1,108 @@ +.TH STDIO 3S +.SH NAME +stdio \- standard buffered input/output package +.SH SYNOPSIS +.B #include +.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 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 index 0000000000..45a0d69654 --- /dev/null +++ b/usr/man/man3/string.3 @@ -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 index 0000000000..7265581ef2 --- /dev/null +++ b/usr/man/man3/swab.3 @@ -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 index 0000000000..b7d15eeb30 --- /dev/null +++ b/usr/man/man3/ttyname.3 @@ -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 index 0000000000..a8fecad72b --- /dev/null +++ b/usr/man/man3/ungetc.3s @@ -0,0 +1,38 @@ +.TH UNGETC 3S +.SH NAME +ungetc \- push character back into input stream +.SH SYNOPSIS +.B #include +.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 index 0000000000..9053a000df --- /dev/null +++ b/usr/man/man4/cat.4 @@ -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 index 0000000000..077a8cb00b --- /dev/null +++ b/usr/man/man4/ht.4 @@ -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 index 0000000000..aaa95e71cb --- /dev/null +++ b/usr/man/man4/kl.4 @@ -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 index 0000000000..7ab48e0a6e --- /dev/null +++ b/usr/man/man4/kmem.4 @@ -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 index 0000000000..46b2f982e2 --- /dev/null +++ b/usr/man/man4/lp.4 @@ -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 +{ +(- +.br +.ns +.TP 10 +} +)- +.br +.ns +.TP 10 +\` +\'- +.br +.ns +.TP 10 +| +!- +.br +.ns +.TP 10 +~ +^- +.. +.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 index 0000000000..a46430165f --- /dev/null +++ b/usr/man/man4/null.4 @@ -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 index 0000000000..200e8a02b1 --- /dev/null +++ b/usr/man/man5/acct.5 @@ -0,0 +1,28 @@ +.TH ACCT 5 +.SH NAME +acct \- execution accounting file +.SH SYNOPSIS +.B #include +.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 index 0000000000..bee6b35ad3 --- /dev/null +++ b/usr/man/man5/ar.5 @@ -0,0 +1,47 @@ +.TH AR 5 +.SH NAME +ar \- archive (library) file format +.SH SYNOPSIS +.B #include +.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 index 0000000000..e762f75563 --- /dev/null +++ b/usr/man/man5/core.5 @@ -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 index 0000000000..d87bd0ee87 --- /dev/null +++ b/usr/man/man5/dir.5 @@ -0,0 +1,38 @@ +.TH DIR 5 +.SH NAME +dir \- format of directories +.SH SYNOPSIS +.B #include +.br +.B #include +.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 index 0000000000..8a05f33e8c --- /dev/null +++ b/usr/man/man5/group.5 @@ -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 index 0000000000..2055d717a6 --- /dev/null +++ b/usr/man/man5/mtab.5 @@ -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 index 0000000000..040c536d47 --- /dev/null +++ b/usr/man/man5/plot.5 @@ -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 index 0000000000..03da3008cf --- /dev/null +++ b/usr/man/man5/ttys.5 @@ -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 index 0000000000..f0884f3dc8 --- /dev/null +++ b/usr/man/man5/types.5 @@ -0,0 +1,30 @@ +.TH TYPES 5 +.SH NAME +types \- primitive system data types +.SH SYNOPSIS +.B #include +.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 index 0000000000..9468a3e9e7 --- /dev/null +++ b/usr/man/man5/utmp.5 @@ -0,0 +1,55 @@ +.TH UTMP 5 +.SH NAME +utmp, wtmp \- login records +.SH SYNOPSIS +.B #include +.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 index 0000000000..d53e456dce --- /dev/null +++ b/usr/man/man5/wtmp.5 @@ -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 index 0000000000..a023cbc168 --- /dev/null +++ b/usr/man/man6/arithmetic.6 @@ -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 index 0000000000..c7bc3ecff9 --- /dev/null +++ b/usr/man/man6/backgammon.6 @@ -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 index 0000000000..3badae5d42 --- /dev/null +++ b/usr/man/man6/bcd.6 @@ -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 index 0000000000..b4c221d81b --- /dev/null +++ b/usr/man/man6/ching.6 @@ -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 index 0000000000..52345122d2 --- /dev/null +++ b/usr/man/man6/hangman.6 @@ -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 index 0000000000..c58ba4b6b7 --- /dev/null +++ b/usr/man/man6/quiz.6 @@ -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 index 0000000000..da26a10f4c --- /dev/null +++ b/usr/man/man6/wump.6 @@ -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 index 0000000000..f012a249d7 --- /dev/null +++ b/usr/man/man7/ascii.7 @@ -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 index 0000000000..072006908c --- /dev/null +++ b/usr/man/man7/greek.7 @@ -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 index 0000000000..adeed8dad5 --- /dev/null +++ b/usr/man/man7/man.7 @@ -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 index 0000000000..dc7511faf2 --- /dev/null +++ b/usr/man/man7/ms.7 @@ -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 `Attached' 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 index 0000000000..3411d60d9b --- /dev/null +++ b/usr/man/man8/cron.8 @@ -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 index 0000000000..39f96a76ec --- /dev/null +++ b/usr/man/man8/makekey.8 @@ -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 index 0000000000..108547a3f7 --- /dev/null +++ b/usr/man/man8/sticky.8 @@ -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 index 0000000000..09402212f4 --- /dev/null +++ b/usr/man/man8/update.8 @@ -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. -- 2.20.1