From 48c6265740aedaa0f58cca089bbcdaf0ad1b07f9 Mon Sep 17 00:00:00 2001 From: CSRG Date: Wed, 21 Jul 1993 07:01:18 -0800 Subject: [PATCH] BSD 4_4 development Work on file usr/share/man/cat4/hp300/cons.0 Work on file usr/share/man/cat4/hp300/ct.0 Work on file usr/share/man/cat4/hp300/autoconf.0 Work on file usr/share/man/cat4/hp300/gb.0 Work on file usr/share/man/cat4/hp300/grf.0 Work on file usr/share/man/cat4/hp300/dca.0 Work on file usr/share/man/cat4/hp300/dv.0 Work on file usr/share/man/cat4/hp300/dcl.0 Work on file usr/share/man/cat4/hp300/hil.0 Work on file usr/share/man/cat4/hp300/dcm.0 Work on file usr/share/man/cat4/hp300/rb.0 Work on file usr/share/man/cat4/hp300/ite.0 Work on file usr/share/man/cat4/hp300/mem.0 Work on file usr/share/man/cat4/hp300/kmem.0 Work on file usr/share/man/cat4/hp300/le.0 Work on file usr/share/man/cat4/hp300/intro.0 Work on file usr/share/man/cat4/hp300/ppi.0 Work on file usr/share/man/cat4/hp300/rd.0 Work on file usr/share/man/cat4/hp300/tc.0 Work on file usr/share/man/cat4/i386/kmem.0 Work on file usr/share/man/cat4/i386/mem.0 Work on file usr/share/man/cat4/sparc/bwtwo.0 Work on file usr/share/man/cat4/sparc/cgthree.0 Work on file usr/share/man/cat4/sparc/kmem.0 Work on file usr/share/man/cat4/sparc/mem.0 Work on file usr/share/man/cat4/sparc/openprom.0 Work on file usr/share/man/cat4/tahoe/ace.0 Work on file usr/share/man/cat4/tahoe/intro.0 Work on file usr/share/man/cat4/tahoe/mem.0 Work on file usr/share/man/cat4/tahoe/ik.0 Work on file usr/share/man/cat4/tahoe/autoconf.0 Work on file usr/share/man/cat4/tahoe/lp.0 Work on file usr/share/man/cat4/tahoe/dr.0 Work on file usr/share/man/cat4/tahoe/cons.0 Work on file usr/share/man/cat4/tahoe/cy.0 Work on file usr/share/man/cat4/tahoe/enp.0 Work on file usr/share/man/cat4/tahoe/kmem.0 Work on file usr/share/man/cat4/tahoe/vx.0 Work on file usr/share/man/cat4/tahoe/vd.0 Work on file usr/share/man/cat4/tahoe/mtio.0 Work on file usr/share/man/cat4/vax/acc.0 Work on file usr/share/man/cat4/vax/ad.0 Work on file usr/share/man/cat4/vax/autoconf.0 Work on file usr/share/man/cat4/vax/cons.0 Work on file usr/share/man/cat4/vax/ddn.0 Work on file usr/share/man/cat4/vax/dh.0 Work on file usr/share/man/cat4/vax/de.0 Work on file usr/share/man/cat4/vax/crl.0 Work on file usr/share/man/cat4/vax/css.0 Work on file usr/share/man/cat4/vax/ct.0 Work on file usr/share/man/cat4/vax/dz.0 Work on file usr/share/man/cat4/vax/dmz.0 Work on file usr/share/man/cat4/vax/ec.0 Work on file usr/share/man/cat4/vax/dn.0 Work on file usr/share/man/cat4/vax/dmf.0 Work on file usr/share/man/cat4/vax/dmc.0 Work on file usr/share/man/cat4/vax/en.0 Work on file usr/share/man/cat4/vax/fl.0 Work on file usr/share/man/cat4/vax/ex.0 Work on file usr/share/man/cat4/vax/dhu.0 Work on file usr/share/man/cat4/vax/hp.0 Work on file usr/share/man/cat4/vax/hdh.0 Work on file usr/share/man/cat4/vax/intro.0 Work on file usr/share/man/cat4/vax/ik.0 Work on file usr/share/man/cat4/vax/ht.0 Work on file usr/share/man/cat4/vax/hk.0 Work on file usr/share/man/cat4/vax/hy.0 Work on file usr/share/man/cat4/vax/il.0 Work on file usr/share/man/cat4/vax/np.0 Work on file usr/share/man/cat4/vax/lp.0 Work on file usr/share/man/cat4/vax/mtio.0 Work on file usr/share/man/cat4/vax/mt.0 Work on file usr/share/man/cat4/vax/mem.0 Work on file usr/share/man/cat4/vax/kmem.0 Work on file usr/share/man/cat4/vax/ix.0 Work on file usr/share/man/cat4/vax/pcl.0 Work on file usr/share/man/cat4/vax/kg.0 Work on file usr/share/man/cat4/vax/tu.0 Work on file usr/share/man/cat4/vax/tm.0 Work on file usr/share/man/cat4/vax/qe.0 Work on file usr/share/man/cat4/vax/ts.0 Work on file usr/share/man/cat4/vax/ps.0 Work on file usr/share/man/cat4/vax/rx.0 Work on file usr/share/man/cat4/vax/tb.0 Work on file usr/share/man/cat4/vax/tmscp.0 Work on file usr/share/man/cat4/vax/uda.0 Work on file usr/share/man/cat4/vax/va.0 Work on file usr/share/man/cat4/vax/vv.0 Work on file usr/share/man/cat4/vax/uu.0 Work on file usr/share/man/cat4/vax/vp.0 Work on file usr/share/man/cat4/vax/ut.0 Work on file usr/share/man/cat4/vax/up.0 Work on file usr/share/man/cat4/clnp.0 Work on file usr/share/man/cat4/cltp.0 Work on file usr/share/man/cat4/stdin.0 Work on file usr/share/man/cat4/drum.0 Work on file usr/share/man/cat4/fd.0 Work on file usr/share/man/cat4/icmp.0 Work on file usr/share/man/cat4/ip.0 Work on file usr/share/man/cat4/idp.0 Work on file usr/share/man/cat4/esis.0 Work on file usr/share/man/cat4/inet.0 Work on file usr/share/man/cat4/stderr.0 Work on file usr/share/man/cat4/stdout.0 Work on file usr/share/man/cat4/null.0 Work on file usr/share/man/cat4/networking.0 Work on file usr/share/man/cat4/nsip.0 Work on file usr/share/man/cat4/ns.0 Work on file usr/share/man/cat4/netintro.0 Work on file usr/share/man/cat4/lo.0 Work on file usr/share/man/cat4/iso.0 Work on file usr/share/man/cat4/termios.0 Work on file usr/share/man/cat4/tp.0 Work on file usr/share/man/cat4/spp.0 Work on file usr/share/man/cat4/pty.0 Work on file usr/share/man/cat4/route.0 Work on file usr/share/man/cat4/tcp.0 Work on file usr/share/man/cat4/unix.0 Work on file usr/share/man/cat4/udp.0 Work on file usr/share/man/cat4/tty.0 Work on file usr/share/man/cat5/dumpdates.0 Work on file usr/share/man/cat5/acct.0 Work on file usr/share/man/cat5/a.out.0 Work on file usr/share/man/cat5/dump.0 Work on file usr/share/man/cat5/core.0 Work on file usr/share/man/cat5/disktab.0 Work on file usr/share/man/cat5/dir.0 Work on file usr/share/man/cat5/passwd.0 Work on file usr/share/man/cat5/fs.0 Work on file usr/share/man/cat5/fstab.0 Work on file usr/share/man/cat5/hosts.0 Work on file usr/share/man/cat5/inode.0 Work on file usr/share/man/cat5/phones.0 Work on file usr/share/man/cat5/networks.0 Work on file usr/share/man/cat5/plot.0 Work on file usr/share/man/cat5/group.0 Work on file usr/share/man/cat5/protocols.0 Work on file usr/share/man/cat5/printcap.0 Work on file usr/share/man/cat5/services.0 Work on file usr/share/man/cat5/stab.0 Work on file usr/share/man/cat5/types.0 Work on file usr/share/man/cat5/shells.0 Work on file usr/share/man/cat5/remote.0 Work on file usr/share/man/cat5/resolver.0 Work on file usr/share/man/cat5/wtmp.0 Work on file usr/share/man/cat5/utmp.0 Work on file usr/share/man/cat7/miscellaneous.0 Work on file usr/share/man/cat7/hier.0 Work on file usr/share/man/cat7/environ.0 Work on file usr/share/man/cat7/eqnchar.0 Work on file usr/share/man/cat7/hostname.0 Work on file usr/share/man/cat7/ascii.0 Work on file usr/share/man/cat7/intro.0 Work on file usr/share/man/cat7/mailaddr.0 Work on file usr/share/man/cat7/mdoc.0 Work on file usr/share/man/cat7/man.0 Work on file usr/share/man/cat7/ms.0 Work on file usr/share/man/cat7/mdoc.samples.0 Work on file usr/share/man/cat7/operator.0 Work on file usr/share/man/cat7/term.0 Work on file usr/share/man/cat8/i386/MAKEDEV.0 Work on file usr/share/man/cat8/hp300/MAKEDEV.0 Work on file usr/share/man/cat8/hp300/crash.0 Work on file usr/share/man/cat8/hp300/format.0 Work on file usr/share/man/cat8/tahoe/MAKEDEV.0 Work on file usr/share/man/cat8/vax/MAKEDEV.0 Work on file usr/share/man/cat8/vax/crash.0 Work on file usr/share/man/cat8/vax/drtest.0 Work on file usr/share/man/cat8/vax/installboot.0 Work on file usr/share/man/cat8/rc.0 Work on file usr/share/man/cat8/vax/format.0 Work on file usr/share/man/cat8/intro.0 Work on file usr/share/man/cat8/adduser.0 Work on file usr/share/man/cat8/sticky.0 Work on file usr/share/man/cat7/me.0 Work on file usr/share/me/revisions Work on file usr/share/misc/eqnchar Work on file usr/share/misc/ascii Work on file usr/share/misc/operator Work on file usr/share/misc/man.template Work on file usr/share/misc/mdoc.template Work on file usr/share/skel/dot.profile Work on file usr/share/skel/dot.rhosts Work on file usr/share/skel/dot.cshrc Work on file usr/share/skel/dot.mailrc Work on file usr/share/skel/dot.login Work on file usr/share/tabset/aa Work on file usr/share/tabset/aed512 Work on file usr/share/tabset/9837 Work on file usr/share/tabset/3101 Work on file usr/share/tabset/diablo Work on file usr/share/tabset/tandem653 Work on file usr/share/tabset/teleray Work on file usr/share/tabset/stdcrt Work on file usr/share/tabset/ibm3101 Work on file usr/share/tabset/dtc382 Work on file usr/share/tabset/std Work on file usr/share/tabset/vt100 Work on file usr/share/tabset/vt100-w Work on file usr/share/tabset/zenith29 Work on file usr/share/tabset/xerox1720 Work on file usr/share/tabset/wyse-adds Work on file usr/share/man/cat5/termcap.0 Work on file usr/share/man/cat5/tzfile.0 Synthesized-from: CSRG/cd3/4.4 --- usr/share/man/cat4/clnp.0 | 88 ++ usr/share/man/cat4/cltp.0 | 53 + usr/share/man/cat4/drum.0 | 23 + usr/share/man/cat4/esis.0 | 93 ++ usr/share/man/cat4/fd.0 | 39 + usr/share/man/cat4/hp300/autoconf.0 | 53 + usr/share/man/cat4/hp300/cons.0 | 24 + usr/share/man/cat4/hp300/ct.0 | 38 + usr/share/man/cat4/hp300/dca.0 | 36 + usr/share/man/cat4/hp300/dcl.0 | 66 ++ usr/share/man/cat4/hp300/dcm.0 | 46 + usr/share/man/cat4/hp300/dv.0 | 101 ++ usr/share/man/cat4/hp300/gb.0 | 113 ++ usr/share/man/cat4/hp300/grf.0 | 126 +++ usr/share/man/cat4/hp300/hil.0 | 194 ++++ usr/share/man/cat4/hp300/intro.0 | 75 ++ usr/share/man/cat4/hp300/ite.0 | 58 + usr/share/man/cat4/hp300/kmem.0 | 30 + usr/share/man/cat4/hp300/le.0 | 41 + usr/share/man/cat4/hp300/mem.0 | 30 + usr/share/man/cat4/hp300/ppi.0 | 33 + usr/share/man/cat4/hp300/rb.0 | 104 ++ usr/share/man/cat4/hp300/rd.0 | 228 ++++ usr/share/man/cat4/hp300/tc.0 | 98 ++ usr/share/man/cat4/i386/kmem.0 | 28 + usr/share/man/cat4/i386/mem.0 | 28 + usr/share/man/cat4/icmp.0 | 51 + usr/share/man/cat4/idp.0 | 102 ++ usr/share/man/cat4/inet.0 | 86 ++ usr/share/man/cat4/ip.0 | 210 ++++ usr/share/man/cat4/iso.0 | 97 ++ usr/share/man/cat4/lo.0 | 38 + usr/share/man/cat4/netintro.0 | 225 ++++ usr/share/man/cat4/networking.0 | 225 ++++ usr/share/man/cat4/ns.0 | 84 ++ usr/share/man/cat4/nsip.0 | 52 + usr/share/man/cat4/null.0 | 16 + usr/share/man/cat4/pty.0 | 113 ++ usr/share/man/cat4/route.0 | 175 +++ usr/share/man/cat4/sparc/bwtwo.0 | 16 + usr/share/man/cat4/sparc/cgthree.0 | 16 + usr/share/man/cat4/sparc/kmem.0 | 28 + usr/share/man/cat4/sparc/mem.0 | 28 + usr/share/man/cat4/sparc/openprom.0 | 79 ++ usr/share/man/cat4/spp.0 | 116 ++ usr/share/man/cat4/stderr.0 | 39 + usr/share/man/cat4/stdin.0 | 39 + usr/share/man/cat4/stdout.0 | 39 + usr/share/man/cat4/tahoe/ace.0 | 56 + usr/share/man/cat4/tahoe/autoconf.0 | 66 ++ usr/share/man/cat4/tahoe/cons.0 | 43 + usr/share/man/cat4/tahoe/cy.0 | 122 +++ usr/share/man/cat4/tahoe/dr.0 | 105 ++ usr/share/man/cat4/tahoe/enp.0 | 54 + usr/share/man/cat4/tahoe/ik.0 | 80 ++ usr/share/man/cat4/tahoe/intro.0 | 58 + usr/share/man/cat4/tahoe/kmem.0 | 50 + usr/share/man/cat4/tahoe/lp.0 | 21 + usr/share/man/cat4/tahoe/mem.0 | 50 + usr/share/man/cat4/tahoe/mtio.0 | 138 +++ usr/share/man/cat4/tahoe/vd.0 | 141 +++ usr/share/man/cat4/tahoe/vx.0 | 82 ++ usr/share/man/cat4/tcp.0 | 87 ++ usr/share/man/cat4/termios.0 | 699 ++++++++++++ usr/share/man/cat4/tp.0 | 392 +++++++ usr/share/man/cat4/tty.0 | 259 +++++ usr/share/man/cat4/udp.0 | 59 ++ usr/share/man/cat4/unix.0 | 65 ++ usr/share/man/cat4/vax/acc.0 | 50 + usr/share/man/cat4/vax/ad.0 | 35 + usr/share/man/cat4/vax/autoconf.0 | 100 ++ usr/share/man/cat4/vax/cons.0 | 66 ++ usr/share/man/cat4/vax/crl.0 | 27 + usr/share/man/cat4/vax/css.0 | 48 + usr/share/man/cat4/vax/ct.0 | 29 + usr/share/man/cat4/vax/ddn.0 | 49 + usr/share/man/cat4/vax/de.0 | 64 ++ usr/share/man/cat4/vax/dh.0 | 51 + usr/share/man/cat4/vax/dhu.0 | 59 ++ usr/share/man/cat4/vax/dmc.0 | 69 ++ usr/share/man/cat4/vax/dmf.0 | 72 ++ usr/share/man/cat4/vax/dmz.0 | 56 + usr/share/man/cat4/vax/dn.0 | 55 + usr/share/man/cat4/vax/dz.0 | 44 + usr/share/man/cat4/vax/ec.0 | 73 ++ usr/share/man/cat4/vax/en.0 | 73 ++ usr/share/man/cat4/vax/ex.0 | 51 + usr/share/man/cat4/vax/fl.0 | 33 + usr/share/man/cat4/vax/hdh.0 | 49 + usr/share/man/cat4/vax/hk.0 | 109 ++ usr/share/man/cat4/vax/hp.0 | 250 +++++ usr/share/man/cat4/vax/ht.0 | 46 + usr/share/man/cat4/vax/hy.0 | 77 ++ usr/share/man/cat4/vax/ik.0 | 41 + usr/share/man/cat4/vax/il.0 | 54 + usr/share/man/cat4/vax/intro.0 | 104 ++ usr/share/man/cat4/vax/ix.0 | 69 ++ usr/share/man/cat4/vax/kg.0 | 23 + usr/share/man/cat4/vax/kmem.0 | 35 + usr/share/man/cat4/vax/lp.0 | 38 + usr/share/man/cat4/vax/mem.0 | 35 + usr/share/man/cat4/vax/mt.0 | 53 + usr/share/man/cat4/vax/mtio.0 | 144 +++ usr/share/man/cat4/vax/np.0 | 71 ++ usr/share/man/cat4/vax/pcl.0 | 66 ++ usr/share/man/cat4/vax/ps.0 | 98 ++ usr/share/man/cat4/vax/qe.0 | 29 + usr/share/man/cat4/vax/rx.0 | 142 +++ usr/share/man/cat4/vax/tb.0 | 55 + usr/share/man/cat4/vax/tm.0 | 51 + usr/share/man/cat4/vax/tmscp.0 | 58 + usr/share/man/cat4/vax/ts.0 | 43 + usr/share/man/cat4/vax/tu.0 | 74 ++ usr/share/man/cat4/vax/uda.0 | 443 ++++++++ usr/share/man/cat4/vax/up.0 | 172 +++ usr/share/man/cat4/vax/ut.0 | 57 + usr/share/man/cat4/vax/uu.0 | 78 ++ usr/share/man/cat4/vax/va.0 | 87 ++ usr/share/man/cat4/vax/vp.0 | 64 ++ usr/share/man/cat4/vax/vv.0 | 66 ++ usr/share/man/cat5/a.out.0 | 276 +++++ usr/share/man/cat5/acct.0 | 62 ++ usr/share/man/cat5/core.0 | 38 + usr/share/man/cat5/dir.0 | 98 ++ usr/share/man/cat5/disktab.0 | 89 ++ usr/share/man/cat5/dump.0 | 198 ++++ usr/share/man/cat5/dumpdates.0 | 198 ++++ usr/share/man/cat5/fs.0 | 220 ++++ usr/share/man/cat5/fstab.0 | 108 ++ usr/share/man/cat5/group.0 | 39 + usr/share/man/cat5/hosts.0 | 47 + usr/share/man/cat5/inode.0 | 220 ++++ usr/share/man/cat5/networks.0 | 40 + usr/share/man/cat5/passwd.0 | 106 ++ usr/share/man/cat5/phones.0 | 31 + usr/share/man/cat5/plot.0 | 132 +++ usr/share/man/cat5/printcap.0 | 160 +++ usr/share/man/cat5/protocols.0 | 34 + usr/share/man/cat5/remote.0 | 103 ++ usr/share/man/cat5/resolver.0 | 77 ++ usr/share/man/cat5/services.0 | 37 + usr/share/man/cat5/shells.0 | 24 + usr/share/man/cat5/stab.0 | 128 +++ usr/share/man/cat5/termcap.0 | 906 ++++++++++++++++ usr/share/man/cat5/types.0 | 109 ++ usr/share/man/cat5/tzfile.0 | 78 ++ usr/share/man/cat5/utmp.0 | 85 ++ usr/share/man/cat5/wtmp.0 | 85 ++ usr/share/man/cat7/ascii.0 | 71 ++ usr/share/man/cat7/environ.0 | 74 ++ usr/share/man/cat7/eqnchar.0 | 132 +++ usr/share/man/cat7/hier.0 | 193 ++++ usr/share/man/cat7/hostname.0 | 50 + usr/share/man/cat7/intro.0 | 13 + usr/share/man/cat7/mailaddr.0 | 126 +++ usr/share/man/cat7/man.0 | 132 +++ usr/share/man/cat7/mdoc.0 | 219 ++++ usr/share/man/cat7/mdoc.samples.0 | 1467 ++++++++++++++++++++++++++ usr/share/man/cat7/me.0 | 198 ++++ usr/share/man/cat7/miscellaneous.0 | 13 + usr/share/man/cat7/ms.0 | 264 +++++ usr/share/man/cat7/operator.0 | 28 + usr/share/man/cat7/term.0 | 28 + usr/share/man/cat8/adduser.0 | 49 + usr/share/man/cat8/hp300/MAKEDEV.0 | 45 + usr/share/man/cat8/hp300/crash.0 | 155 +++ usr/share/man/cat8/hp300/format.0 | 16 + usr/share/man/cat8/i386/MAKEDEV.0 | 66 ++ usr/share/man/cat8/intro.0 | 20 + usr/share/man/cat8/rc.0 | 42 + usr/share/man/cat8/sticky.0 | 47 + usr/share/man/cat8/tahoe/MAKEDEV.0 | 66 ++ usr/share/man/cat8/vax/MAKEDEV.0 | 132 +++ usr/share/man/cat8/vax/crash.0 | 264 +++++ usr/share/man/cat8/vax/drtest.0 | 57 + usr/share/man/cat8/vax/format.0 | 264 +++++ usr/share/man/cat8/vax/installboot.0 | 32 + usr/share/me/revisions | 230 ++++ usr/share/misc/ascii | 50 + usr/share/misc/eqnchar | 90 ++ usr/share/misc/man.template | 8 + usr/share/misc/mdoc.template | 24 + usr/share/misc/operator | 17 + usr/share/skel/dot.cshrc | 27 + usr/share/skel/dot.login | 15 + usr/share/skel/dot.mailrc | 2 + usr/share/skel/dot.profile | 2 + usr/share/skel/dot.rhosts | 2 + usr/share/tabset/3101 | 1 + usr/share/tabset/9837 | 1 + usr/share/tabset/aa | 1 + usr/share/tabset/aed512 | 1 + usr/share/tabset/diablo | 3 + usr/share/tabset/dtc382 | 1 + usr/share/tabset/ibm3101 | 1 + usr/share/tabset/std | 1 + usr/share/tabset/stdcrt | 1 + usr/share/tabset/tandem653 | 1 + usr/share/tabset/teleray | 1 + usr/share/tabset/vt100 | 1 + usr/share/tabset/vt100-w | 1 + usr/share/tabset/wyse-adds | 3 + usr/share/tabset/xerox1720 | 1 + usr/share/tabset/zenith29 | 1 + 204 files changed, 18710 insertions(+) create mode 100644 usr/share/man/cat4/clnp.0 create mode 100644 usr/share/man/cat4/cltp.0 create mode 100644 usr/share/man/cat4/drum.0 create mode 100644 usr/share/man/cat4/esis.0 create mode 100644 usr/share/man/cat4/fd.0 create mode 100644 usr/share/man/cat4/hp300/autoconf.0 create mode 100644 usr/share/man/cat4/hp300/cons.0 create mode 100644 usr/share/man/cat4/hp300/ct.0 create mode 100644 usr/share/man/cat4/hp300/dca.0 create mode 100644 usr/share/man/cat4/hp300/dcl.0 create mode 100644 usr/share/man/cat4/hp300/dcm.0 create mode 100644 usr/share/man/cat4/hp300/dv.0 create mode 100644 usr/share/man/cat4/hp300/gb.0 create mode 100644 usr/share/man/cat4/hp300/grf.0 create mode 100644 usr/share/man/cat4/hp300/hil.0 create mode 100644 usr/share/man/cat4/hp300/intro.0 create mode 100644 usr/share/man/cat4/hp300/ite.0 create mode 100644 usr/share/man/cat4/hp300/kmem.0 create mode 100644 usr/share/man/cat4/hp300/le.0 create mode 100644 usr/share/man/cat4/hp300/mem.0 create mode 100644 usr/share/man/cat4/hp300/ppi.0 create mode 100644 usr/share/man/cat4/hp300/rb.0 create mode 100644 usr/share/man/cat4/hp300/rd.0 create mode 100644 usr/share/man/cat4/hp300/tc.0 create mode 100644 usr/share/man/cat4/i386/kmem.0 create mode 100644 usr/share/man/cat4/i386/mem.0 create mode 100644 usr/share/man/cat4/icmp.0 create mode 100644 usr/share/man/cat4/idp.0 create mode 100644 usr/share/man/cat4/inet.0 create mode 100644 usr/share/man/cat4/ip.0 create mode 100644 usr/share/man/cat4/iso.0 create mode 100644 usr/share/man/cat4/lo.0 create mode 100644 usr/share/man/cat4/netintro.0 create mode 100644 usr/share/man/cat4/networking.0 create mode 100644 usr/share/man/cat4/ns.0 create mode 100644 usr/share/man/cat4/nsip.0 create mode 100644 usr/share/man/cat4/null.0 create mode 100644 usr/share/man/cat4/pty.0 create mode 100644 usr/share/man/cat4/route.0 create mode 100644 usr/share/man/cat4/sparc/bwtwo.0 create mode 100644 usr/share/man/cat4/sparc/cgthree.0 create mode 100644 usr/share/man/cat4/sparc/kmem.0 create mode 100644 usr/share/man/cat4/sparc/mem.0 create mode 100644 usr/share/man/cat4/sparc/openprom.0 create mode 100644 usr/share/man/cat4/spp.0 create mode 100644 usr/share/man/cat4/stderr.0 create mode 100644 usr/share/man/cat4/stdin.0 create mode 100644 usr/share/man/cat4/stdout.0 create mode 100644 usr/share/man/cat4/tahoe/ace.0 create mode 100644 usr/share/man/cat4/tahoe/autoconf.0 create mode 100644 usr/share/man/cat4/tahoe/cons.0 create mode 100644 usr/share/man/cat4/tahoe/cy.0 create mode 100644 usr/share/man/cat4/tahoe/dr.0 create mode 100644 usr/share/man/cat4/tahoe/enp.0 create mode 100644 usr/share/man/cat4/tahoe/ik.0 create mode 100644 usr/share/man/cat4/tahoe/intro.0 create mode 100644 usr/share/man/cat4/tahoe/kmem.0 create mode 100644 usr/share/man/cat4/tahoe/lp.0 create mode 100644 usr/share/man/cat4/tahoe/mem.0 create mode 100644 usr/share/man/cat4/tahoe/mtio.0 create mode 100644 usr/share/man/cat4/tahoe/vd.0 create mode 100644 usr/share/man/cat4/tahoe/vx.0 create mode 100644 usr/share/man/cat4/tcp.0 create mode 100644 usr/share/man/cat4/termios.0 create mode 100644 usr/share/man/cat4/tp.0 create mode 100644 usr/share/man/cat4/tty.0 create mode 100644 usr/share/man/cat4/udp.0 create mode 100644 usr/share/man/cat4/unix.0 create mode 100644 usr/share/man/cat4/vax/acc.0 create mode 100644 usr/share/man/cat4/vax/ad.0 create mode 100644 usr/share/man/cat4/vax/autoconf.0 create mode 100644 usr/share/man/cat4/vax/cons.0 create mode 100644 usr/share/man/cat4/vax/crl.0 create mode 100644 usr/share/man/cat4/vax/css.0 create mode 100644 usr/share/man/cat4/vax/ct.0 create mode 100644 usr/share/man/cat4/vax/ddn.0 create mode 100644 usr/share/man/cat4/vax/de.0 create mode 100644 usr/share/man/cat4/vax/dh.0 create mode 100644 usr/share/man/cat4/vax/dhu.0 create mode 100644 usr/share/man/cat4/vax/dmc.0 create mode 100644 usr/share/man/cat4/vax/dmf.0 create mode 100644 usr/share/man/cat4/vax/dmz.0 create mode 100644 usr/share/man/cat4/vax/dn.0 create mode 100644 usr/share/man/cat4/vax/dz.0 create mode 100644 usr/share/man/cat4/vax/ec.0 create mode 100644 usr/share/man/cat4/vax/en.0 create mode 100644 usr/share/man/cat4/vax/ex.0 create mode 100644 usr/share/man/cat4/vax/fl.0 create mode 100644 usr/share/man/cat4/vax/hdh.0 create mode 100644 usr/share/man/cat4/vax/hk.0 create mode 100644 usr/share/man/cat4/vax/hp.0 create mode 100644 usr/share/man/cat4/vax/ht.0 create mode 100644 usr/share/man/cat4/vax/hy.0 create mode 100644 usr/share/man/cat4/vax/ik.0 create mode 100644 usr/share/man/cat4/vax/il.0 create mode 100644 usr/share/man/cat4/vax/intro.0 create mode 100644 usr/share/man/cat4/vax/ix.0 create mode 100644 usr/share/man/cat4/vax/kg.0 create mode 100644 usr/share/man/cat4/vax/kmem.0 create mode 100644 usr/share/man/cat4/vax/lp.0 create mode 100644 usr/share/man/cat4/vax/mem.0 create mode 100644 usr/share/man/cat4/vax/mt.0 create mode 100644 usr/share/man/cat4/vax/mtio.0 create mode 100644 usr/share/man/cat4/vax/np.0 create mode 100644 usr/share/man/cat4/vax/pcl.0 create mode 100644 usr/share/man/cat4/vax/ps.0 create mode 100644 usr/share/man/cat4/vax/qe.0 create mode 100644 usr/share/man/cat4/vax/rx.0 create mode 100644 usr/share/man/cat4/vax/tb.0 create mode 100644 usr/share/man/cat4/vax/tm.0 create mode 100644 usr/share/man/cat4/vax/tmscp.0 create mode 100644 usr/share/man/cat4/vax/ts.0 create mode 100644 usr/share/man/cat4/vax/tu.0 create mode 100644 usr/share/man/cat4/vax/uda.0 create mode 100644 usr/share/man/cat4/vax/up.0 create mode 100644 usr/share/man/cat4/vax/ut.0 create mode 100644 usr/share/man/cat4/vax/uu.0 create mode 100644 usr/share/man/cat4/vax/va.0 create mode 100644 usr/share/man/cat4/vax/vp.0 create mode 100644 usr/share/man/cat4/vax/vv.0 create mode 100644 usr/share/man/cat5/a.out.0 create mode 100644 usr/share/man/cat5/acct.0 create mode 100644 usr/share/man/cat5/core.0 create mode 100644 usr/share/man/cat5/dir.0 create mode 100644 usr/share/man/cat5/disktab.0 create mode 100644 usr/share/man/cat5/dump.0 create mode 100644 usr/share/man/cat5/dumpdates.0 create mode 100644 usr/share/man/cat5/fs.0 create mode 100644 usr/share/man/cat5/fstab.0 create mode 100644 usr/share/man/cat5/group.0 create mode 100644 usr/share/man/cat5/hosts.0 create mode 100644 usr/share/man/cat5/inode.0 create mode 100644 usr/share/man/cat5/networks.0 create mode 100644 usr/share/man/cat5/passwd.0 create mode 100644 usr/share/man/cat5/phones.0 create mode 100644 usr/share/man/cat5/plot.0 create mode 100644 usr/share/man/cat5/printcap.0 create mode 100644 usr/share/man/cat5/protocols.0 create mode 100644 usr/share/man/cat5/remote.0 create mode 100644 usr/share/man/cat5/resolver.0 create mode 100644 usr/share/man/cat5/services.0 create mode 100644 usr/share/man/cat5/shells.0 create mode 100644 usr/share/man/cat5/stab.0 create mode 100644 usr/share/man/cat5/termcap.0 create mode 100644 usr/share/man/cat5/types.0 create mode 100644 usr/share/man/cat5/tzfile.0 create mode 100644 usr/share/man/cat5/utmp.0 create mode 100644 usr/share/man/cat5/wtmp.0 create mode 100644 usr/share/man/cat7/ascii.0 create mode 100644 usr/share/man/cat7/environ.0 create mode 100644 usr/share/man/cat7/eqnchar.0 create mode 100644 usr/share/man/cat7/hier.0 create mode 100644 usr/share/man/cat7/hostname.0 create mode 100644 usr/share/man/cat7/intro.0 create mode 100644 usr/share/man/cat7/mailaddr.0 create mode 100644 usr/share/man/cat7/man.0 create mode 100644 usr/share/man/cat7/mdoc.0 create mode 100644 usr/share/man/cat7/mdoc.samples.0 create mode 100644 usr/share/man/cat7/me.0 create mode 100644 usr/share/man/cat7/miscellaneous.0 create mode 100644 usr/share/man/cat7/ms.0 create mode 100644 usr/share/man/cat7/operator.0 create mode 100644 usr/share/man/cat7/term.0 create mode 100644 usr/share/man/cat8/adduser.0 create mode 100644 usr/share/man/cat8/hp300/MAKEDEV.0 create mode 100644 usr/share/man/cat8/hp300/crash.0 create mode 100644 usr/share/man/cat8/hp300/format.0 create mode 100644 usr/share/man/cat8/i386/MAKEDEV.0 create mode 100644 usr/share/man/cat8/intro.0 create mode 100644 usr/share/man/cat8/rc.0 create mode 100644 usr/share/man/cat8/sticky.0 create mode 100644 usr/share/man/cat8/tahoe/MAKEDEV.0 create mode 100644 usr/share/man/cat8/vax/MAKEDEV.0 create mode 100644 usr/share/man/cat8/vax/crash.0 create mode 100644 usr/share/man/cat8/vax/drtest.0 create mode 100644 usr/share/man/cat8/vax/format.0 create mode 100644 usr/share/man/cat8/vax/installboot.0 create mode 100644 usr/share/me/revisions create mode 100644 usr/share/misc/ascii create mode 100644 usr/share/misc/eqnchar create mode 100644 usr/share/misc/man.template create mode 100644 usr/share/misc/mdoc.template create mode 100644 usr/share/misc/operator create mode 100644 usr/share/skel/dot.cshrc create mode 100644 usr/share/skel/dot.login create mode 100644 usr/share/skel/dot.mailrc create mode 100644 usr/share/skel/dot.profile create mode 100644 usr/share/skel/dot.rhosts create mode 100644 usr/share/tabset/3101 create mode 100644 usr/share/tabset/9837 create mode 100644 usr/share/tabset/aa create mode 100644 usr/share/tabset/aed512 create mode 100644 usr/share/tabset/diablo create mode 100644 usr/share/tabset/dtc382 create mode 100644 usr/share/tabset/ibm3101 create mode 100644 usr/share/tabset/std create mode 100644 usr/share/tabset/stdcrt create mode 100644 usr/share/tabset/tandem653 create mode 100644 usr/share/tabset/teleray create mode 100644 usr/share/tabset/vt100 create mode 100644 usr/share/tabset/vt100-w create mode 100644 usr/share/tabset/wyse-adds create mode 100644 usr/share/tabset/xerox1720 create mode 100644 usr/share/tabset/zenith29 diff --git a/usr/share/man/cat4/clnp.0 b/usr/share/man/cat4/clnp.0 new file mode 100644 index 0000000000..5874017edd --- /dev/null +++ b/usr/share/man/cat4/clnp.0 @@ -0,0 +1,88 @@ +CLNP(4) BSD Programmer's Manual CLNP(4) + +NNAAMMEE + ccllnnpp - Connectionless-Mode Network Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___I_S_O, _S_O_C_K___R_A_W, _0); + +DDEESSCCRRIIPPTTIIOONN + CLNP is the connectionless-mode network protocol used by the connection- + less-mode network service. This protocol is specified in ISO 8473. It + may be accessed through a ``raw socket'' for debugging purposes only. + CLNP sockets are connectionless, and are normally used with the sendto + and recvfrom calls, though the connect(2) call may also be used to fix + the destination for future packets (in which case the read(2) or recv(2) + and write(2) or send(2) system calls may be used). + + Outgoing packets automatically have a CLNP header prepended to them. In- + coming packets received by the user contain the full CLNP header. The + following setsockopt options apply to CLNP: + + CLNPOPT_FLAGS Sets the flags which are passed to clnp when sending a + datagram. Valid flags are: + + CLNP_NO_SEG Do not allow segmentation + CLNP_NO_ER Suppress ER pdus + CLNP_NO_CKSUM Do not generate the CLNP checksum + + CLNPOPT_OPTS Sets CLNP options. The options must be formatted exactly + as specified by ISO 8473, section 7.5 ``Options Part.'' + Once an option has been set, it will be sent on all pack- + ets until a different option is set. + +CCOONNGGEESSTTIIOONN EEXXPPEERRIIEENNCCEE BBIITT + Whenever a packet is transmitted, the globally unique quality of service + option is added to the packet. The sequencing preferred bit and the low + transit delay bit are set in this option. + + If a packet is forwarded containing the globally unique quality of ser- + vice option, and the interface through which the packet will be transmit- + ted has a queue length greater than _c_o_n_g_e_s_t___t_h_r_e_s_h_o_l_d, then the conges- + tion experienced bit is set in the quality of service option. + + The threshold value stored in _c_o_n_g_e_s_t___t_h_r_e_s_h_o_l_d may be tuned. + + When a packet is received with the globally unique quality of service op- + tion present, and the congestion experienced bit is set, then the trans- + port congestion control function is called. + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] When trying to establish a connection on a socket which + already has one, or when trying to send a datagram with + the destination address specified and the socket is al- + ready connected; + + [ENOTCONN] When trying to send a datagram, but no destination ad- + dress is specified, and the socket hasn't been connect- + + ed; + + [ENOBUFS] When the system runs out of memory for an internal data + structure; + + [EADDRNOTAVAIL] When an attempt is made to create a socket with a net- + work address for which no network interface exists; + + [EHOSTUNREACH] When trying to send a datagram, but no route to the des- + tination address exists. + + [EINVAL] When specifying unsupported options. + +SSEEEE AALLSSOO + send(2), recv(2), intro(4), iso(4) + +BBUUGGSS + Packets are sent with the type code of 0x1d (technically an invalid pack- + et type) for lack of a better way to identify raw CLNP packets. + + No more than MLEN bytes of options can be specified. + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/cltp.0 b/usr/share/man/cat4/cltp.0 new file mode 100644 index 0000000000..4cb1c11b6c --- /dev/null +++ b/usr/share/man/cat4/cltp.0 @@ -0,0 +1,53 @@ +CLTP(4) BSD Programmer's Manual CLTP(4) + +NNAAMMEE + ccllttpp - ISO Connectionless Transport Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___I_S_O, _S_O_C_K___D_G_R_A_M, _0); + +DDEESSCCRRIIPPTTIIOONN + CLTP is a simple, unreliable datagram protocol which is accessed via the + SOCK_DGRAM abstraction for the ISO protocol family. CLTP sockets are + connectionless, and are normally used with the sendto and recvfrom calls, + though the connect(2) call may also be used to fix the destination for + future packets (in which case the recv(2) or read(2) and send(2) or + write(2) system calls may be used). + + CLTP address formats are identical to those used by TP. In particular + CLTP provides a service selector in addition to the normal ISO NSAP. Note + that the CLTP selector space is separate from the TP selector space (i.e. + a CLTP selector may not be ``connected'' to a TP selector). + + Options at the CLNP network level may be used with CLTP; see clnp(4). + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one, or when trying to send a datagram with + the destination address specified and the socket is al- + ready connected; + + [ENOTCONN] when trying to send a datagram, but no destination ad- + dress is specified, and the socket hasn't been connect- + ed; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [EADDRINUSE] when an attempt is made to create a socket with a selec- + tor which has already been allocated; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + +SSEEEE AALLSSOO + getsockopt(2), recv(2), send(2), socket(2), intro(4), iso(4), + clnp(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/drum.0 b/usr/share/man/cat4/drum.0 new file mode 100644 index 0000000000..d50d1c25e6 --- /dev/null +++ b/usr/share/man/cat4/drum.0 @@ -0,0 +1,23 @@ +DRUM(4) BSD Programmer's Manual DRUM(4) + +NNAAMMEE + ddrruumm - paging device + +DDEESSCCRRIIPPTTIIOONN + This file refers to the paging device in use by the system. This may ac- + tually be a subdevice of one of the disk drivers, but in a system with + paging interleaved across multiple disk drives it provides an indirect + driver for the multiple drives. + +FFIILLEESS + /dev/drum + +HHIISSTTOORRYY + The ddrruumm special file appeared in 3.0BSD. + +BBUUGGSS + Reads from the drum are not allowed across the interleaving boundaries. + Since these only occur every .5Mbytes or so, and since the system never + allocates blocks across the boundary, this is usually not a problem. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/esis.0 b/usr/share/man/cat4/esis.0 new file mode 100644 index 0000000000..7d9f098832 --- /dev/null +++ b/usr/share/man/cat4/esis.0 @@ -0,0 +1,93 @@ +ESIS(4) BSD Programmer's Manual ESIS(4) + +NNAAMMEE + eess--iiss - End System to Intermediate System Routing Protocol + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee + eetthheerr + +DDEESSCCRRIIPPTTIIOONN + The EESS--IISS routing protocol is used to dynamically map between ISO NSAP + addresses and ISO SNPA addresses; to permit End and Intermediate Systems + to learn of each other's existence; and to allow Intermediate Systems to + inform End Systems of (potentially) better routes to use when forwarding + NPDUs to a particular destination. + + The mapping between NSAP addresses and SNPA addresses is accomplished by + transmitting hello PDUs between the cooperating Systems. These PDUs are + transmitted whenever the _c_o_n_f_i_g_u_r_a_t_i_o_n timer expires. When a hello PDU + is received, the SNPA address that it conveys is stored in the routing + table for as long as the _h_o_l_d_i_n_g _t_i_m_e in the PDU suggests. The default + _h_o_l_d_i_n_g _t_i_m_e (120 seconds) placed in the hello PDU, the configuration + timer value, and the system type (End System or Intermediate System) may + be changed by issuing an SIOCSSTYPE ioctl(2), which is defined in + _/_s_y_s_/_n_e_t_i_s_o_/_i_s_o___s_n_p_a_c_._h_. + + The protocol behaves differently depending on whether the System is con- + figured as an End System or an Intermediate System. + +EENNDD SSYYSSTTEEMM OOPPEERRAATTIIOONN + When an interface requests a mapping for an address not in the cache, the + SNPA of any known Intermediate System is returned. If an Intermediate + System is not known, then the _a_l_l _e_n_d _s_y_s_t_e_m_s multicast address is re- + turned. It is assumed that the intended recipient of the NPDU will imme- + diately transmit a hello PDU back to the originator of the NPDU. + + If an NPDU is forwarded by the End System, a redirect PDU will not be + generated. However, redirect PDUs received will be processed. This pro- + cessing consists of adding an entry in the routing table. If the redirect + is towards an Intermediate System, then an entry is made in the routing + table as well. The entry in the routing table will may mark the NSAP ad- + dress contained in the redirect PDU as the gateway for the destination + system (if an NET is supplied), or will create a route with the NSAP ad- + dress as the destination and the SNPA address (embodied as a link-level + sockaddr) as the gateway. + + If the System is configured as an End System, it will report all the + NSAPs that have been configured using the ifconfig command, and no oth- + ers. It is possible to have more than one NSAP assigned to a given in- + terface, and it is also possible to have the same NSAP assigned to multi- + ple interfaces. However, any NSAP containing an NSEL that is consistent + with the nsellength option (default one) of any interface will be accept- + ed as an NSAP for this System. + +IINNTTEERRMMEEDDIIAATTEE SSYYSSTTEEMM OOPPEERRAATTIIOONN + When an interface requests a mapping for an address not in the routing + table, an error is returned. + + When an NPDU is forwarded out on the same interface that the NPDU arrived + upon, a redirect PDU is generated. + +MMAANNUUAALL RROOUUTTIINNGG TTAABBLLEE MMOODDIIFFIICCAATTIIOONN + To facilitate communications with systems which do not use EESS--IISS,, one may + add a route whose destination is a sockaddr_iso containing the NSAP in + question, and the gateway being a link-level sockaddr, either by writing + a special purpose program, or using the route(8) command e.g.: + + route add -iface -osi 49.0.4.8.0.2b.b.83.bf -link qe0:8.0.2b.b.83.bf + + If the System is configured as an End System and has a single network in- + terface which does not support multicast reception, it is necessary to + manually configure the location of an IS, using the route command in a + similar way. There, the destination address should be ``default'' + (spelled out literally as 7 ASCII characters), and the gateway should be + once again be a link-level sockaddr specifying the SNPA of the IS. + +SSEEEE AALLSSOO + un(4), iso(4), route(8), ifconfig(8) + + _E_n_d _s_y_s_t_e_m _t_o _I_n_t_e_r_m_e_d_i_a_t_e _s_y_s_t_e_m _r_o_u_t_i_n_g _e_x_c_h_a_n_g_e _p_r_o_t_o_c_o_l _f_o_r _u_s_e _i_n + _c_o_n_j_u_n_c_t_i_o_n _w_i_t_h _t_h_e _P_r_o_t_o_c_o_l _f_o_r _p_r_o_v_i_d_i_n_g _t_h_e _c_o_n_n_e_c_t_i_o_n_l_e_s_s_-_m_o_d_e + _n_e_t_w_o_r_k _s_e_r_v_i_c_e, ISO, 9542. + +BBUUGGSS + Redirect PDUs do not contain options from the forwarded NPDU which gener- + ated the redirect. The multicast address used on the 802.3 network is + taken from the NBS December 1987 agreements. This multicast address is + not compatible with the 802.5 (Token Ring) multicast addresses format. + Therefore, broadcast addresses are used on the 802.5 subnetwork. Re- + searchers at the University of Wisconsin are constructing an implementa- + tion of the IS-IS routing protocol. + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/fd.0 b/usr/share/man/cat4/fd.0 new file mode 100644 index 0000000000..e85fb8dd69 --- /dev/null +++ b/usr/share/man/cat4/fd.0 @@ -0,0 +1,39 @@ +FD(4) BSD Programmer's Manual FD(4) + +NNAAMMEE + ffdd, ssttddiinn, ssttddoouutt, ssttddeerrrr - file descriptor files + +DDEESSCCRRIIPPTTIIOONN + The files _/_d_e_v_/_f_d_/_0 through _/_d_e_v_/_f_d_/_# refer to file descriptors which can + be accessed through the file system. If the file descriptor is open and + the mode the file is being opened with is a subset of the mode of the ex- + isting descriptor, the call: + + fd = open("/dev/fd/0", mode); + + and the call: + + fd = fcntl(0, F_DUPFD, 0); + + are equivalent. + + Opening the files _/_d_e_v_/_s_t_d_i_n, _/_d_e_v_/_s_t_d_o_u_t and _/_d_e_v_/_s_t_d_e_r_r is equivalent + to the following calls: + + fd = fcntl(STDIN_FILENO, F_DUPFD, 0); + fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); + fd = fcntl(STDERR_FILENO, F_DUPFD, 0); + + Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are + ignored. + +FFIILLEESS + /dev/fd/# + /dev/stdin + /dev/stdout + /dev/stderr + +SSEEEE AALLSSOO + tty(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/autoconf.0 b/usr/share/man/cat4/hp300/autoconf.0 new file mode 100644 index 0000000000..ebddfd224a --- /dev/null +++ b/usr/share/man/cat4/hp300/autoconf.0 @@ -0,0 +1,53 @@ +AUTOCONF(4) BSD Programmer's Manual (HP300 Architecture) AUTOCONF(4) + +NNAAMMEE + aauuttooccoonnff - diagnostics from the autoconfiguration code + +DDEESSCCRRIIPPTTIIOONN + When UNIX bootstraps it probes the innards of the machine on which it is + running and locates controllers, drives, and other devices, printing out + what it finds on the console. This procedure is driven by a system con- + figuration table which is processed by config(8) and compiled into each + kernel. + + Autoconfiguration on the HP300s is similar to that on the VAX, the prima- + ry difference is in the naming conventions. On the HP300, if devices ex- + ist which are not configured they will be ignored; if devices exist of + unsupported type they will be ignored. + + Normally, the system uses the disk from which it was loaded as the root + filesystem. If that is not possible, a generic system will use `rd0' if + it exists. If such a system is booted with the RB_ASKNAME option (see + reboot(2)), then the name of the root device is read from the console + terminal at boot time, and any available device may be used. + +DDIIAAGGNNOOSSTTIICCSS + CCPPUU ttyyppee nnoott ccoonnffiigguurreedd.. You tried to boot UNIX on a CPU type which it + doesn't (or at least this compiled version of UNIX doesn't) understand. + + hhppiibb%%dd aatt sscc%%dd,, iippll %%dd.. An HP-IB was found at sc%d (the select code) + with ipl%d (interrupt priority level). UNIX will call it hpib%d. + + %%ss%%dd:: %%ss.. + %%ss%%dd aatt hhppiibb%%dd,, ssllaavvee %%dd.. An HP-IB disk or tape controller was found. + For disks `%s%d' will look like `rd0', for tapes like `ct0'. The `%s' in + the first line will be a product type like ``7945A'' or ``9144''. The + slave number comes from the address select switches on the drive. + + ggrrff00 ccssrr 00xx556600000000 + ggrrff%%dd aatt sscc%%dd A bit mapped display was found either at the ``internal'' + address (first case) or at some ``external'' select code (second case). + If it exists, the internal display will always be unit 0. + + %%ss%%dd aatt sscc%%dd,, iippll %%dd ffllaaggss %%dd Another peripheral controller was found at + the indicated select code and with indicated interrupt priority level. + `%s' will be one of dca(4) (single-port serial interfaces), dcm(4) (four- + port serial interfaces), or le(4) (LAN cards). The slave number comes + from the address select switches on the interface card. + +SSEEEE AALLSSOO + intro(4), boot(8), config(8) + + _4_._3_B_S_D _f_o_r _t_h_e _H_P_3_0_0, in the distribution documentation package. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/cons.0 b/usr/share/man/cat4/hp300/cons.0 new file mode 100644 index 0000000000..21a94b7884 --- /dev/null +++ b/usr/share/man/cat4/hp300/cons.0 @@ -0,0 +1,24 @@ +CONS(4) BSD Programmer's Manual (HP300 Architecture) CONS(4) + +NNAAMMEE + ccoonnss - HP300 console interface + +DDEESSCCRRIIPPTTIIOONN + This release supports a ``virtual'' console device used for _k_e_r_n_e_l _p_r_i_n_t_f + messages and accessed in user mode via _/_d_e_v_/_c_o_n_s_o_l_e. It is virtual in the + sense that it is attached to a hardware interface at boot time. Current- + ly the choices are limited to: a bit-mapped display acting as an _i_n_t_e_r_n_a_l + _t_e_r_m_i_n_a_l _e_m_u_l_a_t_o_r ``ITE'', the builtin serial interface dca(4), or a + null(4) console in that order. + +FFIILLEESS + /dev/console + +SSEEEE AALLSSOO + tty(4), reboot(8) + +BBUUGGSS + You should be able to specify potential console devices at config(8) + time. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/ct.0 b/usr/share/man/cat4/hp300/ct.0 new file mode 100644 index 0000000000..648c50fa61 --- /dev/null +++ b/usr/share/man/cat4/hp300/ct.0 @@ -0,0 +1,38 @@ +CT(4) BSD Programmer's Manual (HP300 Architecture) CT(4) + +NNAAMMEE + cctt - CS/80 cartridge tape interface + +SSYYNNOOPPSSIISS + ttaappee cctt00 aatt hhppiibb?? ssllaavvee ?? + +DDEESSCCRRIIPPTTIIOONN + The cartridge tape interface as found in the 7946 and 9144 products pro- + vides a standard tape drive interface as described in mtio(4) with the + following exceptions: + + 1. There is only one density. + + 2. Only the ``raw'' interface is supported. + + 3. The MTIOCTOP ioctl(2) is limited. In particular, the command, MTFSR + is not supported. + + 4. The MTIOCGET ioctl is not supported. + + 5. The record size for read and write operations must be between 1K and + 64K inclusive. + + Special files _r_c_t_0 through _r_c_t_3 refer to rewind on close interfaces to + drives 0 to 3. Files _r_c_t_4 through _r_c_t_7 refer to no-rewind interfaces. + Files _r_c_t_8 through _r_c_t_1_1 refer to streaming rewind on close interfaces. + (Only 9144 type devices can stream.) Lastly, _r_c_t_1_2 through _r_c_t_1_5 refer + to streaming no-rewind interfaces. + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), mtio(4). + +BBUUGGSS + Read and writes of less than 1024 bytes will not behave as expected. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/dca.0 b/usr/share/man/cat4/hp300/dca.0 new file mode 100644 index 0000000000..fc0649fd37 --- /dev/null +++ b/usr/share/man/cat4/hp300/dca.0 @@ -0,0 +1,36 @@ +DCA(4) BSD Programmer's Manual (HP300 Architecture) DCA(4) + +NNAAMMEE + ddccaa - HP 98644A communications interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddccaa00 aatt ssccooddee99 ffllaaggss 00xx11 + +DDEESSCCRRIIPPTTIIOONN + The 98644A is a single port EIA RS-232C (CCITT V.28) communications in- + terface with a single character buffer. Such an interface is built-in to + all series 300 machines. + + Input and output for each line may set to one of following baud rates; + 50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600 or 19200. + + An optional argument _f_l_a_g_s may be set to 1 if the line should be treated + as hard-wired with carrier always present or 0 if modem control is de- + sired. + +FFIILLEESS + /dev/tty0 + +DDIIAAGGNNOOSSTTIICCSS + ddccaa%%dd:: ssiilloo oovveerrffllooww.. The single-character input ``silo'' has overflowed + and incoming data has been lost. + +SSEEEE AALLSSOO + tty(4) + +BBUUGGSS + Data loss is possible on busy systems with baud rates greater than 300. + The ddccaa has never been tested with modem control enabled or on anything + but the built-in interface. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/dcl.0 b/usr/share/man/cat4/hp300/dcl.0 new file mode 100644 index 0000000000..f1245bb6a5 --- /dev/null +++ b/usr/share/man/cat4/hp300/dcl.0 @@ -0,0 +1,66 @@ +DCL(4) BSD Programmer's Manual (HP300 Architecture) DCL(4) + +NNAAMMEE + ddccll - HP 98628A communications link + +SSYYNNOOPPSSIISS + ddeevviiccee ddccll00 aatt ssccooddee?? ffllaaggss 00xx11 + +DDEESSCCRRIIPPTTIIOONN + The 98628A is a buffered EIA RS-232C (CCITT V.28) communications inter- + face. It has one port with full modem control. + + Input and output for each line may set to one of following baud rates; 0, + 50, 75, 110, 134.5, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, + 19200. + + An optional argument _f_l_a_g_s may be set to 1 if the line should be treated + as hard-wired with carrier always present, or to 0 if modem control is + desired. + + Use HP cable "98626 & 98628 opts.002, RS232-C DCE CABLE, 5061-4216" to + attach non-modem devices. Use HP cable "98626 & 98628 opts.001, RS232-C + DTE CABLE, 5061-4215" to attach modems. + + The 98628A has a 256 byte input silo and a 256 output silo. Input inter- + rupts happen on a per character basis. + + The high water and low water marks in the kernel tty routines are com- + pletely inappropriate for a device like this with a large input buffer. + Don't use tandem mode if possible. A fast system can handle input at + 19.2K baud without receive overflow. + + For output to devices that make heavy use of XON/XOFF a write size of + less then 256 will improve performance marginally. + +FFIILLEESS + /dev/ttyl[0-9] + +DDIIAAGGNNOOSSTTIICCSS + ddccll%%dd:: eerrrroorr 00xx%%xx RREESSEETT CCAARRDD.. Where the errors are encoded: + + 0x06 card failure + 0x0d uart receive overflow + 0x0e receive overflow + 0x0f missing external clock + 0x10 cts false too long + 0x11 lost carrier + 0x12 activity timeout + 0x13 connection not established + 0x19 illegal databits/parity + 0x1a register address out of range + 0x1b register value out of range + 0x-- unknown error + +SSEEEE AALLSSOO + tty(4) + +BBUUGGSS + Breaks received at a faster rate then 1 break every second will be recog- + nized as a single break. + + Console use is not supported. + + The RS-422/423/499, MTS-DSN/DL modes of the card are not supported. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/dcm.0 b/usr/share/man/cat4/hp300/dcm.0 new file mode 100644 index 0000000000..d88c02bd2c --- /dev/null +++ b/usr/share/man/cat4/hp300/dcm.0 @@ -0,0 +1,46 @@ +DCM(4) BSD Programmer's Manual (HP300 Architecture) DCM(4) + +NNAAMMEE + ddccmm - HP 98642A communications multiplexer + +SSYYNNOOPPSSIISS + ddeevviiccee ddccmm00 aatt ssccooddee?? ffllaaggss 00xxee + +DDEESSCCRRIIPPTTIIOONN + The 98642A is a four port EIA RS-232C (CCITT V.28) communications multi- + plexer. The 98642A has three direct-connect ports and one port with full + modem control. + + Input and output for each line may set to one of following baud rates; + 50, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, + 38400. + + _F_l_a_g_s is usually specified as 0xe since 3 of the 4 ports (1-3) do not + support modem control and should be treated as hard-wired with carrier + always present. If port 0 does not have the need for modem control then + flags can be specified as `0xf'. + + Each port on the 98642A has a 128 byte input silo and a 16 byte output + silo. Interrupts happen on a per character basis unless the interrupt + rate for the card reaches 70 interrupts per second at which time the + driver changes to a 16.7ms (60 interrupts per second) polling scheme un- + til the interrupt rate drops. + +FFIILLEESS + /dev/tty0[0-9a-f] + +DDIIAAGGNNOOSSTTIICCSS + ddccmm%%dd ppoorrtt%%dd:: ssiilloo oovveerrffllooww Input Silo has overflowed and incoming data + has been lost. + + ddccmm%%dd ppoorrtt%%dd:: uuaarrtt oovveerrffllooww The 3 character buffer in the uart has over- + flowed. + +SSEEEE AALLSSOO + tty(4) + +BBUUGGSS + Total throughput per card, all ports together, is limited to 76800 bits + per second continuous input rate. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/dv.0 b/usr/share/man/cat4/hp300/dv.0 new file mode 100644 index 0000000000..cab1872982 --- /dev/null +++ b/usr/share/man/cat4/hp300/dv.0 @@ -0,0 +1,101 @@ +DV(4) BSD Programmer's Manual (HP300 Architecture) DV(4) + +NNAAMMEE + ddvv - HP98730 ``DaVinci'' device interface + +DDEESSCCRRIIPPTTIIOONN + This driver is for the HP98730 and 98731 graphics device, also known as + the DaVinci. This driver has not been tested with all possible combina- + tions of frame buffer boards and scan boards installed in the device. + The driver merely checks for the existence of the device and does minimal + set up. + + The DaVinci can be configured at either the ``internal'' address (frame + buffer address 0x200000, control register space address 0x560000) or at + an external select code less than 32. At the internal address it will be + the ``preferred'' console device (see cons(4)). The hardware installa- + tion manual describes the procedure for setting these values. + + A user process communicates to the device initially by means of ioctl(2) + calls. For the HP-UX ioctl calls supported, refer to HP-UX manuals. The + BSD calls supported are: + + GRFIOCGINFO + Get Graphics Info + + Get info about device, setting the entries in the _g_r_f_i_n_f_o struc- + ture, as defined in <_h_p_d_e_v_/_g_r_f_i_o_c_t_l_._h>. For the standard 98730, + the number of planes should be 4. The number of colors would + therefore be 15, excluding black. If one 98732A frame buffer + board is installed, there will still be 4 planes, with the 4 + planes on the colormap board becoming overlay planes. With each + additional 98732 frame buffer board 4 planes will be added up to + a maximum of 32 planes total. + + GRFIOCON + Graphics On + + Turn graphics on by enabling CRT output. The screen will come + on, displaying whatever is in the frame buffer, using whatever + colormap is in place. + + GRFIOCOFF + Graphics Off + + Turn graphics off by disabling output to the CRT. The frame + buffer contents are not affected. + + GRFIOCMAP + Map Device to user space + + Map in control registers and frame buffer space. Once the device + file is mapped, the frame buffer structure is accessible. The + structure describing the 98730 is defined in <_h_p_d_e_v_/_g_r_f___d_v_r_e_g_._h>. + +EEXXAAMMPPLLEE + This is a short segment of code showing how the device is opened and + mapped into user process address space assuming that it is `grf0': + + struct dvboxfb *dvbox; + u_char *Addr, frame_buffer; + struct grfinfo gi; + int disp_fd; + + disp_fd = open("/dev/grf0",1); + + if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1; + + (void) ioctl (disp_fd, GRFIOCON, 0); + + Addr = (u_char *) 0; + if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) { + (void) ioctl (disp_fd, GRFIOCOFF, 0); + return -1; + } + dvbox = (dvboxfb *) Addr; /* Control Registers */ + frame_buffer=(u_char *)Addr+gi.gd_regsize; /* Frame buffer memory */ + +FFIILLEESS + /dev/grf? BSD special file + /dev/crt98730 + /dev/ocrt98730 HP-UX _s_t_a_r_b_a_s_e special files + /dev/MAKEDEV.hpux script for creating HP-UX special files + +DDIIAAGGNNOOSSTTIICCSS + None under BSD. HP-UX CE.utilities must be used. + +EERRRROORRSS + [ENODEV] no such device. + + [EBUSY] Another process has the device open. + + [EINVAL] Invalid ioctl specification. + +SSEEEE AALLSSOO + ioctl(2), grf(4). + +BBUUGGSS + Not tested for all configurations of scan board and frame buffer memory + boards. + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/hp300/gb.0 b/usr/share/man/cat4/hp300/gb.0 new file mode 100644 index 0000000000..d9998afce1 --- /dev/null +++ b/usr/share/man/cat4/hp300/gb.0 @@ -0,0 +1,113 @@ +GB(4) BSD Programmer's Manual (HP300 Architecture) GB(4) + +NNAAMMEE + ggbb - HP98700 ``Gatorbox'' device interface + +DDEESSCCRRIIPPTTIIOONN + This driver is for the HP98700 and 98710 graphics devices, also known as + the Gatorbox. The term ``Gator'' will often be used, and it is not to be + confused with ``Gator'' used in reference to an HP 9837 or 200/237 ma- + chine. Also, the term Gatorbox is used for the 98700 alone, with the + 98701 frame buffer memory or with the 98710 accelerator installed. This + driver merely checks for the existence of the device and does minimal set + up, as it is expected the applications will initialize the device to + their requirements. + + The 98700 can be used as the only graphics device on a system, in which + case it will be used as the system console. It can also be installed as + a secondary display device. For the first case, the HP 98287A M.A.D. in- + terface card should be set to internal control space. This will put the + frame buffer at the DIO address 0x200000 and the control registers at + 0x560000. At this address it will be the ``preferred'' console device + (see cons(4)). For use as a secondary device, the 98287A should be set + to frame buffer address 0x300000, and to an external select code. + + It should be noted that this configuration will conflict with the 98547 + display card which has a 2 megabyte frame buffer starting at address + 0x200000. The 98700 should only be installed as a secondary device in a + machine with a 1 bit 98544 display card or 4 bit 98545 card. The _9_8_7_0_0_H + _I_n_s_t_a_l_l_a_t_i_o_n _G_u_i_d_e contains further configuration information. + + The ioctl(2) calls supported by the BSD system for the Gatorbox are: + + GRFIOCGINFO + Get Graphics Info + + Get info about device, setting the entries in the _g_r_f_i_n_f_o struc- + ture, as defined in <_h_p_d_e_v_/_g_r_f_i_o_c_t_l_._h>. For the standard 98700, + the number of planes should be 4. The number of colors would + therefore be 15, excluding black. With the 98701 option in- + stalled there will be another 4 planes for a total of 8, giving + 255 colors. + + GRFIOCON + Graphics On + + Turn graphics on by enabling CRT output. The screen will come + on, displaying whatever is in the frame buffer, using whatever + colormap is in place. + + GRFIOCOFF + Graphics Off + + Turn graphics off by disabling output to the CRT. The frame + buffer contents are not affected. + + GRFIOCMAP + Map Device to user space + + Map in control registers and framebuffer space. Once the device + file is mapped, the frame buffer structure is accessible. The + frame buffer structure describing the 98700 is given in + <_h_p_d_e_v_/_g_r_f___g_b_r_e_g_._h>. + + GRFIOCUNMAP + Unmap Device + + Unmap control registers and framebuffer space. + + For further information about the use of ioctl see the man page. + +EEXXAAMMPPLLEE + A small example of opening, mapping and using the device is given below. + For more examples of the details on the behavior of the device, see the + device dependent source files for the X Window System, in the + _/_u_s_r_/_s_r_c_/_n_e_w_/_X_/_l_i_b_h_p_._f_b directory. + + struct gboxfb *gbox; + u_char *Addr, frame_buffer; + struct grfinfo gi; + int disp_fd; + + disp_fd = open("/dev/grf0",1); + + if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1; + + (void) ioctl (disp_fd, GRFIOCON, 0); + + Addr = (u_char *) 0; + if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) { + (void) ioctl (disp_fd, GRFIOCOFF, 0); + return -1; + } + gbox = (gboxfb *) Addr; /* Control Registers */ + frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */ + +FFIILLEESS + /dev/grf? BSD special file + /dev/crt98700 HP-UX _s_t_a_r_b_a_s_e special file + +DDIIAAGGNNOOSSTTIICCSS + None under BSD. HP-UX The CE.utilities/Crtadjust programs must be used. + +EERRRROORRSS + [ENODEV] no such device. + + [EBUSY] Another process has the device open. + + [EINVAL] Invalid ioctl specification. + +SSEEEE AALLSSOO + ioctl(2), grf(4) + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/hp300/grf.0 b/usr/share/man/cat4/hp300/grf.0 new file mode 100644 index 0000000000..fa9c354bb1 --- /dev/null +++ b/usr/share/man/cat4/hp300/grf.0 @@ -0,0 +1,126 @@ +GRF(4) BSD Programmer's Manual (HP300 Architecture) GRF(4) + +NNAAMMEE + ggrrff - HP graphics frame buffer device interface + +DDEESSCCRRIIPPTTIIOONN + This is a generic description of the frame buffer device interface. The + devices to which this applies are the 98544, 98545 and 98547 Topcat dis- + play cards (also known as HP300H devices), the 98548, 98549 and 98550 + Catseye display cards, the 98700 Gatorbox graphics box, the 98720 Renais- + sance graphics box, and the 98730 DaVinci graphics box. + + Use of the devices can be effectively approached from two directions. + The first is through HP-UX _S_t_a_r_b_a_s_e routines, the second is by direct + control in the BSD environment. In order to use the Starbase libraries, + code must be compiled in an HP-UX environment, either by doing so on an + HP-UX machine and transferring the binaries to the BSD machine, or by + compilation with the use of the hpux(1) command. Applications using + Starbase libraries have been run successfully on BSD machines using both + of these compilation techniques. + + Direct compilation, such as that used for the X Window System servers, + has also been successful. Examples of some frame buffer operations can + be found in the device dependent X Window system sources, for example the + _/_u_s_r_/_s_r_c_/_n_e_w_/_X_/_l_i_b_h_p_._f_b directory. These files contain examples of de- + vice dependent color map initialization, frame buffer operations, bit + moving routines etc. + + The basic programming of the ggrrff? devices involves opening the device + file, mapping the control registers and frame buffer addresses into user + space, and then manipulating the device as the application requires. The + address mapping is controlled by an ioctl(2) call to map the device into + user space, and an unmap call when finished. The ioctls supported by BSD + are: + + GRFIOCGINFO + Get Graphics Info + + Get info about device, setting the entries in the _g_r_f_i_n_f_o struc- + ture, as defined in : + + struct grfinfo { + int gd_id; /* HPUX identifier */ + caddr_t gd_regaddr; /* control registers physaddr */ + int gd_regsize; /* control registers size */ + caddr_t gd_fbaddr; /* frame buffer physaddr */ + int gd_fbsize; /* frame buffer size */ + short gd_colors; /* number of colors */ + short gd_planes; /* number of planes */ + /* new stuff */ + int gd_fbwidth; /* frame buffer width */ + int gd_fbheight; /* frame buffer height */ + int gd_dwidth; /* displayed part width */ + int gd_dheight; /* displayed part height */ + int gd_pad[6]; /* for future expansion */ + }; + + GRFIOCON + Graphics On + + Turn graphics on by enabling CRT output. The screen will come + on, displaying whatever is in the frame buffer, using whatever + colormap is in place. + + GRFIOCOFF + Graphics Off + + Turn graphics off by disabling output to the CRT. The frame + buffer contents are not affected. + + GRFIOCMAP + Map Device to user space + + Map in control registers and framebuffer space. Once the device + file is mapped, the frame buffer structure is accessible. + + GRFIOCUNMAP + Unmap Device + + Unmap control registers and framebuffer space. + + For further information about the use of ioctl see the man page. + +EEXXAAMMPPLLEE + This short code fragment is an example of opening some graphics device + and mapping in the control and frame buffer space: + + #define GRF_DEV /* /dev/grfN */ + { + struct fbstruct *regs; /* fbstruct = gboxfb, rboxfb, etc. */ + u_char *Addr, frame_buffer; + struct grfinfo gi; + int disp_fd; + + disp_fd = open(GRF_DEV,1); + if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1; + (void) ioctl (disp_fd, GRFIOCON, 0); + + Addr = (u_char *) 0; + if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) { + (void) ioctl (disp_fd, GRFIOCOFF, 0); + return -1; + } + regs = (fbstruct *) Addr; /* Control Registers */ + frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer mem */ + } + +FFIILLEESS + /dev/grf? BSD interface special files + /dev/*crt* HP-UX _s_t_a_r_b_a_s_e interface special files + +DDIIAAGGNNOOSSTTIICCSS + None under BSD. HP-UX The CE.utilities/Crtadjust programs must be used + for each specific device. + +EERRRROORRSS + [ENODEV] no such device. + + [EBUSY] Another process has the device open. + + [EINVAL] Invalid ioctl specification. + +SSEEEE AALLSSOO + ioctl(2), dv(4), gb(4), rb(4), tc(4), hil(4) + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/hp300/hil.0 b/usr/share/man/cat4/hp300/hil.0 new file mode 100644 index 0000000000..e279ca7fa2 --- /dev/null +++ b/usr/share/man/cat4/hp300/hil.0 @@ -0,0 +1,194 @@ +HIL(4) BSD Programmer's Manual (HP300 Architecture) HIL(4) + +NNAAMMEE + hhiill - Human Interface Link device driver + +DDEESSCCRRIIPPTTIIOONN + The Human Interface Link (HIL) is the interface used by the Series 300 + computers to connect devices such as keyboards, mice, control knobs, and + ID modules to the machine. + + Special files _/_d_e_v_/_h_i_l_[_1_-_7_] refer to physical HIL devices 1 through 7. + _/_d_e_v_/_h_i_l_0 refers to the ``loop'' pseudo-device and is used for the queue + allocation commands described below. In the current implementation, + there can only be one keyboard and it must be the first device (hil1). + + The device file that corresponds to a particular HIL device is determined + by the order of the devices on the loop. For instance, if the ID module + is the second physical device on the loop, then _/_d_e_v_/_h_i_l_2 is the special + file that should be used for communication with the module. + + Communication with an HIL device is begun with an _o_p_e_n system call. A + process may open a device already opened by another process unless the + process is operating in HP-UX compatibility mode in which case it re- + quires exclusive use of the device, or another process has the device + open and is using HP-UX style device access (see HILIOCHPUX below). + + Input data from a device are obtained in one of two ways. Processes may + use an HP-UX style interface in which the read(2) system call is used to + get fixed-size input packets, or they can use a _s_h_a_r_e_d_-_q_u_e_u_e interface. + The shared-queue interface avoids the system call overhead associated + with the HP-UX read interface by sharing a region of memory between the + system and a user process. This region consists of a circular list of + 255 event packets, and a header containing the size of the queue, and its + head and tail indices. The system deposits event data at the tail of the + queue, a process extracts it from the head. Extracting an event is done + by copying it from the queue and then updating the head appropriately + (i.e. head = (head + 1) % qsize). It is up to the process to ensure that + packets are removed from the queue quickly enough to prevent the queue + from filling. The system, when it determines that the queue is full, + will ignore future packets from the device. Devices are _m_a_p_p_e_d to queues + via an ioctl(2.) More than one device can be mapped to a single queue + and one device can be mapped to several queues. Queues are implicitly + unmapped by a fork(2) and thus, cannot be shared between processes. + + Choosing the type of interface is done on a per device basis using an + ioctl, but each device can only have one interface at any given time. + + _S_e_l_e_c_t may be used with either interface to detect when input data are + present. With the read interface, selecting indicates when there is in- + put for a given device. With the shared-queue interface, selecting on + the loop pseudo-device (hil0) indicates when data are present from any + device on any queue while selecting on an individual device indicates + when data are present for that device on any queue. + + _C_l_o_s_e shuts down the file descriptor associated with the HIL device. The + last close (system-wide) of any device removes that device from all + queues it was mapped to while the last close of the loop pseudo-device + unmaps all devices and deallocates all queues. + + Ioctl(2) is used to control the HIL device. The ioctl commands (see + <_h_p_d_e_v_/_h_i_l_i_o_c_t_l_._h>) listed below are separated into two groups. The + first are those which provide functions identical to HP-UX. Refer to + hil(7) in the HP-UX documentation for more complete descriptions of these + ioctls. The second set of ioctls are specific to this implementation and + + are primarily related to the shared-queue interface. + + HILIOCID Identify and Describe + + The device will return up to 11 bytes of information describ- + ing the type and characteristics of the device. At the very + least, 2 bytes of information, the device ID, and the Describe + Record Header will be returned. Identical to the HP-UX HILID + ioctl. + + HILIOCSC Report Security Code + + Request the security code record from a device. The security + code can vary from 1 byte to 15, and is only supported by some + HIL devices. Identical to the HP-UX HILSC ioctl. + + HILIOCRN Report Name + + An ascii string of up to 15 bytes in length that describes the + device is returned. Identical to the HP-UX HILRN ioctl. + + HILIOCRS Report Status + + An ascii string of up to 15 bytes in length that describes the + current status of the device is returned. Identical to the + HP-UX HILRS ioctl. + + HILIOCED Extended Describe + + Additional information of up to 15 bytes is returned describ- + ing the device. This ioctl is similar to HILIOCID, which must + be used first to determine if the device supports extended de- + scribe. Identical to the HP-UX HILED ioctl. + + HILIOCAROFF + Disable Auto Repeat + + Turn off auto repeat on the keyboard while it is cooked mode. + Identical to the HP-UX HILDKR ioctl. + + HILIOCAR1 Enable Auto Repeat + + Turn on auto repeat on the keyboard while it is in raw mode. + The repeat rate is set to 1/30th of a second. Identical to + the HP-UX HILER1 ioctl. + + HILIOCAR2 Enable Auto Repeat + + Turn on auto repeat on the keyboard while it is in raw mode. + The repeat rate is set to 1/60th of a second. Identical to + the HP-UX HILER2 ioctl. + + The following ioctls are specific to this implementation: + + HILIOCBEEP + Beep + + Generate a keyboard beep as defined by _a_r_g. _A_r_g is a pointer + to two bytes of information, the first is the duration of the + beep (microseconds), the second is the frequency of the beep. + + HILIOCALLOCQ + Allocate Queue + + Allocate and map into user space, an HILQ structure as defined + in <_h_p_d_e_v_/_h_i_l_i_o_c_t_l_._h>. _A_r_g is a pointer to a _h_i_l_q_i_n_f_o struc- + ture (also described in <_h_p_d_e_v_/_h_i_l_i_o_c_t_l_._h>) consisting of a + _q_i_d and an _a_d_d_r. If _a_d_d_r is non-zero it specifies where in the + address space to map the queue. If zero, the system will se- + lect a convenient location and fill in _a_d_d_r. _Q_i_d is filled in + by the system and is a small integer used to uniquely identify + this queue. This ioctl can only be issued to the loop pseudo- + device. + + HILIOCFREEQ + Free Queue + + Release a previously allocated HIL event queue, unmapping it + from the user's address space. _A_r_g should point to a _h_i_l_q_i_n_f_o + structure which contains the _q_i_d of the queue to be released. + All devices that are currently mapped to the queue are un- + mapped. This ioctl can only be issued to the loop pseudo- + device. + + HILIOCMAPQ + Map Device to Queue + + Maps this device to a previously allocated HIL event queue. + _A_r_g is a pointer to an integer containing the _q_i_d of the + queue. Once a device is mapped to a queue, all event informa- + tion generated by the device will be placed into the event + queue at the tail. + + HILIOCUNMAPQ + Unmap Device from Queue + + Unmap this device from a previously allocated HIL event queue. + _A_r_g is a pointer to an integer containing the _q_i_d for the + queue. Future events from the device are no longer placed on + the event queue. + + HILIOCHPUX + Use HP-UX Read Interface + + Use HP-UX semantics for gathering data from this device. In- + stead of placing input events for the device on a queue, they + are placed, in HP-UX format, into a buffer from which they can + be obtained via read(2). This interface is provided for back- + wards compatibility. Refer to the HP-UX documentation for a + description of the event packet. + +FFIILLEESS + /dev/hil0 HIL loop pseudo device. + /dev/hil1 HIL keyboard device. + /dev/hil[2-7] Individual HIL loop devices. + +EERRRROORRSS + [ENODEV] no such HIL loop device. + + [ENXIO] HIL loop is inoperative. + + [EBUSY] Another HP-UX process has the device open, or another BSD pro- + cess has the device open, and is using it in HP-UX mode. + + [EINVAL] Invalid ioctl specification. + + [EMFILE] No more shared queues available. + +4.4BSD June 9, 1993 3 diff --git a/usr/share/man/cat4/hp300/intro.0 b/usr/share/man/cat4/hp300/intro.0 new file mode 100644 index 0000000000..459d91488a --- /dev/null +++ b/usr/share/man/cat4/hp300/intro.0 @@ -0,0 +1,75 @@ +INTRO(4) BSD Programmer's Manual (HP300 Architecture) INTRO(4) + +NNAAMMEE + iinnttrroo - introduction to special files and hardware support + +DDEESSCCRRIIPPTTIIOONN + This section describes the special files, related driver functions, and + networking support available in the system. In this part of the manual, + the SYNOPSIS section of each configurable device gives a sample specifi- + cation for use in constructing a system description for the config(8) + program. The DIAGNOSTICS section lists messages which may appear on the + console and/or in the system error log _/_u_s_r_/_a_d_m_/_m_e_s_s_a_g_e_s due to errors in + device operation; see syslogd(8) for more information. + + This section contains both devices which may be configured into the sys- + tem and network related information. The networking support is intro- + duced in netintro(4). + +HHPP DDEEVVIICCEE SSUUPPPPOORRTT + This section describes the hardware supported on the HP 9000/300 series. + Software support for these devices comes in two forms. A hardware device + may be supported with a character or block _d_e_v_i_c_e _d_r_i_v_e_r, or it may be + used within the networking subsystem and have a _n_e_t_w_o_r_k _i_n_t_e_r_f_a_c_e _d_r_i_v_e_r. + Block and character devices are accessed through files in the file system + of a special type; see mknod(8). Network interfaces are indirectly ac- + cessed through the interprocess communication facilities provided by the + system; see socket(2). + + A hardware device is identified to the system at configuration time and + the appropriate device or network interface driver is then compiled into + the system. When the resultant system is booted, the autoconfiguration + facilities in the system probe for the device and, if found, enable the + software support for it. If a device does not respond at autoconfigura- + tion time it is not accessible at any time afterwards. To enable a de- + vice which did not autoconfigure, the system will have to be rebooted. + + The autoconfiguration system is described in autoconf(4). A list of the + supported devices is given below. + +SSEEEE AALLSSOO + intro(4), intro(4), autoconf(4), config(8). + + _B_u_i_l_d_i_n_g _4_._3 _B_S_D _U_N_I_X _S_y_s_t_e_m_s _w_i_t_h _C_o_n_f_i_g _(_S_M_M_:_2_). + +LLIISSTT OOFF DDEEVVIICCEESS + The devices listed below are supported in this incarnation of the system. + Pseudo-devices are not listed. Devices are indicated by their functional + interface. Occasionally, new devices of a similar type may be added + simply by creating appropriate table entries in the driver; for example, + new CS/80 drives. + + ct 7946/9144 CS/80 cartridge tape + dca 98644 built-in serial interface + dcl HP 98628A communications link + dcm HP 98642A communications multiplexer + dma 98620B DMA controller + dv HP98730 ``DaVinci'' device interface + gb HP98700 ``Gatorbox'' device interface + grf/ite Topcat/Gatorbox/Renaissance frame buffer + hil HIL interface + hpib Built-in and 98625 HP-IB interface + ite HP Internal Terminal Emulator + le 98643 Lance-based ethernet interface + mem main memory + ppi HP-IB printer/plotter interface + rb HP98720 ``Renaissance'' device interface + rd CS/80 disk interface + rmp HP Remote Maintenance Protocol family + st CCS SCSI tape drive + tc HP98544-98550 ``Topcat'' and ``Catseye'' device interface + +HHIISSTTOORRYY + The HP300 iinnttrroo appeared in 4.3BSD-Reno. + +4.4BSD June 5, 1993 2 diff --git a/usr/share/man/cat4/hp300/ite.0 b/usr/share/man/cat4/hp300/ite.0 new file mode 100644 index 0000000000..2fb492f69d --- /dev/null +++ b/usr/share/man/cat4/hp300/ite.0 @@ -0,0 +1,58 @@ +ITE(4) BSD Programmer's Manual (HP300 Architecture) ITE(4) + +NNAAMMEE + iittee - HP Internal Terminal Emulator + +DDEESSCCRRIIPPTTIIOONN + TTY special files of the form ``ttye?'' are interfaces to the HP ITE for + bit-mapped displays as implemented under BSD. An ITE is the main system + console on most HP300 workstations and is the mechanism through which a + user communicates with the machine. If more than one display exists on a + system, any or all can be used as ITEs with the limitation that only the + first one opened will have a keyboard (since only one keyboard is sup- + ported). + + ITE devices use the HP-UX `300h' termcap(5) or terminfo(5) entries. How- + ever, as currently implemented, the ITE does not support the full range + of HP-UX capabilities for this device. Missing are multiple colors, un- + derlining, blinking, softkeys, programmable tabs, scrolling memory and + keyboard arrow keys. The keyboard does not have any of the international + character support of HP's NLS system. It does use the left and right + _e_x_t_e_n_d _c_h_a_r keys as meta keys, in that it will set the eighth bit of the + character code. + + Upon booting, the kernel will first look for an ITE device to use as the + system console (_/_d_e_v_/_c_o_n_s_o_l_e). If a display exists at any hardware ad- + dress, it will be the console. The kernel looks for, in order: a 98544, + 98545, or 98547 Topcat display, a 98700 Gatorbox at a supported address + (see gb(4)), or a 98720 Renaissance at a supported address (see rb(4)). + Currently there is no ITE support for the 98548, 98549, 98550 and 98556 + boards. + + When activated as an ITE (special file opened), all displays go through a + standard initialization sequence. The frame buffer is cleared, the ROM + fonts are unpacked and loaded into off-screen storage and a cursor ap- + pears. The ITE initialization routine also sets the colormap entry used + to white. Variable colors are not used, mainly for reasons of simplici- + ty. The font pixels are all set to 0xff and the colormap entry corre- + sponding to all planes is set to R=255, G=255 and B=255. The actual num- + ber of planes used to display the characters depends on the hardware in- + stalled. Finally, if the keyboard HIL device is not already assigned to + another ITE device, it is placed in ``cooked'' mode and assigned to this + ITE. + + On most systems, a display is used both as an ITE (_/_d_e_v_/_t_t_y_e_? aka + _/_d_e_v_/_c_o_n_s_o_l_e) and as a graphics device (/dev/grf?). In this environment, + there is some interaction between the two uses that should be noted. For + example, opening _/_d_e_v_/_g_r_f_0 will deactivate the ITE, that is, write over + whatever may be on the ITE display. When the graphics application is + finished and _/_d_e_v_/_g_r_f_0 closed, the ITE will be reinitialized with the + frame buffer cleared and the ITE colormap installed. + +DDIIAAGGNNOOSSTTIICCSS + None under BSD. + +SSEEEE AALLSSOO + grf(4), hil(4), gb(4), rb(4), tc(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/kmem.0 b/usr/share/man/cat4/hp300/kmem.0 new file mode 100644 index 0000000000..ec9967a2f0 --- /dev/null +++ b/usr/share/man/cat4/hp300/kmem.0 @@ -0,0 +1,30 @@ +MEM(4) BSD Programmer's Manual (HP300 Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm - main memory + +DDEESSCCRRIIPPTTIIOONN + The file //ddeevv//mmeemm is an interface to the physical memory of the computer. + Byte offsets in this file are interpreted as physical memory addresses. + Reading and writing this file is equivalent to reading and writing memory + itself. An error will be returned if an attempt is made to reference an + offset outside of //ddeevv//mmeemm. + + Kernel virtual memory is accessed via the file //ddeevv//kkmmeemm in the same man- + ner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently mapped + to memory are allowed. + +HHPP330000 + On the HP300, the last byte of physical memory is always 0xFFFFFFFF. + Therefore, on an HP300 with 8Mb of memory, physical memory would start at + 0xFF800000. On the HP300, kernel virtual memory runs from 0 to about + 0x2400000. + +FFIILLEESS + /dev/mem + /dev/kmem + +HHIISSTTOORRYY + The files mmeemm and kkmmeemm appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/hp300/le.0 b/usr/share/man/cat4/hp300/le.0 new file mode 100644 index 0000000000..898c2e3996 --- /dev/null +++ b/usr/share/man/cat4/hp300/le.0 @@ -0,0 +1,41 @@ +LE(4) BSD Programmer's Manual (HP300 Architecture) LE(4) + +NNAAMMEE + llee - HP AMD 7990 LANCE Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee llee00 aatt ssccooddee?? + +DDEESSCCRRIIPPTTIIOONN + The llee interface provides access to a 10 Mb/s Ethernet network via the + AMD 7990 LANCE Ethernet chip set. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl. The le interface employs the address resolution pro- + tocol described in arp(4) to dynamically map between Internet and Ether- + net addresses on the local network. + + The use of ``trailer'' encapsulation to minimize copying data on input + and output is supported by the interface but offers no advantage due to + the large HP page size. The use of trailers is negotiated with ARP. This + negotiation may be disabled, on a per-interface basis, by setting the + IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + llee%%dd:: hhaarrddwwaarree aaddddrreessss %%ss.. This is a normal autoconfiguration message + noting the 6 byte physical ethernet address of the adapter. + + ddee%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + The following message indicate a possible hardware error performing the + indicated operation during autoconfiguration or initialization. + + llee%%dd:: iinniitt ttiimmeeoouutt,, ssttaatt == 00xx%%xx.. The hardware did not respond to an ini- + tialize command during reset. The reset procedure continues anyway. + +SSEEEE AALLSSOO + intro(4), inet(4), arp(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/mem.0 b/usr/share/man/cat4/hp300/mem.0 new file mode 100644 index 0000000000..ec9967a2f0 --- /dev/null +++ b/usr/share/man/cat4/hp300/mem.0 @@ -0,0 +1,30 @@ +MEM(4) BSD Programmer's Manual (HP300 Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm - main memory + +DDEESSCCRRIIPPTTIIOONN + The file //ddeevv//mmeemm is an interface to the physical memory of the computer. + Byte offsets in this file are interpreted as physical memory addresses. + Reading and writing this file is equivalent to reading and writing memory + itself. An error will be returned if an attempt is made to reference an + offset outside of //ddeevv//mmeemm. + + Kernel virtual memory is accessed via the file //ddeevv//kkmmeemm in the same man- + ner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently mapped + to memory are allowed. + +HHPP330000 + On the HP300, the last byte of physical memory is always 0xFFFFFFFF. + Therefore, on an HP300 with 8Mb of memory, physical memory would start at + 0xFF800000. On the HP300, kernel virtual memory runs from 0 to about + 0x2400000. + +FFIILLEESS + /dev/mem + /dev/kmem + +HHIISSTTOORRYY + The files mmeemm and kkmmeemm appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/hp300/ppi.0 b/usr/share/man/cat4/hp300/ppi.0 new file mode 100644 index 0000000000..ea4f268df3 --- /dev/null +++ b/usr/share/man/cat4/hp300/ppi.0 @@ -0,0 +1,33 @@ +PPI(4) BSD Programmer's Manual (HP300 Architecture) PPI(4) + +NNAAMMEE + ppppii - HP-IB printer/plotter interface + +SSYYNNOOPPSSIISS + ddeevviiccee ppppii00 aatt hhppiibb00 ssllaavvee 55 + +DDEESSCCRRIIPPTTIIOONN + The ppppii interface provides a means of communication with HP-IB printers + and plotters. + + Special files _p_p_i_0 through _p_p_i_7 are used to access the devices, with the + digit at the end of the filename referring to the bus address of the de- + vice. Current versions of the autoconf code can not probe for these de- + vices, so the device entry in the configuration file must be fully quali- + fied. + + The device files appear as follows: + + "crw-rw-rw- 1 root 11, 0 Dec 21 11:22 /dev/ppi" + +DDIIAAGGNNOOSSTTIICCSS + None. + +SSEEEE AALLSSOO + hpib(4). + +BBUUGGSS + This driver is very primitive, it handshakes data out byte by byte. It + should use DMA if possible. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/hp300/rb.0 b/usr/share/man/cat4/hp300/rb.0 new file mode 100644 index 0000000000..813a079c5c --- /dev/null +++ b/usr/share/man/cat4/hp300/rb.0 @@ -0,0 +1,104 @@ +RB(4) BSD Programmer's Manual (HP300 Architecture) RB(4) + +NNAAMMEE + rrbb - HP98720 ``Renaissance'' device interface + +DDEESSCCRRIIPPTTIIOONN + This driver is for the HP98720 and 98721 graphics device, also known as + the Renaissance. This driver has not been tested with all possible com- + binations of frame buffer boards and scan boards installed in the device. + The driver merely checks for the existence of the device and does minimal + set up. + + The Renaissance can be configured at either the ``internal'' address + (frame buffer address 0x200000, control register space address 0x560000) + or at an external select code less than 32. At the internal address it + will be the ``preferred'' console device (see cons(4)). The hardware in- + stallation manual describes the procedure for setting these values. + + A user process communicates to the device initially by means of ioctl(2) + calls. For the HP-UX ioctl(2) calls supported, refer to HP-UX manuals. + The BSD calls supported are: + + GRFIOCGINFO + Get Graphics Info + + Get info about device, setting the entries in the _g_r_f_i_n_f_o struc- + ture, as defined in <_h_p_d_e_v_/_g_r_f_i_o_c_t_l_._h>. For the standard 98720, + the number of planes should be 4. The number of colors would + therefore be 15, excluding black. If one 98722A frame buffer + board is installed, there will still be 4 planes, with the 4 + planes on the colormap board becoming overlay planes. With each + additional 98722 frame buffer board 4 planes will be added up to + a maximum of 32 planes total. + + GRFIOCON + Graphics On + + Turn graphics on by enabling CRT output. The screen will come + on, displaying whatever is in the frame buffer, using whatever + colormap is in place. + + GRFIOCOFF + Graphics Off + + Turn graphics off by disabling output to the CRT. The frame + buffer contents are not affected. + + GRFIOCMAP + Map Device to user space + + Map in control registers and framebuffer space. Once the device + file is mapped, the frame buffer structure is accessible. The + structure describing the 98720 is defined in _h_p_d_e_v_/_g_r_f___r_b_r_e_g_._h. + +EEXXAAMMPPLLEE + This is a short segment of code showing how the device is opened and + mapped into user process address space assuming that it is grf0: + + struct rboxfb *rbox; + u_char *Addr, frame_buffer; + struct grfinfo gi; + int disp_fd; + + disp_fd = open("/dev/grf0",1); + + if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1; + + (void) ioctl (disp_fd, GRFIOCON, 0); + + Addr = (u_char *) 0; + if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) { + (void) ioctl (disp_fd, GRFIOCOFF, 0); + return -1; + } + rbox = (rboxfb *) Addr; /* Control Registers */ + frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */ + +FFIILLEESS + /dev/grf? BSD special file + /dev/crt98720 + /dev/ocrt98720 HP-UX _s_t_a_r_b_a_s_e special files + /dev/MAKEDEV.hpux script for creating HP-UX special files + +DDIIAAGGNNOOSSTTIICCSS + None under BSD. The HP-UX CE.utilities must be used. + +EERRRROORRSS + [ENODEV] no such device. + + [EBUSY] Another process has the device open. + + [EINVAL] Invalid ioctl specification. + +SSEEEE AALLSSOO + ioctl(2), grf(4). + + For extensive code examples using the Renaissance, see the X device de- + pendent source. + +BBUUGGSS + Not tested for all configurations of scan board and frame buffer memory + boards. + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/hp300/rd.0 b/usr/share/man/cat4/hp300/rd.0 new file mode 100644 index 0000000000..f82651efbe --- /dev/null +++ b/usr/share/man/cat4/hp300/rd.0 @@ -0,0 +1,228 @@ +RD(4) BSD Programmer's Manual (HP300 Architecture) RD(4) + +NNAAMMEE + rrdd - CS/80 disk interface + +SSYYNNOOPPSSIISS + mmaasstteerr hhppiibb?? aatt ssccooddee?? + ddiisskk rrdd?? aatt hhppiibb?? ssllaavvee?? + +DDEESSCCRRIIPPTTIIOONN + This is a generic CS/80 disk driver. Only a small number of possible + CS/80 drives are supported, but others can easily be added by adding ta- + bles to the driver. It is a typical block-device driver; see physio(4). + + The script MAKEDEV(8) should be used to create the rrdd special files; con- + sult mknod(8) if a special file needs to be made manually. + +DDIISSKK SSUUPPPPOORRTT + The driver interrogates the controller to determine the type of drive at- + tached. The driver recognizes the following drives: 7912, 7914, 7933, + 7936, 7937, 7945, 757A/B, 7958A/B, 7959B, 7962, 7963, 9122, 9134, 7912, + 7936, and 9122, not all of which have been tested. Special file names + begin with `rd' and `rrd' for the block and character files respectively. + The second component of the name, a drive unit number in the range of ze- + ro to seven, is represented by a `?' in the disk layouts below. The last + component of the name is the file system partition and is designated by a + letter from `a' to `h' which also corresponds to a minor device number + sets: zero to seven, eight to 15, 16 to 23 and so forth for drive zero, + drive two and drive three respectively (see physio 4 ) . The location + and size (in sectors) of the partitions for these drives: + + 7945/7946 partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 112 15904 1-142 + rd?b 16016 20160 143-322 + rd?c 0 108416 0-967 + rd?d 16016 40320 143-502 + rd?e undefined + rd?f undefined + rd?g 36176 72240 323-967 + rd?h 56336 52080 503-967 + + 9134D partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 96 15936 1-166 + rd?b 16032 13056 167-302 + rd?c 0 29088 0-302 + rd?d undefined + rd?e undefined + rd?f undefined + rd?g undefined + rd?h undefined + + 9122S partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a undefined + rd?b undefined + rd?c 0 1232 0-76 + rd?d undefined + rd?e undefined + rd?f undefined + rd?g undefined + rd?h undefined + + 7912P partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 0 15904 0-70 + rd?b 16128 22400 72-171 + rd?c 0 128128 0-571 + rd?d 16128 42560 72-261 + rd?e undefined + rd?f undefined + rd?g 38528 89600 172-571 + rd?h 58688 69440 262-571 + + 7914CT/P partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 224 15904 1-71 + rd?b 16128 40320 72-251 + rd?c 0 258048 0-1151 + rd?d 16128 64960 72-361 + rd?e 81088 98560 362-801 + rd?f 179648 78400 802-1151 + rd?g 56448 201600 252-1151 + rd?h 81088 176960 362-1151 + + 7958A partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 252 16128 1-64 + rd?b 16380 32256 65-192 + rd?c 0 255276 0-1012 + rd?d 16380 48384 65-256 + rd?e 64764 100800 257-656 + rd?f 165564 89712 657-1012 + rd?g 48636 206640 193-1012 + rd?h 64764 190512 257-1012 + + 7957A partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 154 16016 1-104 + rd?b 16170 24640 105-264 + rd?c 0 159544 0-1035 + rd?d 16170 42350 105-379 + rd?e 58520 54824 380-735 + rd?f 113344 46200 736-1035 + rd?g 40810 118734 265-1035 + rd?h 58520 101024 380-1035 + + 7933H partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 598 16146 1-27 + rd?b 16744 66976 28-139 + rd?c 0 789958 0-1320 + rd?d 83720 16146 140-166 + rd?e 99866 165646 167-443 + rd?f 265512 165646 444-720 + rd?g 83720 706238 140-1320 + rd?h 431158 358800 721-1320 + + 9134L partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 80 15920 1-199 + rd?b 16000 20000 200-449 + rd?c 0 77840 0-972 + rd?d 16000 32000 200-599 + rd?e undefined + rd?f undefined + rd?g 36000 41840 450-972 + rd?h 48000 29840 600-972 + + 7936H partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 861 16359 1-19 + rd?b 17220 67158 20-97 + rd?c 0 600978 0-697 + rd?d 84378 16359 98-116 + rd?e 100737 120540 117-256 + rd?f 220416 120540 256-395 + rd?g 84378 516600 98-697 + rd?h 341817 259161 397-697 + + 7937H partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 1599 15990 1-10 + rd?b 17589 67158 11-52 + rd?c 0 1116102 0-697 + rd?d 84747 15990 53-62 + rd?e 100737 246246 63-216 + rd?f 346983 246246 217-370 + rd?g 84747 1031355 53-697 + rd?h 593229 522873 371-697 + + 7957B/7961B partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 126 16002 1-127 + rd?b 16128 32760 128-387 + rd?c 0 159894 0-1268 + rd?d 16128 49140 128-517 + rd?e 65268 50400 518-917 + rd?f 115668 44226 918-1268 + rd?g 48888 111006 388-1268 + rd?h 65268 94626 518-1268 + + 7958B/7962B partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 378 16254 1-43 + rd?b 16632 32886 44-130 + rd?c 0 297108 0-785 + rd?d 16632 49140 44-173 + rd?e 65772 121716 174-495 + rd?f 187488 109620 496-785 + rd?g 49518 247590 131-785 + rd?h 65772 231336 174-785 + + 7959B/7963B partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyllss + rd?a 378 16254 1-43 + rd?b 16632 49140 44-173 + rd?c 0 594216 0-1571 + rd?d 16632 65772 44-217 + rd?e 82404 303912 218-1021 + rd?f 386316 207900 1022-1571 + rd?g 65772 528444 174-1571 + rd?h 82404 511812 218-1571 + + The eight partitions as given support four basic, non-overlapping lay- + outs, though not all partitions exist on all drive types. + + In the first layout there are three partitions and a ``bootblock'' area. + The bootblock area is at the beginning of the disk and holds the stan- + dalone disk boot program. The _r_d_?_a partition is for the root file sys- + tem, _r_d_?_b is a paging/swapping area, and _r_d_?_g is for everything else. + + The second layout is the same idea, but has a larger paging/swapping par- + tition (_r_d_?_d) and a smaller ``everything else'' partition (_r_d_?_h). This + layout is better for environments which run many large processes. + + + The third layout is a variation of the second, but breaks the _r_d_?_h parti- + tion into two partitions, _r_d_?_e and _r_d_?_f. + + The final layout is intended for a large, single file system second disk. + It is also used when writing out the boot program since it is the only + partition mapping the bootblock area. + +FFIILLEESS + /dev/rd[0-7][a-h] block files + /dev/rrd[0-7][a-h] raw files + +DDIIAAGGNNOOSSTTIICCSS + rrdd%%dd eerrrr:: vv%%dd uu%%dd,, RR00xx%%xx FF00xx%%xx AA00xx%%xx II00xx%%xx,, bblloocckk %%dd An unrecoverable + data error occurred during transfer of the specified block on the speci- + fied disk. + +BBUUGGSS + The current disk partitioning is totally bogus. CS/80 drives have 256 + byte sectors which are mapped to 512 byte ``sectors'' by the driver. + Since some CS/80 drives have an odd number of sectors per cylinder, the + disk geometry used is not always accurate. + + The partition tables for the file systems should be read off of each + pack, as they are never quite what any single installation would prefer, + and this would make packs more portable. + + A program to analyze the logged error information (even in its present + reduced form) is needed. + +4.4BSD June 9, 1993 4 diff --git a/usr/share/man/cat4/hp300/tc.0 b/usr/share/man/cat4/hp300/tc.0 new file mode 100644 index 0000000000..c1dc659dcb --- /dev/null +++ b/usr/share/man/cat4/hp300/tc.0 @@ -0,0 +1,98 @@ +TC(4) BSD Programmer's Manual (HP300 Architecture) TC(4) + +NNAAMMEE + ttcc - HP98544 98550 ``Topcat'' and ``Catseye'' device interface + +DDEESSCCRRIIPPTTIIOONN + This driver is for the HP98544, 98545 and 98547 ``Topcat'' and HP98548, + 98549, and 98550 ``Catseye'' display cards. This driver merely checks + for the existence of the device and does minimal set up, as it is expect- + ed the applications will initialize the device to their requirements. + The Topcat and Catseye are nearly identical in common usage and only the + Topcat will be referred to from now on. + + The Topcat display cards are not user configurable. If one is present on + a system, it will always have a frame buffer address of 0x200000 and a + control register address of 0x560000. These are the HP series 300 ITE + (Internal Terminal Emulator) defaults. The device can also be used as a + graphics output device. + + The ioctl(2) calls supported by the BSD system for the Topcat are: + + GRFIOCGINFO Get Graphics Info + + Get info about device, setting the entries in the _g_r_f_i_n_f_o + structure, as defined in <_h_p_d_e_v_/_g_r_f_i_o_c_t_l_._h>. For the 98544 + or 98549, the number of planes should be 1, as they are + monochrome devices. The number of planes for a 98545 is 4, + translating to 15 colors, excluding black. The 98547 and + 98548 cards have 6 planes, yielding 63 colors and black. + The 98550 has 8 planes, yielding 255 colors and black. The + displayed frame buffer size for the 98549 and 98550 is 2048 + x 1024, for the others it is 1024 x 768. + + GRFIOCON Graphics On + + Turn graphics on by enabling CRT output. The screen will + come on, displaying whatever is in the frame buffer, using + whatever colormap is in place. + + GRFIOCOFF Graphics Off + + Turn graphics off by disabling output to the CRT. The frame + buffer contents are not affected. + + GRFIOCMAP Map Device to user space + + Map in control registers and framebuffer space. Once the de- + vice file is mapped, the frame buffer structure is accessi- + ble. The frame buffer structure describing Topcat/Catseye + devices is defined in <_h_p_d_e_v_/_g_r_f___t_c_r_e_g_._h>. + + For further information about the use of ioctl see the man page. + +EEXXAAMMPPLLEE + A small example of opening, mapping and using the device is given below. + For more examples of the details on the behavior of the device, see the + device dependent source files for the X Window System, in the + _/_u_s_r_/_s_r_c_/_n_e_w_/_X_/_l_i_b_h_p directory. + + struct tcboxfb *tc; + u_char *Addr, frame_buffer; + struct grfinfo gi; + int disp_fd; + + disp_fd = open("/dev/grf0",1); + + if (ioctl (disp_fd, GRFIOCGINFO, &gi) < 0) return -1; + + (void) ioctl (disp_fd, GRFIOCON, 0); + + Addr = (u_char *) 0; + if (ioctl (disp_fd, GRFIOCMAP, &Addr) < 0) { + (void) ioctl (disp_fd, GRFIOCOFF, 0); + return -1; + } + tc = (tcboxfb *) Addr; /* Control Registers */ + frame_buffer = (u_char *) Addr + gi.gd_regsize; /* Frame buffer memory */ + +FFIILLEESS + /dev/grf? BSD special file + /dev/crt9837 + /dev/crt98550 HP-UX _s_t_a_r_b_a_s_e special files + /dev/MAKEDEV.hpux script for creating HP-UX special files + +DDIIAAGGNNOOSSTTIICCSS + None under BSD. HP-UX /usr/CE.utilities/Crtadjust programs must be used. + +EERRRROORRSS + [ENODEV] no such device. + + [EBUSY] Another process has the device open. + + [EINVAL] Invalid ioctl specification. + +SSEEEE AALLSSOO + ioctl(2), grf(4) + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/i386/kmem.0 b/usr/share/man/cat4/i386/kmem.0 new file mode 100644 index 0000000000..4b619453bd --- /dev/null +++ b/usr/share/man/cat4/i386/kmem.0 @@ -0,0 +1,28 @@ +MEM(4) BSD Programmer's Manual MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm - memory files + +DDEESSCCRRIIPPTTIIOONN + The special file //ddeevv//mmeemm is an interface to the physical memory of the + computer. Byte offsets in this file are interpreted as physical memory + addresses. Reading and writing this file is equivalent to reading and + writing memory itself. Only offsets within the bounds of //ddeevv//mmeemm are + allowed. + + Kernel virtual memory is accessed through the interface //ddeevv//kkmmeemm in the + same manner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently + mapped to memory are allowed. + + On ISA the I/O memory space begins at physical address 0x000a0000 and + runs to 0x00100000. The per-process data size for the current process is + UPAGES long, and ends at virtual address 0xfe000000. + +FFIILLEESS + /dev/mem + /dev/kmem + +HHIISSTTOORRYY + The mmeemm, kkmmeemm files appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/i386/mem.0 b/usr/share/man/cat4/i386/mem.0 new file mode 100644 index 0000000000..4b619453bd --- /dev/null +++ b/usr/share/man/cat4/i386/mem.0 @@ -0,0 +1,28 @@ +MEM(4) BSD Programmer's Manual MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm - memory files + +DDEESSCCRRIIPPTTIIOONN + The special file //ddeevv//mmeemm is an interface to the physical memory of the + computer. Byte offsets in this file are interpreted as physical memory + addresses. Reading and writing this file is equivalent to reading and + writing memory itself. Only offsets within the bounds of //ddeevv//mmeemm are + allowed. + + Kernel virtual memory is accessed through the interface //ddeevv//kkmmeemm in the + same manner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently + mapped to memory are allowed. + + On ISA the I/O memory space begins at physical address 0x000a0000 and + runs to 0x00100000. The per-process data size for the current process is + UPAGES long, and ends at virtual address 0xfe000000. + +FFIILLEESS + /dev/mem + /dev/kmem + +HHIISSTTOORRYY + The mmeemm, kkmmeemm files appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/icmp.0 b/usr/share/man/cat4/icmp.0 new file mode 100644 index 0000000000..f4b2ab0a5b --- /dev/null +++ b/usr/share/man/cat4/icmp.0 @@ -0,0 +1,51 @@ +ICMP(4) BSD Programmer's Manual ICMP(4) + +NNAAMMEE + iiccmmpp - Internet Control Message Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___I_N_E_T, _S_O_C_K___R_A_W, _p_r_o_t_o); + +DDEESSCCRRIIPPTTIIOONN + ICMP is the error and control message protocol used by IP and the Inter- + net protocol family. It may be accessed through a ``raw socket'' for + network monitoring and diagnostic functions. The _p_r_o_t_o parameter to the + socket call to create an ICMP socket is obtained from getprotobyname(3). + ICMP sockets are connectionless, and are normally used with the sendto + and recvfrom calls, though the connect(2) call may also be used to fix + the destination for future packets (in which case the read(2) or recv(2) + and write(2) or send(2) system calls may be used). + + Outgoing packets automatically have an IP header prepended to them (based + on the destination address). Incoming packets are received with the IP + header and options intact. + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one, or when trying to send a datagram with + the destination address specified and the socket is al- + ready connected; + + [ENOTCONN] when trying to send a datagram, but no destination ad- + dress is specified, and the socket hasn't been connect- + ed; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + +SSEEEE AALLSSOO + send(2), recv(2), intro(4), inet(4), ip(4) + +HHIISSTTOORRYY + The iiccmmpp protocol appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/idp.0 b/usr/share/man/cat4/idp.0 new file mode 100644 index 0000000000..32b4e513a5 --- /dev/null +++ b/usr/share/man/cat4/idp.0 @@ -0,0 +1,102 @@ +IDP(4) BSD Programmer's Manual IDP(4) + +NNAAMMEE + iiddpp - Xerox Internet Datagram Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___N_S, _S_O_C_K___D_G_R_A_M, _0); + +DDEESSCCRRIIPPTTIIOONN + IDP is a simple, unreliable datagram protocol which is used to support + the SOCK_DGRAM abstraction for the Internet protocol family. IDP sockets + are connectionless, and are normally used with the sendto and recvfrom + calls, though the connect(2) call may also be used to fix the destination + for future packets (in which case the recv(2) or read(2) and send(2) or + write(2) system calls may be used). + + Xerox protocols are built vertically on top of IDP. Thus, IDP address + formats are identical to those used by SPP. Note that the IDP port space + is the same as the SPP port space (i.e. a IDP port may be ``connected'' + to a SPP port, with certain options enabled below). In addition broad- + cast packets may be sent (assuming the underlying network supports this) + by using a reserved ``broadcast address''; this address is network inter- + face dependent. + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one, or when trying to send a datagram with + the destination address specified and the socket is al- + ready connected; + + [ENOTCONN] when trying to send a datagram, but no destination ad- + dress is specified, and the socket hasn't been connect- + ed; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [EADDRINUSE] when an attempt is made to create a socket with a port + which has already been allocated; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + +SSOOCCKKEETT OOPPTTIIOONNSS + [SO_ALL_PACKETS] When set, this option defeats automatic process- + ing of Error packets, and Sequence Protocol pack- + ets. + + [SO_DEFAULT_HEADERS] The user provides the kernel an IDP header, from + which it gleans the Packet Type. When requested, + the kernel will provide an IDP header, showing + the default packet type, and local and foreign + addresses, if connected. + + [SO_HEADERS_ON_INPUT] When set, the first 30 bytes of any data returned + from a read or recv from will be the initial 30 + bytes of the IDP packet, as described by + + struct idp { + u_short idp_sum; + u_short idp_len; + u_char idp_tc; + u_char idp_pt; + struct ns_addr idp_dna; + struct ns_addr idp_sna; + }; + + This allows the user to determine the packet + type, and whether the packet was a multi-cast + packet or directed specifically at the local + host. When requested, gives the current state of + the option, (NSP_RAWIN or 0). + + [SO_HEADERS_ON_OUTPUT] When set, the first 30 bytes of any data sent + will be the initial 30 bytes of the IDP packet. + This allows the user to determine the packet + type, and whether the packet should be multi-cast + packet or directed specifically at the local + host. You can also misrepresent the sender of + the packet. When requested, gives the current + state of the option. (NSP_RAWOUT or 0). + + [SO_SEQNO] When requested, this returns a sequence number + which is not likely to be repeated until the ma- + chine crashes or a very long time has passed. It + is useful in constructing Packet Exchange Proto- + col packets. + +SSEEEE AALLSSOO + send(2), recv(2), intro(4), ns(4) + +HHIISSTTOORRYY + The iiddpp protocol appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/inet.0 b/usr/share/man/cat4/inet.0 new file mode 100644 index 0000000000..75e735b244 --- /dev/null +++ b/usr/share/man/cat4/inet.0 @@ -0,0 +1,86 @@ +INET(4) BSD Programmer's Manual INET(4) + +NNAAMMEE + iinneett - Internet protocol family + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The Internet protocol family is a collection of protocols layered atop + the _I_n_t_e_r_n_e_t _P_r_o_t_o_c_o_l (IP) transport layer, and utilizing the Internet + address format. The Internet family provides protocol support for the + SOCK_STREAM, SOCK_DGRAM, and SOCK_RAW socket types; the SOCK_RAW inter- + face provides access to the IP protocol. + +AADDDDRREESSSSIINNGG + Internet addresses are four byte quantities, stored in network standard + format (on the VAX these are word and byte reversed). The include file + <_n_e_t_i_n_e_t_/_i_n_._h> defines this address as a discriminated union. + + Sockets bound to the Internet protocol family utilize the following ad- + dressing structure, + + struct sockaddr_in { + short sin_family; + u_short sin_port; + struct in_addr sin_addr; + char sin_zero[8]; + }; + + Sockets may be created with the local address INADDR_ANY to effect + ``wildcard'' matching on incoming messages. The address in a connect(2) + or sendto(2) call may be given as INADDR_ANY to mean ``this host''. The + distinguished address INADDR_BROADCAST is allowed as a shorthand for the + broadcast address on the primary network if the first network configured + supports broadcast. + +PPRROOTTOOCCOOLLSS + The Internet protocol family is comprised of the IP transport protocol, + Internet Control Message Protocol (ICMP), Transmission Control Protocol + (TCP), and User Datagram Protocol (UDP). TCP is used to support the + SOCK_STREAM abstraction while UDP is used to support the SOCK_DGRAM ab- + straction. A raw interface to IP is available by creating an Internet + socket of type SOCK_RAW. The ICMP message protocol is accessible from a + raw socket. + + The 32-bit Internet address contains both network and host parts. It is + frequency-encoded; the most-significant bit is clear in Class A address- + es, in which the high-order 8 bits are the network number. Class B ad- + dresses use the high-order 16 bits as the network field, and Class C ad- + dresses have a 24-bit network part. Sites with a cluster of local net- + works and a connection to the Internet may chose to use a single network + number for the cluster; this is done by using subnet addressing. The lo- + cal (host) portion of the address is further subdivided into subnet and + host parts. Within a subnet, each subnet appears to be an individual + network; externally, the entire cluster appears to be a single, uniform + network requiring only a single routing entry. Subnet addressing is en- + abled and examined by the following ioctl(2) commands on a datagram sock- + et in the Internet domain; they have the same form as the SIOCIFADDR com- + mand (see intro(4)). + + SIOCSIFNETMASK Set interface network mask. The network mask defines the + network part of the address; if it contains more of the + address than the address type would indicate, then sub- + + nets are in use. + + SIOCGIFNETMASK Get interface network mask. + +SSEEEE AALLSSOO + ioctl(2), socket(2), intro(4), tcp(4), udp(4), ip(4), icmp(4) + + "An Introductory 4.3 BSD Interprocess Communication Tutorial", _P_S_1, 7. + + "An Advanced 4.3 BSD Interprocess Communication Tutorial", _P_S_1, 8. + +CCAAVVEEAATT + The Internet protocol support is subject to change as the Internet + protocols develop. Users should not depend on details of the current + implementation, but rather the services exported. + +HHIISSTTOORRYY + The iinneett protocol interface appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/ip.0 b/usr/share/man/cat4/ip.0 new file mode 100644 index 0000000000..9f31f079ca --- /dev/null +++ b/usr/share/man/cat4/ip.0 @@ -0,0 +1,210 @@ +IP(4) BSD Programmer's Manual IP(4) + +NNAAMMEE + iipp - Internet Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___I_N_E_T, _S_O_C_K___R_A_W, _p_r_o_t_o); + +DDEESSCCRRIIPPTTIIOONN + IP is the transport layer protocol used by the Internet protocol family. + Options may be set at the IP level when using higher-level protocols that + are based on IP (such as TCP and UDP). It may also be accessed through a + ``raw socket'' when developing new protocols, or special-purpose applica- + tions. + + There are several IP -level setsockopt(2)/ getsockopt(2) options. + IP_OPTIONS may be used to provide IP options to be transmitted in the IP + header of each outgoing packet or to examine the header options on incom- + ing packets. IP options may be used with any socket type in the Internet + family. The format of IP options to be sent is that specified by the IP + protocol specification (RFC-791), with one exception: the list of ad- + dresses for Source Route options must include the first-hop gateway at + the beginning of the list of gateways. The first-hop gateway address + will be extracted from the option list and the size adjusted accordingly + before use. To disable previously specified options, use a zero-length + buffer: + + setsockopt(s, IPPROTO_IP, IP_OPTIONS, NULL, 0); + + IP_TOS and IP_TTL may be used to set the type-of-service and time-to-live + fields in the IP header for SOCK_STREAM and SOCK_DGRAM sockets. For exam- + ple, + + int tos = IPTOS_LOWDELAY; /* see */ + setsockopt(s, IPPROTO_IP, IP_TOS, &tos, sizeof(tos)); + + int ttl = 60; /* max = 255 */ + setsockopt(s, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl)); + + If the IP_RECVDSTADDR option is enabled on a SOCK_DGRAM socket, the + recvmsg call will return the destination IP address for a UDP datagram. + The msg_control field in the msghdr structure points to a buffer that + contains a cmsghdr structure followed by the IP address. The cmsghdr + fields have the following values: + + cmsg_len = sizeof(struct in_addr) + cmsg_level = IPPROTO_IP + cmsg_type = IP_RECVDSTADDR + + MMuullttiiccaasstt OOppttiioonnss + + IP multicasting is supported only on AF_INET sockets of type SOCK_DGRAM + and SOCK_RAW, and only on networks where the interface driver supports + multicasting. + + The IP_MULTICAST_TTL option changes the time-to-live (TTL) for outgoing + multicast datagrams in order to control the scope of the multicasts: + + u_char ttl; /* range: 0 to 255, default = 1 */ + setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(ttl)); + + Datagrams with a TTL of 1 are not forwarded beyond the local network. + Multicast datagrams with a TTL of 0 will not be transmitted on any net- + work, but may be delivered locally if the sending host belongs to the + destination group and if multicast loopback has not been disabled on the + sending socket (see below). Multicast datagrams with TTL greater than 1 + may be forwarded to other networks if a multicast router is attached to + the local network. + + For hosts with multiple interfaces, each multicast transmission is sent + from the primary network interface. The IP_MULTICAST_IF option overrides + the default for subsequent transmissions from a given socket: + + struct in_addr addr; + setsockopt(s, IPPROTO_IP, IP_MULTICAST_IF, &addr, sizeof(addr)); + + where "addr" is the local IP address of the desired interface or + INADDR_ANY to specify the default interface. An interface's local IP ad- + dress and multicast capability can be obtained via the SIOCGIFCONF and + SIOCGIFFLAGS ioctls. Normal applications should not need to use this op- + tion. + + If a multicast datagram is sent to a group to which the sending host it- + self belongs (on the outgoing interface), a copy of the datagram is, by + default, looped back by the IP layer for local delivery. The + IP_MULTICAST_LOOP option gives the sender explicit control over whether + or not subsequent datagrams are looped back: + + u_char loop; /* 0 = disable, 1 = enable (default) */ + setsockopt(s, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop)); + + This option improves performance for applications that may have no more + than one instance on a single host (such as a router demon), by eliminat- + ing the overhead of receiving their own transmissions. It should gener- + ally not be used by applications for which there may be more than one in- + stance on a single host (such as a conferencing program) or for which the + sender does not belong to the destination group (such as a time querying + program). + + A multicast datagram sent with an initial TTL greater than 1 may be de- + livered to the sending host on a different interface from that on which + it was sent, if the host belongs to the destination group on that other + interface. The loopback control option has no effect on such delivery. + + A host must become a member of a multicast group before it can receive + datagrams sent to the group. To join a multicast group, use the + IP_ADD_MEMBERSHIP option: + + struct ip_mreq mreq; + setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)); + + where _m_r_e_q is the following structure: + + struct ip_mreq { + struct in_addr imr_multiaddr; /* multicast group to join */ + struct in_addr imr_interface; /* interface to join on */ + } + + imr_interface should be INADDR_ANY to choose the default multicast inter- + face, or the IP address of a particular multicast-capable interface if + the host is multihomed. Membership is associated with a single inter- + face; programs running on multihomed hosts may need to to join the same + group on more than one interface. Up to IP_MAX_MEMBERSHIPS (currently + 20) memberships may be added on a single socket. + + To drop a membership, use: + + struct ip_mreq mreq; + setsockopt(s, IPPROTO_IP, IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq)); + + where _m_r_e_q contains the same values as used to add the membership. Mem- + berships are dropped when the socket is closed or the process exits. + + RRaaww IIPP SSoocckkeettss + + Raw IP sockets are connectionless, and are normally used with the sendto + and recvfrom calls, though the connect(2) call may also be used to fix + the destination for future packets (in which case the read(2) or recv(2) + and write(2) or send(2) system calls may be used). + + If _p_r_o_t_o is 0, the default protocol IPPROTO_RAW is used for outgoing + packets, and only incoming packets destined for that protocol are re- + ceived. If _p_r_o_t_o is non-zero, that protocol number will be used on out- + going packets and to filter incoming packets. + + Outgoing packets automatically have an IP header prepended to them (based + on the destination address and the protocol number the socket is created + with), unless the IP_HDRINCL option has been set. Incoming packets are + received with IP header and options intact. + + IP_HDRINCL indicates the complete IP header is included with the data and + may be used only with the SOCK_RAW type. + + #include + + int hincl = 1; /* 1 = on, 0 = off */ + setsockopt(s, IPPROTO_IP, IP_HDRINCL, &hincl, sizeof(hincl)); + + Unlike previous BSD releases, the program must set all the fields of the + IP header, including the following: + + ip->ip_v = IPVERSION; + ip->ip_hl = hlen >> 2; + ip->ip_id = 0; /* 0 means kernel set appropriate value */ + ip->ip_off = offset; + If the header source address is set to INADDR_ANY, the kernel will choose + an appropriate address. + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one, or when trying to send a datagram with + the destination address specified and the socket is al- + ready connected; + + [ENOTCONN] when trying to send a datagram, but no destination ad- + dress is specified, and the socket hasn't been connect- + ed; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + + [EACESS] when an attempt is made to create a raw IP socket by a + non-privileged process. + + The following errors specific to IP may occur when setting or getting IP + options: + + + [EINVAL] An unknown socket option name was given. + + [EINVAL] The IP option field was improperly formed; an option + field was shorter than the minimum value or longer than + the option buffer provided. + +SSEEEE AALLSSOO + getsockopt(2), send(2), recv(2), intro(4), icmp(4), inet(4) + +HHIISSTTOORRYY + The iipp protocol appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 4 diff --git a/usr/share/man/cat4/iso.0 b/usr/share/man/cat4/iso.0 new file mode 100644 index 0000000000..642f710fb7 --- /dev/null +++ b/usr/share/man/cat4/iso.0 @@ -0,0 +1,97 @@ +ISO(4) BSD Programmer's Manual ISO(4) + +NNAAMMEE + iissoo - ISO protocol family + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The ISO protocol family is a collection of protocols that uses the ISO + address format. The ISO family provides protocol support for the + SOCK_SEQPACKET abstraction through the TP protocol (ISO 8073), for the + SOCK_DGRAM abstraction through the connectionless transport protocol (ISO + 8602), and for the SOCK_RAW abstraction by providing direct access (for + debugging) to the CLNP (ISO 8473) network layer protocol. + +AADDDDRREESSSSIINNGG + ISO addresses are based upon ISO 8348/AD2, _A_d_d_e_n_d_u_m _t_o _t_h_e _N_e_t_w_o_r_k + _S_e_r_v_i_c_e _D_e_f_i_n_i_t_i_o_n _C_o_v_e_r_i_n_g _N_e_t_w_o_r_k _L_a_y_e_r _A_d_d_r_e_s_s_i_n_g_. + + Sockets bound to the OSI protocol family use the following address struc- + ture: + + struct iso_addr { + u_char isoa_len; /* length, not including this byte */ + char isoa_genaddr[20]; /* general opaque address */ + }; + + struct sockaddr_iso { + u_char siso_len; /* size of this sockaddr */ + u_char siso_family; /* addressing domain, AF_ISO */ + u_char siso_plen; /* presentation selector length */ + u_char siso_slen; /* session selector length */ + u_char siso_tlen; /* transport selector length */ + struct iso_addr siso_addr; /* network address */ + u_char siso_pad[6]; /* space for gosip v2 SELs */ + }; + #define siso_nlen siso_addr.isoa_len + #define siso_data siso_addr.isoa_genaddr + + The fields of this structure are: + + _s_i_s_o___l_e_n_: + Length of the entire address structure, in bytes, which may grow + to be longer than the 32 bytes show above. + + _s_i_s_o___f_a_m_i_l_y_: + Identifies the domain: AF_ISO. + + _s_i_s_o___t_l_e_n_: + Length of the transport selector. + + _s_i_s_o___s_l_e_n_: + Length of the session selector. This is not currently supported + by the kernel and is provided as a convenience for user level + programs. + + _s_i_s_o___p_l_e_n_: + Length of the presentation selector. This is not currently sup- + ported by the kernel and is provided as a convenience for user + level programs. + + _s_i_s_o___a_d_d_r_: + The network part of the address, described below. + +TTRRAANNSSPPOORRTT AADDDDRREESSSSIINNGG + An ISO transport address is similar to an Internet address in that it + contains a network-address portion and a portion that the transport layer + uses to multiplex its services among clients. In the Internet domain, + this portion of the address is called a _p_o_r_t. In the ISO domain, this is + called a _t_r_a_n_s_p_o_r_t _s_e_l_e_c_t_o_r (also known at one time as a _t_r_a_n_s_p_o_r_t + _s_u_f_f_i_x). While ports are always 16 bits, transport selectors may be of + (almost) arbitrary size. + + Since the C language does not provide conveninent variable length struc- + tures, we have separated the selector lengths from the data themselves. + The network address and various selectors are stored contiguously, with + the network address first, then the transport selector, and so on. Thus, + if you had a nework address of less then 20 bytes, the transport selector + would encroach on space normally reserved for the network address. + +NNEETTWWOORRKK AADDDDRREESSSSIINNGG.. + ISO network addresses are limited to 20 bytes in length. ISO network ad- + dresses can take any format. + +PPRROOTTOOCCOOLLSS + The ARGO 1.0 implementation of the ISO protocol family comprises the Con- + nectionless-Mode Network Protocol (CLNP), and the Transport Protocol + (TP), classes 4 and 0, and X.25. TP is used to support the SOCK_SEQPACKET + abstraction. A raw interface to CLNP is available by creating an ISO + socket of type SOCK_RAW. This is used for CLNP debugging only. + +SSEEEE AALLSSOO + tp(4), clnp(4), cltp(4) + +4.4BSD June 9, 1993 2 diff --git a/usr/share/man/cat4/lo.0 b/usr/share/man/cat4/lo.0 new file mode 100644 index 0000000000..a8c3d270fc --- /dev/null +++ b/usr/share/man/cat4/lo.0 @@ -0,0 +1,38 @@ +LO(4) BSD Programmer's Manual LO(4) + +NNAAMMEE + lloo - software loopback network interface + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee + lloooopp + +DDEESSCCRRIIPPTTIIOONN + The lloooopp interface is a software loopback mechanism which may be used for + performance analysis, software testing, and/or local communication. As + with other network interfaces, the loopback interface must have network + addresses assigned for each address family with which it is to be used. + These addresses may be set or changed with the SIOCSIFADDR ioctl(2). The + loopback interface should be the last interface configured, as protocols + may use the order of configuration as an indication of priority. The + loopback should _n_e_v_e_r be configured first unless no hardware interfaces + exist. + +DDIIAAGGNNOOSSTTIICCSS + lloo%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + intro(4), inet(4), ns(4) + +HHIISSTTOORRYY + The lloo device appeared in 4.2BSD. + +BBUUGGSS + Previous versions of the system enabled the loopback interface automati- + cally, using a nonstandard Internet address (127.1). Use of that address + is now discouraged; a reserved host address for the local network should + be used instead. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/netintro.0 b/usr/share/man/cat4/netintro.0 new file mode 100644 index 0000000000..fa989c70b4 --- /dev/null +++ b/usr/share/man/cat4/netintro.0 @@ -0,0 +1,225 @@ +NETINTRO(4) BSD Programmer's Manual NETINTRO(4) + +NNAAMMEE + nneettwwoorrkkiinngg - introduction to networking facilities + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + This section is a general introduction to the networking facilities + available in the system. Documentation in this part of section 4 is bro- + ken up into three areas: _p_r_o_t_o_c_o_l _f_a_m_i_l_i_e_s (domains), _p_r_o_t_o_c_o_l_s, and + _n_e_t_w_o_r_k _i_n_t_e_r_f_a_c_e_s. + + All network protocols are associated with a specific _p_r_o_t_o_c_o_l _f_a_m_i_l_y. A + protocol family provides basic services to the protocol implementation to + allow it to function within a specific network environment. These ser- + vices may include packet fragmentation and reassembly, routing, address- + ing, and basic transport. A protocol family may support multiple methods + of addressing, though the current protocol implementations do not. A + protocol family is normally comprised of a number of protocols, one per + socket(2) type. It is not required that a protocol family support all + socket types. A protocol family may contain multiple protocols support- + ing the same socket abstraction. + + A protocol supports one of the socket abstractions detailed in socket(2). + A specific protocol may be accessed either by creating a socket of the + appropriate type and protocol family, or by requesting the protocol ex- + plicitly when creating a socket. Protocols normally accept only one type + of address format, usually determined by the addressing structure inher- + ent in the design of the protocol family/network architecture. Certain + semantics of the basic socket abstractions are protocol specific. All + protocols are expected to support the basic model for their particular + socket type, but may, in addition, provide non-standard facilities or ex- + tensions to a mechanism. For example, a protocol supporting the + SOCK_STREAM abstraction may allow more than one byte of out-of-band data + to be transmitted per out-of-band message. + + A network interface is similar to a device interface. Network interfaces + comprise the lowest layer of the networking subsystem, interacting with + the actual transport hardware. An interface may support one or more pro- + tocol families and/or address formats. The SYNOPSIS section of each net- + work interface entry gives a sample specification of the related drivers + for use in providing a system description to the config(8) program. The + DIAGNOSTICS section lists messages which may appear on the console and/or + in the system error log, _/_v_a_r_/_l_o_g_/_m_e_s_s_a_g_e_s (see syslogd(8)), due to er- + rors in device operation. + +PPRROOTTOOCCOOLLSS + The system currently supports the Internet protocols, the Xerox Network + Systems(tm) protocols, and some of the ISO OSI protocols. Raw socket in- + terfaces are provided to the IP protocol layer of the Internet, and to + the IDP protocol of Xerox NS. Consult the appropriate manual pages in + this section for more information regarding the support for each protocol + family. + +AADDDDRREESSSSIINNGG + Associated with each protocol family is an address format. All network + address adhere to a general structure, called a sockaddr, described be- + low. However, each protocol imposes finer and more specific structure, + generally renaming the variant, which is discussed in the protocol family + manual page alluded to above. + + struct sockaddr { + u_char sa_len; + u_char sa_family; + char sa_data[14]; + }; + + The field _s_a___l_e_n contains the total length of the of the structure, which + may exceed 16 bytes. The following address values for _s_a___f_a_m_i_l_y are + known to the system (and additional formats are defined for possible fu- + ture implementation): + + #define AF_UNIX 1 /* local to host (pipes, portals) */ + #define AF_INET 2 /* internetwork: UDP, TCP, etc. */ + #define AF_NS 6 /* Xerox NS protocols */ + #define AF_CCITT 10 /* CCITT protocols, X.25 etc */ + #define AF_HYLINK 15 /* NSC Hyperchannel */ + #define AF_ISO 18 /* ISO protocols */ + +RROOUUTTIINNGG + UNIX provides some packet routing facilities. The kernel maintains a + routing information database, which is used in selecting the appropriate + network interface when transmitting packets. + + A user process (or possibly multiple co-operating processes) maintains + this database by sending messages over a special kind of socket. This + supplants fixed size ioctl(2) used in earlier releases. + + This facility is described in route(4). + +IINNTTEERRFFAACCEESS + Each network interface in a system corresponds to a path through which + messages may be sent and received. A network interface usually has a + hardware device associated with it, though certain interfaces such as the + loopback interface, lo(4), do not. + + The following ioctl calls may be used to manipulate network interfaces. + The ioctl is made on a socket (typically of type SOCK_DGRAM) in the de- + sired domain. Most of the requests supported in earlier releases take an + _i_f_r_e_q structure as its parameter. This structure has the form + + struct ifreq { + #define IFNAMSIZ 16 + char ifr_name[IFNAMSIZE]; /* if name, e.g. "en0" */ + union { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + short ifru_flags; + int ifru_metric; + caddr_t ifru_data; + } ifr_ifru; + #define ifr_addr ifr_ifru.ifru_addr /* address */ + #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ + #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ + #define ifr_flags ifr_ifru.ifru_flags /* flags */ + #define ifr_metric ifr_ifru.ifru_metric /* metric */ + #define ifr_data ifr_ifru.ifru_data /* for use by interface */ + }; + + Calls which are now deprecated are: + + SIOCSIFADDR Set interface address for protocol family. Following the + address assignment, the ``initialization'' routine for + the interface is called. + + SIOCSIFDSTADDR Set point to point address for protocol family and inter- + + face. + + SIOCSIFBRDADDR Set broadcast address for protocol family and interface. + + Ioctl requests to obtain addresses and requests both to set and retreive + other data are still fully supported and use the _i_f_r_e_q structure: + + SIOCGIFADDR Get interface address for protocol family. + + SIOCGIFDSTADDR Get point to point address for protocol family and inter- + face. + + SIOCGIFBRDADDR Get broadcast address for protocol family and interface. + + SIOCSIFFLAGS Set interface flags field. If the interface is marked + down, any processes currently routing packets through the + interface are notified; some interfaces may be reset so + that incoming packets are no longer received. When + marked up again, the interface is reinitialized. + + SIOCGIFFLAGS Get interface flags. + + SIOCSIFMETRIC Set interface routing metric. The metric is used only by + user-level routers. + + SIOCGIFMETRIC Get interface metric. + + There are two requests that make use of a new structure: + + SIOCAIFADDR An interface may have more than one address associated + with it in some protocols. This request provides a means + to add additional addresses (or modify characteristics of + the primary address if the default address for the ad- + dress family is specified). Rather than making separate + calls to set destination or broadcast addresses, or net- + work masks (now an integral feature of multiple proto- + cols) a separate structure is used to specify all three + facets simultaneously (see below). One would use a + slightly tailored version of this struct specific to each + family (replacing each sockaddr by one of the family- + specific type). Where the sockaddr itself is larger than + the default size, one needs to modify the ioctl identifi- + er itself to include the total size, as described in + ioctl. + + SIOCDIFADDR This requests deletes the specified address from the list + associated with an interface. It also uses the + _i_f___a_l_i_a_s_r_e_q structure to allow for the possibility of + protocols allowing multiple masks or destination address- + es, and also adopts the convention that specification of + the default address means to delete the first address for + the interface belonging to the address family in which + the original socket was opened. + + SIOCGIFCONF Get interface configuration list. This request takes an + _i_f_c_o_n_f structure (see below) as a value-result parameter. + The _i_f_c___l_e_n field should be initially set to the size of + the buffer pointed to by _i_f_c___b_u_f. On return it will con- + tain the length, in bytes, of the configuration list. + + /* + * Structure used in SIOCAIFCONF request. + */ + struct ifaliasreq { + char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ + struct sockaddr ifra_addr; + struct sockaddr ifra_broadaddr; + struct sockaddr ifra_mask; + }; + + /* + * Structure used in SIOCGIFCONF request. + * Used to retrieve interface configuration + * for machine (useful for programs which + * must know all networks accessible). + */ + struct ifconf { + int ifc_len; /* size of associated buffer */ + union { + caddr_t ifcu_buf; + struct ifreq *ifcu_req; + } ifc_ifcu; + #define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */ + #define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */ + }; + +SSEEEE AALLSSOO + socket(2), ioctl(2), intro(4), config(8), routed(8) + +HHIISSTTOORRYY + The nneettiinnttrroo manual appeared in 4.3BSD-Tahoe. + +4.2 Berkeley Distribution July 19, 1993 4 diff --git a/usr/share/man/cat4/networking.0 b/usr/share/man/cat4/networking.0 new file mode 100644 index 0000000000..fa989c70b4 --- /dev/null +++ b/usr/share/man/cat4/networking.0 @@ -0,0 +1,225 @@ +NETINTRO(4) BSD Programmer's Manual NETINTRO(4) + +NNAAMMEE + nneettwwoorrkkiinngg - introduction to networking facilities + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + This section is a general introduction to the networking facilities + available in the system. Documentation in this part of section 4 is bro- + ken up into three areas: _p_r_o_t_o_c_o_l _f_a_m_i_l_i_e_s (domains), _p_r_o_t_o_c_o_l_s, and + _n_e_t_w_o_r_k _i_n_t_e_r_f_a_c_e_s. + + All network protocols are associated with a specific _p_r_o_t_o_c_o_l _f_a_m_i_l_y. A + protocol family provides basic services to the protocol implementation to + allow it to function within a specific network environment. These ser- + vices may include packet fragmentation and reassembly, routing, address- + ing, and basic transport. A protocol family may support multiple methods + of addressing, though the current protocol implementations do not. A + protocol family is normally comprised of a number of protocols, one per + socket(2) type. It is not required that a protocol family support all + socket types. A protocol family may contain multiple protocols support- + ing the same socket abstraction. + + A protocol supports one of the socket abstractions detailed in socket(2). + A specific protocol may be accessed either by creating a socket of the + appropriate type and protocol family, or by requesting the protocol ex- + plicitly when creating a socket. Protocols normally accept only one type + of address format, usually determined by the addressing structure inher- + ent in the design of the protocol family/network architecture. Certain + semantics of the basic socket abstractions are protocol specific. All + protocols are expected to support the basic model for their particular + socket type, but may, in addition, provide non-standard facilities or ex- + tensions to a mechanism. For example, a protocol supporting the + SOCK_STREAM abstraction may allow more than one byte of out-of-band data + to be transmitted per out-of-band message. + + A network interface is similar to a device interface. Network interfaces + comprise the lowest layer of the networking subsystem, interacting with + the actual transport hardware. An interface may support one or more pro- + tocol families and/or address formats. The SYNOPSIS section of each net- + work interface entry gives a sample specification of the related drivers + for use in providing a system description to the config(8) program. The + DIAGNOSTICS section lists messages which may appear on the console and/or + in the system error log, _/_v_a_r_/_l_o_g_/_m_e_s_s_a_g_e_s (see syslogd(8)), due to er- + rors in device operation. + +PPRROOTTOOCCOOLLSS + The system currently supports the Internet protocols, the Xerox Network + Systems(tm) protocols, and some of the ISO OSI protocols. Raw socket in- + terfaces are provided to the IP protocol layer of the Internet, and to + the IDP protocol of Xerox NS. Consult the appropriate manual pages in + this section for more information regarding the support for each protocol + family. + +AADDDDRREESSSSIINNGG + Associated with each protocol family is an address format. All network + address adhere to a general structure, called a sockaddr, described be- + low. However, each protocol imposes finer and more specific structure, + generally renaming the variant, which is discussed in the protocol family + manual page alluded to above. + + struct sockaddr { + u_char sa_len; + u_char sa_family; + char sa_data[14]; + }; + + The field _s_a___l_e_n contains the total length of the of the structure, which + may exceed 16 bytes. The following address values for _s_a___f_a_m_i_l_y are + known to the system (and additional formats are defined for possible fu- + ture implementation): + + #define AF_UNIX 1 /* local to host (pipes, portals) */ + #define AF_INET 2 /* internetwork: UDP, TCP, etc. */ + #define AF_NS 6 /* Xerox NS protocols */ + #define AF_CCITT 10 /* CCITT protocols, X.25 etc */ + #define AF_HYLINK 15 /* NSC Hyperchannel */ + #define AF_ISO 18 /* ISO protocols */ + +RROOUUTTIINNGG + UNIX provides some packet routing facilities. The kernel maintains a + routing information database, which is used in selecting the appropriate + network interface when transmitting packets. + + A user process (or possibly multiple co-operating processes) maintains + this database by sending messages over a special kind of socket. This + supplants fixed size ioctl(2) used in earlier releases. + + This facility is described in route(4). + +IINNTTEERRFFAACCEESS + Each network interface in a system corresponds to a path through which + messages may be sent and received. A network interface usually has a + hardware device associated with it, though certain interfaces such as the + loopback interface, lo(4), do not. + + The following ioctl calls may be used to manipulate network interfaces. + The ioctl is made on a socket (typically of type SOCK_DGRAM) in the de- + sired domain. Most of the requests supported in earlier releases take an + _i_f_r_e_q structure as its parameter. This structure has the form + + struct ifreq { + #define IFNAMSIZ 16 + char ifr_name[IFNAMSIZE]; /* if name, e.g. "en0" */ + union { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + short ifru_flags; + int ifru_metric; + caddr_t ifru_data; + } ifr_ifru; + #define ifr_addr ifr_ifru.ifru_addr /* address */ + #define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-to-p link */ + #define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ + #define ifr_flags ifr_ifru.ifru_flags /* flags */ + #define ifr_metric ifr_ifru.ifru_metric /* metric */ + #define ifr_data ifr_ifru.ifru_data /* for use by interface */ + }; + + Calls which are now deprecated are: + + SIOCSIFADDR Set interface address for protocol family. Following the + address assignment, the ``initialization'' routine for + the interface is called. + + SIOCSIFDSTADDR Set point to point address for protocol family and inter- + + face. + + SIOCSIFBRDADDR Set broadcast address for protocol family and interface. + + Ioctl requests to obtain addresses and requests both to set and retreive + other data are still fully supported and use the _i_f_r_e_q structure: + + SIOCGIFADDR Get interface address for protocol family. + + SIOCGIFDSTADDR Get point to point address for protocol family and inter- + face. + + SIOCGIFBRDADDR Get broadcast address for protocol family and interface. + + SIOCSIFFLAGS Set interface flags field. If the interface is marked + down, any processes currently routing packets through the + interface are notified; some interfaces may be reset so + that incoming packets are no longer received. When + marked up again, the interface is reinitialized. + + SIOCGIFFLAGS Get interface flags. + + SIOCSIFMETRIC Set interface routing metric. The metric is used only by + user-level routers. + + SIOCGIFMETRIC Get interface metric. + + There are two requests that make use of a new structure: + + SIOCAIFADDR An interface may have more than one address associated + with it in some protocols. This request provides a means + to add additional addresses (or modify characteristics of + the primary address if the default address for the ad- + dress family is specified). Rather than making separate + calls to set destination or broadcast addresses, or net- + work masks (now an integral feature of multiple proto- + cols) a separate structure is used to specify all three + facets simultaneously (see below). One would use a + slightly tailored version of this struct specific to each + family (replacing each sockaddr by one of the family- + specific type). Where the sockaddr itself is larger than + the default size, one needs to modify the ioctl identifi- + er itself to include the total size, as described in + ioctl. + + SIOCDIFADDR This requests deletes the specified address from the list + associated with an interface. It also uses the + _i_f___a_l_i_a_s_r_e_q structure to allow for the possibility of + protocols allowing multiple masks or destination address- + es, and also adopts the convention that specification of + the default address means to delete the first address for + the interface belonging to the address family in which + the original socket was opened. + + SIOCGIFCONF Get interface configuration list. This request takes an + _i_f_c_o_n_f structure (see below) as a value-result parameter. + The _i_f_c___l_e_n field should be initially set to the size of + the buffer pointed to by _i_f_c___b_u_f. On return it will con- + tain the length, in bytes, of the configuration list. + + /* + * Structure used in SIOCAIFCONF request. + */ + struct ifaliasreq { + char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */ + struct sockaddr ifra_addr; + struct sockaddr ifra_broadaddr; + struct sockaddr ifra_mask; + }; + + /* + * Structure used in SIOCGIFCONF request. + * Used to retrieve interface configuration + * for machine (useful for programs which + * must know all networks accessible). + */ + struct ifconf { + int ifc_len; /* size of associated buffer */ + union { + caddr_t ifcu_buf; + struct ifreq *ifcu_req; + } ifc_ifcu; + #define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */ + #define ifc_req ifc_ifcu.ifcu_req /* array of structures returned */ + }; + +SSEEEE AALLSSOO + socket(2), ioctl(2), intro(4), config(8), routed(8) + +HHIISSTTOORRYY + The nneettiinnttrroo manual appeared in 4.3BSD-Tahoe. + +4.2 Berkeley Distribution July 19, 1993 4 diff --git a/usr/share/man/cat4/ns.0 b/usr/share/man/cat4/ns.0 new file mode 100644 index 0000000000..48f6a98e55 --- /dev/null +++ b/usr/share/man/cat4/ns.0 @@ -0,0 +1,84 @@ +NS(4) BSD Programmer's Manual NS(4) + +NNAAMMEE + nnss - Xerox Network Systems(tm) protocol family + +SSYYNNOOPPSSIISS + ooppttiioonnss NNSS + ooppttiioonnss NNSSIIPP + ppsseeuuddoo--ddeevviiccee nnss + +DDEESSCCRRIIPPTTIIOONN + The NS protocol family is a collection of protocols layered atop the + _I_n_t_e_r_n_e_t _D_a_t_a_g_r_a_m _P_r_o_t_o_c_o_l (IDP) transport layer, and using the Xerox NS + address formats. The NS family provides protocol support for the + SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET, and SOCK_RAW socket types; the + SOCK_RAW interface is a debugging tool, allowing you to trace all packets + entering, (or with toggling kernel variable, additionally leaving) the + local host. + +AADDDDRREESSSSIINNGG + NS addresses are 12 byte quantities, consisting of a 4 byte Network num- + ber, a 6 byte Host number and a 2 byte port number, all stored in network + standard format. (on the VAX these are word and byte reversed; on the + Sun they are not reversed). The include file <_n_e_t_n_s_/_n_s_._h> defines the NS + address as a structure containing unions (for quicker comparisons). + + Sockets in the Internet protocol family use the following addressing + structure: + + struct sockaddr_ns { + short sns_family; + struct ns_addr sns_addr; + char sns_zero[2]; + }; + + where an _n_s___a_d_d_r is composed as follows: + + union ns_host { + u_char c_host[6]; + u_short s_host[3]; + }; + + union ns_net { + u_char c_net[4]; + u_short s_net[2]; + }; + + struct ns_addr { + union ns_net x_net; + union ns_host x_host; + u_short x_port; + }; + + Sockets may be created with an address of all zeroes to effect + ``wildcard'' matching on incoming messages. The local port address spec- + ified in a bind(2) call is restricted to be greater than NSPORT_RESERVED + (=3000, in <_n_e_t_n_s_/_n_s_._h>) unless the creating process is running as the + super-user, providing a space of protected port numbers. + +PPRROOTTOOCCOOLLSS + The NS protocol family supported by the operating system is comprised of + the Internet Datagram Protocol (IDP) idp(4), Error Protocol (available + through IDP), and Sequenced Packet Protocol (SPP) spp(4). + + + SPP is used to support the SOCK_STREAM and SOCK_SEQPACKET abstraction, + while IDP is used to support the SOCK_DGRAM abstraction. The Error pro- + tocol is responded to by the kernel to handle and report errors in proto- + col processing; it is, however, only accessible to user programs through + heroic actions. + +SSEEEE AALLSSOO + intro(3), byteorder(3), gethostbyname(3), getnetent(3), + getprotoent(3), getservent(3), ns(3), intro(4), spp(4), idp(4), + nsip(4) + + _I_n_t_e_r_n_e_t _T_r_a_n_s_p_o_r_t _P_r_o_t_o_c_o_l_s, Xerox Corporation document XSIS, 028112. + + _A_n _A_d_v_a_n_c_e_d _4_._3 _B_S_D _I_n_t_e_r_p_r_o_c_e_s_s _C_o_m_m_u_n_i_c_a_t_i_o_n _T_u_t_o_r_i_a_l. + +HHIISSTTOORRYY + The nnss protocol family appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/nsip.0 b/usr/share/man/cat4/nsip.0 new file mode 100644 index 0000000000..5fe8b2821e --- /dev/null +++ b/usr/share/man/cat4/nsip.0 @@ -0,0 +1,52 @@ +NSIP(4) BSD Programmer's Manual NSIP(4) + +NNAAMMEE + nnssiipp - software network interface encapsulating NS packets in IP packets + +SSYYNNOOPPSSIISS + ooppttiioonnss NNSSIIPP + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The nnssiipp interface is a software mechanism which may be used to transmit + Xerox NS(tm) packets through otherwise uncooperative networks. It func- + tions by prepending an IP header, and resubmitting the packet through the + UNIX IP machinery. + + The super-user can advise the operating system of a willing partner by + naming an IP address to be associated with an NS address. Presently, on- + ly specific hosts pairs are allowed, and for each host pair, an artifi- + cial point-to-point interface is constructed. At some future date, IP + broadcast addresses or hosts may be paired with NS networks or hosts. + + Specifically, a socket option of SO_NSIP_ROUTE is set on a socket of fam- + ily AF_NS, type SOCK_DGRAM, passing the following structure: + + struct nsip_req { + struct sockaddr rq_ns; /* must be ns format destination */ + struct sockaddr rq_ip; /* must be ip format gateway */ + short rq_flags; + }; + +DDIIAAGGNNOOSSTTIICCSS + nnssiipp%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + intro(4), ns(4) + +HHIISSTTOORRYY + The nnssiipp interface appeared in 4.3BSD. + +BBUUGGSS + It is absurd to have a separate pseudo-device for each pt-to-pt link. + There is no way to change the IP address for an NS host once the the en- + capsulation interface is set up. The request should honor flags of + RTF_GATEWAY to indicate remote networks, and the absence of RTF_UP should + be a clue to remove that partner. This was intended to postpone the ne- + cessity of rewriting reverse ARP for the en(4) device, and to allow pass- + ing XNS packets through an Arpanet-Milnet gateway, to facilitate testing + between some co-operating universities. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/null.0 b/usr/share/man/cat4/null.0 new file mode 100644 index 0000000000..7aff884c28 --- /dev/null +++ b/usr/share/man/cat4/null.0 @@ -0,0 +1,16 @@ +NULL(4) BSD Programmer's Manual NULL(4) + +NNAAMMEE + nnuullll - the null device + +DDEESSCCRRIIPPTTIIOONN + The nnuullll device accepts and reads data as any ordinary (and willing) file + - but throws it away. The length of the nnuullll device is always zero. + +FFIILLEESS + /dev/null + +HHIISSTTOORRYY + A nnuullll device appeared in Version 7 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/pty.0 b/usr/share/man/cat4/pty.0 new file mode 100644 index 0000000000..f914234592 --- /dev/null +++ b/usr/share/man/cat4/pty.0 @@ -0,0 +1,113 @@ +PTY(4) BSD Programmer's Manual PTY(4) + +NNAAMMEE + ppttyy - pseudo terminal driver + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee ppttyy [_c_o_u_n_t] + +DDEESSCCRRIIPPTTIIOONN + The pty driver provides support for a device-pair termed a _p_s_e_u_d_o + _t_e_r_m_i_n_a_l. A pseudo terminal is a pair of character devices, a _m_a_s_t_e_r de- + vice and a _s_l_a_v_e device. The slave device provides processes an inter- + face identical to that described in tty(4). However, whereas all other + devices which provide the interface described in tty(4) have a hardware + device of some sort behind them, the slave device has, instead, another + process manipulating it through the master half of the pseudo terminal. + That is, anything written on the master device is given to the slave de- + vice as input and anything written on the slave device is presented as + input on the master device. + + In configuring, if an optional _c_o_u_n_t is given in the specification, that + number of pseudo terminal pairs are configured; the default count is 32. + + The following ioctl(2) calls apply only to pseudo terminals: + + TIOCSTOP Stops output to a terminal (e.g. like typing `^S'). Takes no + parameter. + + TIOCSTART Restarts output (stopped by TIOCSTOP or by typing `^S'). + Takes no parameter. + + TIOCPKT Enable/disable _p_a_c_k_e_t mode. Packet mode is enabled by speci- + fying (by reference) a nonzero parameter and disabled by + specifying (by reference) a zero parameter. When applied to + the master side of a pseudo terminal, each subsequent read + from the terminal will return data written on the slave part + of the pseudo terminal preceded by a zero byte (symbolically + defined as TIOCPKT_DATA), or a single byte reflecting control + status information. In the latter case, the byte is an in- + clusive-or of zero or more of the bits: + + TIOCPKT_FLUSHREAD whenever the read queue for the terminal + is flushed. + + TIOCPKT_FLUSHWRITE whenever the write queue for the terminal + is flushed. + + TIOCPKT_STOP whenever output to the terminal is + stopped a la `^S'. + + TIOCPKT_START whenever output to the terminal is + restarted. + + TIOCPKT_DOSTOP whenever _t___s_t_o_p_c is `^S' and _t___s_t_a_r_t_c is + `^Q'. + + TIOCPKT_NOSTOP whenever the start and stop characters + are not `^S/^Q'. + + While this mode is in use, the presence + of control status information to be read + from the master side may be detected by a + select(2) for exceptional conditions. + + + This mode is used by rlogin(1) and + rlogind(8) to implement a remote-echoed, + locally `^S/^Q' flow-controlled remote + login with proper back-flushing of out- + put; it can be used by other similar pro- + grams. + + TIOCUCNTL Enable/disable a mode that allows a small number of simple + user ioctl commands to be passed through the pseudo-terminal, + using a protocol similar to that of TIOCPKT. The TIOCUCNTL + and TIOCPKT modes are mutually exclusive. This mode is en- + abled from the master side of a pseudo terminal by specifying + (by reference) a nonzero parameter and disabled by specifying + (by reference) a zero parameter. Each subsequent read from + the master side will return data written on the slave part of + the pseudo terminal preceded by a zero byte, or a single byte + reflecting a user control operation on the slave side. A us- + er control command consists of a special ioctl operation with + no data; the command is given as UIOCCMD(n), where _n is a + number in the range 1-255. The operation value _n will be re- + ceived as a single byte on the next read from the master + side. The ioctl UIOCCMD(0) is a no-op that may be used to + probe for the existence of this facility. As with TIOCPKT + mode, command operations may be detected with a select for + exceptional conditions. + + TIOCREMOTE A mode for the master half of a pseudo terminal, independent + of TIOCPKT. This mode causes input to the pseudo terminal to + be flow controlled and not input edited (regardless of the + terminal mode). Each write to the control terminal produces + a record boundary for the process reading the terminal. In + normal usage, a write of data is like the data typed as a + line on the terminal; a write of 0 bytes is like typing an + end-of-file character. TIOCREMOTE can be used when doing re- + mote line editing in a window manager, or whenever flow con- + trolled input is required. + +FFIILLEESS + /dev/pty[p-r][0-9a-f] master pseudo terminals + /dev/tty[p-r][0-9a-f] slave pseudo terminals + +DDIIAAGGNNOOSSTTIICCSS + None. + +HHIISSTTOORRYY + The ppttyy driver appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/route.0 b/usr/share/man/cat4/route.0 new file mode 100644 index 0000000000..dddf1a9838 --- /dev/null +++ b/usr/share/man/cat4/route.0 @@ -0,0 +1,175 @@ +ROUTE(4) BSD Programmer's Manual ROUTE(4) + +NNAAMMEE + rroouuttee - kernel packet forwarding database + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_P_F___R_O_U_T_E, _S_O_C_K___R_A_W, _i_n_t _f_a_m_i_l_y); + +DDEESSCCRRIIPPTTIIOONN + UNIX provides some packet routing facilities. The kernel maintains a + routing information database, which is used in selecting the appropriate + network interface when transmitting packets. + + A user process (or possibly multiple co-operating processes) maintains + this database by sending messages over a special kind of socket. This + supplants fixed size ioctl(2)'s used in earlier releases. Routing table + changes may only be carried out by the super user. + + The operating system may spontaneously emit routing messages in response + to external events, such as recipt of a re-direct, or failure to locate a + suitable route for a request. The message types are described in greater + detail below. + + Routing database entries come in two flavors: for a specific host, or for + all hosts on a generic subnetwork (as specified by a bit mask and value + under the mask. The effect of wildcard or default route may be achieved + by using a mask of all zeros, and there may be hierarchical routes. + + When the system is booted and addresses are assigned to the network in- + terfaces, each protocol family installs a routing table entry for each + interface when it is ready for traffic. Normally the protocol specifies + the route through each interface as a ``direct'' connection to the desti- + nation host or network. If the route is direct, the transport layer of a + protocol family usually requests the packet be sent to the same host + specified in the packet. Otherwise, the interface is requested to ad- + dress the packet to the gateway listed in the routing entry (i.e. the + packet is forwarded). + + When routing a packet, the kernel will first attempt to find a route to + the destination host. Failing that, a search is made for a route to the + network of the destination. Finally, any route to a default + (``wildcard'') gateway is chosen. If no entry is found, the destination + is declared to be unreachable, and a routing-miss message is generated if + there are any listers on the routing control socket described below. + + A wildcard routing entry is specified with a zero destination address + value. Wildcard routes are used only when the system fails to find a + route to the destination host and network. The combination of wildcard + routes and routing redirects can provide an economical mechanism for + routing traffic. + + One opens the channel for passing routing control messasges by using the + socket call shown in the synopsis above: + + The _f_a_m_i_l_y paramter may be AF_UNSPEC which will provide routing informa- + tion for all address families, or can be restricted to a specific address + family by specifying which one is desired. There can be more than one + routing socket open per system. + + + Messages are formed by a header followed by a small number of sockadders + (now variable length particularly in the ISO case), interpreted by posi- + tion, and delimited by the new length entry in the sockaddr. An example + of a message with four addresses might be an ISO redirect: Destination, + Netmask, Gateway, and Author of the redirect. The interpretation of + which address are present is given by a bit mask within the header, and + the sequence is least significant to most significant bit within the vec- + tor. + + Any messages sent to the kernel are returned, and copies are sent to all + interested listeners. The kernel will provide the process id. for the + sender, and the sender may use an additional sequence field to distin- + guish between outstanding messages. However, message replies may be lost + when kernel buffers are exhausted. + + The kernel may reject certain messages, and will indicate this by filling + in the _r_t_m___e_r_r_n_o field. The routing code returns EEXIST if requested to + duplicate an existing entry, ESRCH if requested to delete a non-existent + entry, or ENOBUFS if insufficient resources were available to install a + new route. In the current implementation, all routing process run local- + ly, and the values for _r_t_m___e_r_r_n_o are available through the normal _e_r_r_n_o + mechanism, even if the routing reply message is lost. + + A process may avoid the expense of reading replies to its own messages by + issuing a setsockopt(2) call indicating that the SO_USELOOPBACK option at + the SOL_SOCKET level is to be turned off. A process may ignore all mes- + sages from the routing socket by doing a shutdown(2) system call for fur- + ther input. + + If a route is in use when it is deleted, the routing entry will be marked + down and removed from the routing table, but the resources associated + with it will not be reclaimed until all references to it are released. + User processes can obtain information about the routing entry to a spe- + cific destination by using a RTM_GET message, or by reading the _/_d_e_v_/_k_m_e_m + device, or by issuing a getkerninfo(2) system call. + + Messages include: + + #define RTM_ADD 0x1 /* Add Route */ + #define RTM_DELETE 0x2 /* Delete Route */ + #define RTM_CHANGE 0x3 /* Change Metrics, Flags, or Gateway */ + #define RTM_GET 0x4 /* Report Information */ + #define RTM_LOOSING 0x5 /* Kernel Suspects Partitioning */ + #define RTM_REDIRECT 0x6 /* Told to use different route */ + #define RTM_MISS 0x7 /* Lookup failed on this address */ + #define RTM_RESOLVE 0xb /* request to resolve dst to LL addr */ + + A message header consists of: + + struct rt_msghdr { + u_short rmt_msglen; /* to skip over non-understood messages */ + u_char rtm_version; /* future binary compatability */ + u_char rtm_type; /* message type */ + u_short rmt_index; /* index for associated ifp */ + pid_t rmt_pid; /* identify sender */ + int rtm_addrs; /* bitmask identifying sockaddrs in msg */ + int rtm_seq; /* for sender to identify action */ + int rtm_errno; /* why failed */ + int rtm_flags; /* flags, incl kern & message, e.g. DONE */ + int rtm_use; /* from rtentry */ + u_long rtm_inits; /* which values we are initializing */ + struct rt_metrics rtm_rmx; /* metrics themselves */ + }; + + where + + struct rt_metrics { + u_long rmx_locks; /* Kernel must leave these values alone */ + u_long rmx_mtu; /* MTU for this path */ + u_long rmx_hopcount; /* max hops expected */ + u_long rmx_expire; /* lifetime for route, e.g. redirect */ + u_long rmx_recvpipe; /* inbound delay-bandwith product */ + u_long rmx_sendpipe; /* outbound delay-bandwith product */ + u_long rmx_ssthresh; /* outbound gateway buffer limit */ + u_long rmx_rtt; /* estimated round trip time */ + u_long rmx_rttvar; /* estimated rtt variance */ + }; + + Flags include the values: + + #define RTF_UP 0x1 /* route useable */ + #define RTF_GATEWAY 0x2 /* destination is a gateway */ + #define RTF_HOST 0x4 /* host entry (net otherwise) */ + #define RTF_NORMAL 0x8 /* subnet mask is cannonical */ + #define RTF_DYNAMIC 0x10 /* created dynamically (by redirect) */ + #define RTF_MODIFIED 0x20 /* modified dynamically (by redirect) */ + #define RTF_DONE 0x40 /* message confirmed */ + #define RTF_MASK 0x80 /* subnet mask present */ + + Specfiers for metric values in rmx_locks and rtm_inits are: + + #define RTV_SSTHRESH 0x1 /* init or lock _ssthresh */ + #define RTV_RPIPE 0x2 /* init or lock _recvpipe */ + #define RTV_SPIPE 0x4 /* init or lock _sendpipe */ + #define RTV_HOPCOUNT 0x8 /* init or lock _hopcount */ + #define RTV_RTT 0x10 /* init or lock _rtt */ + #define RTV_RTTVAR 0x20 /* init or lock _rttvar */ + #define RTV_MTU 0x40 /* init or lock _mtu */ + + Specifiers for which addresses are present in the messages are: + + #define RTA_DST 0x1 /* destination sockaddr present */ + #define RTA_GATEWAY 0x2 /* gateway sockaddr present */ + #define RTA_NETMASK 0x4 /* netmask sockaddr present */ + #define RTA_GENMASK 0x8 /* cloning mask sockaddr present */ + #define RTA_IFP 0x10 /* interface name sockaddr present */ + #define RTA_IFA 0x20 /* interface addr sockaddr present */ + #define RTA_AUTHOR 0x40 /* sockaddr for author of redirect */ + +4.4BSD June 9, 1993 3 diff --git a/usr/share/man/cat4/sparc/bwtwo.0 b/usr/share/man/cat4/sparc/bwtwo.0 new file mode 100644 index 0000000000..7981e714c9 --- /dev/null +++ b/usr/share/man/cat4/sparc/bwtwo.0 @@ -0,0 +1,16 @@ +BWTWO(4) BSD Programmer's Manual (SPARC Architecture) BWTWO(4) + +NNAAMMEE + bbwwttwwoo - monochromatic frame buffer + +SSYYNNOOPPSSIISS + bbwwttwwoo** aatt ssbbuuss?? sslloott ?? ooffffsseett ?? + +DDEESSCCRRIIPPTTIIOONN + The bbwwttwwoo is a memory based black and white frame buffer. It supports + the minimal ioctl's needed to run X11. + +SSEEEE AALLSSOO + cgthree(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/sparc/cgthree.0 b/usr/share/man/cat4/sparc/cgthree.0 new file mode 100644 index 0000000000..7237c4eabc --- /dev/null +++ b/usr/share/man/cat4/sparc/cgthree.0 @@ -0,0 +1,16 @@ +CGTHREE(4) BSD Programmer's Manual (SPARC Architecture) CGTHREE(4) + +NNAAMMEE + ccggtthhrreeee - 8-bit color frame buffer + +SSYYNNOOPPSSIISS + ccggtthhrreeee** aatt ssbbuuss?? sslloott ?? ooffffsseett ?? + +DDEESSCCRRIIPPTTIIOONN + The ccggtthhrreeee is a memory based color frame buffer. It supports the mini- + mal ioctl's needed to run X11. + +SSEEEE AALLSSOO + bwtwo(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/sparc/kmem.0 b/usr/share/man/cat4/sparc/kmem.0 new file mode 100644 index 0000000000..2e335408ea --- /dev/null +++ b/usr/share/man/cat4/sparc/kmem.0 @@ -0,0 +1,28 @@ +MEM(4) BSD Programmer's Manual (SPARC Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm - main memory + +DDEESSCCRRIIPPTTIIOONN + The file //ddeevv//mmeemm is an interface to the physical memory of the computer. + Byte offsets in this file are interpreted as physical memory addresses. + Reading and writing this file is equivalent to reading and writing memory + itself. An error will be returned if an attempt is made to reference an + offset outside of //ddeevv//mmeemm. + + Kernel virtual memory is accessed via the file //ddeevv//kkmmeemm in the same man- + ner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently mapped + to memory are allowed. + +SSPPAARRCC + On the SPARC, physical memory may be discontiguous; kernel virtual memory + begins at 0xf8000000. + +FFIILLEESS + /dev/mem + /dev/kmem + +HHIISSTTOORRYY + The files mmeemm and kkmmeemm appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/sparc/mem.0 b/usr/share/man/cat4/sparc/mem.0 new file mode 100644 index 0000000000..2e335408ea --- /dev/null +++ b/usr/share/man/cat4/sparc/mem.0 @@ -0,0 +1,28 @@ +MEM(4) BSD Programmer's Manual (SPARC Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm - main memory + +DDEESSCCRRIIPPTTIIOONN + The file //ddeevv//mmeemm is an interface to the physical memory of the computer. + Byte offsets in this file are interpreted as physical memory addresses. + Reading and writing this file is equivalent to reading and writing memory + itself. An error will be returned if an attempt is made to reference an + offset outside of //ddeevv//mmeemm. + + Kernel virtual memory is accessed via the file //ddeevv//kkmmeemm in the same man- + ner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently mapped + to memory are allowed. + +SSPPAARRCC + On the SPARC, physical memory may be discontiguous; kernel virtual memory + begins at 0xf8000000. + +FFIILLEESS + /dev/mem + /dev/kmem + +HHIISSTTOORRYY + The files mmeemm and kkmmeemm appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/sparc/openprom.0 b/usr/share/man/cat4/sparc/openprom.0 new file mode 100644 index 0000000000..3e67aa509c --- /dev/null +++ b/usr/share/man/cat4/sparc/openprom.0 @@ -0,0 +1,79 @@ +OPENPROM(4) BSD Programmer's Manual (SPARC Architecture) OPENPROM(4) + +NNAAMMEE + ooppeennpprroomm - OPENPROM and EEPROM interface + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The file //ddeevv//ooppeennpprroomm is an interface to the SPARC OPENPROM, including + the EEPROM area. This interface is highly stylized; ioctls are used for + all operations. These ioctls refer to ``nodes'', which are simply + ``magic'' integer values describing data areas. Occasionally the number + 0 may be used or returned instead, as described below. A special distin- + guished ``options'' node holds the EEPROM settings. + + The calls that take and/or return a node use a pointer to an int variable + for this purpose; others use a pointer to an struct opiocdesc descriptor, + which contains a node and two counted strings. The first string is com- + prised of the fields op_namelen (an int) and op_name (a char *), giving + the name of a field. The second string is comprised of the fields + op_buflen and op_buf, used analogously. These two counted strings work + in a ``value-result'' fashion. At entry to the ioctl, the counts are ex- + pected to reflect the buffer size; on return, the counts are updated to + reflect the buffer contents. + + The following ioctls are supported: + + OPIOCGETOPTNODE Takes nothing, and fills in the options node number. + + OPIOCGETNEXT Takes a node number and returns the number of the fol- + lowing node. The node following the last node is number + 0; the node following number 0 is the first node. + + OPIOCGETCHILD Takes a node number and returns the number of the first + ``child'' of that node. This child may have siblings; + these can be discovered by using OPIOCGETNEXT. + + OPIOCGET Fills in the value of the named property for the given + node. If no such property is associated with that node, + the value length is set to -1. If the named property + exists but has no value, the value length is set to 0. + + OPIOCSET Writes the given value under the given name. The OPEN- + PROM may refuse this operation; in this case EINVAL is + returned. + + OPIOCNEXTPROP Finds the property whose name follows the given name in + OPENPROM internal order. The resulting name is returned + in the value field. If the named property is the last, + the ``next'' name is the empty string. As with + OPIOCGETNEXT, the next name after the empty string is + the first name. + +FFIILLEESS + _/_d_e_v_/_o_p_e_n_p_r_o_m + +EERRRROORRSS + The following may result in rejection of an operation: + + [EINVAL] The given node number is not zero and does not correspond + to any valid node, or is zero where zero is not allowed. + + [EBADF] The requested operation requires permissions not specified + + at the call to ooppeenn(). + + [ENAMETOOLONG] + The given name or value field exceeds the maximum allowed + length (8191 bytes). + +SSEEEE AALLSSOO + ioctl(2) + +BBUUGGSS + Due to limitations within the OPENPROM itself, these functions run at el- + evated priority and may adversely affect system performance. + +4.4BSD June 5, 1993 2 diff --git a/usr/share/man/cat4/spp.0 b/usr/share/man/cat4/spp.0 new file mode 100644 index 0000000000..3e216f3e6d --- /dev/null +++ b/usr/share/man/cat4/spp.0 @@ -0,0 +1,116 @@ +SPP(4) BSD Programmer's Manual SPP(4) + +NNAAMMEE + sspppp - Xerox Sequenced Packet Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___N_S, _S_O_C_K___S_T_R_E_A_M, _0); + + _i_n_t + ssoocckkeett(_A_F___N_S, _S_O_C_K___S_E_Q_P_A_C_K_E_T, _0); + +DDEESSCCRRIIPPTTIIOONN + The SPP protocol provides reliable, flow-controlled, two-way transmission + of data. It is a byte-stream protocol used to support the SOCK_STREAM + abstraction. SPP uses the standard NS(tm) address formats. + + Sockets utilizing the SPP protocol are either ``active'' or ``passive''. + Active sockets initiate connections to passive sockets. By default SPP + sockets are created active; to create a passive socket the listen(2) sys- + tem call must be used after binding the socket with the bind(2) system + call. Only passive sockets may use the accept(2) call to accept incoming + connections. Only active sockets may use the connect(2) call to initiate + connections. + + Passive sockets may ``underspecify'' their location to match incoming + connection requests from multiple networks. This technique, termed + ``wildcard addressing'', allows a single server to provide service to + clients on multiple networks. To create a socket which listens on all + networks, the NS address of all zeroes must be bound. The SPP port may + still be specified at this time; if the port is not specified the system + will assign one. Once a connection has been established the socket's ad- + dress is fixed by the peer entity's location. The address assigned the + socket is the address associated with the network interface through which + packets are being transmitted and received. Normally this address corre- + sponds to the peer entity's network. + + If the SOCK_SEQPACKET socket type is specified, each packet received has + the actual 12 byte sequenced packet header left for the user to inspect: + + struct sphdr { + u_char sp_cc; /* connection control */ + #define SP_EM 0x10 /* end of message */ + u_char sp_dt; /* datastream type */ + u_short sp_sid; + u_short sp_did; + u_short sp_seq; + u_short sp_ack; + u_short sp_alo; + }; + + This facilitates the implementation of higher level Xerox protocols which + make use of the data stream type field and the end of message bit. Con- + versely, the user is required to supply a 12 byte header, the only part + of which inspected is the data stream type and end of message fields. + + For either socket type, packets received with the Attention bit sent are + interpreted as out of band data. Data sent with ``send(..., ..., ..., + MSG_OOB'') cause the attention bit to be set. + +DDIIAAGGNNOOSSTTIICCSS + + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [ETIMEDOUT] when a connection was dropped due to excessive retrans- + missions; + + [ECONNRESET] when the remote peer forces the connection to be closed; + + [ECONNREFUSED] when the remote peer actively refuses connection estab- + lishment (usually because no process is listening to the + port); + + [EADDRINUSE] when an attempt is made to create a socket with a port + which has already been allocated; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + +SSOOCCKKEETT OOPPTTIIOONNSS + SO_DEFAULT_HEADERS when set, this determines the data stream type and + whether the end of message bit is to be set on every + ensuing packet. + + SO_MTU This specifies the maximum ammount of user data in a + single packet. The default is 576 bytes - size- + of(struct spidp). This quantity affects windowing - + increasing it without increasing the amount of + buffering in the socket will lower the number of un- + read packets accepted. Anything larger than the de- + fault will not be forwarded by a bona fide XEROX + product internetwork router. The data argument for + the setsockopt call must be an unsigned short. + +SSEEEE AALLSSOO + intro(4), ns(4) + +HHIISSTTOORRYY + The sspppp protocol appeared in 4.3BSD. + +BBUUGGSS + There should be some way to reflect record boundaries in a stream. For + stream mode, there should be an option to get the data stream type of the + record the user process is about to receive. + +4.3 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/stderr.0 b/usr/share/man/cat4/stderr.0 new file mode 100644 index 0000000000..e85fb8dd69 --- /dev/null +++ b/usr/share/man/cat4/stderr.0 @@ -0,0 +1,39 @@ +FD(4) BSD Programmer's Manual FD(4) + +NNAAMMEE + ffdd, ssttddiinn, ssttddoouutt, ssttddeerrrr - file descriptor files + +DDEESSCCRRIIPPTTIIOONN + The files _/_d_e_v_/_f_d_/_0 through _/_d_e_v_/_f_d_/_# refer to file descriptors which can + be accessed through the file system. If the file descriptor is open and + the mode the file is being opened with is a subset of the mode of the ex- + isting descriptor, the call: + + fd = open("/dev/fd/0", mode); + + and the call: + + fd = fcntl(0, F_DUPFD, 0); + + are equivalent. + + Opening the files _/_d_e_v_/_s_t_d_i_n, _/_d_e_v_/_s_t_d_o_u_t and _/_d_e_v_/_s_t_d_e_r_r is equivalent + to the following calls: + + fd = fcntl(STDIN_FILENO, F_DUPFD, 0); + fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); + fd = fcntl(STDERR_FILENO, F_DUPFD, 0); + + Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are + ignored. + +FFIILLEESS + /dev/fd/# + /dev/stdin + /dev/stdout + /dev/stderr + +SSEEEE AALLSSOO + tty(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/stdin.0 b/usr/share/man/cat4/stdin.0 new file mode 100644 index 0000000000..e85fb8dd69 --- /dev/null +++ b/usr/share/man/cat4/stdin.0 @@ -0,0 +1,39 @@ +FD(4) BSD Programmer's Manual FD(4) + +NNAAMMEE + ffdd, ssttddiinn, ssttddoouutt, ssttddeerrrr - file descriptor files + +DDEESSCCRRIIPPTTIIOONN + The files _/_d_e_v_/_f_d_/_0 through _/_d_e_v_/_f_d_/_# refer to file descriptors which can + be accessed through the file system. If the file descriptor is open and + the mode the file is being opened with is a subset of the mode of the ex- + isting descriptor, the call: + + fd = open("/dev/fd/0", mode); + + and the call: + + fd = fcntl(0, F_DUPFD, 0); + + are equivalent. + + Opening the files _/_d_e_v_/_s_t_d_i_n, _/_d_e_v_/_s_t_d_o_u_t and _/_d_e_v_/_s_t_d_e_r_r is equivalent + to the following calls: + + fd = fcntl(STDIN_FILENO, F_DUPFD, 0); + fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); + fd = fcntl(STDERR_FILENO, F_DUPFD, 0); + + Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are + ignored. + +FFIILLEESS + /dev/fd/# + /dev/stdin + /dev/stdout + /dev/stderr + +SSEEEE AALLSSOO + tty(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/stdout.0 b/usr/share/man/cat4/stdout.0 new file mode 100644 index 0000000000..e85fb8dd69 --- /dev/null +++ b/usr/share/man/cat4/stdout.0 @@ -0,0 +1,39 @@ +FD(4) BSD Programmer's Manual FD(4) + +NNAAMMEE + ffdd, ssttddiinn, ssttddoouutt, ssttddeerrrr - file descriptor files + +DDEESSCCRRIIPPTTIIOONN + The files _/_d_e_v_/_f_d_/_0 through _/_d_e_v_/_f_d_/_# refer to file descriptors which can + be accessed through the file system. If the file descriptor is open and + the mode the file is being opened with is a subset of the mode of the ex- + isting descriptor, the call: + + fd = open("/dev/fd/0", mode); + + and the call: + + fd = fcntl(0, F_DUPFD, 0); + + are equivalent. + + Opening the files _/_d_e_v_/_s_t_d_i_n, _/_d_e_v_/_s_t_d_o_u_t and _/_d_e_v_/_s_t_d_e_r_r is equivalent + to the following calls: + + fd = fcntl(STDIN_FILENO, F_DUPFD, 0); + fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); + fd = fcntl(STDERR_FILENO, F_DUPFD, 0); + + Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are + ignored. + +FFIILLEESS + /dev/fd/# + /dev/stdin + /dev/stdout + /dev/stderr + +SSEEEE AALLSSOO + tty(4) + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/tahoe/ace.0 b/usr/share/man/cat4/tahoe/ace.0 new file mode 100644 index 0000000000..5fd1b4ee6a --- /dev/null +++ b/usr/share/man/cat4/tahoe/ace.0 @@ -0,0 +1,56 @@ +ACE(4) BSD Programmer's Manual (Tahoe Architecture) ACE(4) + +NNAAMMEE + aaccee - ACC 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee aaccee00 aatt vvbbaa?? ccssrr 00xxffffffff00000000 ffllaaggss 00xxffffff8800000000 vveeccttoorr aacceecciinntt + aacceerriinntt + +DDEESSCCRRIIPPTTIIOONN + The aaccee interface provides access to a 10 Mb/s Ethernet network through + an ACC controller. + + The hardware has 32 kilobytes of dual-ported memory on the VERSAbus. This + memory is used for internal buffering by the board, and the interface + code reads the buffer contents directly through the VERSAbus. The address + of this memory is given in the _f_l_a_g_s field in the configuration file. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The aaccee interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + + The device implements an exponential backoff algorithm when notified of a + collision on the cable. This algorithm utilizes a table of random num- + bers setup by the system at boot time. The delay is done in the con- + troller. + +DDIIAAGGNNOOSSTTIICCSS + aaccee%%dd:: ssttrraayy xxmmiitt iinntteerrrruupptt,, xxnncctt %%dd.. An unexpected transmission com- + plete interrupt was received; the interrupt is ignored. + + aaccee%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + intro(4), inet(4), arp(4) + +HHIISSTTOORRYY + The aaccee driver appeared in 4.3BSD-Tahoe. + +BBUUGGSS + The hardware is not capable of talking to itself. The software imple- + ments local sending and broadcast by sending such packets to the loop in- + terface. This is a kludge. + + The device doesn't autoconfigure its interrupt vector; it is set at 0x90 + + eight times the unit number. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/autoconf.0 b/usr/share/man/cat4/tahoe/autoconf.0 new file mode 100644 index 0000000000..fef7d7873c --- /dev/null +++ b/usr/share/man/cat4/tahoe/autoconf.0 @@ -0,0 +1,66 @@ +AUTOCONF(4) BSD Programmer's Manual (Tahoe Architecture) AUTOCONF(4) + +NNAAMMEE + aauuttooccoonnff - diagnostics from autoconfiguration code + +DDEESSCCRRIIPPTTIIOONN + When UNIX bootstraps it probes the innards of the machine it is running + on and locates controllers, drives, and other devices, printing out what + it finds on the console. This procedure is driven by a system configura- + tion table which is processed by config(8) and compiled into each kernel. + + VERSAbus devices are located by probing to see if their control-status + registers respond. If not, they are silently ignored. If the control + status register responds but the device cannot be made to interrupt, a + diagnostic warning will be printed on the console and the device will not + be available to the system. + + A generic system may be built which picks its root device at boot time as + the ``best'' available device. If such a system is booted with the + RB_ASKNAME option of (see reboot(2)), then the name of the root device + is read from the console terminal at boot time, and any available device + may be used. + +DDIIAAGGNNOOSSTTIICCSS + vvbbaa%%dd aatt %%xx.. A VERSAbus adapter was found and mapped into the address + space of the operating system starting at virtual address `%x'. UNIX will + call it `vba%d'. + + %%ss%%dd aatt vvbbaa%%dd ddrriivvee %%dd.. A tape formatter or a disk was found on the + VERSAbus; for disks `%s%d' will look like `dk0', for tape formatters like + `yc1'. The drive number comes from the unit plug on the drive or in the + tape formatter (_n_o_t on the tape drive; see below). + + %%ss%%dd aatt %%ss%%dd ssllaavvee %%dd.. Which would look like `yc0 at cy0 slave 0%', + where _y_c_0 is the name for the tape device and _c_y_0 is the name for the + formatter. A tape slave was found on the tape formatter at the indicated + drive number (on the front of the tape drive). UNIX will call the de- + vice, e.g., cy0. + + %%ss%%dd aatt vvbbaa%%dd ccssrr %%xx vveecc %%xx iippll %%xx.. The device `%s%d', e.g. `vd0' was + found on `vba%d' at control-status register address `%x' and with device + vector `%x'. The device interrupted at priority level `%x'. + + %%ss%%dd aatt vvbbaa%%dd ccssrr %%xx nnoo iinntteerrrruuppttss.. The device was found on `vba%d' at + control-status register address `%x'; no interrupts were configured for + the device. + + %%ss%%dd aatt vvbbaa%%dd ccssrr %%xx ddiiddnn''tt iinntteerrrruupptt.. The device did not interrupt, + likely because it is broken, hung, or not the kind of device it is adver- + tised to be. The csr address is interpreted as described above. + + %%ss%%dd aatt %%ss%%dd ssllaavvee %%dd.. Which would look like `dk0 at vd0 slave 0', where + _d_k_0 is the name of a disk drive and _v_d_0 is the name of the controller. + +SSEEEE AALLSSOO + config(8) + +HHIISSTTOORRYY + The aauuttooccoonnff special file appeared in 4.3BSD-Tahoe. + +BBUUGGSS + Very few devices actually figure out their interrupt vector by forcing + the device to interrupt. Only the upper megabyte of the VERSAbus address + space is mapped into the system's virtual address space. + +4.3-Tahoe Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/cons.0 b/usr/share/man/cat4/tahoe/cons.0 new file mode 100644 index 0000000000..106e10eb5f --- /dev/null +++ b/usr/share/man/cat4/tahoe/cons.0 @@ -0,0 +1,43 @@ +CONS(4) BSD Programmer's Manual (Tahoe Architecture) CONS(4) + +NNAAMMEE + ccoonnss, CCPP, rreemmoottee - Tahoe console interface + +DDEESSCCRRIIPPTTIIOONN + The console is available to the processor through the console registers. + It acts like a normal terminal, except that a ``~~'' is used to transfer + commands to the console processor when the front panel key switch is in + the ``foo'' or ``bar'' position. When the console processor is in con- + trol, a `#>' prompt is displayed. To continue execution after halting + the machine with `~h', use `r'. + + ~~hh Halt the machine. + + ~~bb Force a reboot. + + ~~rr Continue execution after a ~~hh. + + Refer to the Tahoe console processor handbook for the complete list of + facilities available through the console processor. + + The CCPP device provides direct access to the console processor. The + rreemmoottee device is a secondary console terminal used for remote diagnosis; + it is normally connected to a modem. + +FFIILLEESS + /dev/console + /dev/CP + /dev/remote + +DDIIAAGGNNOOSSTTIICCSS + None. + +SSEEEE AALLSSOO + kdb(4), tty(4), reboot(8) + + _C_o_n_s_o_l_e _P_r_o_c_e_s_s_o_r _H_a_n_d_b_o_o_k. + +HHIISSTTOORRYY + The ccoonnss interface appeared in 4.3BSD-Tahoe. + +4.3-Tahoe Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/cy.0 b/usr/share/man/cat4/tahoe/cy.0 new file mode 100644 index 0000000000..477ee09e0c --- /dev/null +++ b/usr/share/man/cat4/tahoe/cy.0 @@ -0,0 +1,122 @@ +CY(4) BSD Programmer's Manual (Tahoe Architecture) CY(4) + +NNAAMMEE + ccyy - Cipher/tapemaster magtape interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr ccyy00 aatt vvbbaa?? ccssrr 00xxffffffff44000000 vveeccttoorr ccyyiinnttrr + ddeevviiccee yycc00 aatt ccyy00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + The Cipher F880, M990/ Tapemaster combination provides a standard tape + drive interface as described in mt(4). The Cipher F880 tape drive oper- + ates at 1600 or 3200 BPI - controlled by a switch on the drive. The Ci- + pher M990 operates at 1600, 3200 or 6250 BPI - controlled by switches on + the front of the drive. + + The Tapemaster controller board is actually a Multibus controller ac- + cessed through a Halversa Multibus to VERSAbus converter card. + +DDIIAAGGNNOOSSTTIICCSS + ccyy%%dd:: %%ddkkbb bbuuffffeerr.. The formatter was found to have a `%d' kilobyte + buffer during autoconfiguration. + + ccyy%%dd:: ttiimmeeoouutt oorr eerrrr dduurriinngg iinniitt,, ssttaattuuss==%%bb.. The controller timed out or + an error occurred on a nop command during autoconfiguration; the con- + troller may be hung. + + ccyy%%dd:: ccoonnffiigguurraattiioonn ffaaiilluurree,, ssttaattuuss==%%bb.. The controller timed out or an + error occurred on a configure command during autoconfiguration; the con- + troller may be hung. + + yycc%%dd:: nnoo wwrriittee rriinngg.. An attempt was made to write on the tape drive when + no write ring was present; this message is written on the terminal of the + user who tried to access the tape. + + yycc%%dd:: nnoott oonnlliinnee.. An attempt was made to access the tape while it was + offline; this message is written on the terminal of the user who tried to + access the tape. + + ccyy%%dd:: ii//oo ssiizzee ttoooo llaarrggee.. A read or a write request exceeded the maximum + transfer size for the controller - 32 kilobytes; this message is written + on the terminal of the user who made the read or write request. + + yycc%%dd:: hhaarrdd eerrrroorr bbnn%%dd ssttaattuuss==%%bb.. A tape error occurred at block _b_n; the + cy error register is printed in hexadecimal with the bits symbolically + decoded. Any error is fatal on non-raw tape; when possible the driver + will have retried the operation which failed several times before report- + ing the error. For known errors, the trailing `%s' is one of the follow- + ing: + + ttiimmeeoouutt,, ttiimmeeoouutt11,, ttiimmeeoouutt22,, ttiimmeeoouutt33,, ttiimmeeoouutt44.. Time out errors; this + may be due to trying to read a blank tape or the controller failing to + interrupt or the drive dropping off-line. + + nnoonn--eexxiisstteenntt mmeemmoorryy.. A controller transfer to memory timed out. + + bbllaannkk ttaappee.. The controller detected a blank tape when data was expected. + + mmiiccrroo--ddiiaaggnnoossttiicc,, mmiissssiinngg ddiiaaggnnoossttiicc jjuummppeerr.. An error occurred in the + micro-diagnostics or the diagnostic mode jumper was not installed while + attempting to execute a diagnostics command. + + eeoott//bboott ddeetteecctteedd.. The controller unexpectedly encountered end-of-tape or + + + beginning-of-tape during an operation. + + rreettrryy uunnssuucccceessssffuull.. An error occurred which could not be recovered by + repeated retries. + + ffiiffoo oovveerr//uunnddeerr--ffllooww.. The controller was unable to transfer data to the + drive fast enough. This usually occurs because a transfer was performed + without using the controller's internal buffer. + + ddrriivvee ttoo ccoonnttrroolllleerr ppaarriittyy eerrrroorr.. A parity error was detected by the + controller in data transferred between the drive and the controller's in- + ternal buffer. + + pprroomm cchheecckkssuumm.. The controller thinks its PROM is corrupted. + + ttiimmee oouutt ttaappee ssttrroobbee ((rreeccoorrdd lleennggtthh eerrrroorr)).. The controller timed out + while looking for an inter-record gap. This usually occurs because the + records on the tape are larger than expected (or can be handled). + + ttaappee nnoott rreeaaddyy.. The drive does not respond; usually the power has been + turned off or a cable has come off. + + wwrriittee pprrootteecctteedd.. A write ring was present in the tape when a write was + attempted. + + iinnvvaalliidd lliinnkk ppooiinntteerr.. An invalid pointer was encountered in a tape pa- + rameter block. + + uunneexxppeecctteedd ffiillee mmaarrkk.. A tape file mark was encountered while trying to + read or space. + + iinnvvaalliidd bbyyttee ccoouunntt.. An invalid byte count parameter was encountered in a + tape parameter block. + + uunniiddeennttiiffiieedd hhaarrddwwaarree eerrrroorr.. + ssttrreeaammiinngg tteerrmmiinnaatteedd.. These should not happen. + + yycc%%dd:: lloosstt iinntteerrrruupptt.. The controller failed to respond with an interrupt + signifying completion of the current command. The system will attempt to + abort the outstanding command and reset the controller. + + ccyy%%dd:: rreesseett ffaaiilleedd.. The system was unable to reset the controller. This + is normally preceded by another message from the driver. + +SSEEEE AALLSSOO + mt(1), tar(1), mtio(4) + +HHIISSTTOORRYY + The ccyy driver appeared in 4.3BSD-Tahoe. + +BBUUGGSS + The controller supports only 20-bit addresses. The only way the system + can insure the controller will be able to address data to be transferred + is to copy it into an intermediate buffer allocated in the first megabyte + of system memory. + +4.3-Tahoe Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/tahoe/dr.0 b/usr/share/man/cat4/tahoe/dr.0 new file mode 100644 index 0000000000..823a33e94c --- /dev/null +++ b/usr/share/man/cat4/tahoe/dr.0 @@ -0,0 +1,105 @@ +DR(4) BSD Programmer's Manual (Tahoe Architecture) DR(4) + +NNAAMMEE + ddrr - Ikon DR-11W interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddrr00 aatt vvbbaa?? ccssrr 00xxffffffff88000000 vveeccttoorr ddrriinnttrr + +DDEESSCCRRIIPPTTIIOONN + The ddrr driver provides access to an Ikon DR-11W DMA controller. Each mi- + nor device is a different controller. + + In addition to reading and writing, the following ioctl(2) requests are + available: + + DRWAIT Wait for an attention interrupt from the associated de- + vice. + + DRPIOW Write to the programmed I/O register. + + DRPACL Write to the pulse register. + + DRDACL Set the ``ac-low'' bit in the next command sent to the + DR-11W. + + DRPCYL Set the ``cycle'' bit in the next command sent to the + DR-11W. + + DRDFCN Hold the function bits until the next command is issused. + + DRRATN Reset the attention flag. + + DRRDMA Reset the DMA complete flag. + + DRSFCN Set the function bits in the control status register and, + as a side effect, clear the interrupt enable flag. + + DRRPER Reset the parity error flag. + + DRSETRSTALL Set ``no stall'' mode for all subsequent reads. In no + stall mode the driver will abort read requests that fail + to complete before a user specified timeout expires. + + DRSETNORSTALL Disable no stall mode for reads. + + DRGETRSTALL Return true if in no stall mode for reads. + + DRSETRTIMEOUT Set the value of the timeout used in no stall mode for + reads. The time is specified in tenths of seconds. + + DRGETRTIMEOUT Return the time until (in tenths of seconds) before a read + is timed out when in no stall mode. + + DRSETWSTALL Set ``no stall'' mode for all subsequent writes. In no + stall mode the driver will abort write requests that fail + to complete before a user specified timeout expires. + + DRSETNOWSTALL Disable no stall mode for writes. + + DRGETWSTALL Return true if in no stall mode for writes. + + DRSETWTIMEOUT Set the value of the timeout used in no stall mode for + writes. The time is specified in tenths of seconds. + + DRGETRTIMEOUT Return the time until (in tenths of seconds) before a + + write is timed out when in no stall mode. + + DRWRITEREADY Return 1 if the device can accept data, 0 otherwise (this + is really the DR-11W A status bit). + + DRREADREADY Return 1 if the device has data for the host to read, 0 + otherwise (this is really the DR-11W B status bit). + + DRBUSY Return 1 if the device is busy, 0 otherwise. + + DRRESET Reset the DR-11W. + + DR11STAT Return the driver status and the contents of the DR-11W + I/O registers. The eight words returned are, in order, the + driver status flags, the contents of the control status + register, the contents of the status register at the time + of the last interrupt from the device, the contents of the + programmed I/O data register, a combination of the address + modifier used by the device in performing VERSAbus trans- + fers and the interrupt vector used by the device, the con- + tents of the range register, the contents of the rahi reg- + ister, and the contents of the ralo register. + + DR11LOOP Perform loopback testing (the loopback cable must be in + place for this to work). + +FFIILLEESS + /dev/dr[0-7] standard devices + +DDIIAAGGNNOOSSTTIICCSS + Lots of them, none of them meaningful. + +HHIISSTTOORRYY + The ddrr driver appeared in 4.3BSD-Tahoe. + +BBUUGGSS + This driver needs to be rewritten. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/tahoe/enp.0 b/usr/share/man/cat4/tahoe/enp.0 new file mode 100644 index 0000000000..844459dc37 --- /dev/null +++ b/usr/share/man/cat4/tahoe/enp.0 @@ -0,0 +1,54 @@ +ENP(4) BSD Programmer's Manual (Tahoe Architecture) ENP(4) + +NNAAMMEE + eennpp - CMC 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee eennpp00 aatt vvbbaa?? ccssrr 00xxffffff4400000000 vveeccttoorr eennppiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The eennpp interface provides access to a 10 Mb/s Ethernet network through a + CMC ENP-20 controller. + + The hardware has 128 kilobytes of dual-ported memory on the VERSAbus. + This memory is used for internal buffering by the board, and the inter- + face code reads the buffer contents directly through the VERSAbus. The + address of this memory is derived from the address specified in the con- + figuration file. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The eennpp interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + + Associated with each interface is a character device which is used to + dowload, start, and reset the firmware in the controller. Reading or + writing the ``ram device'' reads or writes the writable control store in + the controller. Two ioctl(2) calls, ENPIOGO and ENPIORESET, are used to + start and reset the firmware. + +DDIIAAGGNNOOSSTTIICCSS + eennpp%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + intro(4), inet(4), arp(4), enpload(8) + +HHIISSTTOORRYY + The eennpp driver appeared in 4.3BSD-Tahoe. + +BBUUGGSS + The hardware is not capable of talking to itself. The software imple- + ments local sending and broadcast by sending such packets to the loop in- + terface. This is a kludge. + + The link level firmware does not support setting the board's Ethernet ad- + dress. + +4.3-Tahoe Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/ik.0 b/usr/share/man/cat4/tahoe/ik.0 new file mode 100644 index 0000000000..186bf304b5 --- /dev/null +++ b/usr/share/man/cat4/tahoe/ik.0 @@ -0,0 +1,80 @@ +IK(4) BSD Programmer's Manual IK(4) + +NNAAMMEE + iikk - Evans and Sutherland Picture System 300 graphics device interface + +SSYYNNOOPPSSIISS + ddeevviiccee iikk00 aatt vvbbaa?? ccssrr 00xxffffffbb110000 vveeccttoorr iikkiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The iikk driver provides access to an Evans and Sutherland Picture System + 300 through an Ikon DR-11W interface card. Each two minor device numbers + are a different PS300; within a pair of device numbers the odd valued de- + vice is used for ``diagnostic'' purposes. That is, for even numbered + minor devices, opening the device results in a PS300 ``attach'' request + being performed while for odd numbered minor devices the attach request + is not performed. + + All operations between the host and the PS300 utilize DMA. The driver + currently supports only physical I/O operations when reading and writing; + this makes the device useless with standard Evans and Sutherland soft- + ware. + + The interface provided by the interface is as UNIX-like as possible. + When a device is opened a PS300 attach request is automatically per- + formed. When a device is closed a detach is performed. Reads and writes + result in physical I/O requests, but hide all the details of the physical + I/O protocol. This is programming style is completely different from the + VMS-oriented qio-style interface supplied by Evans and Sutherland. + + Reads and writes to the device result in a physical I/O request to the + PS300. If a readv(2) or writev(2) call is used, each I/O request results + in a single physical I/O request (i.e. the scatter-gather facilities are + not supported). In normal operation, the address used in a physical I/O + request is the current file offset as specified explicitly with lseek(2) + or implictly as a result of reading or writing the device. To specify an + address to be used with each physical I/O request, the iikk driver inter- + prets the _i_o_v entries in a non-standard way. If _i_o_v___l_e_n is zero, then + _i_o_v___b_a_s_e is interpreted as an address to be used in the physical I/O re- + quest. If the address has the PSIO_SYNC flag or-d into it, the physical + I/O request is made as a ``write with sync''. All addresses and data + presented to the driver should be in the byte order of the host; any byte + swapping required to converse with the PS300 is performed in the driv- + er/controller. + + In addition to reading and writing, the following ioctl requests are + available: + + PSIOLOOKUP Perform a ``name lookup'' request. The _p_s_l_o_o_k_u_p structure + passed indicates the symbol name to be looked up and con- + tains the address returned by the PS300. A zero address re- + turn indicates the symbol was undefined. + + PSIOGETERROR In the event of an error, this request may be made to re- + turn a more detailed and, sometimes PS300-specific, error + code. + +FFIILLEESS + /dev/ik[0-7] auto-attach devices + /dev/ik[0-7]d diagnostic interfaces to devices + +DDIIAAGGNNOOSSTTIICCSS + iikk%%dd:: bbaadd ccmmdd %%xx.. An unknown or unsupported command was received by the + host. + + + iikk%%dd:: ssppuurriioouuss iinntteerrrruupptt,, ccooddee %%xx.. An unexpected interrupt was received + from the PS300; the attention code from the PS300 is printed. + + iikk%%dd:: ttiimmeeoouutt.. A command failed to elicit a response within a reasonable + time; the PS300 probably crashed. + +HHIISSTTOORRYY + The Tahoe Version iikk driver appeared in 4.2BSD. + +BBUUGGSS + An invalid access (e.g. illegal address) to the PS300 can cause the PS300 + to crash. It is not always possible to unwedge the PS300 interface hard- + ware hung by an I/O request. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/tahoe/intro.0 b/usr/share/man/cat4/tahoe/intro.0 new file mode 100644 index 0000000000..c19e5c8469 --- /dev/null +++ b/usr/share/man/cat4/tahoe/intro.0 @@ -0,0 +1,58 @@ +INTRO(4) BSD Programmer's Manual (Tahoe Architecture) INTRO(4) + +NNAAMMEE + iinnttrroo - introduction to special files and hardware support + +DDEESSCCRRIIPPTTIIOONN + This section describes the special files, related driver functions, and + networking support available in the system. In this part of the manual, + the SYNOPSIS section of each configurable device gives a sample specifi- + cation for use in constructing a system description for the config(8) + program. The DIAGNOSTICS section lists messages which may appear on the + console and in the system error log _/_v_a_r_/_l_o_g_/_m_e_s_s_a_g_e_s due to errors in + device operation. + +CCCCII DDEEVVIICCEE SSUUPPPPOORRTT + Software support for these devices comes in two forms. A hardware device + may be supported with a character or block _d_e_v_i_c_e _d_r_i_v_e_r, or it may be + used within the networking subsystem and have a _n_e_t_w_o_r_k _i_n_t_e_r_f_a_c_e _d_r_i_v_e_r. + Block and character devices are accessed through files in the file system + of a special type; see physio(4) and mknod(8). Network interfaces are + indirectly accessed through the interprocess communication facilities + provided by the system; see socket(2). + + A hardware device is identified to the system at configuration time and + the appropriate device or network interface driver is then compiled into + the system. When the resultant system is booted, the autoconfiguration + facilities in the system probe for the device on the VERSAbus and, if + found, enable the software support for it. If a VERSAbus device does not + respond at autoconfiguration time it is not accessible at any time after- + wards. To enable a VERSAbus device which did not autoconfigure, the sys- + tem will have to be rebooted. + + The autoconfiguration system is described in autoconf(4). + +SSEEEE AALLSSOO + autoconf(4), netintro(4), config(8) + +LLIISSTT OOFF DDEEVVIICCEESS + The devices listed below are supported in this incarnation of the system. + Devices are indicated by their functional interface. If second vendor + products provide functionally identical interfaces they should be usable + with the supplied software. ((BBeewwaarree hhoowweevveerr tthhaatt wwee pprroommiissee tthhee ssooffttwwaarree + wwoorrkkss OONNLLYY wwiitthh tthhee hhaarrddwwaarree iinnddiiccaatteedd oonn tthhee aapppprroopprriiaattee mmaannuuaall ppaaggee..)) + + ace ACC 10 Mb/s Ethernet controller + cons Tahoe console interface + cy Cypher tape drive interface + dr Ikon DR-11W controller + enp 3Com 10 Mb/s Ethernet controller + ik Evans and Sutherland PS300 interface through an Ikon DR-11W + controller + vd CCI vd mass storage disk controller + vx CCI vioc terminal multiplexor + +HHIISSTTOORRYY + The section 4 iinnttrroo appeared in 4.2BSD. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/kmem.0 b/usr/share/man/cat4/tahoe/kmem.0 new file mode 100644 index 0000000000..3b68d51855 --- /dev/null +++ b/usr/share/man/cat4/tahoe/kmem.0 @@ -0,0 +1,50 @@ +MEM(4) BSD Programmer's Manual (Tahoe Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm, vvmmeemm - main memory + +DDEESSCCRRIIPPTTIIOONN + The special file //ddeevv//mmeemm is an interface to the physical memory of the + computer. Byte offsets in this file are interpreted as physical memory + addresses. Reading and writing this file is equivalent to reading and + writing memory itself. Only offsets within the bounds of //ddeevv//mmeemm are + allowed. + + Kernel virtual memory is accessed through the interface //ddeevv//kkmmeemm in the + same manner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently + mapped to memory are allowed. + + The file //ddeevv//vvmmeemm allows access to the mapped portion of the VERSAbus + I/O space. On the Tahoe the upper megabyte of the physical address space + is accessible through this file (0xfff00000 through 0xffffffff). Access- + es to the upper 64 kilobytes of the I/O space result in VERSAbus trans- + fers with a 16-bit address (the offset in this region) and a ``non- + privileged short I/O'' VERSAbus address modifier. Accesses to the re- + mainder of the mapped region, result in VERSAbus transfers with a 24-bit + address and a ``non-privileged standard'' VERSAbus address modifier. + This region is actually part of the region between 0xfeff0000 and + 0xffff0000 which generates VERSAbus transfers with a 24-bit address. Ac- + cesses to the remainder of the one gigabyte I/O space generate transfers + that utilize a 32-bit address with a ``non-privileged extended'' address + modifier. Any 32-bit address generated by a cpu access to this part of + the I/O space have the upper two bits zero; thus, for example, an access + to physical address 0xfe000000 causes the address 0x3e000000 to be sup- + plied in the resultant VERSAbus read/write cycle. + + On the Tahoe, the base address for the per-process data of the current + process is virtual address 0xbffff000. + +FFIILLEESS + /dev/mem + /dev/kmem + /dev/vmm + +HHIISSTTOORRYY + The mmeemm, kkmmeemm files appeared in Version 6 AT&T UNIX. The file vvmmeemm ap- + peared in 4.3BSD-Tahoe. + +BBUUGGSS + Memory files are accessed one byte at a time, an inappropiate method for + some device registers. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/lp.0 b/usr/share/man/cat4/tahoe/lp.0 new file mode 100644 index 0000000000..966c8d8daf --- /dev/null +++ b/usr/share/man/cat4/tahoe/lp.0 @@ -0,0 +1,21 @@ +LP(4) BSD Programmer's Manual (Tahoe Architecture) LP(4) + +NNAAMMEE + llpp - line printer + +SSYYNNOOPPSSIISS + device lp on the VIOC-P + +DDEESSCCRRIIPPTTIIOONN + The llpp driver provides an interface to 4 serial printer lines. + +FFIILLEESS + /dev/lp + +SSEEEE AALLSSOO + lpr(1), vioc(4) + +HHIISSTTOORRYY + The llpp driver appeared in 4.3BSD-Tahoe. + +4.3-Tahoe Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/mem.0 b/usr/share/man/cat4/tahoe/mem.0 new file mode 100644 index 0000000000..3b68d51855 --- /dev/null +++ b/usr/share/man/cat4/tahoe/mem.0 @@ -0,0 +1,50 @@ +MEM(4) BSD Programmer's Manual (Tahoe Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm, vvmmeemm - main memory + +DDEESSCCRRIIPPTTIIOONN + The special file //ddeevv//mmeemm is an interface to the physical memory of the + computer. Byte offsets in this file are interpreted as physical memory + addresses. Reading and writing this file is equivalent to reading and + writing memory itself. Only offsets within the bounds of //ddeevv//mmeemm are + allowed. + + Kernel virtual memory is accessed through the interface //ddeevv//kkmmeemm in the + same manner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently + mapped to memory are allowed. + + The file //ddeevv//vvmmeemm allows access to the mapped portion of the VERSAbus + I/O space. On the Tahoe the upper megabyte of the physical address space + is accessible through this file (0xfff00000 through 0xffffffff). Access- + es to the upper 64 kilobytes of the I/O space result in VERSAbus trans- + fers with a 16-bit address (the offset in this region) and a ``non- + privileged short I/O'' VERSAbus address modifier. Accesses to the re- + mainder of the mapped region, result in VERSAbus transfers with a 24-bit + address and a ``non-privileged standard'' VERSAbus address modifier. + This region is actually part of the region between 0xfeff0000 and + 0xffff0000 which generates VERSAbus transfers with a 24-bit address. Ac- + cesses to the remainder of the one gigabyte I/O space generate transfers + that utilize a 32-bit address with a ``non-privileged extended'' address + modifier. Any 32-bit address generated by a cpu access to this part of + the I/O space have the upper two bits zero; thus, for example, an access + to physical address 0xfe000000 causes the address 0x3e000000 to be sup- + plied in the resultant VERSAbus read/write cycle. + + On the Tahoe, the base address for the per-process data of the current + process is virtual address 0xbffff000. + +FFIILLEESS + /dev/mem + /dev/kmem + /dev/vmm + +HHIISSTTOORRYY + The mmeemm, kkmmeemm files appeared in Version 6 AT&T UNIX. The file vvmmeemm ap- + peared in 4.3BSD-Tahoe. + +BBUUGGSS + Memory files are accessed one byte at a time, an inappropiate method for + some device registers. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat4/tahoe/mtio.0 b/usr/share/man/cat4/tahoe/mtio.0 new file mode 100644 index 0000000000..efd44e1167 --- /dev/null +++ b/usr/share/man/cat4/tahoe/mtio.0 @@ -0,0 +1,138 @@ +MTIO(4) BSD Programmer's Manual MTIO(4) + +NNAAMMEE + mmttiioo - UNIX magtape interface + +DDEESSCCRRIIPPTTIIOONN + The special files named _/_d_e_v_/_c_y_0_s, _/_d_e_v_/_c_y_1_5_s are interfaces to the UNIX + magtape drivers. For the Tahoe, these interfaces may be on the VERSABUS + via a CIPHER tapemaster formatter cy(4). The files _c_y_0_s, _c_y_1_5_s are + read/written in 25 IPS, The density (1600 BPI or 3200 BPI) is selected by + a switch on the drive. The following table of device names applies to + any of the transport/controller pairs. + + _R_e_w_i_n_d _N_o_-_r_e_w_i_n_d _R_e_w_i_n_d _N_o_-_r_e_w_i_n_d + cy0s/rcy0s ncy0s/nrcy0s cy8s/rcy8s ncy8s/nrcy8s + cy1s/rcy1s ncy1s/nrcy1s cy9s/rcy9s ncy9s/nrcy9s + cy2s/rcy2s ncy2s/nrcy2s cy10s/rcy10s ncy10s/nrcy10s + cy3s/rcy3s ncy3s/nrcy3s cy11s/rcy11s ncy11s/nrcy11s + cy4s/rcy4s ncy4s/nrcy4s cy12s/rcy12s ncy12s/nrcy12s + cy5s/rcy5s ncy5s/nrcy5s cy13s/rcy13s ncy13s/nrcy13s + cy6s/rcy6s ncy6s/nrcy6s cy14s/rcy14s ncy14s/nrcy14s + cy7s/rcy7s ncy7s/nrcy7s cy15s/rcy15s ncy15s/nrcy15s + + The rewind devices automatically rewind when the last requested read, + write or seek has finished, or the end of the tape has been reached. The + letter `n' is usually prepended to the name of the no-rewind devices. + + For compatibility with customary UNIX tape device names ``_m_t_*'', the + [_n]_c_y_*_s files are linked to appropriate [_n]_m_t_* files. + + Unix tapes are written in multiples of 1024 byte block records. Two end- + of-file markers mark the end of a tape, and one end-of-file marker marks + the end of a tape file. If the tape is not to be rewound it is posi- + tioned with the head in between the two tape marks, where the next write + will over write the second end-of-file marker. + + All of the magtape devices may be manipulated with the mt(1) command. + + A number of other ioctl(2) operations are available on raw magnetic tape. + The following definitions are from <_s_y_s_/_m_t_i_o_._h>: + + /* + * Structures and definitions for mag tape io control commands + */ + + /* structure for MTIOCTOP - mag tape op command */ + struct mtop { + short mt_op; /* operations defined below */ + daddr_t mt_count; /* how many of them */ + }; + + /* operations */ + #define MTWEOF 0 /* write an end-of-file record */ + #define MTFSF 1 /* forward space file */ + #define MTBSF 2 /* backward space file */ + #define MTFSR 3 /* forward space record */ + #define MTBSR 4 /* backward space record */ + #define MTREW 5 /* rewind */ + #define MTOFFL 6 /* rewind and put the drive offline */ + #define MTNOP 7 /* no operation, sets status only */ + #define MTCACHE 8 /* enable controller cache */ + #define MTNOCACHE 9 /* disable controller cache */ + + /* structure for MTIOCGET - mag tape get status command */ + + struct mtget { + short mt_type; /* type of magtape device */ + /* the following two registers are grossly device dependent */ + short mt_dsreg; /* ``drive status'' register */ + short mt_erreg; /* ``error'' register */ + /* end device-dependent registers */ + short mt_resid; /* residual count */ + /* the following two are not yet implemented */ + daddr_t mt_fileno; /* file number of current position */ + daddr_t mt_blkno; /* block number of current position */ + /* end not yet implemented */ + }; + + /* + * Constants for mt_type byte. These are the same + * for controllers compatible with the types listed. + */ + #define MT_ISTS 0x01 /* TS-11 */ + #define MT_ISHT 0x02 /* TM03 Massbus: TE16, TU45, TU77 */ + #define MT_ISTM 0x03 /* TM11/TE10 Unibus */ + #define MT_ISMT 0x04 /* TM78/TU78 Massbus */ + #define MT_ISUT 0x05 /* SI TU-45 emulation on Unibus */ + #define MT_ISCPC 0x06 /* SUN */ + #define MT_ISAR 0x07 /* SUN */ + #define MT_ISTMSCP 0x08 /* DEC TMSCP protocol (TU81, TK50) */ + #define MT_ISCY 0x09 /* CCI Cipher */ + #define MT_ISCT 0x0a /* HP 1/4 tape */ + #define MT_ISFHP 0x0b /* HP 7980 1/2 tape */ + #define MT_ISEXABYTE 0x0c /* Exabyte */ + #define MT_ISEXA8200 0x0c /* Exabyte EXB-8200 */ + #define MT_ISEXA8500 0x0d /* Exabyte EXB-8500 */ + #define MT_ISVIPER1 0x0e /* Archive Viper-150 */ + #define MT_ISPYTHON 0x0f /* Archive Python (DAT) */ + #define MT_ISHPDAT 0x10 /* HP 35450A DAT drive */ + + /* mag tape io control commands */ + #define MTIOCTOP _IOW('m', 1, struct mtop) /* do a mag tape op */ + #define MTIOCGET _IOR('m', 2, struct mtget) /* get tape status */ + #define MTIOCIEOT _IO('m', 3) /* ignore EOT error */ + #define MTIOCEEOT _IO('m', 4) /* enable EOT error */ + + #ifndef KERNEL + #define DEFTAPE "/dev/rmt12" + #endif + + #ifdef KERNEL + /* + * minor device number + */ + + #define T_UNIT 003 /* unit selection */ + #define T_NOREWIND 004 /* no rewind on close */ + #define T_DENSEL 030 /* density select */ + #define T_800BPI 000 /* select 800 bpi */ + #define T_1600BPI 010 /* select 1600 bpi */ + #define T_6250BPI 020 /* select 6250 bpi */ + #define T_BADBPI 030 /* undefined selection */ + #endif + +FFIILLEESS + /dev/cy?, + /dev/rcy? Rewind devices. + /dev/ncy?, + /dev/nrcy? No-rewind devices. + /dev/[n]mt?, + + /dev/[n]rmt? + Linked device names. + +SSEEEE AALLSSOO + mt(1), tar(1), cy(4) + +4.4BSD June 5, 1993 3 diff --git a/usr/share/man/cat4/tahoe/vd.0 b/usr/share/man/cat4/tahoe/vd.0 new file mode 100644 index 0000000000..5e5d89a3c9 --- /dev/null +++ b/usr/share/man/cat4/tahoe/vd.0 @@ -0,0 +1,141 @@ +VD(4) BSD Programmer's Manual (Tahoe Architecture) VD(4) + +NNAAMMEE + vvdd - VERSAbus storage module controller/drives + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr vvdd00 aatt vvbbaa?? ccssrr 00xxffffffff22000000 vveeccttoorr vvddiinnttrr + ddiisskk ddkk00 aatt vvdd00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + This is a generic VERSAbus storage module disk driver for the Computer + Consoles SMD (VDDC) and SMD-E disk controllers. + + The vvdd driver is a fairly typical block I/O device, except raw block I/O + counts must be a multiple of 1024 bytes, whether the actual sector size + is 512 or 1024 bytes. Likewise, seek calls should specify a multiple of + 1024 bytes. See physio(4). + + The first sector of each disk contains a disk label containing geometry + information and partition layouts (see disklabel(5)). This sector is + normally write-protected, and disk-to-disk copies should avoid copying + this sector. The label may be updated with disklabel(8), which can also + be used to write-enable and write-disable the sector. + +DDIISSKK SSUUPPPPOORRTT + During autoconfiguration, as well as when a drive is opened after all + partitions are closed, the first sector of the drive is examined for a + disk label. If a label is found, the geometry of the drive and the par- + tition tables are taken from it. If no label is found, The driver checks + for a disk label on sector 0 of each drive during autoconfiguration. If + no label is found, the driver tries to access the last track on each + drive to determine the type of drive attached. The driver has default + partition tables for seven different drives: CDC FSD (160 MB), CDC 9766 + (300 MB), CDC XFSD (340 MB), CDC 515 MB, Fujitsu 360 MB, Fujitsu Eagle + (440 MB), and Maxtor 340 MB. If the drive is not recognized, a single + small partition is created to allow a label to be written. + + The partition tables in the disk label and the _d_i_s_k_t_a_b file specify par- + tition offsets and sizes in sectors, which are 512 bytes on SMD drives + and 1024 bytes on 5 1/4" ESDI drives. By convention, the ?a partition is + normally used for the root file system or other small file system, and + the ?b partition is used as a paging area. The ?c partition maps the + rest of the pack, except the last 5 cylinders which are reserved for bad + sector forwarding, and diagnostic use. + +FFIILLEESS + /dev/dk[0-7][a-f] dk block files + /dev/rdk[0-7][a-f] dk raw files + +DDIIAAGGNNOOSSTTIICCSS + vvdd%%dd:: %%ss ccoonnttrroolllleerr.. This message is printed during autoconfiguration to + identify the type of controller, either VDDC or SMDE. + + vvdd%%dd:: iinniitt eerrrroorr.. During autoconfiguration the controller failed to re- + spond to an initialize command. + + vvdd%%dd:: ddiiaaggnnoossttiicc eerrrroorr.. During autoconfiguration the controller failed + to respond to a diagnostic command. + + ddkk%%dd:: uunnkknnoowwnn ddrriivvee ttyyppee.. The system was unable to identify the speci- + fied drive as one of the drives described above; the drive will not be + configured. + + + + + vvdd%%dd:: ddrriivvee %%dd:: ccoonnffiigg eerrrroorr.. The system encountered a hard error when + it tried to configure a drive during autoconfiguration. + + vvdd%%dd:: ssttaarrttiinngg ddrriivveess,, wwaaiitt ...... .. This message indicates the system is + about to tell the controller to ``start'' the drives attached to it. + + ddkk%%dd:: %%ss <>.. For each drive recognized during + autoconfiguration the system prints a message of this form. The drive + type is displayed as well as the geometry: tracks/cylinder, cylinders, + and sectors/track. + + vvdd%%dd:: lloosstt iinntteerrrruupptt.. The system failed to receive an interrupt from the + controller after submitting a request. The system attempts to abort the + current request and simulate an interrupt to unwedge the controller. + During processing of the simulated interrupt, a controller error will be + reported as described below. + + vvdd%%dd:: ssttrraayy iinntteerrrruupptt.. The system received an unexpected interrupt; it + is ignored. + + ddkk%%dd%%cc:: wwrriittee lloocckkeedd.. An attempt was made to write to a drive that is + physically write-protected. + + ddkk%%dd%%cc:: ccoonnttrroolllleerr eerrrr %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((ddkk%%dd bbnn %%dd ccnn %%dd ttnn %%dd + ssnn %%dd)) ssttaattuuss %%bb eeccooddee %%xx;; rreesseettttiinngg ccoonnttrroolllleerr...... rreettrryyiinngg.. + + ddkk%%dd%%cc:: ddrriivvee eerrrr %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((ddkk%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn %%dd)) + ssttaattuuss %%bb eeccooddee %%xx;; rreesseettttiinngg ddrriivvee...... rreettrryyiinngg.. An attempted transfer + resulted in a controller or drive error. The controller or drive is re- + set, and the transfer is attempted a second time. + + ddkk%%dd%%cc:: hhaarrdd eerrrroorr %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((ddkk%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn + %%dd)) ssttaattuuss %%bb eeccooddee %%xx.. An unrecoverable error was encountered. The + filesystem block number reported is a logical sector number on the indi- + cated partition; it is expressed using 1024-byte sectors. If the trans- + fer involved multiple blocks, the block range is printed as well. The + parenthesized fields list the actual disk sector number relative to the + beginning of the drive (in 512- or 1024-byte blocks, as appropriate), as + well as the cylinder, track and sector number of the block. The error + status field of the device control block is printed in hexadecimal fol- + lowed by a symbolic description. If this is an SMDE controller, the er- + ror code is also displayed. + + ddkk%%dd%%cc:: ssoofftt eerrrroorr %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((ddkk%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn + %%dd)) ssttaattuuss %%bb eeccooddee %%xx.. A recoverable error was detected by the con- + troller. The fields are interpreted in the same way as those for hard + errors. + + ddkk%%dd%%cc:: ssoofftt eecccc %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((ddkk%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn + %%dd)).. A recoverable ECC error was detected and corrected by the con- + troller during the indicated transfer. + + vvdd%%dd:: ddrriivvee %%dd:: ccoouullddnn''tt rreesseett.. The system was unable to reconfigure a + drive during a controller reset. + + vvdd%%dd:: ccoonnttrroolllleerr ttiimmeeoouutt.. The controller failed to complete an operation + within a reasonable time. This message is usually followed by another + message indicating what operation timed out; e.g. ``during config'' for a + configuration command. + +SSEEEE AALLSSOO + disklabel(5), disklabel(8) + +HHIISSTTOORRYY + The vvdd driver appeared in 4.3BSD-Tahoe. + +BBUUGGSS + Writes scribble on the tail of incomplete blocks. + + The system should use real disk sector numbers internally, instead of as- + suming 1024-byte sectors; errors should report filesystem block numbers + using the actual sector size. Raw I/O should be permitted on any sector + boundary. + +4.4BSD June 5, 1993 3 diff --git a/usr/share/man/cat4/tahoe/vx.0 b/usr/share/man/cat4/tahoe/vx.0 new file mode 100644 index 0000000000..b22da6aeea --- /dev/null +++ b/usr/share/man/cat4/tahoe/vx.0 @@ -0,0 +1,82 @@ +VX(4) BSD Programmer's Manual (Tahoe Architecture) VX(4) + +NNAAMMEE + vvxx - communications multiplexor + +SSYYNNOOPPSSIISS + ddeevviiccee vvxx00 aatt vvbbaa?? ccssrr 00xxffffffee00000000 vveeccttoorr vvaacckkiinntt vvccmmddrrsspp vvuunnssooll + +DDEESSCCRRIIPPTTIIOONN + A VIOC-X provides 16 communication lines with partial modem control, ade- + quate for UNIX dialup use. and may be set to run at any of 16 speeds; + see tty(4). + +FFIILLEESS + /dev/tty[0-9][0-9] + /dev/ttyd[0-9a-f] dialups + +DDIIAAGGNNOOSSTTIICCSS + vvxx%%dd:: vvcc pprroocc eerrrr,, uussttaatt %%xx.. + + vvxx%%dd:: vvcc uuqquuaall eerrrr,, uuqquuaall %%xx.. + + vvxx%%dd:: %%dd eexxcceeeeddss ssiilloo ssiizzee.. + + vvxx%%dd:: rreecceeiivveerr oovveerrrruunn.. + + VVIIOOCC--BBOOPP nnoo.. %%dd aatt %%xx.. The system identified a vioc supporting the bit + oriented protocol. The number _%_d is the board number assigned by the + system while the address _%_x is the address of the command control block + for the vioc. + + vvxx%%dd:: uunnkknnoowwnn ttyyppee %%xx.. The system encountered a vioc of unknown type + during autoconfiguration. + + vvxx%%dd:: ddiiddnn''tt rreessppoonndd ttoo LLIIDDEENNTT.. The device did not respond to the con- + figuration command that sets the interrupt vectors and port configura- + tion. + + vvxx%%dd:: %%ss%%ss,, ppoorrttss %%dd--%%dd.. This is informatory message printed during au- + toconfiguration indicating the type of hardware present the port configu- + ration. + + vvxx%%dd:: nnoo bbuuffffeerrss.. All the command buffers were in use; this indicates + the device is constipated for some reason. + + vvxx%%dd:: sseettqq oovveerrffllooww.. An attempt to append a command to an existing com- + mand buffer failed because the buffer was full or the hardware doesn't + support this facility. + + vvxx%%dd:: ccmmdd qq oovveerrffllooww.. An attempt to place a new command on the command + queue failed because it was full. The device is either overloaded or + hung up for some reason. If this happens, the system tries to reset the + device to unwedge it. + + vvxx%%dd IINNTTRR EERRRR ttyyppee %%xx vv__ddccdd %%xx.. An error was returned by the device in + response to some command. The command identifier and data carrier detect + mask are printed followed by the contents of the command buffer in error. + + vvxx%%dd:: vvccmmddrrsspp iinntteerrrruupptt.. A command response interrupt was received from + a bop (bit oriented protocol) vioc. This should not happen. + + vvxx%%dd:: ccmmddrreesspp ddeebbuugg.. + + + + + vvxx%%dd:: vvuunnssooll ffrroomm BOP. An unsolicited interrupt was received from a bop + vioc. This should not happen. + + vvxx%%dd:: iinntteerrrruupptt qq oovveerrffllooww.. The queue of pending interrupts to be deliv- + ered to the vioc is full. This is probably due to the vioc being wedged. + The system resets the vioc if this occurs. + + vvxx%%dd:: rreesseett........ The system attempted to reset the vioc. + +SSEEEE AALLSSOO + tty(4) + +HHIISSTTOORRYY + The vvxx special file appeared in 4.3BSD-Tahoe. + +4.4BSD June 5, 1993 2 diff --git a/usr/share/man/cat4/tcp.0 b/usr/share/man/cat4/tcp.0 new file mode 100644 index 0000000000..65e0f10eff --- /dev/null +++ b/usr/share/man/cat4/tcp.0 @@ -0,0 +1,87 @@ +TCP(4) BSD Programmer's Manual TCP(4) + +NNAAMMEE + ttccpp - Internet Transmission Control Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___I_N_E_T, _S_O_C_K___S_T_R_E_A_M, _0); + +DDEESSCCRRIIPPTTIIOONN + The TCP protocol provides reliable, flow-controlled, two-way transmission + of data. It is a byte-stream protocol used to support the SOCK_STREAM + abstraction. TCP uses the standard Internet address format and, in addi- + tion, provides a per-host collection of ``port addresses''. Thus, each + address is composed of an Internet address specifying the host and net- + work, with a specific TCP port on the host identifying the peer entity. + + Sockets utilizing the tcp protocol are either ``active'' or ``passive''. + Active sockets initiate connections to passive sockets. By default TCP + sockets are created active; to create a passive socket the listen(2) sys- + tem call must be used after binding the socket with the bind(2) system + call. Only passive sockets may use the accept(2) call to accept incoming + connections. Only active sockets may use the connect(2) call to initiate + connections. + + Passive sockets may ``underspecify'' their location to match incoming + connection requests from multiple networks. This technique, termed + ``wildcard addressing'', allows a single server to provide service to + clients on multiple networks. To create a socket which listens on all + networks, the Internet address INADDR_ANY must be bound. The TCP port + may still be specified at this time; if the port is not specified the + system will assign one. Once a connection has been established the sock- + et's address is fixed by the peer entity's location. The address as- + signed the socket is the address associated with the network interface + through which packets are being transmitted and received. Normally this + address corresponds to the peer entity's network. + + TCP supports one socket option which is set with setsockopt(2) and tested + with getsockopt(2). Under most circumstances, TCP sends data when it is + presented; when outstanding data has not yet been acknowledged, it gath- + ers small amounts of output to be sent in a single packet once an ac- + knowledgement is received. For a small number of clients, such as window + systems that send a stream of mouse events which receive no replies, this + packetization may cause significant delays. Therefore, TCP provides a + boolean option, TCP_NODELAY (from <_n_e_t_i_n_e_t_/_t_c_p_._h>, to defeat this algo- + rithm. The option level for the setsockopt call is the protocol number + for TCP, available from getprotobyname(3). + + Options at the IP transport level may be used with TCP; see ip(4). In- + coming connection requests that are source-routed are noted, and the re- + verse source route is used in responding. + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [ETIMEDOUT] when a connection was dropped due to excessive retrans- + + missions; + + [ECONNRESET] when the remote peer forces the connection to be closed; + + [ECONNREFUSED] when the remote peer actively refuses connection estab- + lishment (usually because no process is listening to the + port); + + [EADDRINUSE] when an attempt is made to create a socket with a port + which has already been allocated; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + +SSEEEE AALLSSOO + getsockopt(2), socket(2), intro(4), inet(4), ip(4) + +HHIISSTTOORRYY + The ttccpp protocol stack appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/termios.0 b/usr/share/man/cat4/termios.0 new file mode 100644 index 0000000000..5e1857202a --- /dev/null +++ b/usr/share/man/cat4/termios.0 @@ -0,0 +1,699 @@ +TERMIOS(4) BSD Programmer's Manual TERMIOS(4) + +NNAAMMEE + tteerrmmiiooss - general terminal line discipline + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + This describes a general terminal line discipline that is supported on + tty asynchronous communication ports. + + OOppeenniinngg aa TTeerrmmiinnaall DDeevviiccee FFiillee + When a terminal file is opened, it normally causes the process to wait + until a connection is established. For most hardware, the presence of a + connection is indicated by the assertion of the hardware CARRIER line. If + the termios structure associated with the terminal file has the CLOCAL + flag set in the cflag, or if the O_NONBLOCK flag is set in the open(2) + call, then the open will succeed even without a connection being present. + In practice, applications seldom open these files; they are opened by + special programs, such as getty(2) or rlogind(2), and become an applica- + tion's standard input, output, and error files. + + JJoobb CCoonnttrrooll iinn aa NNuuttsshheellll + Every process is associated with a particular process group and session. + The grouping is hierarchical: every member of a particular process group + is a member of the same session. This structuring is used in managing + groups of related processes for purposes of _j_o_b _c_o_n_t_r_o_l; that is, the + ability from the keyboard (or from program control) to simultaneously + stop or restart a complex command (a command composed of one or more re- + lated processes). The grouping into process groups allows delivering of + signals that stop or start the group as a whole, along with arbitrating + which process group has access to the single controlling terminal. The + grouping at a higher layer into sessions is to restrict the job control + related signals and system calls to within processes resulting from a + particular instance of a "login". Typically, a session is created when a + user logs in, and the login terminal is setup to be the controlling ter- + minal; all processes spawned from that login shell are in the same ses- + sion, and inherit the controlling terminal. A job control shell operat- + ing interactively (that is, reading commands from a terminal) normally + groups related processes together by placing them into the same process + group. A set of processes in the same process group is collectively ref- + ered to as a "job". When the foreground process group of the terminal is + the same as the process group of a particular job, that job is said to be + in the "foreground". When the process group of the terminal is different + than the process group of a job (but is still the controlling terminal), + that job is said to be in the "background". Normally the shell reads a + command and starts the job that implements that command. If the command + is to be started in the foreground (typical), it sets the process group + of the terminal to the process group of the started job, waits for the + job to complete, and then sets the process group of the terminal back to + its own process group (it puts itself into the foreground). If the job + is to be started in the background (as denoted by the shell operator + "&"), it never changes the process group of the terminal and doesn't wait + for the job to complete (that is, it immediately attempts to read the + next command). If the job is started in the foreground, the user may + type a key (ususally `^Z') which generates the terminal stop signal + (SIGTSTP) and has the affect of stopping the entire job. The shell will + notice that the job stopped, and will resume running after placing itself + in the foreground. The shell also has commands for placing stopped jobs + in the background, and for placing stopped or background jobs into to the + foreground. + + OOrrpphhaanneedd PPrroocceessss GGrroouuppss + An orphaned process group is a process group that has no process whose + parent is in a different process group, yet is in the same session. Con- + ceptually it means a process group that doesn't have a parent that could + do anything if it were to be stopped. For example, the initial login + shell is typically in an orphaned process group. Orphaned process groups + are immune to keyboard generated stop signals and job control signals re- + sulting from reads or writes to the controlling terminal. + + TThhee CCoonnttrroolllliinngg TTeerrmmiinnaall + A terminal may belong to a process as its controlling terminal. Each + process of a session that has a controlling terminal has the same con- + trolling terminal. A terminal may be the controlling terminal for at + most one session. The controlling terminal for a session is allocated by + the session leader by issuing the TIOCSCTTY ioctl. A controlling termi- + nal is never acquired by mereley opening a terminal device file. When a + controlling terminal becomes associated with a session, its foreground + process group is set to the process group of the session leader. + + The controlling terminal is inherited by a child process during a fork(2) + function call. A process relinquishes its controlling terminal when it + creates a new session with the function; other processes remaining in the + old session that had this terminal as their controlling terminal continue + to have it. A process does not relinquish its controlling terminal sim- + ply by closing all of its file descriptors associated with the control- + ling terminal if other processes continue to have it open. + + When a controlling process terminates, the controlling terminal is disas- + sociated from the current session, allowing it to be acquired by a new + session leader. Subsequent access to the terminal by other processes in + the earlier session will be denied, with attempts to access the terminal + treated as if modem disconnect had been sensed. + + TTeerrmmiinnaall AAcccceessss CCoonnttrrooll + If a process is in the foreground process group of its controlling termi- + nal, read operations are allowed. Any attempts by a process in a back- + ground process group to read from its controlling terminal causes a + SIGTTIN signal to be sent to the process's group unless one of the fol- + lowing special cases apply: If the reading process is ignoring or block- + ing the SIGTTIN signal, or if the process group of the process is or- + phaned, the read(2) returns -1 with _e_r_r_n_o _s_e_t _t_o EIO and no signal is + sent. The default action of the SIGTTIN signal is to stop the process to + which it is sent. + + If a process is in the foreground process group of its controlling termi- + nal, write operations are allowed. Attempts by a process in a background + process group to write to its controlling terminal will cause the process + group to be sent a SIGTTOU signal unless one of the following special + cases apply: If TOSTOP is not set, or if TOSTOP is set and the process + is ignoring or blocking the SIGTTOU signal, the process is allowed to + write to the terminal and the SIGTTOU signal is not sent. If TOSTOP is + set, and the process group of the writing process is orphaned, and the + writing process is not ignoring or blocking SIGTTOU, the write returns -1 + with errno set to EIO and no signal is sent. + + Certain calls that set terminal parameters are treated in the same fash- + ion as write, except that TOSTOP is ignored; that is, the effect is iden- + tical to that of terminal writes when TOSTOP is set. + + IInnppuutt PPrroocceessssiinngg aanndd RReeaaddiinngg DDaattaa + A terminal device associated with a terminal device file may operate in + full-duplex mode, so that data may arrive even while output is occurring. + Each terminal device file has associated with it an input queue, into + which incoming data is stored by the system before being read by a pro- + cess. The system imposes a limit, {MAX_INPUT}, on the number of bytes + that may be stored in the input queue. The behavior of the system when + this limit is exceeded depends on the setting of the IMAXBEL flag in the + termios _c___i_f_l_a_g. If this flag is set, the terminal is a sent an ASCII BEL + character each time a character is recieved while the input queue is + full. Otherwise, the input queue is flushed upon receiving the charac- + ter. + + Two general kinds of input processing are available, determined by + whether the terminal device file is in canonical mode or noncanonical + mode. Additionally, input characters are processed according to the + _c___i_f_l_a_g and _c___l_f_l_a_g fields. Such processing can include echoing, which + in general means transmitting input characters immediately back to the + terminal when they are received from the terminal. This is useful for + terminals that can operate in full-duplex mode. + + The manner in which data is provided to a process reading from a terminal + device file is dependent on whether the terminal device file is in canon- + ical or noncanonical mode. + + Another dependency is whether the O_NONBLOCK flag is set by open() or + fcntl(). If the O_NONBLOCK flag is clear, then the read request is + blocked until data is available or a signal has been received. If the + O_NONBLOCK flag is set, then the read request is completed, without + blocking, in one of three ways: + + 1. If there is enough data available to satisfy the entire re- + quest, and the read completes successfully the number of bytes + read is returned. + + 2. If there is not enough data available to satisfy the entire + request, and the read completes successfully, having read as + much data as possible, the number of bytes read is returned. + + 3. If there is no data available, the read returns -1, with errno + set to + + When data is available depends on whether the input processing mode is + canonical or noncanonical. + + CCaannoonniiccaall MMooddee IInnppuutt PPrroocceessssiinngg + In canonical mode input processing, terminal input is processed in units + of lines. A line is delimited by a newline `\n' character, an end-of- + file (EOF) character, or an end-of-line (EOL) character. See the _S_p_e_c_i_a_l + _C_h_a_r_a_c_t_e_r_s section for more information on EOF and EOL. This means that a + read request will not return until an entire line has been typed, or a + signal has been received. Also, no matter how many bytes are requested + in the read call, at most one line is returned. It is not, however, nec- + essary to read a whole line at once; any number of bytes, even one, may + be requested in a read without losing information. + + {MAX_CANON} is a limit on the number of bytes in a line. The behavior of + the system when this limit is exceeded is the same as when the input + queue limit {MAX_INPUT}, is exceeded. + + Erase and kill processing occur when either of two special characters, + the ERASE and KILL characters (see the _S_p_e_c_i_a_l _C_h_a_r_a_c_t_e_r_s _s_e_c_t_i_o_n), is + received. This processing affects data in the input queue that has not + yet been delimited by a newline NL, EOF, or EOL character. This un- + delimited data makes up the current line. The ERASE character deletes + the last character in the current line, if there is any. The KILL char- + acter deletes all data in the current line, if there is any. The ERASE + and KILL characters have no effect if there is no data in the current + line. The ERASE and KILL characters themselves are not placed in the in- + put queue. + + NNoonnccaannoonniiccaall MMooddee IInnppuutt PPrroocceessssiinngg + In noncanonical mode input processing, input bytes are not assembled into + lines, and erase and kill processing does not occur. The values of the + MIN and TIME members of the _c___c_c array are used to determine how to pro- + cess the bytes received. + + MIN represents the minimum number of bytes that should be received when + the read function successfully returns. TIME is a timer of 0.1 second + granularity that is used to time out bursty and short term data transmis- + sions. If MIN is greater than { MAX_INPUT}, the response to the request + is undefined. The four possible values for MIN and TIME and their inter- + actions are described below. + + CCaassee AA:: MMIINN >> 00,, TTIIMMEE >> 00 + In this case TIME serves as an inter-byte timer and is activated after + the first byte is received. Since it is an inter-byte timer, it is reset + after a byte is received. The interaction between MIN and TIME is as + follows: as soon as one byte is received, the inter-byte timer is start- + ed. If MIN bytes are received before the inter-byte timer expires (re- + member that the timer is reset upon receipt of each byte), the read is + satisfied. If the timer expires before MIN bytes are received, the char- + acters received to that point are returned to the user. Note that if + TIME expires at least one byte is returned because the timer would not + have been enabled unless a byte was received. In this case (MIN > 0, + TIME > 0) the read blocks until the MIN and TIME mechanisms are activated + by the receipt of the first byte, or a signal is received. If data is in + the buffer at the time of the read(), the result is as if data had been + received immediately after the read(). + + CCaassee BB:: MMIINN >> 00,, TTIIMMEE == 00 + In this case, since the value of TIME is zero, the timer plays no role + and only MIN is significant. A pending read is not satisfied until MIN + bytes are received (i.e., the pending read blocks until MIN bytes are re- + ceived), or a signal is received. A program that uses this case to read + record-based terminal I/O may block indefinitely in the read operation. + + CCaassee CC:: MMIINN == 00,, TTIIMMEE >> 00 + In this case, since MIN = 0, TIME no longer represents an inter-byte + timer. It now serves as a read timer that is activated as soon as the + read function is processed. A read is satisfied as soon as a single byte + is received or the read timer expires. Note that in this case if the + timer expires, no bytes are returned. If the timer does not expire, the + only way the read can be satisfied is if a byte is received. In this + case the read will not block indefinitely waiting for a byte; if no byte + is received within TIME*0.1 seconds after the read is initiated, the read + returns a value of zero, having read no data. If data is in the buffer + at the time of the read, the timer is started as if data had been re- + ceived immediately after the read. + + CCaassee DD:: MMIINN == 00,, TTIIMMEE == 00 + The minimum of either the number of bytes requested or the number of + bytes currently available is returned without waiting for more bytes to + be input. If no characters are available, read returns a value of zero, + having read no data. + + WWrriittiinngg DDaattaa aanndd OOuuttppuutt PPrroocceessssiinngg + When a process writes one or more bytes to a terminal device file, they + are processed according to the _c___o_f_l_a_g field (see the _O_u_t_p_u_t _M_o_d_e_s sec- + tion). The implementation may provide a buffering mechanism; as such, + when a call to write() completes, all of the bytes written have been + scheduled for transmission to the device, but the transmission will not + necessarily have completed. + + SSppeecciiaall CChhaarraacctteerrss + Certain characters have special functions on input or output or both. + These functions are summarized as follows: + + INTR Special character on input and is recognized if the ISIG flag + (see the _L_o_c_a_l _M_o_d_e_s section) is enabled. Generates a SIGINT + signal which is sent to all processes in the foreground process + group for which the terminal is the controlling terminal. If + ISIG is set, the INTR character is discarded when processed. + + QUIT Special character on input and is recognized if the ISIG flag is + enabled. Generates a SIGQUIT signal which is sent to all pro- + cesses in the foreground process group for which the terminal is + the controlling terminal. If ISIG is set, the QUIT character is + discarded when processed. + + ERASE Special character on input and is recognized if the ICANON flag + is set. Erases the last character in the current line; see + _C_a_n_o_n_i_c_a_l _M_o_d_e _I_n_p_u_t _P_r_o_c_e_s_s_i_n_g. It does not erase beyond the + start of a line, as delimited by an NL, EOF, or EOL character. + If ICANON is set, the ERASE character is discarded when pro- + cessed. + + KILL Special character on input and is recognized if the ICANON flag + is set. Deletes the entire line, as delimited by a NL, EOF, or + EOL character. If ICANON is set, the KILL character is discarded + when processed. + + EOF Special character on input and is recognized if the ICANON flag + is set. When received, all the bytes waiting to be read are im- + mediately passed to the process, without waiting for a newline, + and the EOF is discarded. Thus, if there are no bytes waiting + (that is, the EOF occurred at the beginning of a line), a byte + count of zero is returned from the read(), representing an end- + of-file indication. If ICANON is set, the EOF character is dis- + carded when processed. NL Special character on input and is rec- + ognized if the ICANON flag is set. It is the line delimiter + `\n'. + + EOL Special character on input and is recognized if the ICANON flag + is set. Is an additional line delimiter, like NL. + + SUSP If the ISIG flag is enabled, receipt of the SUSP character causes + a SIGTSTP signal to be sent to all processes in the foreground + process group for which the terminal is the controlling terminal, + and the SUSP character is discarded when processed. + + STOP Special character on both input and output and is recognized if + the IXON (output control) or IXOFF (input control) flag is set. + Can be used to temporarily suspend output. It is useful with + fast terminals to prevent output from disappearing before it can + be read. If IXON is set, the STOP character is discarded when + processed. + + START Special character on both input and output and is recognized if + the IXON (output control) or IXOFF (input control) flag is set. + Can be used to resume output that has been suspended by a STOP + character. If IXON is set, the START character is discarded when + processed. CR Special character on input and is recognized if + the ICANON flag is set; it is the `\r', as denoted in the C Stan- + dard {2}. When ICANON and ICRNL are set and IGNCR is not set, + this character is translated into a NL, and has the same effect + as a NL character. + + The following special characters are extensions defined by this system + and are not a part of 1003.1 termios. + + EOL2 Secondary EOL character. Same function as EOL. + + WERASE Special character on input and is recognized if the ICANON flag + is set. Erases the last word in the current line according to + one of two algorithms. If the ALTWERASE flag is not set, first + any preceding whitespace is erased, and then the maximal sequence + of non-whitespace characters. If ALTWERASE is set, first any + preceding whitespace is erased, and then the maximal sequence of + alphabetic/underscores or non alphabetic/underscores. As a spe- + cial case in this second algorithm, the first previous non- + whitespace character is skippied in determining whether the pre- + ceding word is a sequence of alphabetic/undercores. This sounds + confusing but turns out to be quite practical. + + REPRINT + Special character on input and is recognized if the ICANON flag + is set. Causes the current input edit line to be retyped. + + DSUSP Has similar actions to the SUSP character, except that the + SIGTSTP signal is delivered when one of the processes in the + foreground process group issues a read() to the controlling ter- + minal. + + LNEXT Special character on input and is recognized if the IEXTEN flag + is set. Receipt of this character causes the next character to + be taken literally. + + DISCARD + Special character on input and is recognized if the IEXTEN flag + is set. Receipt of this character toggles the flushing of termi- + nal output. + + STATUS Special character on input and is recognized if the ICANON flag + is set. Receipt of this character causes a SIGINFO signal to be + sent to the forground process group of the terminal. Also, if + the NOKERNINFO flag is not set, it causes the kernel to write a + status message to the terminal that displays the current load av- + erage, the name of the command in the foreground, its process ID, + the symbolic wait channel, the number of user and system seconds + used, the percentage of cpu the process is getting, and the resi- + dent set size of the process. + + The NL and CR characters cannot be changed. The values for all the re- + maining characters can be set and are described later in the document un- + der Special Control Characters. + + Special character functions associated with changeable special control + characters can be disabled individually by setting their value to + {_POSIX_VDISABLE}; see _S_p_e_c_i_a_l _C_o_n_t_r_o_l _C_h_a_r_a_c_t_e_r_s. + + If two or more special characters have the same value, the function per- + formed when that character is received is undefined. + + MMooddeemm DDiissccoonnnneecctt + If a modem disconnect is detected by the terminal interface for a con- + trolling terminal, and if CLOCAL is not set in the _c___c_f_l_a_g field for the + terminal, the SIGHUP signal is sent to the controlling process associated + with the terminal. Unless other arrangements have been made, this causes + the controlling process to terminate. Any subsequent call to the read() + function return the value zero, indicating end of file. Thus, processes + that read a terminal file and test for end-of-file can terminate appro- + priately after a disconnect. Any subsequent write() to the terminal de- + vice returns -1, with _e_r_r_n_o set to EIO, until the device is closed. + +GGeenneerraall TTeerrmmiinnaall IInntteerrffaaccee + CClloossiinngg aa TTeerrmmiinnaall DDeevviiccee FFiillee + The last process to close a terminal device file causes any output to be + sent to the device and any input to be discarded. Then, if HUPCL is set + in the control modes, and the communications port supports a disconnect + function, the terminal device performs a disconnect. + + + PPaarraammeetteerrss TThhaatt CCaann BBee SSeett + Routines that need to control certain terminal I/O characteristics do so + by using the termios structure as defined in the header <_t_e_r_m_i_o_s_._h>. This + structure contains minimally four scalar elements of bit flags and one + array of special characters. The scalar flag elements are named: + _c___i_f_l_a_g, _c___o_f_l_a_g, _c___c_f_l_a_g, and _c___l_f_l_a_g. _T_h_e _c_h_a_r_a_c_t_e_r _a_r_r_a_y is named + _c___c_c, and its maximum index is NCCS. + + IInnppuutt MMooddeess + Values of the _c___i_f_l_a_g field describe the basic terminal input control, + and are composed of following masks: + + IGNBRK /* ignore BREAK condition */ + BRKINT /* map BREAK to SIGINTR */ + IGNPAR /* ignore (discard) parity errors */ + PARMRK /* mark parity and framing errors */ + INPCK /* enable checking of parity errors */ + ISTRIP /* strip 8th bit off chars */ + INLCR /* map NL into CR */ + IGNCR /* ignore CR */ + ICRNL /* map CR to NL (ala CRMOD) */ + IXON /* enable output flow control */ + IXOFF /* enable input flow control */ + IXANY /* any char will restart after stop */ + IMAXBEL /* ring bell on input queue full */ + + In the context of asynchronous serial data transmission, a break condi- + tion is defined as a sequence of zero-valued bits that continues for more + than the time to send one byte. The entire sequence of zero-valued bits + is interpreted as a single break condition, even if it continues for a + time equivalent to more than one byte. In contexts other than asyn- + chronous serial data transmission the definition of a break condition is + implementation defined. + + If IGNBRK is set, a break condition detected on input is ignored, that + is, not put on the input queue and therefore not read by any process. If + IGNBRK is not set and BRKINT is set, the break condition flushes the in- + put and output queues and if the terminal is the controlling terminal of + a foreground process group, the break condition generates a single SIGINT + signal to that foreground process group. If neither IGNBRK nor BRKINT is + set, a break condition is read as a single `\0', or if PARMRK is set, as + `\377', `\0', `\0'. + + If IGNPAR is set, a byte with a framing or parity error (other than + break) is ignored. + + If PARMRK is set, and IGNPAR is not set, a byte with a framing or parity + error (other than break) is given to the application as the three- char- + acter sequence `\377', `\0', X, where `\377', `\0' is a two-character + flag preceding each sequence and X is the data of the character received + in error. To avoid ambiguity in this case, if ISTRIP is not set, a valid + character of `\377' is given to the application as `\377', `\377'. If + neither PARMRK nor IGNPAR is set, a framing or parity error (other than + break) is given to the application as a single character `\0'. + + If INPCK is set, input parity checking is enabled. If INPCK is not set, + input parity checking is disabled, allowing output parity generation + without input parity errors. Note that whether input parity checking is + enabled or disabled is independent of whether parity detection is enabled + or disabled (see _C_o_n_t_r_o_l _M_o_d_e_s). If parity detection is enabled but input + parity checking is disabled, the hardware to which the terminal is con- + nected recognizes the parity bit, but the terminal special file does not + check whether this bit is set correctly or not. + + If ISTRIP is set, valid input bytes are first stripped to seven bits, + otherwise all eight bits are processed. + + If INLCR is set, a received NL character is translated into a CR charac- + ter. If IGNCR is set, a received CR character is ignored (not read). If + IGNCR is not set and ICRNL is set, a received CR character is translated + into a NL character. + + If IXON is set, start/stop output control is enabled. A received STOP + character suspends output and a received START character restarts output. + If IXANY is also set, then any character may restart output. When IXON is + set, START and STOP characters are not read, but merely perform flow con- + trol functions. When IXON is not set, the START and STOP characters are + read. + + If IXOFF is set, start/stop input control is enabled. The system shall + transmit one or more STOP characters, which are intended to cause the + terminal device to stop transmitting data, as needed to prevent the input + queue from overflowing and causing the undefined behavior described in + _I_n_p_u_t _P_r_o_c_e_s_s_i_n_g _a_n_d _R_e_a_d_i_n_g _D_a_t_a, and shall transmit one or more START + characters, which are intended to cause the terminal device to resume + transmitting data, as soon as the device can continue transmitting data + without risk of overflowing the input queue. The precise conditions un- + der which STOP and START characters are transmitted are implementation + defined. + + If IMAXBEL is set and the input queue is full, subsequent input shall + causes an ASCII BEL character to be transmitted to the the output queue. + + The initial input control value after open() is implementation defined. + + OOuuttppuutt MMooddeess + Values of the _c___o_f_l_a_g field describe the basic terminal output control, + and are composed of the following masks: + + OPOST /* enable following output processing */ + ONLCR /* map NL to CR-NL (ala CRMOD) */ + OXTABS /* expand tabs to spaces */ + ONOEOT /* discard EOT's `^D' on output) */ + + If OPOST is set, the remaining flag masks are interpreted as follows; + otherwise characters are transmitted without change. + + If ONLCR is set, newlines are translated to carriage return, linefeeds. + + If OXTABS is set, tabs are expanded to the appropiate number of spaces + (assuming 8 column tab stops). + + If ONOEOT is set, ASCII EOT NS 's are discarded on output. + + CCoonnttrrooll MMooddeess + Values of the _c___c_f_l_a_g field describe the basic terminal hardware control, + and are composed of the the following masks. Not all values specified + are supported by all hardware. + + CSIZE /* character size mask */ + CS5 /* 5 bits (pseudo) */ + CS6 /* 6 bits */ + CS7 /* 7 bits */ + CS8 /* 8 bits */ + CSTOPB /* send 2 stop bits */ + CREAD /* enable receiver */ + PARENB /* parity enable */ + PARODD /* odd parity, else even */ + HUPCL /* hang up on last close */ + CLOCAL /* ignore modem status lines */ + + + CCTS_OFLOW /* CTS flow control of output */ + CRTSCTS /* same as CCTS_OFLOW */ + CRTS_IFLOW /* RTS flow control of input */ + MDMBUF /* flow control output via Carrier */ + + The CSIZE bits specify the byte size in bits for both transmission and + reception. The _c___c_f_l_a_g is masked with CSIZE and compared with the values + CS5, CS6, CS7, or CS8. This size does not include the parity bit, if any. + If CSTOPB is set, two stop bits are used, otherwise one stop bit. For + example, at 110 baud, two stop bits are normally used. + + If CREAD is set, the receiver is enabled. Otherwise, no characters shall + be received. Not all hardware supports this bit. In fact, this flag is + pretty silly and if it were not part of the tteerrmmiiooss specification it + would be ommitted. + + If PARENB is set, parity generation and detection is enabled and a parity + bit is added to each character. If parity is enabled, PARODD specifies + odd parity if set, otherwise even parity is used. + + If HUPCL is set, the modem control lines for the port shall be lowered + when the last process with the port open closes the port or the process + terminates. The modem connection shall be broken. + + If CLOCAL is set, a connection does not depend on the state of the modem + status lines. If CLOCAL is clear, the modem status lines shall be moni- + tored. + + Under normal circumstances, a call to the open() function shall wait for + the modem connection to complete. However, if the O_NONBLOCK flag is set + or if CLOCAL has been set, the open() function shall return immediately + without waiting for the connection. + + The CCTS_OFLOW (CRTSCTS) flag is currently unused. + + If MDMBUF is set then output flow control is controlled by the state of + Carrier Detect. + + If the object for which the control modes are set is not an asynchronous + serial connection, some of the modes may be ignored; for example, if an + attempt is made to set the baud rate on a network connection to a termi- + nal on another host, the baud rate may or may not be set on the connec- + tion between that terminal and the machine it is directly connected to. + + LLooccaall MMooddeess + Values of the c_lflag field describe the control of various functions, + and are composed of the following masks. + + ECHOKE /* visual erase for line kill */ + ECHOE /* visually erase chars */ + ECHO /* enable echoing */ + ECHONL /* echo NL even if ECHO is off */ + ECHOPRT /* visual erase mode for hardcopy */ + ECHOCTL /* echo control chars as ^(Char) */ + ISIG /* enable signals INTR, QUIT, [D]SUSP */ + ICANON /* canonicalize input lines */ + ALTWERASE /* use alternate WERASE algorithm */ + IEXTEN /* enable DISCARD and LNEXT */ + EXTPROC /* external processing */ + TOSTOP /* stop background jobs from output */ + FLUSHO /* output being flushed (state) */ + NOKERNINFO /* no kernel output from VSTATUS */ + PENDIN /* XXX retype pending input (state) */ + NOFLSH /* don't flush after interrupt */ + + + If ECHO is set, input characters are echoed back to the terminal. If + ECHO is not set, input characters are not echoed. + + If ECHOE and ICANON are set, the ERASE character shall cause the terminal + to erase the last character in the current line from the display, if pos- + sible. If there is no character to erase, an implementation may echo an + indication that this was the case or do nothing. + + If ECHOK and ICANON are set, the KILL character shall cause the current + line to be discarded and the system shall echo the `\n' character after + the KILL character. + + If ECHOKE and ICANON are set, the KILL character shall cause the current + line to be discarded and the system shall cause the terminal to erase the + line from the display. + + If ECHOPRT and ICANON are set, the system shall assume that the display + is a printing device and shall print a backslash and the erased charac- + ters when processing ERASE characters, followed by a forward slash. + + If ECHOCTL is set, the system shall echo control characters in a visible + fashion using a carrot followed by the control character. + + If ALTWERASE is set, the system will use an alternative algorithm for de- + termining what constitutes a word when processing WERASE characters (see + WERASE). + + If ECHONL and ICANON are set, the `\n' character shall be echoed even if + ECHO is not set. + + If ICANON is set, canonical processing is enabled. This enables the + erase and kill edit functions, and the assembly of input characters into + lines delimited by NL, EOF, and EOL, as described in _C_a_n_o_n_i_c_a_l _M_o_d_e _I_n_p_u_t + _P_r_o_c_e_s_s_i_n_g. + + If ICANON is not set, read requests are satisfied directly from the input + queue. A read shall not be satisfied until at least MIN bytes have been + received or the timeout value TIME expired between bytes. The time value + represents tenths of seconds. See _N_o_n_c_a_n_o_n_i_c_a_l _M_o_d_e _I_n_p_u_t _P_r_o_c_e_s_s_i_n_g for + more details. + + If ISIG is set, each input character is checked against the special con- + trol characters INTR, QUIT, and SUSP (job control only). If an input + character matches one of these control characters, the function associat- + ed with that character is performed. If ISIG is not set, no checking is + done. Thus these special input functions are possible only if ISIG is + set. + + If IEXTEN is set, implementation-defined functions shall be recognized + from the input data. It is implementation defined how IEXTEN being set + interacts with ICANON, ISIG, IXON, or IXOFF. If IEXTEN is not set, then + implementation-defined functions shall not be recognized, and the corre- + sponding input characters shall be processed as described for ICANON, + ISIG, IXON, and IXOFF. + + If NOFLSH is set, the normal flush of the input and output queues associ- + ated with the INTR, QUIT, and SUSP characters shall not be done. + + If TOSTOP is set, the signal SIGTTOU is sent to the process group of a + process that tries to write to its controlling terminal if it is not in + the foreground process group for that terminal. This signal, by default, + stops the members of the process group. Otherwise, the output generated + by that process is output to the current output stream. Processes that + are blocking or ignoring SIGTTOU signals are excepted and allowed to pro- + duce output and the SIGTTOU signal is not sent. + + + If NOKERNINFO is set, the kernel shall not produce a status message when + processing STATUS characters (see STATUS). + + SSppeecciiaall CCoonnttrrooll CChhaarraacctteerrss + The special control characters values are defined by the array c_cc. + This table lists the array index, the corresponding special character, + and the system default value. For an accurate list of the system de- + faults, consult the header file <_t_t_y_d_e_f_a_u_l_t_s_._h>. + + _I_n_d_e_x _N_a_m_e _S_p_e_c_i_a_l _C_h_a_r_a_c_t_e_r _D_e_f_a_u_l_t _V_a_l_u_e + VEOF EOF ^D + VEOL EOL _POSIX_VDISABLE + VEOL2 EOL2 _POSIX_VDISABLE + VERASE ERASE ^? `\177' + VWERASE WERASE ^W + VKILL KILL ^U + VREPRINT REPRINT ^R + VINTR INTR ^C + VQUIT QUIT ^\\ `\34' + VSUSP SUSP ^Z + VDSUSP DSUSP ^Y + VSTART START ^Q + VSTOP STOP ^S + VLNEXT LNEXT ^V + VDISCARD DISCARD ^O + VMIN --- 1 + VTIME --- 0 + VSTATUS STATUS ^T + + If the value of one of the changeable special control characters (see + _S_p_e_c_i_a_l _C_h_a_r_a_c_t_e_r_s) is {_POSIX_VDISABLE}, that function shall be dis- + abled; that is, no input data shall be recognized as the disabled special + character. If ICANON is not set, the value of {_POSIX_VDISABLE} has no + special meaning for the VMIN and VTIME entries of the _c___c_c array. + + The initial values of the flags and control characters after open() is + set according to the values in the header <_s_y_s_/_t_t_y_d_e_f_a_u_l_t_s_._h>. + +4th Berkeley Distribution June 5, 1993 11 diff --git a/usr/share/man/cat4/tp.0 b/usr/share/man/cat4/tp.0 new file mode 100644 index 0000000000..a95af1236a --- /dev/null +++ b/usr/share/man/cat4/tp.0 @@ -0,0 +1,392 @@ +TP(4) BSD Programmer's Manual TP(4) + +NNAAMMEE + TTPP - ISO Transport Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_[_A_F___I_N_E_T_, _A_F___I_S_O_], _S_O_C_K___S_E_Q_P_A_C_K_E_T, _0); + +DDEESSCCRRIIPPTTIIOONN + The TP protocol provides reliable, flow-controlled, two-way transmission + of data and record boundaries. It is a byte-stream protocol and is ac- + cessed according to the SOCK_SEQPACKET abstraction. The TP protocol + makes use of a standard ISO address format, including a Network Service + Access Point, and a Transport Service Entity Selector. Subclass 4 may + make use of the internet Internet address format. + + Sockets utilizing the tp protocol are either ``active'' or ``passive''. + Active sockets initiate connections to passive sockets. By default TCP + sockets are created active; to create a passive socket the listen(2) sys- + tem call must be used after binding the socket with the bind(2) system + call. Only passive sockets may use the accept(2) call to accept incoming + connections. Only active sockets may use the connect(2) call to initiate + connections. + + Passive sockets may ``underspecify'' their location to match incoming + connection requests from multiple networks. This technique, termed + ``wildcard addressing'', allows a single server to provide service to + clients on multiple networks. To create a socket which listens on all + networks, the NSAP portion of the bound address must be void (of length + zero). The Transport Selector may still be specified at this time; if + the port is not specified the system will assign one. Once a connection + has been established the socket's address is fixed by the peer entity's + location. The address assigned the socket is the address associated + with the network interface through which packets are being transmitted + and received. + + The ISO Transport Protocol implemented for AOS R2 at the University of + Wisconsin - Madison, and modified for inclusion in the Berkeley Software + Distribution, includes classes 0 and 4 of the ISO transport protocols as + specified in the June 1986 version of IS 8073. Class 4 of the protocol + provides reliable, sequenced, flow-controlled, two-way transmission of + data packets with an alternate stop-and-wait data path called the "expe- + dited data" service. Class 0 is essentially a null transport protocol, + which is used when the underlying network service provides reliable, se- + quenced, flow-controlled, two-way data transmission. Class 0 does not + provide the expedited data service. The protocols are implemented as a + single transport layer entity that coexists with the Internet protocol + suite. Class 0 may be used only in the ISO domain. Class 4 may be used + in the Internet domain as well as in the ISO domain. + + Two system calls were modified from the previous release of the Berkeley + Software Distribution to permit the support the end-of-transport-service- + data-unit (EOTSDU) indication, and for the receipt and transmission of + user connect, confirm, and disconnect data. See sendmsg(2) and + recmsgv(2), and further discussion below for the formats of the data in + the ancillary data buffer. If the EOTSDU is not needed, the normal + read(2), and write(2) system calls may be used. + + + Through the getsockopt and setsockopt system calls, TP supports several + options to control such things as negotiable options in the protocol and + protocol strategies. The options are defined in <_n_e_t_i_s_o_/_t_p___u_s_e_r_._h>, and + are described below. + + In the tables below, the options marked with a pound sign `#' may be used + with setsockopt after a connection is established. Others must be used + before the connection is established, in other words, before calling con- + nect or accept. All options may be used with getsockopt before or after + a connection is established. + + TPOPT_CONN_DATA (char *) [none] + Data to send on connect. The passive user may issue a + getsockopt call to retrieve a connection request's us- + er data, after having done the accept system call + without implying confirmation of the connection. + + The data may also be retrieved by issuing a recvmsg + request for ancillary data only, without implying con- + firmation of the connection. The returned _c_m_s_g_h_d_r + will contain SOL_TRANSPORT for the _c_s_m_g___l_e_v_e_l and + TPOPT_CONN_DATA for _c_m_s_g___t_y_p_e_. + + TPOPT_DISC_DATA # (char *) [none] + Data to send on close. Disconnect data may be sent by + the side initiating the close but not by the passive + side ("passive" with respect to the closing of the + connection), so there is no need to read disconnect + data after calling close. This may be sent by a set- + sockopt system call, or by issuing a sendmsg request + specifying ancillary data only. The user-provided + _c_m_s_g_h_d_r must contain SOL_TRANSPORT for _c_s_m_g___l_e_v_e_l and + TPOPT_DISC_DATA for _c_m_s_g___t_y_p_e. Sending of disconnect + data will in of itself tear down (or reject) the con- + nection. + + TPOPT_CFRM_DATA # (char *) [none] + Data to send when confirming a connection. This may + aslo be sent by a setsockopt system call, or by issu- + ing a sendmsg request, as above. Sending of connect + confirm data will cause the connection to be confirmed + rather than rejected. + + TPOPT_PERF_MEAS # Boolean. + When true, performance measurements will be kept for + this connection. When set before a connection is es- + tablished, the active side will use a locally defined + parameter on the connect request packet; if the peer + is another ARGO implementation, this will cause per- + formance measurement to be turned on on the passive + side as well. See tpperf(8). + + TPOPT_PSTATISTICS No associated value on input. On output, _s_t_r_u_c_t + _t_p___p_m_e_a_s. + + This command is used to read the performance statis- + tics accumulated during a connection's lifetime. It + can only be used with getsockopt. The structure it + returns is described in <_n_e_t_i_s_o_/_t_p___s_t_a_t_._h>. See + tpperf(8). + + TPOPT_FLAGS unsigned integer. [0x0] + This command can only be used with getsockopt. See + the description of the flags below. + + TPOPT_PARAMS _s_t_r_u_c_t _t_p___c_o_n_n___p_a_r_a_m + Used to get or set a group parameters for a connec- + tion. The _s_t_r_u_c_t _t_p___c_o_n_n___p_a_r_a_m is the argument used + with the getsockopt or setsockopt system call. It is + described in <_n_e_t_i_s_o_/_t_p___u_s_e_r_._h>. + + The fields of the _t_p___c_o_n_n___p_a_r_a_m structure are de- + scribed below. + + _V_a_l_u_e_s _f_o_r _T_P_O_P_T___P_A_R_A_M_S_: + + _p___N_r_e_t_r_a_n_s nonzero short integer [1] + Number of times a TPDU will be retransmitted before the + local TP entity closes a connection. + + _p___d_r___t_i_c_k_s nonzero short integer [various] + Number of clock ticks between retransmissions of discon- + nect request TPDUs. + + _p___d_t___t_i_c_k_s nonzero short integer [various] + Number of clock ticks between retransmissions of data + TPDUs. This parameter applies only to class 4. + + _p___c_r___t_i_c_k_s nonzero short integer [various] + Number of clock ticks between retransmissions of connec- + tion request TPDUs. + + _p___c_c___t_i_c_k_s nonzero short integer [various] + Number of clock ticks between retransmissions of connec- + tion confirm TPDUs. This parameter applies only to + class 4. + + _p___x___t_i_c_k_s nonzero short integer [various] + Number of clock ticks between retransmissions of expe- + dited data TPDUs. This parameter applies only to class + 4. + + _p___s_e_n_d_a_c_k___t_i_c_k_s nonzero short integer [various] + Number of clock ticks that the local TP entity will wait + before sending an acknowledgment for normal data (not + applicable if the acknowlegement strategy is + TPACK_EACH). This parameter applies only to class 4. + + _p___r_e_f___t_i_c_k_s nonzero short integer [various] + Number of clock ticks for which a reference will be con- + sidered frozen after the connection to which it applied + is closed. This parameter applies to classes 4 and 0 in + the ARGO implementation, despite the fact that the + frozen reference function is required only for class 4. + + _p___i_n_a_c_t___t_i_c_k_s nonzero short integer [various] + Number of clock ticks without an incoming packet from + the peer after which TP close the connection. This pa- + rameter applies only to class 4. + + _p___k_e_e_p_a_l_i_v_e___t_i_c_k_s + nonzero short integer [various] + Number of clock ticks between acknowledgments that are + sent to keep an inactive connection open (to prevent the + peer's inactivity control function from closing the con- + nection). This parameter applies only to class 4. + + _p___w_i_n_s_i_z_e short integer between 128 and 16384. [4096 bytes] + The buffer space limits in bytes for incoming and outgo- + ing data. There is no way to specify different limits + for incoming and outgoing paths. The actual window size + at any time during the lifetime of a connection is a + function of the buffer size limit, the negotiated maxi- + mum TPDU size, and the rate at which the user program + receives data. This parameter applies only to class 4. + + _p___t_p_d_u_s_i_z_e unsigned char between 0x7 and 0xd. [0xc for class 4] + [0xb for class 0] + Log 2 of the maximum TPDU size to be negotiated. The TP + standard (ISO 8473) gives an upper bound of 0xd for + class 4 and 0xb for class 0. The ARGO implementation + places upper bounds of 0xc on class 4 and 0xb on class + 0. + + _p___a_c_k___s_t_r_a_t TPACK_EACH or TPACK_WINDOW. [TPACK_WINDOW] + This parameter applies only to class 4. Two acknowledg- + ment strategies are supported: + + TPACK_EACH means that each data TPDU is acknowledged + with an AK TPDU. + + TPACK_WINDOW means that upon receipt of the packet that + represents the high edge of the last window advertised, + and AK TPDU is generated. + + _p___r_x___s_t_r_a_t 4 bit mask [TPRX_USE_CW | TPRX_FASTSTART] over connec- + tionless network protocols] [TPRX_USE_CW over connec- + tion-oriented network protocols] + This parameter applies only to class 4. The bit mask + may include the following values: + + TPRX_EACH: When a retransmission timer expires, retrans- + mit each packet in the send window rather than just the + first unacknowledged packet. + + TPRX_USE_CW: Use a "congestion window" strategy borrowed + from Van Jacobson's congestion window strategy for TCP. + The congestion window size is set to one whenever a re- + transmission occurs. + + TPRX_FASTSTART: Begin sending the maximum amount of data + permitted by the peer (subject to availability). The + alternative is to start sending slowly by pretending the + peer's window is smaller than it is, and letting it + slowly grow up to the real peer's window size. This is + to smooth the effect of new connections on a congested + network by preventing a transport connection from sud- + denly overloading the network with a burst of packets. + This strategy is also due to Van Jacobson. + + _p___c_l_a_s_s 5 bit mask [TP_CLASS_4 | TP_CLASS_0] + Bit mask including one or both of the values TP_CLASS_4 + and TP_CLASS_0. The higher class indicated is the pre- + ferred class. If only one class is indicated, negotia- + tion will not occur during connection establishment. + + _p___x_t_d___f_o_r_m_a_t Boolean. [false] + Boolean indicating that extended format shall be negoti- + ated. This parameter applies only to class 4. + + _p___x_p_d___s_e_r_v_i_c_e Boolean. [true] + Boolean indicating that the expedited data transport + service will be negotiated. This parameter applies only + to class 4. + + _p___u_s_e___c_h_e_c_k_s_u_m Boolean. [true] + Boolean indicating the the use of checksums will be ne- + + gotiated. This parameter applies only to class 4. + + _p___u_s_e___n_x_p_d Reserved for future use. + + _p___u_s_e___r_c_c Reserved for future use. + + _p___u_s_e___e_f_c Reserved for future use. + + _p___n_o___d_i_s_c___i_n_d_i_c_a_t_i_o_n_s + Boolean. [false] + + Boolean indicating that the local TP entity shall not + issue indications (signals) when a TP connection is dis- + connected. + + _p___d_o_n_t___c_h_a_n_g_e___p_a_r_a_m_s + Boolean. [false] + If _t_r_u_e the TP entity will not override any of the other + values given in this structure. If the values cannot be + used, the TP entity will drop, disconnect, or refuse to + establish the connection to which this structure per- + tains. + + _p___n_e_t_s_e_r_v_i_c_e One of { ISO_CLNS, ISO_CONS, ISO_COSNS, IN_CLNS }. + [ISO_CLNS] + Indicates which network service is to be used. + + ISO_CLNS indicates the connectionless network service + provided by CLNP (ISO 8473). + + ISO_CONS indicates the connection-oriented network ser- + vice provided by X.25 (ISO 8208) and ISO 8878. + + ISO_COSNS indicates the connectionless network service + running over a connection-oriented subnetwork service: + CLNP (ISO 8473) over X.25 (ISO 8208). + + IN_CLNS indicates the DARPA Internet connectionless net- + work service provided by IP (RFC 791). + + _p___d_u_m_m_y Reserved for future use. + + The TPOPT_FLAGS option is used for obtaining various boolean-valued op- + tions. Its meaning is as follows. The bit numbering used is that of the + RT PC, which means that bit 0 is the most significant bit, while bit 8 is + the least significant bit. + + _V_a_l_u_e_s _f_o_r _T_P_O_P_T___F_L_A_G_S_: + + BBiittss DDeessccrriippttiioonn [[DDeeffaauulltt]] + + 0 TPFLAG_NLQOS_PDN: set when the quality of the network service is + similar to that of a public data network. + + 1 TPFLAG_PEER_ON_SAMENET: set when the peer TP entity is considered + to be on the same network as the local TP entity. + + 2 Not used. + + 3 TPFLAG_XPD_PRES: set when expedited data are present [0] + + 4..7 Reserved. + +EERRRROORR VVAALLUUEESS + The TP entity returns _e_r_r_n_o error values as defined in <_s_y_s_/_e_r_r_n_o_._h> and + <_n_e_t_i_s_o_/_i_s_o___e_r_r_n_o_._h>. User programs may print messages associated with + these value by using an expanded version of perror found in the ISO li- + brary, _l_i_b_i_s_o_d_i_r_._a. + + If the TP entity encounters asynchronous events that will cause a trans- + port connection to be closed, such as timing out while retransmitting a + connect request TPDU, or receiving a DR TPDU, the TP entity issues a + SIGURG signal, indicating that disconnection has occurred. If the signal + is issued during a a system call, the system call may be interrupted, in + which case the _e_r_r_n_o value upon return from the system call is EINTR. If + the signal SIGURG is being handled by reading from the socket, and it was + a accept(2) that timed out, the read may result in ENOTSOCK, because the + accept call had not yet returned a legitimate socket descriptor when the + signal was handled. ETIMEDOUT (or a some other errno value appropriate + to the type of error) is returned if SIGURG is blocked for the duration + of the system call. A user program should take one of the following ap- + proaches: + + Block SIGURG + If the program is servicing only one connection, it can block or + ignore SIGURG during connection establishment. The advantage of + this is that the _e_r_r_n_o value returned is somewhat meaningful. + The disadvantage of this is that if ignored, disconnection and + expedited data indications could be missed. For some programs + this is not a problem. + + Handle SIGURG + If the program is servicing more than one connection at a time or + expedited data may arrive or both, the program may elect to ser- + vice SIGURG. It can use the ggeettssoocckkoopptt(_._._._T_P_O_P_T___F_L_A_G_S_._._.) system + call to see if the signal was due to the arrival of expedited da- + ta or due to a disconnection. In the latter case, getsockopt + will return ENOTCONN. + +SSEEEE AALLSSOO + tcp(4), netstat(1), iso(4), clnp(4), cltp(4), ifconfig(8). + +BBUUGGSS + The protocol definition of expedited data is slightly problematic, in a + way that renders expedited data almost useless, if two or more packets of + expedited data are send within time e, where e depends on the applica- + tion. The problem is not of major significance since most applications + do not use transport expedited data. The problem is this: the expedited + data acknowledgment TPDU has no field for conveying credit, thus it is + not possible for a TP entity to inform its peer that "I received your ex- + pedited data but have no room to receive more." The TP entity has the + choice of acknowledging receipt of the XPD TPDU: + + when the user receives the XPD TSDU + which may be a fairly long time, which may cause the sending TP + entity to retransmit the packet, and possibly to close the con- + nection after retransmission, or + + when the TP entity receives it + so the sending entity does not retransmit or close the connec- + tion. If the sending user then tries to send more expedited data + ``soon'', the expedited data will not be acknowledged (until the + receiving user receives the first XPD TSDU). + + The ARGO implementation acknowledges XPD TPDUs immediately, in the hope + that most users will not use expedited data requently enough for this to + be a problem. + +4.4BSD June 9, 1993 6 diff --git a/usr/share/man/cat4/tty.0 b/usr/share/man/cat4/tty.0 new file mode 100644 index 0000000000..e85be2f40c --- /dev/null +++ b/usr/share/man/cat4/tty.0 @@ -0,0 +1,259 @@ +TTY(4) BSD Programmer's Manual TTY(4) + +NNAAMMEE + ttttyy - general terminal interface + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + This section describes the interface to the terminal drivers in the sys- + tem. + + TTeerrmmiinnaall SSppeecciiaall FFiilleess + Each hardware terminal port on the system usually has a terminal special + device file associated with it in the directory ``/dev/'' (for example, + ``/dev/tty03''). When a user logs into the system on one of these hard- + ware terminal ports, the system has already opened the associated device + and prepared the line for normal interactive use (see getty(8).) There + is also a special case of a terminal file that connects not to a hardware + terminal port, but to another program on the other side. These special + terminal devices are called _p_t_y_s and provide the mechanism necessary to + give users the same interface to the system when logging in over a net- + work (using rlogin(1), or telnet(1) for example.) Even in these cases + the details of how the terminal file was opened and set up is already + handled by special software in the system. Thus, users do not normally + need to worry about the details of how these lines are opened or used. + Also, these lines are often used for dialing out of a system (through an + out-calling modem), but again the system provides programs that hide the + details of accessing these terminal special files (see tip(2).) + + When an interactive user logs in, the system prepares the line to behave + in a certain way (called a _l_i_n_e _d_i_s_c_i_p_l_i_n_e _)_, the particular details of + which is described in stty(1) at the command level, and in termios(4) at + the programming level. A user may be concerned with changing settings + associated with his particular login terminal and should refer to the + preceding man pages for the common cases. The remainder of this man page + is concerned with describing details of using and controlling terminal + devices at a low level, such as that possibly required by a program wish- + ing to provide features similar to those provided by the system. + + LLiinnee ddiisscciipplliinneess + A terminal file is used like any other file in the system in that it can + be opened, read, and written to using standard system calls. For each + existing terminal file, a software processing module called a _l_i_n_e + _d_i_s_c_i_p_l_i_n_e is associated with it. The _l_i_n_e _d_i_s_c_i_p_l_i_n_e essentially glues + the low level device driver code with the high level generic interface + routines (such as read(2) and write(2)), and is responsible for imple- + menting the semantics associated with the device. When a terminal file + is first opened by a program, the default _l_i_n_e _d_i_s_c_i_p_l_i_n_e called the + termios line discipline is associated with the file. This is the primary + line discipline that is used in most cases and provides the semantics + that users normally associate with a terminal. When the termios line + discipline is in effect, the terminal file behaves and is operated ac- + cording to the rules described in termios(4). Please refer to that man + page for a full description of the terminal semantics. The operations + described here generally represent features common across all _l_i_n_e + _d_i_s_c_i_p_l_i_n_e_s however, some of these calls may not make sense in conjunc- + tion with a line discipline other than termios, and some may not be sup- + ported by the underlying hardware or (lack thereof, as in the case of + ptys). + + TTeerrmmiinnaall FFiillee OOppeerraattiioonnss + All of the following operations are invoked using the ioctl(2) system + call. Refer to that man page for a description of the _r_e_q_u_e_s_t and _a_r_g_p + parameter. In addition to the ioctl _r_e_q_u_e_s_t_s defined here, the specific + line discipline in effect will define other _r_e_q_u_e_s_t_s specific to it (ac- + tually termios(4) defines them as function calls, not ioctl _r_e_q_u_e_s_t_s _._) + The following section lists the available ioctl requests. The name of + the request and the typed _a_r_g_p parameter (if any) is listed along with a + description of its purpose. For example, the first entry says + + _T_I_O_C_S_E_T_D _i_n_t _*_l_d_i_s_c + + and would be called on the terminal associated with file discriptor zero + by the following code fragment: + + int ldisc; + + ldisc = TTYDISC; + ioctl(0, TIOCSETD, &ldisc); + + TTeerrmmiinnaall FFiillee RReeqquueesstt DDeessccrriippttiioonnss + + TIOCSETD _i_n_t _*_l_d_i_s_c + Change to the new line discipline pointed to by _l_d_i_s_c. The + available line disciplines are listed in and + currently are: + + TTYDISC Termios interactive line discipline. + TABLDISC Tablet line discipline. + SLIPDISC Serial IP line discipline. + + TIOCGETD _i_n_t _*_l_d_i_s_c + Return the current line discipline in the integer pointed to + by _l_d_i_s_c. + + TIOCSBRK _v_o_i_d + Set the terminal hardware into BREAK condition. + + TIOCCBRK _v_o_i_d + Clear the terminal hardware BREAK condition. + + TIOCSDTR _v_o_i_d + Assert data terminal ready (DTR). + + TIOCCDTR _v_o_i_d + Clear data terminal ready (DTR). + + TIOCGPGRP _i_n_t _*_t_p_g_r_p + Return the current process group the terminal is associated + with in the integer pointed to by _t_p_g_r_p. This is the underly- + ing call that implements the termios(4) ttccggeettaattttrr() call. + + TIOCSPGRP _i_n_t _*_t_p_g_r_p + Associate the terminal with the process group (as an integer) + pointed to by _t_p_g_r_p. This is the underlying call that imple- + ments the termios(4) ttccsseettaattttrr() call. + + TIOCGETA _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t_e_r_m + Place the current value of the termios state associated with + the device in the termios structure pointed to by _t_e_r_m. This + is the underlying call that implements the termios(4) + ttccggeettaattttrr() call. + + TIOCSETA _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t_e_r_m + Set the termios state associated with the device immediatly. + This is the underlying call that implements the termios(4) + ttccsseettaattttrr() call with the TCSANOW option. + + TIOCSETAW _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t_e_r_m + First wait for any output to complete, then set the termios + state associated with the device. This is the underlying + call that implements the termios(4) ttccsseettaattttrr() call with the + TCSADRAIN option. + + TIOCSETAF _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t_e_r_m + First wait for any output to complete, clear any pending in- + put, then set the termios state associated with the device. + This is the underlying call that implements the termios(4) + ttccsseettaattttrr() call with the TCSAFLUSH option. + + TIOCOUTQ _i_n_t _*_n_u_m + Place the current number of characters in the output queue in + the integer pointed to by _n_u_m. + + TIOCSTI _c_h_a_r _*_c_p + Simulate typed input. Pretend as if the terminal recieved + the character pointed to by _c_p. + + TIOCNOTTY _v_o_i_d + This call is obsolete but left for compatability. In the + past, when a process that didn't have a controlling terminal + (see _T_h_e _C_o_n_t_r_o_l_l_i_n_g _T_e_r_m_i_n_a_l in termios(4)) first opened a + terminal device, it acquired that terminal as its controlling + terminal. For some programs this was a hazard as they didn't + want a controlling terminal in the first place, and this pro- + vided a mechanism to disassociate the controlling terminal + from the calling process. It _m_u_s_t be called by opening the + file _/_d_e_v_/_t_t_y and calling TIOCNOTTY on that file descriptor. + + The current system does not allocate a controlling terminal + to a process on an ooppeenn() call: there is a specific ioctl + called TIOSCTTY to make a terminal the controlling terminal. + In addition, a program can ffoorrkk() and call the sseettssiidd() sys- + tem call which will place the process into its own session - + which has the effect of disassociating it from the control- + ling terminal. This is the new and prefered method for pro- + grams to lose their controlling terminal. + + TIOCSTOP _v_o_i_d + Stop output on the terminal (like typing ^S at the keyboard). + + TIOCSTART _v_o_i_d + Start output on the terminal (like typing ^Q at the kay- + board). + + TIOCSCTTY _v_o_i_d + Make the terminal the controlling terminal for the process + (the process must not currently have a controlling terminal). + + TIOCDRAIN _v_o_i_d + Wait until all output is drained. + + TIOCEXCL _v_o_i_d + Set exclusive use on the terminal. No further opens are per- + mitted except by root. Of course, this means that programs + that are run by root (or setuid) will not obey the exclusive + setting - which limits the usefullness of this feature. + + TIOCNXCL _v_o_i_d + Clear exclusive use of the terminal. Further opens are per- + mitted. + + TIOCFLUSH _i_n_t _*_w_h_a_t + If the value of the int pointed to by _w_h_a_t contains the FREAD + bit as defined in , then all characters in the + input queue are cleared. If it contains the FWRITE bit, then + all characters in the output queue are cleared. If the value + of the integer is zero, then it behaves as if both the FREAD + and FWRITE bits were set (i.e. clears both queues). + + TIOCGWINSZ _s_t_r_u_c_t _w_i_n_s_i_z_e _*_w_s + Put the window size information associated with the terminal + in the _w_i_n_s_i_z_e structure pointed to by _w_s. The window size + structure contains the number of rows and columns (and pixels + if appropiate) of the devices attached to the terminal. It + is set by user software and is the means by which most full- + screen oriented programs determine the screen size. The + _w_i_n_s_i_z_e structure is defined in . + + TIOCSWINSZ _s_t_r_u_c_t _w_i_n_s_i_z_e _*_w_s + Set the window size associated with the terminal to be the + value in the _w_i_n_s_i_z_e structure pointed to by _w_s (see above). + + TIOCCONS _i_n_t _*_o_n + If _o_n points to a non-zero integer, redirect kernel console + output (kernel printf's) to this terminal. If _o_n points to a + zero integer, redirect kernel console output back to the nor- + mal console. This is usually used on workstations to redi- + rect kernel messages to a particular window. + + TIOCMSET _i_n_t _*_s_t_a_t_e + The integer pointed to by _s_t_a_t_e contains bits that correspond + to modem state. Following is a list of defined variables and + the modem state they represent: + + TIOCM_LE Line Enable. + TIOCM_DTR Data Terminal Ready. + TIOCM_RTS Request To Send. + TIOCM_ST Secondary Transmit. + TIOCM_SR Secondary Recieve. + TIOCM_CTS Clear To Send. + TIOCM_CAR Carrier Detect. + TIOCM_CD Carier Detect (synonym). + TIOCM_RNG Ring Indication. + TIOCM_RI Ring Indication (synonym). + TIOCM_DSR Data Set Ready. + + This call sets the terminal modem state to that represented + by _s_t_a_t_e. Not all terminals may support this. + + TIOCMGET _i_n_t _*_s_t_a_t_e + Return the current state of the terminal modem lines as rep- + resented above in the integer pointed to by _s_t_a_t_e. + + TIOCMBIS _i_n_t _*_s_t_a_t_e + The bits in the integer pointed to by _s_t_a_t_e represent modem + state as described above, however the state is OR-ed in with + the current state. + + TIOCMBIC _i_n_t _*_s_t_a_t_e + The bits in the integer pointed to by _s_t_a_t_e represent modem + state as described above, however each bit which is on in + _s_t_a_t_e is cleared in the terminal. + +SSEEEE AALLSSOO + getty(8), ioctl(2), pty(4), stty(1), termios(4) + +4th Berkeley Distribution August 14, 1992 4 diff --git a/usr/share/man/cat4/udp.0 b/usr/share/man/cat4/udp.0 new file mode 100644 index 0000000000..2967acf300 --- /dev/null +++ b/usr/share/man/cat4/udp.0 @@ -0,0 +1,59 @@ +UDP(4) BSD Programmer's Manual UDP(4) + +NNAAMMEE + uuddpp - Internet User Datagram Protocol + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + + _i_n_t + ssoocckkeett(_A_F___I_N_E_T, _S_O_C_K___D_G_R_A_M, _0); + +DDEESSCCRRIIPPTTIIOONN + UDP is a simple, unreliable datagram protocol which is used to support + the SOCK_DGRAM abstraction for the Internet protocol family. UDP sockets + are connectionless, and are normally used with the sendto and recvfrom + calls, though the connect(2) call may also be used to fix the destination + for future packets (in which case the recv(2) or read(2) and send(2) or + write(2) system calls may be used). + + UDP address formats are identical to those used by TCP. In particular UDP + provides a port identifier in addition to the normal Internet address + format. Note that the UDP port space is separate from the TCP port space + (i.e. a UDP port may not be ``connected'' to a TCP port). In addition + broadcast packets may be sent (assuming the underlying network supports + this) by using a reserved ``broadcast address''; this address is network + interface dependent. + + Options at the IP transport level may be used with UDP; see ip(4). + +DDIIAAGGNNOOSSTTIICCSS + A socket operation may fail with one of the following errors returned: + + [EISCONN] when trying to establish a connection on a socket which + already has one, or when trying to send a datagram with + the destination address specified and the socket is al- + ready connected; + + [ENOTCONN] when trying to send a datagram, but no destination ad- + dress is specified, and the socket hasn't been connect- + ed; + + [ENOBUFS] when the system runs out of memory for an internal data + structure; + + [EADDRINUSE] when an attempt is made to create a socket with a port + which has already been allocated; + + [EADDRNOTAVAIL] when an attempt is made to create a socket with a net- + work address for which no network interface exists. + +SSEEEE AALLSSOO + getsockopt(2), recv(2), send(2), socket(2), intro(4), inet(4), + ip(4) + +HHIISSTTOORRYY + The uuddpp protocol appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/unix.0 b/usr/share/man/cat4/unix.0 new file mode 100644 index 0000000000..626005f8af --- /dev/null +++ b/usr/share/man/cat4/unix.0 @@ -0,0 +1,65 @@ +UNIX(4) BSD Programmer's Manual UNIX(4) + +NNAAMMEE + uunniixx - UNIX-domain protocol family + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The UNIX-domain protocol family is a collection of protocols that pro- + vides local (on-machine) interprocess communication through the normal + socket(2) mechanisms. The UNIX-domain family supports the SOCK_STREAM + and SOCK_DGRAM socket types and uses filesystem pathnames for addressing. + +AADDDDRREESSSSIINNGG + UNIX-domain addresses are variable-length filesystem pathnames of at most + 104 characters. The include file <_s_y_s_/_u_n_._h> defines this address: + + struct sockaddr_un { + u_char sun_len; + u_char sun_family; + char sun_path[104]; + }; + + Binding a name to a UNIX-domain socket with bind(2) causes a socket file + to be created in the filesystem. This file is _n_o_t removed when the sock- + et is closed--unlink(2) must be used to remove the file. + + The UNIX-domain protocol family does not support broadcast addressing or + any form of ``wildcard'' matching on incoming messages. All addresses + are absolute- or relative-pathnames of other UNIX-domain sockets. Normal + filesystem access-control mechanisms are also applied when referencing + pathnames; e.g., the destination of a connect(2) or sendto(2) must be + writable. + +PPRROOTTOOCCOOLLSS + The UNIX-domain protocol family is comprised of simple transport proto- + cols that support the SOCK_STREAM and SOCK_DGRAM abstractions. + SOCK_STREAM sockets also support the communication of UNIX file descrip- + tors through the use of the _m_s_g___c_o_n_t_r_o_l field in the _m_s_g argument to + sendmsg(2) and recvmsg(2). + + Any valid descriptor may be sent in a message. The file descriptor(s) to + be passed are described using a _s_t_r_u_c_t _c_m_s_g_h_d_r that is defined in the in- + clude file <_s_y_s_/_s_o_c_k_e_t_._h>. The type of the message is SCM_RIGHTS, and the + data portion of the messages is an array of integers representing the + file descriptors to be passed. The number of descriptors being passed is + defined by the length field of the message; the length field is the sum + of the size of the header plus the size of the array of file descriptors. + + The received descriptor is a _d_u_p_l_i_c_a_t_e of the sender's descriptor, as if + it were created with a call to dup(2). Per-process descriptor flags, set + with fcntl(2), are _n_o_t passed to a receiver. Descriptors that are + awaiting delivery, or that are purposely not received, are automatically + closed by the system when the destination socket is closed. + +SSEEEE AALLSSOO + socket(2), intro(4) + + "An Introductory 4.3 BSD Interprocess Communication Tutorial", _P_S_1, 7. + + "An Advanced 4.3 BSD Interprocess Communication Tutorial", _P_S_1, 8. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat4/vax/acc.0 b/usr/share/man/cat4/vax/acc.0 new file mode 100644 index 0000000000..c40f42594e --- /dev/null +++ b/usr/share/man/cat4/vax/acc.0 @@ -0,0 +1,50 @@ +ACC(4) BSD Programmer's Manual (VAX Architecture) ACC(4) + +NNAAMMEE + aacccc - ACC LH/DH IMP interface + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee iimmpp ddeevviiccee aacccc00 aatt uubbaa00 ccssrr 116677660000 vveeccttoorr aaccccrriinntt aaccccxxiinntt + +DDEESSCCRRIIPPTTIIOONN + The aacccc device provides a Local Host/Distant Host interface to an IMP. It + is normally used when participating in the DARPA Internet. The con- + troller itself is not accessible to users, but instead provides the hard- + ware support to the IMP interface described in imp(4). The configuration + entry for the imp must also include the _p_s_e_u_d_o_-_d_e_v_i_c_e as shown above. + +DDIIAAGGNNOOSSTTIICCSS + aacccc%%dd:: nnoott aalliivvee.. The initialization routine was entered even though the + device did not autoconfigure. This indicates a system problem. + + aacccc%%dd:: ccaann''tt iinniittiiaalliizzee.. Insufficient UNIBUS resources existed to ini- + tialize the device. This is likely to occur when the device is run on a + buffered data path on an 11/750 and other network interfaces are also + configured to use buffered data paths, or when it is configured to use + buffered data paths on an 11/730 (which has none). + + aacccc%%dd:: iimmpp ddooeessnn''tt rreessppoonndd,, iiccssrr==%%bb.. The driver attempted to initialize + the device, but the IMP failed to respond after 500 tries. Check the ca- + bling. + + aacccc%%dd:: ssttrraayy xxmmiitt iinntteerrrruupptt,, ccssrr==%%bb.. An interrupt occurred when no out- + put had previously been started. + + aacccc%%dd:: oouuttppuutt eerrrroorr,, ooccssrr==%%bb,, iiccssrr==%%bb.. The device indicated a problem + sending data on output. + + aacccc%%dd:: iinnppuutt eerrrroorr,, ccssrr==%%bb.. The device indicated a problem receiving da- + ta on input. + + aacccc%%dd:: bbaadd lleennggtthh==%%dd.. An input operation resulted in a data transfer of + less than 0 or more than 1008 bytes of data into memory (according to the + word count register). This should never happen as the maximum size of a + host-IMP message is 1008 bytes. + +SSEEEE AALLSSOO + netintro(4) + +HHIISSTTOORRYY + The aacccc interface appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/ad.0 b/usr/share/man/cat4/vax/ad.0 new file mode 100644 index 0000000000..04a3c63382 --- /dev/null +++ b/usr/share/man/cat4/vax/ad.0 @@ -0,0 +1,35 @@ +AD(4) BSD Programmer's Manual (VAX Architecture) AD(4) + +NNAAMMEE + aadd - Data Translation A/D converter + +SSYYNNOOPPSSIISS + ddeevviiccee aadd00 aatt uubbaa00 ccssrr 00117700440000 vveeccttoorr aaddiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The aadd driver provides an interface to the Data Translation A/D convert- + er. This is _n_o_t a real-time driver, but merely allows the user process + to sample the board's channels one at a time. Each minor device selects + a different A/D board. + + The driver communicates to a user process by means of ioctl(2)s. The + AD_CHAN ioctl selects which channel of the board to read. For example, + + chan = 5; + ioctl(fd, AD_CHAN, &chan); + + selects channel 5. The AD_READ ioctl(2) actually reads the data and re- + turns it to the user process. An example is + + ioctl(fd, AD_READ, &data); + +FFIILLEESS + /dev/ad + +DDIIAAGGNNOOSSTTIICCSS + None. + +HHIISSTTOORRYY + The aadd driver appeared in 4.1BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/autoconf.0 b/usr/share/man/cat4/vax/autoconf.0 new file mode 100644 index 0000000000..af07376908 --- /dev/null +++ b/usr/share/man/cat4/vax/autoconf.0 @@ -0,0 +1,100 @@ +AUTOCONF(4) BSD Programmer's Manual AUTOCONF(4) + +NNAAMMEE + aauuttooccoonnff - diagnostics from the autoconfiguration code + +DDEESSCCRRIIPPTTIIOONN + When UNIX bootstraps it probes the innards of the machine on which it is + running and locates controllers, drives, and other devices. Each item + found is recorded on the console. This procedure is driven by a system + configuration table which is processed by config(8) and compiled into + each kernel. + + On the VAX, devices in NEXUS slots are normally noted, thus memory con- + trollers, UNIBUS and MASSBUS adaptors. Devices which are not supported + which are found in NEXUS slots are noted also. The Q-bus on the MICROVAX + is configured in the same way as the UNIBUS. + + MASSBUS devices are located by a very deterministic procedure since + MASSBUS space is completely probe-able. If devices exist which are not + configured they will be silently ignored; if devices exist of unsupported + type they will be noted. + + UNIBUS devices are located by probing to see if their control-status reg- + isters respond. If not, they are silently ignored. If the control sta- + tus register responds but the device cannot be made to interrupt, a diag- + nostic warning will be printed on the console and the device will not be + available to the system. + + Normally, the system uses the disk from which it was loaded as the root + filesystem. If that is not possible, a generic system will pick its root + device as the ``best'' available device (MASSBUS disks are better than + SMD UNIBUS disks are better than RK07s; the device must be drive 0 to be + considered). If such a system is booted with the RB_ASKNAME option (see + reboot(2)), then the name of the root device is read from the console + terminal at boot time, and any available device may be used. + +DDIIAAGGNNOOSSTTIICCSS + ccppuu ttyyppee %%dd nnoott ccoonnffiigguurreedd.. You tried to boot UNIX on a CPU type which + it doesn't (or at least this compiled version of UNIX doesn't) under- + stand. + + mmbbaa%%dd aatt ttrr%%dd.. A MASSBUS adapter was found in `tr%d' (the NEXUS slot + number). UNIX will call it `mba%d'. + + %%dd mmbbaa''ss nnoott ccoonnffiigguurreedd.. More MASSBUS adapters were found on the machine + than were declared in the machine configuration; the excess MASSBUS + adapters will not be accessible. + + uubbaa%%dd aatt ttrr%%dd.. A UNIBUS adapter was found in `tr%d' (the NEXUS slot num- + ber). UNIX will call it `uba%d'. + + ddrr3322 uunnssuuppppoorrtteedd ((aatt ttrr %%dd)).. A DR32 interface was found in a NEXUS, for + which UNIX does not have a driver. + + ccii uunnssuuppppoorrtteedd ((aatt ttrr %%dd)).. A CI interface was found in a NEXUS, for + which UNIX does not have a driver. + + mmccrr%%dd aatt ttrr%%dd.. A memory controller was found in `tr%d' (the NEXUS slot + number). UNIX will call it `mcr%d'. + + 55 mmccrr''ss uunnssuuppppoorrtteedd.. UNIX supports only 4 memory controllers per CPU. + + mmppmm uunnssuuppppoorrtteedd ((aatt ttrr%%dd)).. Multi-port memory is unsupported in the sense + that UNIX does not know how to poll it for ECC errors. + + + %%ss%%dd aatt mmbbaa%%dd ddrriivvee %%dd.. A tape formatter or a disk was found on the + MASSBUS; for disks `%s%d' will look like ``hp0'', for tape formatters + like ``ht1''. The drive number comes from the unit plug on the drive or + in the TM formatter (_n_o_t on the tape drive; see below). + + %%ss%%dd aatt %%ss%%dd ssllaavvee %%dd.. (For MASSBUS devices). Which would look like + ``tu0 at ht0 slave 0'', where ``tu0'' is the name for the tape device and + ``ht0'' is the name for the formatter. A tape slave was found on the + tape formatter at the indicated drive number (on the front of the tape + drive). UNIX will call the device, e.g., ``tu0''. + + %%ss%%dd aatt uubbaa%%dd ccssrr %%oo vveecc %%oo iippll %%xx.. The device `%s%d', e.g. ``dz0'' was + found on `uba%d' at control-status register address `%o' and with device + vector `%o'. The device interrupted at priority level `%x'. + + %%ss%%dd aatt uubbaa%%dd ccssrr %%oo zzeerroo vveeccttoorr.. The device did not present a valid in- + terrupt vector, rather presented 0 (a passive release condition) to the + adapter. + + %%ss%%dd aatt uubbaa%%dd ccssrr %%oo ddiiddnn''tt iinntteerrrruupptt.. The device did not interrupt, + likely because it is broken, hung, or not the kind of device it is adver- + tised to be. + + %%ss%%dd aatt %%ss%%dd ssllaavvee %%dd.. (For UNIBUS devices). Which would look like + ``up0 at sc0 slave 0'', where ``up0'' is the name of a disk drive and + ``sc0'' is the name of the controller. Analogous to MASSBUS case. + +SSEEEE AALLSSOO + intro(4), boot(8), config(8) + +HHIISSTTOORRYY + The aauuttooccoonnff feature appeared in 4.1BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/cons.0 b/usr/share/man/cat4/vax/cons.0 new file mode 100644 index 0000000000..61cc45f160 --- /dev/null +++ b/usr/share/man/cat4/vax/cons.0 @@ -0,0 +1,66 @@ +CONS(4) BSD Programmer's Manual (VAX Architecture) CONS(4) + +NNAAMMEE + ccoonnss - VAX-11 console interface + +DDEESSCCRRIIPPTTIIOONN + The console is available to the processor through the console registers. + It acts like a normal terminal, except that when the local functions are + not disabled, ^^PP (control-P) puts the console in local console mode + (where the prompt is `>>>'). The operation of the console in this mode + varies slightly per-processor. + + TTnn VVAAXX NNoo 1111//778800 oorr 778855 + On either the VAX 11/780 or 785 the following commands may be used after + placing the console in local mode with ^^PP. + + cc + ccoonnttiinnuuee Re-enter conversational mode if the processor was halted. + + hh + hhaalltt Halt the CPU. On an 11/780 or 785 the processor is not + stopped by entering local console mode. + + sseett tt pp (set terminal program) Re-enter conversational mode if the + processor is still running. + + PP (proceed) Get out of ODT mode. + + <> If you hit the break key on the console, then the console + LSI-11 will go into ODT (console debugger mode). + + TTnn VVAAXX NNoo 1111//775500 oorr 1111//773300 + On an 11/750 or an 11/730 the processor is halted whenever the console is + not in conversational mode. + + CC Return to conversational mode. + + rreett Return from remote diagnosis mode to local console mode. + + ^^DD (11/750 only) When in console mode on an 11/750 which has a + remote diagnosis module, a ^^DD will put you in remote diag- + nosis mode, where the prompt will be + + TTnn VVAAXX NNoo 88660000 oorr 88665500 + The VAX 8600 (8650) console normally works in the same way as the 11/750, + except that there are many additional modes and commands. + + cc + ccoonnttiinnuuee Return to conversational mode. + + hhaalltt Halt the processor if HEX debug enabled. + + pp Halt the processor if in normal mode. + + With the above proviso's the console works like any other UNIX terminal. + +FFIILLEESS + /dev/console + +SSEEEE AALLSSOO + tty(4), reboot(8) + + _V_A_X _H_a_r_d_w_a_r_e _H_a_n_d_b_o_o_k. + +HHIISSTTOORRYY + The ccoonnss interface appeared in 4.0BSD. diff --git a/usr/share/man/cat4/vax/crl.0 b/usr/share/man/cat4/vax/crl.0 new file mode 100644 index 0000000000..d797933f0c --- /dev/null +++ b/usr/share/man/cat4/vax/crl.0 @@ -0,0 +1,27 @@ +CRL(4) BSD Programmer's Manual (VAX Architecture) CRL(4) + +NNAAMMEE + ccrrll - VAX 8600 console RL02 interface + +DDEESSCCRRIIPPTTIIOONN + This is a simple interface to the DEC RL02 disk unit which is part of the + console subsystem on the VAX 8600 and 8650. Access is given to the en- + tire RL02 disk; the pack format is the same as that of RL02 disks on oth- + er controllers. As on other VAX console media, transfers are done a word + at a time using privileged registers (i.e., slowly). + + All I/O is raw; the seek addresses in raw transfers should be a multiple + of 512 bytes and a multiple of 512 bytes should be transferred, as in + other ``raw'' disk interfaces. (Although the sector size is actually 256 + bytes, the driver allows operations only on 512-byte boundaries.) + +FFIILLEESS + /dev/crl + +SSEEEE AALLSSOO + arff(8) + +HHIISSTTOORRYY + The ccrrll driver appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/css.0 b/usr/share/man/cat4/vax/css.0 new file mode 100644 index 0000000000..72f98398d9 --- /dev/null +++ b/usr/share/man/cat4/vax/css.0 @@ -0,0 +1,48 @@ +CSS(4) BSD Programmer's Manual (VAX Architecture) CSS(4) + +NNAAMMEE + ccssss - DEC IMP-11A LH/DH IMP interface + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee iimmpp ddeevviiccee ccssss00 aatt uubbaa00 ccssrr 116677660000 ffllaaggss 1100 vveeccttoorr ccssssrriinntt + ccssssxxiinntt + +DDEESSCCRRIIPPTTIIOONN + The ccssss device provides a Local Host/Distant Host interface to an IMP. It + is normally used when participating in the DARPA Internet. The con- + troller itself is not accessible to users, but instead provides the hard- + ware support to the IMP interface described in imp(4). The configuration + entry for the imp must also include the _p_s_e_u_d_o_-_d_e_v_i_c_e as shown above. + +DDIIAAGGNNOOSSTTIICCSS + ccssss%%dd:: nnoott aalliivvee.. The initialization routine was entered even though the + device did not autoconfigure. This is indicates a system problem. + + ccssss%%dd:: ccaann''tt iinniittiiaalliizzee.. Insufficient UNIBUS resources existed to ini- + tialize the device. This is likely to occur when the device is run on a + buffered data path on an 11/750 and other network interfaces are also + configured to use buffered data paths, or when it is configured to use + buffered data paths on an 11/730 (which has none). + + ccssss%%dd:: iimmpp ddooeessnn''tt rreessppoonndd,, iiccssrr==%%bb.. The driver attempted to initialize + the device, but the IMP failed to respond after 500 tries. Check the ca- + bling. + + ccssss%%dd:: ssttrraayy oouuttppuutt iinntteerrrruupptt ccssrr==%%bb.. An interrupt occurred when no out- + put had previously been started. + + ccssss%%dd:: oouuttppuutt eerrrroorr,, ooccssrr==%%bb iiccssrr==%%bb.. The device indicated a problem + sending data on output. + + ccssss%%dd:: rreeccvv eerrrroorr,, ccssrr==%%bb.. The device indicated a problem receiving data + on input. + + ccssss%%dd:: bbaadd lleennggtthh==%%dd.. An input operation resulted in a data transfer of + less than 0 or more than 1008 bytes of data into memory (according to the + word count register). This should never happen as the maximum size of a + host-IMP message is 1008 bytes. + +HHIISSTTOORRYY + The ccssss interface appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/ct.0 b/usr/share/man/cat4/vax/ct.0 new file mode 100644 index 0000000000..6963ef5d92 --- /dev/null +++ b/usr/share/man/cat4/vax/ct.0 @@ -0,0 +1,29 @@ +CT(4) BSD Programmer's Manual (VAX Architecture) CT(4) + +NNAAMMEE + cctt - C/A/T phototypesetter interface + +SSYYNNOOPPSSIISS + ddeevviiccee cctt00 aatt uubbaa00 ccssrr 00116677776600 vveeccttoorr ccttiinnttrr + +DDEESSCCRRIIPPTTIIOONN + This is an interface to either a Graphic Systems C/A/T phototypesetter or + an Autologic APS-Micro5 using a DR-11 C interface. + + The cctt is a write only device. + +FFIILLEESS + /dev/cat + +DDIIAAGGNNOOSSTTIICCSS + None. + +SSEEEE AALLSSOO + troff(1) + + _P_h_o_t_o_t_y_p_e_s_e_t_t_e_r _i_n_t_e_r_f_a_c_e _s_p_e_c_i_f_i_c_a_t_i_o_n. + +HHIISSTTOORRYY + The cctt driver appeared in 4.1BSD. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/ddn.0 b/usr/share/man/cat4/vax/ddn.0 new file mode 100644 index 0000000000..83eeafee2d --- /dev/null +++ b/usr/share/man/cat4/vax/ddn.0 @@ -0,0 +1,49 @@ +DDN(4) BSD Programmer's Manual (VAX Architecture) DDN(4) + +NNAAMMEE + ddddnn - DDN Standard Mode X.25 IMP interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddddnn00 aatt uubbaa00 ccssrr 116666774400 vveeccttoorr ddddnniinnttrr + +DDEESSCCRRIIPPTTIIOONN + The ddddnn device provides a DDN Standard Mode X.25 interface to an IMP us- + ing the ACC ACP625 X.25 board. It is normally used for connecting to the + Defense Data Network (DDN). The controller itself is not accessible to + users, but instead provides a network interface for the Internet Protocol + described in ip(4). + +DDIIAAGGNNOOSSTTIICCSS + ddddnn%%dd:: nnoott aalliivvee.. The initialization routine was entered even though the + device did not autoconfigure. This indicates a system problem. + + ddddnn%%dd:: ffaaiilleedd ggeettttiinngg UUBBAA rreessoouurrcceess ffoorr llccnn %%dd.."" Insufficient UNIBUS re- + sources existed to initialize the device. This is likely to be a short- + age of UNIBUS mapping registers. + + ddddnn%%dd:: ccoouullddnn''tt ggeett XX2255 iinniitt bbuuffffeerr.. This indicates that an _m_b_u_f could + not be allocated for sending the initialization message to the ACP625. + + DDDDNN:: iilllleeggaall XX2255 aaddddrreessss lleennggtthh!! + DDDDNN:: iilllleeggaall XX2255 aaddddrreessss ffoorrmmaatt!! These errors indicate a problem with + the called X.25 address received from the IMP on an incoming call. + + XX2255 RREESSEETT oonn llccnn == %%dd.. This indicates that an unexpected X.25 RESET was + received on the indicated LCN. + + XX2255 IINNTTEERRRRUUPPTT oonn llccnn == %%dd,, ccooddee == %%dd.. This indicates that an unexpected + X.25 INTERRUPT Packet was received on the indicated LCN. + + ddddnn%%dd:: ffaaiilleedd ttoo ggeett ssuupprr mmssgg bbffrr!! This indicates that an _m_b_u_f could not + be allocated for sending a supervisor message to the ACP625. + + Any other error message from `ddn%d:' indicates a serious error detected + by either the driver or the ACP625 firmware. + +SSEEEE AALLSSOO + netintro(4), ip(4) + +HHIISSTTOORRYY + The ddddnn interface appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/de.0 b/usr/share/man/cat4/vax/de.0 new file mode 100644 index 0000000000..2fcc646b76 --- /dev/null +++ b/usr/share/man/cat4/vax/de.0 @@ -0,0 +1,64 @@ +DE(4) BSD Programmer's Manual (VAX Architecture) DE(4) + +NNAAMMEE + ddee - DEC DEUNA 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddee00 aatt uubbaa00 ccssrr 117744551100 vveeccttoorr ddeeiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The ddee interface provides access to a 10 Mb/s Ethernet network through a + Digital Equipment UNIBUS Network Adapter (DEUNA). + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The ddee interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + ddee%%dd:: hhaarrddwwaarree aaddddrreessss %%ss.. This is a normal autoconfiguration message + noting the 6 byte physical ethernet address of the adapter. + + ddee%%dd:: ooeerrrroorr,, ffllaaggss==%%bb ttddrreerrrr==%%bb ((lleenn==%%dd)).. The hardware indicated an er- + ror in transmitting a packet to the cable. The status and error flags + are reported. + + ddee%%dd:: iieerrrroorr,, ffllaaggss==%%bb lleenneerrrr==%%bb ((lleenn==%%dd)).. The hardware indicated an er- + ror in reading a packet from the cable. The status and error flags are + reported. + + ddee%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + ddee%%dd:: bbuuffffeerr uunnaavvaaiillaabbllee.. The interface received more packets than it + had buffers allocated to receive them. + + ddee%%dd:: aaddddrreessss cchhaannggee ffaaiilleedd,, ccssrr00==%%bb ccssrr11==%%bb.. The interface was unable + to reprogram its physical ethernet address. This may happen with very + early models of the interface. This facility is used only when the con- + troller is not the first network interface configured for XNS. + + The following messages indicate a probable hardware error performing the + indicated operation during autoconfiguration or initialization. The two + control and status registers should indicate the nature of the failure. + See the hardware manual for details. + + ddee%%dd:: rreesseett ffaaiilleedd,, ccssrr00==%%bb ccssrr11==%%bb.. + ddee%%dd:: ppppccbb ffaaiilleedd,, ccssrr00==%%bb ccssrr11==%%bb.. + ddee%%dd:: rreeaadd aaddddrr ffaaiilleedd,, ccssrr00==%%bb ccssrr11==%%bb.. + ddee%%dd:: wwttrriinngg ffaaiilleedd,, ccssrr00==%%bb ccssrr11==%%bb.. + ddee%%dd:: wwttmmooddee ffaaiilleedd,, ccssrr00==%%bb ccssrr11==%%bb.. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4) + +HHIISSTTOORRYY + The ddee driver appeared in 4.3BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/dh.0 b/usr/share/man/cat4/vax/dh.0 new file mode 100644 index 0000000000..24f3afacf0 --- /dev/null +++ b/usr/share/man/cat4/vax/dh.0 @@ -0,0 +1,51 @@ +DH(4) BSD Programmer's Manual (VAX Architecture) DH(4) + +NNAAMMEE + ddhh - DH-11/ DM-11 multiplexer device interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddhh00 aatt uubbaa00 ccssrr 00116600002200 vveeccttoorr ddhhrriinntt ddhhxxiinntt [_f_l_a_g_s] + ddeevviiccee ddmm00 aatt uubbaa00 ccssrr 00117700550000 vveeccttoorr ddmmiinnttrr [_f_l_a_g_s] + +DDEESSCCRRIIPPTTIIOONN + A DH-11 provides 16 serial communication lines; DM-11s may optionally be + paired with DH-11s to provide modem control for the lines. + + An optional argument _f_l_a_g_s may be supplied with the device specification + in the config(8) file indicating that the line corresponding to bit num- + ber _i is not properly connected, and should be treated as hard-wired with + carrier always present. Thus specifying `flags 0x0004' for dh0 would + cause line _t_t_y_h_2 to be treated in this way. + + Normal I/O control parameters for individual lines are managed by + ioctl(2) calls. Line speeds may be initiated via getty(8) and stty(1) or + may be communicated by other programs which utilize ioctl such as + ifcongif(8), see tty(4). + + The ddhh driver monitors the rate of input on each board, and switches be- + tween the use of character-at-a-time interrupts and input silos. While + the silo is enabled during periods of high-speed input, the driver polls + for input 30 times per second. + +FFIILLEESS + /dev/tty[h-o][0-9a-f] + /dev/ttyd[0-9a-f] + +DDIIAAGGNNOOSSTTIICCSS + ddhh%%dd:: NNXXMM.. No response from UNIBUS on a dma transfer within a timeout + period. This is often followed by a UNIBUS adapter error. This occurs + most frequently when the UNIBUS is heavily loaded and when devices which + hog the bus (such as RK07s) are present. It is not serious. + + ddhh%%dd:: ssiilloo oovveerrffllooww.. The character input silo overflowed before it could + be serviced. This can happen if a hard error occurs when the CPU is run- + ning with elevated priority, as the system will then print a message on + the console with interrupts disabled. It is not serious. + +SSEEEE AALLSSOO + tty(4) + +HHIISSTTOORRYY + A ddhh driver appeared in Version 6 AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/dhu.0 b/usr/share/man/cat4/vax/dhu.0 new file mode 100644 index 0000000000..d8ac89045f --- /dev/null +++ b/usr/share/man/cat4/vax/dhu.0 @@ -0,0 +1,59 @@ +DHU(4) BSD Programmer's Manual (VAX Architecture) DHU(4) + +NNAAMMEE + ddhhuu - DHU-11 communications multiplexer + +SSYYNNOOPPSSIISS + ddeevviiccee ddhhuu00 aatt uubbaa00 ccssrr 00116600444400 vveeccttoorr ddhhuurriinntt ddhhuuxxiinntt + +DDEESSCCRRIIPPTTIIOONN + A DHU-11 provides 16 communication lines. + + An optional argument _f_l_a_g_s may be supplied with the device specification + in the config file indicating that the line corresponding to bit number _i + is not properly connected, and should be treated as hard-wired with car- + rier always present. Thus specifying `flags 0x0004' for dhu0 would cause + line _t_t_y_S_2 to be treated in this way. + + Normal I/O control parameters for individual lines are managed by + ioctl(2) calls. Individual DHU-11 lines may be configured to run at any + of 13 speeds (50, 200 and 38400 baud are not available); the speed may be + set via getty(8) or stty(1) or may be communicated by other programs + which utilize ioctl such as ifcongif(8), see tty(4). + + The DHU-11 driver normally uses input silos and delays receiver inter- + rupts by 20 milliseconds rather than taking an interrupt on each input + character. + +FFIILLEESS + /dev/tty[S-Z][0-9a-f] + +DDIIAAGGNNOOSSTTIICCSS + ddhhuu((%%dd,,%%dd)):: NNXXMM ffaauulltt.. No response from UNIBUS on a DMA transfer within + a timeout period. This is often followed by a UNIBUS adapter error. + This occurs most frequently when the UNIBUS is heavily loaded and when + devices which hog the bus (such as RK07s) are present. It is not seri- + ous. + + ddhhuu%%dd:: ssiilloo oovveerrffllooww.. The character input silo overflowed before it + could be serviced. This can happen if a hard error occurs when the CPU + is running with elevated priority, as the system may then print a message + on the console with interrupts disabled. + +NNOOTTEESS + The driver currently does not make full use of the hardware capabilities + of the DHU-11, for dealing with XON/XOFF flow-control or hard-wired lines + for example. + + Although the devices are not the same, a DHU-11 can convince the DH-11 + autoconfiguration code that it is a DH-11. + + The 4 40-way cables are a pain. + +SSEEEE AALLSSOO + tty(4) + +HHIISSTTOORRYY + The ddhhuu driver appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/dmc.0 b/usr/share/man/cat4/vax/dmc.0 new file mode 100644 index 0000000000..af64c3993e --- /dev/null +++ b/usr/share/man/cat4/vax/dmc.0 @@ -0,0 +1,69 @@ +DMC(4) BSD Programmer's Manual (VAX Architecture) DMC(4) + +NNAAMMEE + ddmmcc - DEC DMC-11/ DMR-11 point-to-point communications device + +SSYYNNOOPPSSIISS + ddeevviiccee ddmmcc00 aatt uubbaa00 ccssrr 116677660000 vveeccttoorr ddmmccrriinntt ddmmccxxiinntt + +DDEESSCCRRIIPPTTIIOONN + The ddmmcc interface provides access to a point-to-point communications de- + vice which runs at either 1 Mb/s or 56 Kb/s. DMC-11s communicate using + the DEC DDCMP link layer protocol. + + The ddmmcc interface driver also supports a DEC DMR-11 providing point-to- + point communication running at data rates from 2.4 Kb/s to 1 Mb/s. + DMR-11s are a more recent design and thus are preferred over DMC-11s. The + NXMT and NRCV constants in the driver may be increased in this case, as + the DMR can accept up to 64 transmit and receive buffers, as opposed to 7 + for the DMC. + + The configuration flags specify how to set up the device, + + 0 full duplex DDCMP (normal mode) + 1 DDCMP Maintence mode (generally useless) + 2 DDCMP Half Duplex, primary station + 3 DDCMP Half Duplex, secondary station + + Several device error counters are available via adb(1), for more infor- + mation see the adb script _/_u_s_r_/_l_i_b_/_a_d_b_/_d_m_c_s_t_a_t_s, or the DMC-11 technical + manual. + + The host's address must be specified with an SIOCSIFADDR ioctl(2), and + the destination address specified with a SIOCSIFDSTADDR ioctl, before + the interface will transmit or receive any packets. + +RROOUUTTIINNGG + The driver places a HOST entry in the kernel routing tables for the ad- + dress given in the SIOCSIFDSTADDR ioctl. To use the DMC as a link be- + tween local nets, the route to the remote net must be added manually with + the route(8) command, or by the use of the routing process routed(8) on + each end of the link. + +DDIIAAGGNNOOSSTTIICCSS + ddmmcc%%dd:: bbaadd ccoonnttrrooll %%oo.. A bad parameter was passed to the _d_m_c_l_o_a_d rou- + tine. + + ddmmcc%%dd:: uunnkknnoowwnn aaddddrreessss ttyyppee %%dd.. An input packet was received which con- + tained a type of address unknown to the driver. + + DDMMCC ffaattaall eerrrroorr 00%%oo.. A fatal error in DDMCP occurred, causing the device + to be restarted. + + DDMMCC ssoofftt eerrrroorr 00%%oo.. A non-fatal error in DDMCP has occurred. + + ddmmcc%%dd:: aaff%%dd nnoott ssuuppppoorrtteedd.. The interface was handed a message which has + addresses formatted in an unsuitable address family. + +SSEEEE AALLSSOO + intro(4), inet(4) + +HHIISSTTOORRYY + The ddmmcc driver appeared in 4.2BSD. + +BBUUGGSS + The current version of the driver uses a link-level encapsulation so that + multiple protocol types may be used. It is thus incompatible with earli- + er drivers, including the 4.2BSD version. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/dmf.0 b/usr/share/man/cat4/vax/dmf.0 new file mode 100644 index 0000000000..78907fd5cc --- /dev/null +++ b/usr/share/man/cat4/vax/dmf.0 @@ -0,0 +1,72 @@ +DMF(4) BSD Programmer's Manual (VAX Architecture) DMF(4) + +NNAAMMEE + ddmmff - DMF-32 terminal multiplexor + +SSYYNNOOPPSSIISS + ddeevviiccee ddmmff00 aatt uubbaa?? ccssrr 00116600334400 vveeccttoorr ddmmffssrriinntt ddmmffssxxiinntt ddmmffddaaiinntt + ddmmffddbbiinntt ddmmffrriinntt ddmmffxxiinntt ddmmfflliinntt + +DDEESSCCRRIIPPTTIIOONN + The ddmmff device provides 8 lines of asynchronous serial line support. The + first two of these have full modem control. The device also provides a + line printer port similar to the LP-11. Other features of the DMF-32 are + not supported. During autoconfiguration, the driver examines the config- + uration of each DMF-32 and adjusts the interrupt vectors so that fewer + vector locations are used if possible. + + An optional argument _f_l_a_g_s may be supplied with the device specification + in the config file indicating that the line corresponding to bit number _i + is not properly connected, and should be treated as hard-wired with car- + rier always present. Thus specifying `flags 0x04' for dmf0 would cause + line _t_t_y_A_2 to be treated in this way. Flags should be set for all lines + without hardware support for modem control. + + Normal I/O control parameters for individual lines are managed by + ioctl(2) calls. Line speeds may be initiated via getty(8) and stty(1) or + may be communicated by other programs which utilize ioctl such as + ifcongif(8), see tty(4). + + The serial line part of the ddmmff driver normally enables the input silos + with a short timeout (30 milliseconds); this allows multiple characters + to be received per interrupt during periods of high-speed input. + + A line printer port on a ddmmff is designated by a minor device number of + the form 128+_n. See MAKEDEV(8). Column and lines per page may be changed + from the default 132 columns and 66 lines by encoding the number of + columns in bits 8-15 of flags and the number of lines in bits 16-23. + This device does not provide the fancy output canonicalization features + of the lp(4) driver. + +FFIILLEESS + /dev/tty[A-CE-I][0-7] + /dev/ttyd[0-7] + /dev/lp + +DDIIAAGGNNOOSSTTIICCSS + ddmmff%%dd:: NNXXMM lliinnee %%dd.. No response from UNIBUS on a DMA transfer within a + timeout period. This is often followed by a UNIBUS adapter error. This + occurs most frequently when the UNIBUS is heavily loaded and when devices + which hog the bus (such as RK07s) are present. It is not serious. + + ddmmff%%dd:: ssiilloo oovveerrffllooww.. The character input silo overflowed before it + could be serviced. This can happen if a hard error occurs when the CPU + is running with elevated priority, as the system will then print a mes- + sage on the console with interrupts disabled. It is not serious. + + ddmmffssrriinntt,, ddmmffssxxiinntt,, ddmmffddaaiinntt,, ddmmffddbbiinntt.. One of the unsupported parts of + the dmf interrupted; something is amiss, check your interrupt vectors for + a conflict with another device. + +SSEEEE AALLSSOO + tty(4) + +HHIISSTTOORRYY + The ddmmff driver appeared in 4.2BSD. + +BBUUGGSS + It should be possible to set the silo timeout with a configuration file + option, as the value is a trade-off between efficiency and response time + for flow control and character echo. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/dmz.0 b/usr/share/man/cat4/vax/dmz.0 new file mode 100644 index 0000000000..c2c6b12ff5 --- /dev/null +++ b/usr/share/man/cat4/vax/dmz.0 @@ -0,0 +1,56 @@ +DMZ(4) BSD Programmer's Manual (VAX Architecture) DMZ(4) + +NNAAMMEE + ddmmzz - DMZ-32 terminal multiplexor + +SSYYNNOOPPSSIISS + ddeevviiccee ddmmzz00 aatt uubbaa?? ccssrr 00116600554400 vveeccttoorr ddmmzzrriinnttaa ddmmzzxxiinnttaa ddmmzzrriinnttbb + ddmmzzxxiinnttbb ddmmzzrriinnttcc ddmmzzxxiinnttcc + +DDEESSCCRRIIPPTTIIOONN + The ddmmzz device provides 24 lines of asynchronous serial line support. + Modem control on all ports is available as an option for the H3014 dis- + tribution panel. + + An optional argument _f_l_a_g_s may be supplied with the device specification + for ddmmzz in the config file indicating that the line corresponding to bit + number _i is not properly connected, and should be treated as hard-wired + with carrier always present. Thus specifying `flags 0x000004' for dmz0 + would cause line _t_t_y_a_2 to be treated in this way. + + Normal I/O control parameters for individual lines are managed by + ioctl(2) calls. Line speeds (there are 16 choices for the DMZ) may be + initiated via getty(8) and stty(1) or may be communicated by other pro- + grams which utilize ioctl such as ifcongif(8), see tty(4). + + The ddmmzz driver normally enables the input silos with a short timeout (30 + milliseconds); this allows multiple characters to be received per inter- + rupt during periods of high-speed input. + +FFIILLEESS + /dev/tty[abcefg][0-9a-n] + +DDIIAAGGNNOOSSTTIICCSS + ddmmzz%%dd:: NNXXMM lliinnee %%dd.. No response from the UNIBUS on a DMA transfer within + a timeout period. This is often followed by a UNIBUS adapter error. + This occurs most frequently when the UNIBUS is heavily loaded and when + devices which hog the bus (such as RK07s) are present. It is not seri- + ous. + + ddmmzz%%dd:: ssiilloo oovveerrffllooww.. The character input silo overflowed before it + could be serviced. This can happen if a hard error occurs when the CPU + is running with elevated priority, as the system will then print a mes- + sage on the console with interrupts disabled. It is not serious. + +SSEEEE AALLSSOO + tty(4) + +HHIISSTTOORRYY + The ddmmzz driver appeared in 4.3BSD. + +BBUUGGSS + It should be possible to set the silo timeout with a configuration file + option, as the value is a trade-off between efficiency and response time + for flow control and character echo. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/dn.0 b/usr/share/man/cat4/vax/dn.0 new file mode 100644 index 0000000000..8ae41f400d --- /dev/null +++ b/usr/share/man/cat4/vax/dn.0 @@ -0,0 +1,55 @@ +DN(4) BSD Programmer's Manual (VAX Architecture) DN(4) + +NNAAMMEE + ddnn - DN-11 autocall unit interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddnn00 aatt uubbaa?? ccssrr 00116600002200 vveeccttoorr ddnniinnttrr + +DDEESSCCRRIIPPTTIIOONN + The ddnn device provides an interface through a DEC DN-11 (or equivalent + such as the Able Quadracall) to an auto-call unit (ACU). To place an out- + going call one forks a sub-process which opens the appropriate call unit + file, _/_d_e_v_/_c_u_a_? and writes the phone number on it. The parent process + then opens the corresponding modem line _/_d_e_v_/_c_u_l_?. When the connection + has been established, the open on the modem line _/_d_e_v_/_c_u_l_? will return + and the process will be connected. A timer is normally used to timeout + the opening of the modem line. + + The codes for the phone numbers are: + + 0-9 number to be dialed + * dial * (`:' is a synonym) + # dial # (`;' is a synonym) + - delay 20 milliseconds + < end of phone number (`e' is a synonym) + = delay for a second dial tone (`w' is a synonym) + f force a hangup of any existing connection + + The phone number to be dialed must be presented as one contiguous string. + + By convention, even numbered call units are for 300 baud modem lines, + while odd numbered units are for 1200 baud lines. For example, _/_d_e_v_/_c_u_a_0 + is associated with a 300 baud modem line, _/_d_e_v_/_c_u_l_0, while _/_d_e_v_/_c_u_a_1 is + associated with a 1200 baud modem line, _/_d_e_v_/_c_u_l_1. For devices such as + the Quadracall which simulate multiple DN-11 units, the minor device in- + dicates which outgoing modem to use. + +FFIILLEESS + /dev/cua? call units + /dev/cul? associated modem lines + +DDIIAAGGNNOOSSTTIICCSS + Two error numbers are of interest at open time. + + [EBUSY] The dialer is in use. + + [ENXIO] The device doesn't exist, or there's no power to it. + +SSEEEE AALLSSOO + tip(1) + +HHIISSTTOORRYY + A ddnn driver appeared in Version 6 AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/dz.0 b/usr/share/man/cat4/vax/dz.0 new file mode 100644 index 0000000000..1f60703008 --- /dev/null +++ b/usr/share/man/cat4/vax/dz.0 @@ -0,0 +1,44 @@ +DZ(4) BSD Programmer's Manual (VAX Architecture) DZ(4) + +NNAAMMEE + ddzz - DZ-11 multiplexer device interface + +SSYYNNOOPPSSIISS + ddeevviiccee ddzz00 aatt uubbaa00 ccssrr 00116600110000 vveeccttoorr ddzzrriinntt ddzzxxiinntt + +DDEESSCCRRIIPPTTIIOONN + A DZ-11 provides 8 communication lines with partial modem control, ade- + quate for UNIX dialup use. + + An optional argument _f_l_a_g_s may be supplied with the device specification + in the config file indicating that the line corresponding to bit number _i + is not properly connected, and should be treated as hard-wired with car- + rier always present. Thus specifying `flags 0x04' for dz0 would cause + line _t_t_y_0_2 to be treated in this way. + + Normal I/O control parameters for individual lines are managed by + ioctl(2) calls. Line speeds may be initiated via the ttys(5) file, + stty(1) or ifconfig(8) to name a few, see tty(4). + + The ddzz driver monitors the rate of input on each board, and switches be- + tween the use of character-at-a-time interrupts and input silos. While + the silo is enabled during periods of high-speed input, the driver polls + for input 30 times per second. + +FFIILLEESS + /dev/tty[0-9][0-9] + /dev/ttyd[0-9a-f] dialups + +DDIIAAGGNNOOSSTTIICCSS + ddzz%%dd:: ssiilloo oovveerrffllooww .. The 64 character input silo overflowed before it + could be serviced. This can happen if a hard error occurs when the CPU + is running with elevated priority, as the system will then print a mes- + sage on the console with interrupts disabled. It is not serious. + +SSEEEE AALLSSOO + stty(1), tty(4), ttys(5), getty(8) + +HHIISSTTOORRYY + A ddzz driver appeared in Version 32V AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/ec.0 b/usr/share/man/cat4/vax/ec.0 new file mode 100644 index 0000000000..32a8afcd6d --- /dev/null +++ b/usr/share/man/cat4/vax/ec.0 @@ -0,0 +1,73 @@ +EC(4) BSD Programmer's Manual (VAX Architecture) EC(4) + +NNAAMMEE + eecc - 3Com 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee eecc00 aatt uubbaa00 ccssrr 116611000000 vveeccttoorr eeccrriinntt eeccccoolllliiddee eeccxxiinntt ffllaaggss 00 + +DDEESSCCRRIIPPTTIIOONN + The eecc interface provides access to a 10 Mb/s Ethernet network through a + 3com controller. + + The hardware has 32 kilobytes of dual-ported memory on the UNIBUS. This + memory is used for internal buffering by the board, and the interface + code reads the buffer contents directly through the UNIBUS. The address + of this memory is given in the _f_l_a_g_s field in the configuration file. + The first interface normally has its memory at Unibus address 0. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The eecc interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + + The interface software implements an exponential backoff algorithm when + notified of a collision on the cable. This algorithm utilizes a 16-bit + mask and the VAX-11's interval timer in calculating a series of random + backoff values. The algorithm is as follows: + + 1. Initialize the mask to be all 1's. + + 2. If the mask is zero, 16 retries have been made and we give up. + + 3. Shift the mask left one bit and formulate a backoff by masking + the interval timer with the smaller of the complement of this + mask and a 5-bit mask, resulting in a pseudo-random number be- + tween 0 and 31. This produces the number of slot times to de- + lay, where a slot is 51 microseconds. + + 4. Use the value calculated in step 3 to delay before retransmit- + ting the packet. The delay is done in a software busy loop. + +DDIIAAGGNNOOSSTTIICCSS + eecc%%dd:: sseenndd eerrrroorr.. After 16 retransmissions using the exponential backoff + algorithm described above, the packet was dropped. + + eecc%%dd:: iinnppuutt eerrrroorr ((ooffffsseett==%%dd)).. The hardware indicated an error in read- + ing a packet off the cable or an illegally sized packet. The buffer off- + set value is printed for debugging purposes. + + eecc%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4) + +HHIISSTTOORRYY + The eecc driver appeared in 4.2BSD. + +BBUUGGSS + The hardware is not capable of talking to itself. The software imple- + ments local sending and broadcast by sending such packets to the loop in- + terface. This is a kludge. + + Backoff delays are done in a software busy loop. This can degrade the + system if the network experiences frequent collisions. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/en.0 b/usr/share/man/cat4/vax/en.0 new file mode 100644 index 0000000000..a7088b720e --- /dev/null +++ b/usr/share/man/cat4/vax/en.0 @@ -0,0 +1,73 @@ +EN(4) BSD Programmer's Manual (VAX Architecture) EN(4) + +NNAAMMEE + eenn - Xerox 3 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee eenn00 aatt uubbaa00 ccssrr 116611000000 vveeccttoorr eennrriinntt eennxxiinntt eennccoolllliiddee + +DDEESSCCRRIIPPTTIIOONN + The eenn interface provides access to a 3 Mb/s Ethernet network. Due to + limitations in the hardware, DMA transfers to and from the network must + take place in the lower 64K bytes of the UNIBUS address space, and thus + this must be among the first UNIBUS devices enabled after boot. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The station address is discovered by probing the + on-board Ethernet address register, and is used to verify the protocol + addresses. No packets will be sent or accepted until a network address + is supplied. + + The interface software implements an exponential backoff algorithm when + notified of a collision on the cable. This algorithm utilizes a 16-bit + mask and the VAX-11's interval timer in calculating a series of random + backoff values. The algorithm is as follows: + + 1. Initialize the mask to be all 1's. + + 2. If the mask is zero, 16 retries have been made and we give up. + + 3. Shift the mask left one bit and formulate a backoff by masking + the interval timer with the mask (this is actually the two's + complement of the value). + + 4. Use the value calculated in step 3 to delay before retransmit- + ting the packet. + + The interface handles both Internet and NS protocol families. It normal- + ly tries to use a ``trailer'' encapsulation to minimize copying data on + input and output. The use of trailers is negotiated with ARP. This nego- + tiation may be disabled, on a per-interface basis, by setting the + IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + eenn%%dd:: oouuttppuutt eerrrroorr.. The hardware indicated an error on the previous + transmission. + + eenn%%dd:: sseenndd eerrrroorr.. After 16 retransmissions using the exponential backoff + algorithm described above, the packet was dropped. + + eenn%%dd:: iinnppuutt eerrrroorr.. The hardware indicated an error in reading a packet + off the cable. + + eenn%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + netintro(4), inet(4) + +HHIISSTTOORRYY + The eenn driver appeared in 4.2BSD. + +BBUUGGSS + The device has insufficient buffering to handle back to back packets. + This makes use in a production environment painful. + + The hardware does word at a time DMA without byte swapping. To compen- + sate, byte swapping of user data must either be done by the user or by + the system. A kludge to byte swap only IP packets is provided if the + ENF_SWABIPS flag is defined in the driver and set at boot time with an + SIOCSIFFLAGS ioctl. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/ex.0 b/usr/share/man/cat4/vax/ex.0 new file mode 100644 index 0000000000..b916696ce1 --- /dev/null +++ b/usr/share/man/cat4/vax/ex.0 @@ -0,0 +1,51 @@ +EX(4) BSD Programmer's Manual (VAX Architecture) EX(4) + +NNAAMMEE + eexx - Excelan 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee eexx00 aatt uubbaa00 ccssrr 116644000000 vveeccttoorr eexxccddiinntt + +DDEESSCCRRIIPPTTIIOONN + The eexx interface provides access to a 10 Mb/s Ethernet network through an + Excelan controller used as a link-layer interface. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The eexx interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + eexx%%dd:: HHWW %%cc..%%cc,, NNXX %%cc..%%cc,, hhaarrddwwaarree aaddddrreessss %%ss.. This provides firmware + revisions levels, and is expected during autoconfiguration. + + eexx%%dd:: ccaann''tt iinniittiiaalliizzee.. There was a failure in allocating unibus re- + sources for the device. + + eexx%%dd:: ccoonnffiigguurraattiioonn ffaaiilleedd;; cccc == %%xx.. The hardware indicated an error + when trying to initalize itself. The error code returned is described at + length in the device Reference Manual. + + eexx%%dd:: rreecceeiivvee eerrrroorr %%bb.. The hardware indicated an error in reading a + packet from the cable. Specific Error bits are provided + + eexx%%dd:: ttrraannssmmiitt eerrrroorr %%bb.. The hardware indicated an error in transmitting + a packet to the cable or an illegally sized packet. Specific Error bits + are provided + + eexx%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4) + +HHIISSTTOORRYY + The eexx driver appeared in 4.3BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/fl.0 b/usr/share/man/cat4/vax/fl.0 new file mode 100644 index 0000000000..9fe4560a9d --- /dev/null +++ b/usr/share/man/cat4/vax/fl.0 @@ -0,0 +1,33 @@ +FL(4) BSD Programmer's Manual (VAX Architecture) FL(4) + +NNAAMMEE + ffll - console floppy interface + +DDEESSCCRRIIPPTTIIOONN + This is a simple interface to the DEC RX01 floppy disk unit, which is + part of the console LSI-11 subsystem for VAX-11/780s. Access is given to + the entire floppy consisting of 77 tracks of 26 sectors of 128 bytes. + + All I/O is raw; the seek addresses in raw transfers should be a multiple + of 128 bytes and a multiple of 128 bytes should be transferred, as in + other ``raw'' disk interfaces. + +FFIILLEESS + /dev/floppy + +DDIIAAGGNNOOSSTTIICCSS + None. + +SSEEEE AALLSSOO + arff(8) + +HHIISSTTOORRYY + The ffll driver appeared in 4.0BSD. + +BBUUGGSS + Multiple console floppies are not supported. + + If a write is given with a count not a multiple of 128 bytes then the + trailing portion of the last sector will be zeroed. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/hdh.0 b/usr/share/man/cat4/vax/hdh.0 new file mode 100644 index 0000000000..bcd4aee83f --- /dev/null +++ b/usr/share/man/cat4/vax/hdh.0 @@ -0,0 +1,49 @@ +HDH(4) BSD Programmer's Manual (VAX Architecture) HDH(4) + +NNAAMMEE + hhddhh - ACC IF-11/HDH IMP interface + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee iimmpp + ddeevviiccee hhddhh00 aatt uubbaa00 ccssrr 116666774400 vveeccttoorr hhddhhiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The hhddhh device provides an HDLC Host (HDH) interface to an IMP. It is + normally used when participating in the DARPA Internet. The controller + itself is not accessible to users, but instead provides the hardware sup- + port to the IMP interface described in imp(4). The configuration entry + for the IMP must also include the _p_s_e_u_d_o_-_d_e_v_i_c_e as shown above in the + _S_Y_N_O_P_S_I_S. + +DDIIAAGGNNOOSSTTIICCSS + hhddhh%%dd:: nnoott aalliivvee.. The initialization routine was entered even though the + device did not autoconfigure. This indicates a system problem. + + hhddhh%%dd:: ccaannnnoott ggeett cchhaann %%dd uubbaa rreessoouurrcceess.. Insufficient UNIBUS resources + existed to initialize the device. This is likely to be a shortage of + UNIBUS mapping registers. + + hhddhh%%dd:: LLIINNEE UUPP.. This indicates that both the HDLC and HDH protocols have + declared the link to the IMP alive. + + hhddhh%%dd:: LLIINNEE DDOOWWNN.. This indicates that the link to the IMP has died. + + hhddhh%%dd:: TTIIMMEEOOUUTT.. + hhddhh%%dd:: HHOOSSTT DDAATTAA EERRRROORR.. + hhddhh%%dd:: IIMMPP SSEEQQUUEENNCCEE EERRRROORR.. + hhddhh%%dd:: HHOOSSTT SSEEQQUUEENNCCEE EERRRROORR.. These errors indicate that an HDH protocol + error has been detected. + + hhddhh%%dd:: ccaannnnoott ggeett ssuuppeerrvviissoorr ccmmnndd bbuuffffeerr.. This error indicates that an + _m_b_u_f could not be allocated to send a command to the IF-11/HDH. + + Any other error message from hdh%d: indicates a serious error detected by + either the driver or the IF-11/HDH firmware. + +SSEEEE AALLSSOO + netintro(4) + +HHIISSTTOORRYY + The hhddhh driver appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/hk.0 b/usr/share/man/cat4/vax/hk.0 new file mode 100644 index 0000000000..1c54fa8ec9 --- /dev/null +++ b/usr/share/man/cat4/vax/hk.0 @@ -0,0 +1,109 @@ +HK(4) BSD Programmer's Manual HK(4) + +NNAAMMEE + hhkk - RK6-11/ RK06 and RK07 disk interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr hhkk00 aatt uubbaa?? ccssrr 00117777444400 vveeccttoorr rrkkiinnttrr + ddiisskk rrkk00 aatt hhkk00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + The hhkk driver is a typical block-device disk driver; block device I/O is + described in physio(4). + + The script MAKEDEV(8) should be used to create the special files; if a + special file needs to be created by hand consult mknod(8). + +DDIISSKK SSUUPPPPOORRTT + Special file names begin with `hk' and `rhk' for the block and character + files respectively. The second component of the name, a drive unit number + in the range of zero to seven, is represented by a `?' in the disk lay- + outs below. The last component is the file system partition which is des- + ignated by a letter from `a' to `h'. and corresponds to a minor device + number set: zero to seven, eight to 15, 16 to 23 and so forth for drive + zero, drive two and drive three respectively. The location and size (in + sectors) of the partitions for the RK06 and RK07 drives are as follows: + + RK07 partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyll + hk?a 0 15884 0-240 + hk?b 15906 10032 241-392 + hk?c 0 53790 0-814 + hk?d 25938 15884 393-633 + hk?f 41844 11792 634-814 + hk?g 25938 27786 393-813 + + RK06 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyll + hk?a 0 15884 0-240 + hk?b 15906 11154 241-409 + hk?c 0 27126 0-410 + + On a dual RK-07 system partition hk?a is used for the root for one drive + and partition hk?g for the /usr file system. If large jobs are to be run + using hk?b on both drives as swap area provides a 10Mbyte paging area. + Otherwise partition hk?c on the other drive is used as a single large + file system. + +FFIILLEESS + /dev/hk[0-7][a-h] block files + /dev/rhk[0-7][a-h] raw files + +DDIIAAGGNNOOSSTTIICCSS + hhkk%%dd%%cc:: hhaarrdd eerrrroorr %%ssiinngg ffssbbnn %%dd[[--%%dd]] ccss22==%%bb ddss==%%bb eerr==%%bb.. An unrecover- + able error occurred during transfer of the specified filesystem block + number(s), which are logical block numbers on the indicated partition. + The contents of the cs2, ds and er registers are printed in octal and + symbolically with bits decoded. The error was either unrecoverable, or a + large number of retry attempts (including offset positioning and drive + recalibration) could not recover the error. + + rrkk%%dd:: wwrriittee lloocckkeedd.. The write protect switch was set on the drive when a + write was attempted. The write operation is not recoverable. + + + + + rrkk%%dd:: nnoott rreeaaddyy.. The drive was spun down or off line when it was ac- + cessed. The i/o operation is not recoverable. + + rrkk%%dd:: nnoott rreeaaddyy ((ccaammee bbaacckk!!)).. The drive was not ready, but after print- + ing the message about being not ready (which takes a fraction of a sec- + ond) was ready. The operation is recovered if no further errors occur. + + rrkk%%dd%%cc:: ssoofftt eecccc rreeaaddiinngg ffssbbnn %%dd[[--%%dd]].. A recoverable ECC error occurred + on the specified sector(s) in the specified disk partition. This happens + normally a few times a week. If it happens more frequently than this the + sectors where the errors are occurring should be checked to see if cer- + tain cylinders on the pack, spots on the carriage of the drive or heads + are indicated. + + hhkk%%dd:: lloosstt iinntteerrrruupptt.. A timer watching the controller detected no inter- + rupt for an extended period while an operation was outstanding. This in- + dicates a hardware or software failure. There is currently a hard- + ware/software problem with spinning down drives while they are being ac- + cessed which causes this error to occur. The error causes a UNIBUS re- + set, and retry of the pending operations. If the controller continues to + lose interrupts, this error will recur a few seconds later. + +SSEEEE AALLSSOO + hp(4), uda(4), up(4), syslogd(8) + +HHIISSTTOORRYY + The hhkk driver appeared in 4.1BSD. + +BBUUGGSS + The write function scribbles on the tail of incomplete blocks. + + DEC-standard error logging should be supported. + + A program to analyze the logged error information (even in its present + reduced form) is needed. + + The partition tables for the file systems should be read off of each + pack, as they are never quite what any single installation would prefer, + and this would make packs more portable. + + The RK07 g partition size in rk.c disagrees with that in _/_e_t_c_/_d_i_s_k_t_a_b_. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/hp.0 b/usr/share/man/cat4/vax/hp.0 new file mode 100644 index 0000000000..b2b3fd68e8 --- /dev/null +++ b/usr/share/man/cat4/vax/hp.0 @@ -0,0 +1,250 @@ +HP(4) BSD Programmer's Manual (VAX Architecture) HP(4) + +NNAAMMEE + hhpp - MASSBUS disk interface + +SSYYNNOOPPSSIISS + ddiisskk hhpp00 aatt mmbbaa00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + The hhpp driver is a generic Massbus disk driver which handles both the + standard DEC controllers and the Emulex SC750 and SC780 controllers. It + is typical of a block-device disk driver; block I/O is described in + physio(4). + + The script MAKEDEV(8) should be used to create the special files; if a + special file needs to be created by hand consult mknod(8). It is recom- + mended as a security precaution to not create special files for devices + which may never be installed. + + The first sector of each disk contains both a first-stage bootstrap pro- + gram and a disk label containing geometry information and partition lay- + outs (see disklabel(5). This sector is normally write-protected, and + disk-to-disk copies should avoid copying this sector. The label may be + updated with disklabel(8), which can also be used to write-enable and + write-disable the sector. The next 15 sectors contain a second-stage + bootstrap program. + +DDIISSKK SSUUPPPPOORRTT + This driver handles both standard DEC controllers and Emulex SC750 and + SC780 controllers. During autoconfiguration or whenever a drive comes on + line for the first time, or when a drive is opened after all partitions + are closed, the first sector of the drive is examined for a disk label. + If a label is found, the geometry of the drive and the partition tables + are taken from it. If no label is found, standard DEC drive types are + recognized according to the MASSBUS drive type register, and default par- + titions are used. For the Emulex controller the drive type register + should be configured to indicate the drive is an RM02. When this is en- + countered, the driver checks the holding register to find out the disk + geometry and, based on this information, decides what the drive type is. + + Special file names begin with `hp' and `rhp' for the block and character + files respectively. The second component of the name, a drive unit number + in the range of zero to seven, is represented by a `?' in the disk lay- + outs below. The last component is the file system partition designated + by a letter from `a' to `h' and also corresponds to a minor device number + set: zero to seven, eight to 15, 16 to 23 and so forth for drive zero, + drive two and drive three respectively. The following disks are support- + ed: RM03, RM05, RP06, RM80, RP05, RP07, ML11A, ML11B, CDC 9775, CDC 9730, + AMPEX Capricorn (32 sectors/track), FUJITSU Eagle (48 sectors/track), + FUJITSU 2361, and AMPEX 9300. The default layout and size (in sectors) + of the partitions for these drives: + + RM03 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-99 + hp?b 16000 33440 100-309 + hp?c 0 131680 0-822 + hp?d 49600 15884 309-408 + hp?e 65440 55936 409-758 + hp?f 121440 10080 759-822 + hp?g 49600 82080 309-822 + + RM05 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-26 + hp?b 16416 33440 27-81 + hp?c 0 500384 0-822 + hp?d 341696 15884 562-588 + hp?e 358112 55936 589-680 + hp?f 414048 86176 681-822 + hp?g 341696 158528 562-822 + hp?h 49856 291346 82-561 + + RP06 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-37 + hp?b 15884 33440 38-117 + hp?c 0 340670 0-814 + hp?d 49324 15884 118-155 + hp?e 65208 55936 156-289 + hp?f 121220 219296 290-814 + hp?g 49324 291192 118-814 + + RM80 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-36 + hp?b 16058 33440 37-114 + hp?c 0 242606 0-558 + hp?d 49910 15884 115-151 + hp?e 68096 55936 152-280 + hp?f 125888 120466 281-558 + hp?g 49910 192510 115-558 + + RP05 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-37 + hp?b 15884 33440 38-117 + hp?c 0 171798 0-410 + hp?d 2242 15884 118-155 + hp?e 65208 55936 156-289 + hp?f 121220 50424 290-410 + hp?g 2242 122320 118-410 + + RP07 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-9 + hp?b 16000 66880 10-51 + hp?c 0 1008000 0-629 + hp?d 376000 15884 235-244 + hp?e 392000 307200 245-436 + hp?f 699200 308600 437-629 + hp?g 376000 631800 235-629 + hp?h 83200 291346 52-234 + + CDC 9775 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-12 + hp?b 16640 66880 13-65 + hp?c 0 1077760 0-841 + hp?d 376320 15884 294-306 + hp?e 392960 307200 307-546 + hp?f 700160 377440 547-841 + hp?g 376320 701280 294-841 + hp?h 84480 291346 66-293 + + CDC 9730 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-49 + hp?b 16000 33440 50-154 + hp?c 0 263360 0-822 + hp?d 49600 15884 155-204 + hp?e 65600 55936 205-379 + hp?f 121600 141600 380-822 + hp?g 49600 213600 155-822 + + AMPEX Capricorn partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-31 + hp?b 16384 33440 32-97 + hp?c 0 524288 0-1023 + hp?d 342016 15884 668-699 + hp?e 358400 55936 700-809 + hp?f 414720 109408 810-1023 + hp?g 342016 182112 668-1023 + hp?h 50176 291346 98-667 + + FUJITSU Eagle partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-16 + hp?b 16320 66880 17-86 + hp?c 0 808320 0-841 + hp?d 375360 15884 391-407 + hp?e 391680 55936 408-727 + hp?f 698880 109248 728-841 + hp?g 375360 432768 391-841 + hp?h 83520 291346 87-390 + + FUJITSU 2361 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-12 + hp?b 16640 66880 13-65 + hp?c 0 1077760 0-841 + hp?d 376320 15884 294-306 + hp?e 392960 307200 307-546 + hp?f 700160 377408 547-841 + hp?g 363520 701248 294-841 + hp?h 84480 291346 66-293 + + AMPEX 9300 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyll + hp?a 0 15884 0-26 + hp?b 16416 33440 27-81 + hp?c 0 495520 0-814 + hp?d 341696 15884 562-588 + hp?e 358112 55936 589-680 + hp?f 414048 81312 681-814 + hp?g 341696 153664 562-814 + hp?h 49856 291346 82-561 + + The hp?a partition is normally used for the root file system, the hp?b + partition as a paging area, and the hp?c partition for pack-pack copying + (it maps the entire disk). On disks larger than about 205 Megabytes, the + hp?h partition is inserted prior to the hp?d or hp?g partition; the hp?g + partition then maps the remainder of the pack. All disk partition tables + are calculated using the diskpart(8) program. + +FFIILLEESS + /dev/hp[0-7][a-h] block files + /dev/rhp[0-7][a-h] raw files + +DDIIAAGGNNOOSSTTIICCSS + hhpp%%dd%%cc:: hhaarrdd eerrrroorr %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((hhpp%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn + %%dd)) mmbbssrr==%%bb eerr11==%%bb eerr22==%%bb.. An unrecoverable error occurred during trans- + fer of the specified filesystem block number, which is a logical block + number on the indicated partition. If the transfer involved multiple + blocks, the block range is printed as well. The parenthesized fields + list the actual disk sector number relative to the beginning of the + drive, as well as the cylinder, track and sector number of the block. + The MASSBUS status register is printed in hexadecimal and with the error + bits decoded if any error bits other than MBEXC and DTABT are set. In + any case the contents of the two error registers are also printed in oc- + tal and symbolically with bits decoded. (Note that er2 is what old RP06 + manuals would call RPER3; the terminology is that of the RM disks). The + error was either unrecoverable, or a large number of retry attempts (in- + cluding offset positioning and drive recalibration) could not recover the + error. + + hhpp%%dd:: wwrriittee lloocckkeedd.. The write protect switch was set on the drive when a + write was attempted. The write operation is not recoverable. + + hhpp%%dd:: nnoott rreeaaddyy .. The drive was spun down or off line when it was ac- + cessed. The I/O operation is not recoverable. + + hhpp%%dd%%cc:: ssoofftt eecccc rreeaaddiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((hhpp%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn + %%dd)).. A recoverable ECC error occurred on the specified sector of the + specified disk partition. If the transfer involved multiple blocks, the + block range is printed as well. The parenthesized fields list the actual + disk sector number relative to the beginning of the drive, as well as the + cylinder, track and sector number of the block. This happens normally a + few times a week. If it happens more frequently than this the sectors + where the errors are occurring should be checked to see if certain cylin- + ders on the pack, spots on the carriage of the drive or heads are indi- + cated. + + hhpp%%dd:: 99777755 ((ddiirreecctt)).. + hhpp%%dd:: 99773300 ((ddiirreecctt)).. + hhpp%%dd:: 99330000.. + hhpp%%dd:: 99776622.. + hhpp%%dd:: ccaapprriiccoorrnn.. + hhpp%%dd:: eeaaggllee.. + hhpp%%dd:: 22336611.. + hhpp%%dd:: nnttrraacckkss %%dd,, nnsseeccttoorrss %%dd:: uunnkknnoowwnn ddeevviiccee.. During autoconfiguration + one of the above messages may appear on the console indicating the appro- + priate drive type was recognized. The last message indicates the drive + is of a unknown type. In this case, the correct geometry is set, and one + partition is created that contains the entire drive. + +SSEEEE AALLSSOO + physio(4), up(4), disklabel(5), MAKEDEV(8) disklabel(8) mknod(8) + +HHIISSTTOORRYY + The hhpp driver appeared in 4.0BSD. + +BBUUGGSS + DEC-standard error logging should be supported. + + A program to analyze the logged error information (even in its present + reduced form) is needed. + +4th Berkeley Distribution June 5, 1993 4 diff --git a/usr/share/man/cat4/vax/ht.0 b/usr/share/man/cat4/vax/ht.0 new file mode 100644 index 0000000000..c0581a6fb0 --- /dev/null +++ b/usr/share/man/cat4/vax/ht.0 @@ -0,0 +1,46 @@ +HT(4) BSD Programmer's Manual (VAX Architecture) HT(4) + +NNAAMMEE + hhtt - TM-03/ TE-16, TU-45, TU-77 MASSBUS magtape device interface: + +SSYYNNOOPPSSIISS + mmaasstteerr hhtt00 aatt mmbbaa?? ddrriivvee ?? + ttaappee ttuu00 aatt hhtt00 ssllaavvee 00 + +DDEESSCCRRIIPPTTIIOONN + The TM-03 transport combination provides a standard tape drive interface + as described in mtio(4). All drives provide both 800 and 1600 BPI; the + TE-16 runs at 45 IPS, the TU-45 at 75 IPS, while the TU-77 runs at 125 + IPS and autoloads tapes. + +DDIIAAGGNNOOSSTTIICCSS + ttuu%%dd:: nnoo wwrriittee rriinngg.. An attempt was made to write on the tape drive when + no write ring was present; this message is written on the terminal of the + user who tried to access the tape. + + ttuu%%dd:: nnoott oonnlliinnee.. An attempt was made to access the tape while it was + offline; this message is written on the terminal of the user who tried to + access the tape. + + ttuu%%dd:: ccaann''tt cchhaannggee ddeennssiittyy iinn mmiidd--ttaappee.. An attempt was made to write on + a tape at a different density than is already recorded on the tape. This + message is written on the terminal of the user who tried to switch the + density. + + ttuu%%dd:: hhaarrdd eerrrroorr bbnn%%dd mmbbssrr==%%bb eerr==%%bb ddss==%%bb.. A tape error occurred at + block _b_n; the ht error register and drive status register are printed in + octal with the bits symbolically decoded. Any error is fatal on non-raw + tape; when possible the driver will have retried the operation which + failed several times before reporting the error. + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), mtio(4), mt(4), physio(4), tm(4), ts(4), + ut(4) + +HHIISSTTOORRYY + An hhtt driver appeared in Version 6 AT&T UNIX. + +BBUUGGSS + May hang if physical (non-data) errors occur. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/hy.0 b/usr/share/man/cat4/vax/hy.0 new file mode 100644 index 0000000000..b14a61b444 --- /dev/null +++ b/usr/share/man/cat4/vax/hy.0 @@ -0,0 +1,77 @@ +HY(4) BSD Programmer's Manual (VAX Architecture) HY(4) + +NNAAMMEE + hhyy - Network Systems Hyperchannel interface + +SSYYNNOOPPSSIISS + ddeevviiccee hhyy00 aatt uubbaa00 ccssrr 00117722441100 vveeccttoorr hhyyiinntt + +DDEESSCCRRIIPPTTIIOONN + The hhyy interface provides access to a Network Systems Corporation Hyper- + channel Adapter. + + The network to which the interface is attached is specified at boot time + with an SIOCSIFADDR ioctl(2). The host's address is discovered by read- + ing the adapter status register. The interface will not transmit or re- + ceive packets until the network number is known. + +DDIIAAGGNNOOSSTTIICCSS + hhyy%%dd:: uunniitt nnuummbbeerr 00xx%%xx ppoorrtt %%dd ttyyppee %%xx mmiiccrrooccooddee lleevveell 00xx%%xx.. Identifies + the device during autoconfiguration. + + hhyy%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + hhyy%%dd:: ccaann''tt iinniittiiaalliizzee.. The interface was unable to allocate UNIBUS re- + sources. This is usually due to having too many network devices on an + 11/750 where there are only 3 buffered data paths. + + hhyy%%dd:: NNEEXX -- NNoonn EExxiisstteenntt MMeemmoorryy.. Non existent memory error returned from + hardware. + + hhyy%%dd:: BBAARR oovveerrffllooww.. Bus address register overflow error returned from + hardware. + + hhyy%%dd:: PPoowweerr OOffff bbiitt sseett,, ttrryyiinngg ttoo rreesseett.. Adapter has lost power, driver + will reset the bit and see if power is still out in the adapter. + + hhyy%%dd:: PPoowweerr OOffff EErrrroorr,, nneettwwoorrkk sshhuuttddoowwnn.. Power was really off in the + adapter, network connections are dropped. Software does not shut down + the network unless power has been off for a while. + + hhyy%%dd:: RREECCVVDD MMPP >> MMPPSSIIZZEE ((%%dd)).. A message proper was received that is too + big. Probable a driver bug. Shouldn't happen. + + hhyy%%dd:: xxmmiitt eerrrroorr -- lleenn >> hhyy__oolleenn [[%%dd >> %%dd]].. Probable driver error. + Shouldn't happen. + + hhyy%%dd:: DDRRIIVVEERR BBUUGG -- IINNVVAALLIIDD SSTTAATTEE %%dd.. The driver state machine reached a + non-existent state. Definite driver bug. + + hhyy%%dd:: wwaattcchhddoogg ttiimmeerr eexxppiirreedd.. A command in the adapter has taken too + long to complete. Driver will abort and retry the command. + + hhyy%%dd:: aaddaapptteerr ppoowweerr rreessttoorreedd.. Software was able to reset the power off + bit, indicating that the power has been restored. + +SSEEEE AALLSSOO + netintro(4), inet(4) + +HHIISSTTOORRYY + The hhyy interface appeared in 4.2BSD. + +BBUUGGSS + If the adapter does not respond to the status command issued during auto- + configure, the adapter is assumed down. A reboot is required to recog- + nize it. + + The adapter power fail interrupt seems to occur sporadically when power + has, in fact, not failed. The driver will believe that power has failed + only if it can not reset the power fail latch after a ``reasonable'' time + interval. These seem to appear about 2-4 times a day on some machines. + There seems to be no correlation with adapter rev level, number of ports + used etc. and whether a machine will get these ``bogus powerfails''. They + don't seem to cause any real problems so they have been ignored. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/ik.0 b/usr/share/man/cat4/vax/ik.0 new file mode 100644 index 0000000000..485e7caa06 --- /dev/null +++ b/usr/share/man/cat4/vax/ik.0 @@ -0,0 +1,41 @@ +IK(4) BSD Programmer's Manual (VAX Architecture) IK(4) + +NNAAMMEE + iikk - Ikonas frame buffer, graphics device interface + +SSYYNNOOPPSSIISS + ddeevviiccee iikk00 aatt uubbaa?? ccssrr 00117722446600 vveeccttoorr iikkiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The iikk driver provides an interface to an Ikonas frame buffer graphics + device. Each minor device is a different frame buffer interface board. + When the device is opened, its interface registers are mapped, via virtu- + al memory, into the user processes address space. This allows the user + process very high bandwidth to the frame buffer with no system call over- + head. + + Bytes written or read from the device are DMA'ed from or to the inter- + face. The frame buffer XY address, its addressing mode, etc. must be set + up by the user process before calling write or read. + + Other communication with the driver is via ioctls. The IK_GETADDR + ioctl(2) returns the virtual address where the user process can find the + interface registers. The IK_WAITINT ioctl suspends the user process un- + til the ikonas device has interrupted (for whatever reason -- the user + process has to set the interrupt enables). + +FFIILLEESS + /dev/ik + +DDIIAAGGNNOOSSTTIICCSS + None. + +HHIISSTTOORRYY + The iikk driver appeared in 4.2BSD. + +BBUUGGSS + An invalid access (e.g., longword) to a mapped interface register can + cause the system to crash with a machine check. A user process could + possibly cause infinite interrupts hence bringing things to a crawl. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/il.0 b/usr/share/man/cat4/vax/il.0 new file mode 100644 index 0000000000..657d4dd6c6 --- /dev/null +++ b/usr/share/man/cat4/vax/il.0 @@ -0,0 +1,54 @@ +IL(4) BSD Programmer's Manual (VAX Architecture) IL(4) + +NNAAMMEE + iill - Interlan NI1010 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee iill00 aatt uubbaa00 ccssrr 116644000000 vveeccttoorr iillrriinntt iillcciinntt + +DDEESSCCRRIIPPTTIIOONN + The iill interface provides access to a 10 Mb/s Ethernet network through an + Interlan 1010 or 1010A controller. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The iill interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + iill%%dd:: iinnppuutt eerrrroorr.. The hardware indicated an error in reading a packet + off the cable or an illegally sized packet. + + iill%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + iill%%dd:: sseettaaddddrr ddiiddnn''tt wwoorrkk.. The interface was unable to reprogram its + physical ethernet address. This may happen with very early models of the + interface. This facility is used only when the controller is not the + first network interface configured for XNS. The oldest interface tested + (2.7.1.0.1.45) has never failed in this way. + + iill%%dd:: rreesseett ffaaiilleedd,, ccssrr==%%bb.. + iill%%dd:: ssttaattuuss ffaaiilleedd,, ccssrr==%%bb.. + iill%%dd:: hhaarrddwwaarree ddiiaagg ffaaiilleedd,, ccssrr==%%bb.. + iill%%dd:: vveerriiffyyiinngg sseettaaddddrr,, ccssrr==%%bb.. + iill%%dd:: ssttrraayy xxmmiitt iinntteerrrruupptt,, ccssrr==%%bb.. + iill%%dd:: ccaann''tt iinniittiiaalliizzee.. The above messages indicate a probable hardware + error performing the indicated operation during autoconfiguration or ini- + tialization. The status field in the control and status register (the + low-order four bits) should indicate the nature of the failure. See the + hardware manual for details. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4) + +HHIISSTTOORRYY + The iill interface appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/intro.0 b/usr/share/man/cat4/vax/intro.0 new file mode 100644 index 0000000000..b4d33992d4 --- /dev/null +++ b/usr/share/man/cat4/vax/intro.0 @@ -0,0 +1,104 @@ +INTRO(4) BSD Programmer's Manual (VAX Architecture) INTRO(4) + +NNAAMMEE + iinnttrroo - introduction to special files and hardware support + +DDEESSCCRRIIPPTTIIOONN + This section describes the special files, related driver functions, and + networking support available in the system. In this part of the manual, + the SYNOPSIS section of each configurable device gives a sample specifi- + cation for use in constructing a system description for the config(8) + program. The DIAGNOSTICS section lists messages which may appear on the + console and/or in the system error log _/_v_a_r_/_l_o_g_/_m_e_s_s_a_g_e_s due to errors in + device operation; see syslogd(8) for more information. + +VVAAXX DDEEVVIICCEE SSUUPPPPOORRTT + This section describes the hardware supported on the DEC VAX-11. Software + support for these devices comes in two forms. A hardware device may be + supported with a character or block _d_e_v_i_c_e _d_r_i_v_e_r, or it may be used + within the networking subsystem and have a _n_e_t_w_o_r_k _i_n_t_e_r_f_a_c_e _d_r_i_v_e_r. + Block and character devices are accessed through files in the file system + of a special type; see physio(4) and mknod(8). Network interfaces are + indirectly accessed through the interprocess communication facilities + provided by the system; see socket(2). + + A hardware device is identified to the system at configuration time and + the appropriate device or network interface driver is then compiled into + the system. When the resultant system is booted, the autoconfiguration + facilities in the system probe for the device on either the UNIBUS (or Q- + bus) or MASSBUS and, if found, enable the software support for it. If a + UNIBUS device does not respond at autoconfiguration time it is not acces- + sible at any time afterwards. To enable a UNIBUS device which did not + autoconfigure, the system will have to be rebooted. If a MASSBUS device + comes ``on-line'' after the autoconfiguration sequence it will be dynami- + cally autoconfigured into the running system. + + The autoconfiguration system is described in autoconf(4). A list of the + supported devices is given below. + +SSEEEE AALLSSOO + intro(4), netintro(4), autoconf(4), config(8). + + "Building 4.3 BSD UNIX Systems with Config", _S_M_M, 2. + +LLIISSTT OOFF DDEEVVIICCEESS + The devices listed below are supported in this incarnation of the system. + Pseudo-devices are not listed. Devices are indicated by their functional + interface. If second vendor products provide functionally identical + interfaces they should be usable with the supplied software. BBeewwaarree,, + hhoowweevveerr,, tthhaatt wwee pprroommiissee tthhee ssooffttwwaarree wwoorrkkss OONNLLYY wwiitthh tthhee hhaarrddwwaarree + iinnddiiccaatteedd oonn tthhee aapppprroopprriiaattee mmaannuuaall ppaaggee.. Occasionally, new devices of + a similar type may be added simply by creating appropriate table entries + in the driver. + + acc ACC LH/DH IMP communications interface + ad Data translation A/D interface + css DEC IMP-11A communications interface + crl VAX 8600, 8650 console RL02 disk + ct C/A/T or APS phototypesetter + ddn ACC ACP625 DDN Standard Mode X.25 IMP interface + de DEC DEUNA 10Mb/s Ethernet controller + dh DH-11 emulators, terminal multiplexor + dhu DHU-11 terminal multiplexor + dmc DEC DMC-11/DMR-11 point-to-point communications device + dmf DEC DMF-32 terminal multiplexor and parallel printer interface + dmz DEC DMZ-32 terminal multiplexor + dn DEC DN-11 autodialer interface + dz DZ-11 terminal multiplexor + ec 3Com 10Mb/s Ethernet controller + en Xerox 3Mb/s Ethernet controller (obsolete) + ex Excelan 10Mb/s Ethernet controller + fl VAX-11/780 console floppy interface + hdh ACC IF-11/HDH IMP interface + hk RK6-11/RK06 and RK07 moving head disk + hp MASSBUS disk interface (with RP06, RM03, RM05, etc.) + ht TM03 MASSBUS tape drive interface (with TE-16, TU-45, TU-77) + hy DR-11B or GI-13 interface to an NSC Hyperchannel + ik Ikonas frame buffer graphics device interface + il Interlan 1010, 1010A 10Mb/s Ethernet controller + ix Interlan NP-100 10Mb/s Ethernet controller + kg KL-11/DL-11W line clock + lp LP-11 parallel line printer interface + mt TM78 MASSBUS tape drive interface + np Interlan NP-100 10Mb/s Ethernet controller (intelligent mode) + pcl DEC PCL-11 communications interface + ps Evans and Sutherland Picture System 2 graphics interface + qe DEC DEQNA Q-bus 10 Mb/s Ethernet interface + rx DEC RX02 floppy interface + tm TM-11/TE-10 tape drive interface + tmscp TMSCP-compatible tape controllers (e.g., TU81, TK50) + ts TS-11 tape drive interface + tu VAX-11/730 TU58 console cassette interface + uda DEC UDA-50 disk controller + un DR-11W interface to Ungermann-Bass + up Emulex SC-21V, SC-31 UNIBUS disk controller + ut UNIBUS TU-45 tape drive interface + uu TU58 dual cassette drive interface (DL11) + va Benson-Varian printer/plotter interface + vp Versatec printer/plotter interface + vv Proteon proNET 10Mb/s and 80Mb/s ring network interface + +HHIISSTTOORRYY + The section 4 iinnttrroo appeared in 4.1BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/ix.0 b/usr/share/man/cat4/vax/ix.0 new file mode 100644 index 0000000000..0c2b4611ef --- /dev/null +++ b/usr/share/man/cat4/vax/ix.0 @@ -0,0 +1,69 @@ +IX(4) BSD Programmer's Manual (VAX Architecture) IX(4) + +NNAAMMEE + iixx - Interlan Np100 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee nnpp00 aatt uubbaa00 ccssrr 116666000000 vveeccttoorr nnppiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The iixx interface provides access to a 10 Mb/s Ethernet network through an + Interlan Np100 controller used as a link-layer interface. + + This interface is unusual in that it requires loading firmware into the + controller before it may be used as a network interface. This is accom- + plished by opening a character special device, and writing data to it. A + program to load the image is provided in _/_u_s_r_/_s_r_c_/_n_e_w_/_n_p_1_0_0. The sequence + of commands would be: + + # ./npload np.image [/dev/np if other than np00] + # sleep 10 + # ifconfig ix0 ... + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The iixx interface employs the address resolution + protocol described in arp(4) to dynamically map between Internet and Eth- + ernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + iixx%%dd:: RReeqq ffaaiilleedd,, ccmmdd %%xx,, ssttaatt %%xx,, uusstt eerrrroorr %%xx,,%%xx.. The firmware in the + controller refused to honor a request from UNIX in initializing packet + level communications. The board may need to be reset and reloaded. Or, + you may not have allowed enough time between loading the board and issu- + ing the request to begin unix network operation. + + iixx%%dd:: ccaann''tt iinniittiiaalliizzee.. The interface was unable to obtain unibus re- + sources required for operation. + + iixx%%dd:: ffaaiilleedd ttoo rreeiinniittiiaalliizzee DDLLAA mmoodduullee.. The interface got sick after + attempting to reprogram its physical ethernet address. Try reloading the + firmware. The attempt is made only when this interfaces is not the first + one configured for XNS. + + iixx%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + iixx%%dd:: ssttrraayy xxmmiitt iinntteerrrruupptt,, nnpprreeqq==%%xx.. This may happen if the board is + reloaded while network processes are still running. + + iixxrriinntt:: ccqqee eerrrroorr %%xx,, %%xx,, %%xx.. This will result if an ifconfig(8) request + is made at an inopportune time, such as not allowing enough time after + loading the firmware. After 100 such errors are logged, the unix network + driver will shut itself down, saying: + + iixxrriinntt:: sshhuuttttiinngg ddoowwnn uunniixx ddllaa.. The recourse is to reload the firmware + and allow more time. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4), np(4). + +HHIISSTTOORRYY + The iixx driver appeared in 4.3BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/kg.0 b/usr/share/man/cat4/vax/kg.0 new file mode 100644 index 0000000000..507f56bf65 --- /dev/null +++ b/usr/share/man/cat4/vax/kg.0 @@ -0,0 +1,23 @@ +KG(4) BSD Programmer's Manual (VAX Architecture) KG(4) + +NNAAMMEE + kkgg - KL-11/ DL-11W line clock + +SSYYNNOOPPSSIISS + ddeevviiccee kkgg00 aatt uubbaa00 ccssrr 00117766550000 vveeccttoorr kkgglloocckk + +DDEESSCCRRIIPPTTIIOONN + A KL-11 or DL-11W can be used as an alternate real time clock source. + When configured, certain system statistics and, optionally, system pro- + filing work will be collected each time the clock interrupts. For opti- + mum accuracy in profiling, the DL-11W should be configured to interrupt + at the highest possible priority level. The kkgg device driver automati- + cally calibrates itself to the line clock frequency. + +SSEEEE AALLSSOO + kgmon(8), config(8) + +HHIISSTTOORRYY + The kkgg driver appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/kmem.0 b/usr/share/man/cat4/vax/kmem.0 new file mode 100644 index 0000000000..8536d2ec95 --- /dev/null +++ b/usr/share/man/cat4/vax/kmem.0 @@ -0,0 +1,35 @@ +MEM(4) BSD Programmer's Manual (VAX Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm, kkUUmmeemm - memory files + +DDEESSCCRRIIPPTTIIOONN + The special file //ddeevv//mmeemm is an interface to the physical memory of the + computer. Byte offsets in this file are interpreted as physical memory + addresses. Reading and writing this file is equivalent to reading and + writing memory itself. Only offsets within the bounds of //ddeevv//mmeemm are + allowed. + + Kernel virtual memory is accessed through the interface //ddeevv//kkmmeemm in the + same manner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently + mapped to memory are allowed. + + The file //ddeevv//kkUUmmeemm also refers to kernel virtual memory, but may be used + to access areas mapped to UNIBUS address space and other I/O areas. It + forces all accesses to use word (short integer) accesses. + + On the VAX 11/780, the I/O space base address is 20000000(16); on an + 11/750 the I/O space addresses are of the form fxxxxx(16). On all VAX'en + the per-process data size for the current process is UPAGES long and ends + at the virtual address 80000000(16). + +FFIILLEESS + /dev/mem + /dev/kmem + /dev/kUmem + +HHIISSTTOORRYY + The mmeemm, kkmmeemm files appeared in Version 6 AT&T UNIX. The file kkUUmmeemm ap- + peared in 3.0BSD. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/lp.0 b/usr/share/man/cat4/vax/lp.0 new file mode 100644 index 0000000000..349ecad053 --- /dev/null +++ b/usr/share/man/cat4/vax/lp.0 @@ -0,0 +1,38 @@ +LP(4) BSD Programmer's Manual (VAX Architecture) LP(4) + +NNAAMMEE + llpp - line printer + +SSYYNNOOPPSSIISS + ddeevviiccee llpp00 aatt uubbaa00 ccssrr 00117777551144 vveeccttoorr llppiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The llpp device supports DEC and DEC compatible printers on the LP-11 par- + allel interface. + + The unit number of the printer is specified by the minor device after re- + moving the low 3 bits, which act as per-device parameters. Currently on- + ly the lowest of the low three bits is interpreted: if it is set, the de- + vice is assumed to have a 64-character set or half-ASCII mode, rather + than a full 96-character set. + + If the 64-character set is assumed, any lower case characters are mapped + to upper case; left curly and right curly braces are mapped to left and + right parentheses over laid with a hyphen; grave accents are mapped to + acute accents with overlaid with a hyphen; the pipe bar character is + mapped to an exclamation sign overlaid with a hyphen; and the tilde char- + acter is mapped to a carat overlaid with a hyphen. + + The default page width is 132 columns; longer lines are truncated. This + may be overridden by specifying, for example, `flags 256'. + +FFIILLEESS + /dev/lp + +SSEEEE AALLSSOO + lpr(1) + +HHIISSTTOORRYY + A llpp driver appeared in Version 6 AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/mem.0 b/usr/share/man/cat4/vax/mem.0 new file mode 100644 index 0000000000..8536d2ec95 --- /dev/null +++ b/usr/share/man/cat4/vax/mem.0 @@ -0,0 +1,35 @@ +MEM(4) BSD Programmer's Manual (VAX Architecture) MEM(4) + +NNAAMMEE + mmeemm, kkmmeemm, kkUUmmeemm - memory files + +DDEESSCCRRIIPPTTIIOONN + The special file //ddeevv//mmeemm is an interface to the physical memory of the + computer. Byte offsets in this file are interpreted as physical memory + addresses. Reading and writing this file is equivalent to reading and + writing memory itself. Only offsets within the bounds of //ddeevv//mmeemm are + allowed. + + Kernel virtual memory is accessed through the interface //ddeevv//kkmmeemm in the + same manner as //ddeevv//mmeemm. Only kernel virtual addresses that are currently + mapped to memory are allowed. + + The file //ddeevv//kkUUmmeemm also refers to kernel virtual memory, but may be used + to access areas mapped to UNIBUS address space and other I/O areas. It + forces all accesses to use word (short integer) accesses. + + On the VAX 11/780, the I/O space base address is 20000000(16); on an + 11/750 the I/O space addresses are of the form fxxxxx(16). On all VAX'en + the per-process data size for the current process is UPAGES long and ends + at the virtual address 80000000(16). + +FFIILLEESS + /dev/mem + /dev/kmem + /dev/kUmem + +HHIISSTTOORRYY + The mmeemm, kkmmeemm files appeared in Version 6 AT&T UNIX. The file kkUUmmeemm ap- + peared in 3.0BSD. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/mt.0 b/usr/share/man/cat4/vax/mt.0 new file mode 100644 index 0000000000..43ed316a6d --- /dev/null +++ b/usr/share/man/cat4/vax/mt.0 @@ -0,0 +1,53 @@ +MT(4) BSD Programmer's Manual (VAX Architecture) MT(4) + +NNAAMMEE + mmtt - TM78/ TU-78 MASSBUS magtape interface + +SSYYNNOOPPSSIISS + mmaasstteerr mmtt00 aatt mmbbaa?? ddrriivvee ?? ttaappee mmuu00 aatt mmtt00 ssllaavvee 00 + +DDEESSCCRRIIPPTTIIOONN + The TM78/ TU-78 combination provides a standard tape drive interface as + described in mtio(4). Only 1600 and 6250 BPI are supported; the TU-78 + runs at 125 IPS and autoloads tapes. + +DDIIAAGGNNOOSSTTIICCSS + mmuu%%dd:: nnoo wwrriittee rriinngg.. An attempt was made to write on the tape drive when + no write ring was present; this message is written on the terminal of the + user who tried to access the tape. + + mmuu%%dd:: nnoott oonnlliinnee.. An attempt was made to access the tape while it was + offline; this message is written on the terminal of the user who tried to + access the tape. + + mmuu%%dd:: ccaann''tt cchhaannggee ddeennssiittyy iinn mmiidd--ttaappee.. An attempt was made to write on + a tape at a different density than is already recorded on the tape. This + message is written on the terminal of the user who tried to switch the + density. + + mmuu%%dd:: hhaarrdd eerrrroorr bbnn%%dd mmbbssrr==%%bb eerr==%%xx ddss==%%bb.. A tape error occurred at + block _b_n; the mt error register and drive status register are printed in + octal with the bits symbolically decoded. Any error is fatal on non-raw + tape; when possible the driver will have retried the operation which + failed several times before reporting the error. + + mmuu%%dd:: bbllaannkk ttaappee.. An attempt was made to read a blank tape (a tape with- + out even end-of-file marks). + + mmuu%%dd:: oofffflliinnee.. During an i/o operation the device was set offline. If a + non-raw tape was used in the access it is closed. + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), mtio(4), tm(4), ts(4), ut(4) + +HHIISSTTOORRYY + The mmtt driver appeared in 4.1BSD. + +BBUUGGSS + If a physical error (non-data) occurs, mmtt may hang ungracefully. + + Because 800 BPI tapes are not supported, the numbering of minor devices + is inconsistent with triple-density tape units. Unit 0 is drive 0, 1600 + BPI. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/mtio.0 b/usr/share/man/cat4/vax/mtio.0 new file mode 100644 index 0000000000..ff91f7b12a --- /dev/null +++ b/usr/share/man/cat4/vax/mtio.0 @@ -0,0 +1,144 @@ +MTIO(4) BSD Programmer's Manual (VAX Architecture) MTIO(4) + +NNAAMMEE + mmttiioo - UNIX magtape interface + +DDEESSCCRRIIPPTTIIOONN + The special files named _/_d_e_v_/_m_t_0 and _/_d_e_v_/_r_m_t_0 through _/_d_e_v_/_m_t_2_3 and + _/_d_e_v_/_r_m_t_2_3 refer to UNIX magtape drives, which may be on the MASSBUS us- + ing the TM03 formatter ht(4), or TM78 formatter, mt(4), or on the + UNIBUS using either the TM11 or TS11 formatters tm(4), TU45 compatible + formatters, ut(4), or ts(4). These devices are typical tape block de- + vices, see physio(4). + + The following table of the converntional device names is applicable to + any of the transport/controller pairs. (But note that only 1600 BPI is + available with the TS11.) + + 800 BPI 1600 BPI 6500 BPI + _o_r _l_o_w_e_s_t _d_e_n_s_i_t_y _o_r _s_e_c_o_n_d _d_e_n_s_i_t_y _o_r _t_h_i_r_d _d_e_n_s_i_t_y + + Rewind mt0/rmt0 mt8/rmt8 mt16/rmt16 + Rewind mt1/rmt1 mt9/rmt9 mt17/rmt17 + Rewind mt2/rmt2 mt10/rmt10 mt18/rmt18 + Rewind mt3/rmt3 mt11/rmt11 mt19/rmt19 + No-rewind nmt4/nrmt4 nmt12/nrmt12 nmt20/nrmt20 + No-rewind nmt5/nrmt5 nmt13/nrmt13 nmt21/nrmt21 + No-rewind nmt6/nrmt6 nmt14/nrmt14 nmt22/nrmt22 + No-rewind nmt7/nrmt7 nmt15/nrmt15 nmt23/nrmt32 + + The rewind devices automatically rewind when the last requested read, + write or seek has finished, or the end of the tape has been reached. The + letter `n' is usually prepended to the name of the no-rewind devices. + + Unix tapes are written in multiples of 1024 byte block records. Two end- + of-file markers mark the end of a tape, and one end-of-file marker marks + the end of a tape file. If the tape is not to be rewound it is posi- + tioned with the head in between the two tape marks, where the next write + will over write the second end-of-file marker. + + All of the magtape devices may be manipulated with the mt(1) command. + + A number of ioctl(2) operations are available on raw magnetic tape. The + following definitions are from <_s_y_s_/_m_t_i_o_._h>: + + /* + * Structures and definitions for mag tape io control commands + */ + + /* structure for MTIOCTOP - mag tape op command */ + struct mtop { + short mt_op; /* operations defined below */ + daddr_t mt_count; /* how many of them */ + }; + + /* operations */ + #define MTWEOF 0 /* write an end-of-file record */ + #define MTFSF 1 /* forward space file */ + #define MTBSF 2 /* backward space file */ + #define MTFSR 3 /* forward space record */ + #define MTBSR 4 /* backward space record */ + #define MTREW 5 /* rewind */ + #define MTOFFL 6 /* rewind and put the drive offline */ + #define MTNOP 7 /* no operation, sets status only */ + #define MTCACHE 8 /* enable controller cache */ + #define MTNOCACHE 9 /* disable controller cache */ + + /* structure for MTIOCGET - mag tape get status command */ + + struct mtget { + short mt_type; /* type of magtape device */ + /* the following two registers are grossly device dependent */ + short mt_dsreg; /* ``drive status'' register */ + short mt_erreg; /* ``error'' register */ + /* end device-dependent registers */ + short mt_resid; /* residual count */ + /* the following two are not yet implemented */ + daddr_t mt_fileno; /* file number of current position */ + daddr_t mt_blkno; /* block number of current position */ + /* end not yet implemented */ + }; + + /* + * Constants for mt_type byte. These are the same + * for controllers compatible with the types listed. + */ + #define MT_ISTS 0x01 /* TS-11 */ + #define MT_ISHT 0x02 /* TM03 Massbus: TE16, TU45, TU77 */ + #define MT_ISTM 0x03 /* TM11/TE10 Unibus */ + #define MT_ISMT 0x04 /* TM78/TU78 Massbus */ + #define MT_ISUT 0x05 /* SI TU-45 emulation on Unibus */ + #define MT_ISCPC 0x06 /* SUN */ + #define MT_ISAR 0x07 /* SUN */ + #define MT_ISTMSCP 0x08 /* DEC TMSCP protocol (TU81, TK50) */ + #define MT_ISCY 0x09 /* CCI Cipher */ + #define MT_ISCT 0x0a /* HP 1/4 tape */ + #define MT_ISFHP 0x0b /* HP 7980 1/2 tape */ + #define MT_ISEXABYTE 0x0c /* Exabyte */ + #define MT_ISEXA8200 0x0c /* Exabyte EXB-8200 */ + #define MT_ISEXA8500 0x0d /* Exabyte EXB-8500 */ + #define MT_ISVIPER1 0x0e /* Archive Viper-150 */ + #define MT_ISPYTHON 0x0f /* Archive Python (DAT) */ + #define MT_ISHPDAT 0x10 /* HP 35450A DAT drive */ + + /* mag tape io control commands */ + #define MTIOCTOP _IOW('m', 1, struct mtop) /* do a mag tape op */ + #define MTIOCGET _IOR('m', 2, struct mtget) /* get tape status */ + #define MTIOCIEOT _IO('m', 3) /* ignore EOT error */ + #define MTIOCEEOT _IO('m', 4) /* enable EOT error */ + + #ifndef KERNEL + #define DEFTAPE "/dev/rmt12" + #endif + + #ifdef KERNEL + /* + * minor device number + */ + + #define T_UNIT 003 /* unit selection */ + #define T_NOREWIND 004 /* no rewind on close */ + #define T_DENSEL 030 /* density select */ + #define T_800BPI 000 /* select 800 bpi */ + #define T_1600BPI 010 /* select 1600 bpi */ + #define T_6250BPI 020 /* select 6250 bpi */ + #define T_BADBPI 030 /* undefined selection */ + #endif + +FFIILLEESS + /dev/mt? + /dev/rmt? + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), ht(4), tm(4), ts(4), mt(4), ut(4) + +HHIISSTTOORRYY + The mmttiioo manual appeared in 4.2BSD. + +BBUUGGSS + The status should be returned in a device independent format. + + The special file naming should be redone in a more consistent and under- + standable manner. + +4.2 Berkeley Distribution June 5, 1993 3 diff --git a/usr/share/man/cat4/vax/np.0 b/usr/share/man/cat4/vax/np.0 new file mode 100644 index 0000000000..490854ecce --- /dev/null +++ b/usr/share/man/cat4/vax/np.0 @@ -0,0 +1,71 @@ +NP(4) BSD Programmer's Manual (VAX Architecture) NP(4) + +NNAAMMEE + nnpp - Interlan Np100 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee nnpp00 aatt uubbaa00 ccssrr 116666000000 vveeccttoorr nnppiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The nnpp device provides access to an Interlan Np100 Ethernet interface for + control functions. + + This interface is unusual in that it requires loading firmware into the + controller before it may be used as a network link-level interface. This + is accomplished by opening a character special device, and writing data + to it. It is also possible to do post-mortem debugging of firmware fail- + ures by reading the local memory of the device. + + Multiple control processes are allowed by opening separate minor devices; + secondary interfaces are specified by shifting the interface number by 4 + bits. + + The device also responds to commands passed through the driver by the + following ioctl(2)s: + + NPRESET kills off all active network processes. + + NPSTART begins execution of the board at the specified address (usual- + ly 0x400). + + NPNETBOOT downloads the image from a server on the network. [Contact + MICOM-INTERLAN for details.] + +DDIIAAGGNNOOSSTTIICCSS + nnpp%%dd:: BBaadd MMaaiinntteennaannccee ccoommmmaanndd:: %%xx!! An invalid ioctl was passed to the np + driver. + + nnpp%%dd:: PPaanniicc NNPP110000 bbaadd bbuuffffeerr cchhaaiinn.. An error occurred in an read or + write operation causing it to run out of buffers before it finished the + operation. This indicates a kernel failure rather than a device failure. + + NNPP110000 uunniitt %%dd nnoott ffoouunndd!! A failure occurred during initialization, such + that the unibus address expected for the board was found to be bad. + Probably indicates hardware problems with the board, as do the following: + + NNPP110000 UUnniitt %%dd ttiimmeedd oouutt!! + NNPP110000 UUnniitt %%dd FFaaiilleedd ddiiaaggnnoossttiiccss!! + SSttaattuuss ffrroomm CCSSRR00:: %%xx.. + + PPaanniicc ffrroomm NNPP110000 uunniitt %%dd!! + PPaanniicc MMeessssaaggee:: %%ss.. An occurrence on the board was deemed serious enough + to have the vax print it out. + + NNPP110000 uunniitt ##%%dd aavvaaiillaabbllee!! The board was successfully loaded and started. + + nnpp%%dd:: BBaadd RReeqq:: %%xx.. The board made a maintenance request to the vax that + it did not understand. + + nnpp%%dd:: NNoo mmoorree rroooomm oonn CCoommmmaanndd QQuueeuuee!! The np driver allowed an internal + resource to be exhausted. This should never happen. + + There are 110 other diagnostic messages that can be enabled by setting + bits in a debugging mask. Consult the driver for details. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4), ix(4) + +HHIISSTTOORRYY + The nnpp driver appeared in 4.3BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/pcl.0 b/usr/share/man/cat4/vax/pcl.0 new file mode 100644 index 0000000000..2ae389e605 --- /dev/null +++ b/usr/share/man/cat4/vax/pcl.0 @@ -0,0 +1,66 @@ +PCL(4) BSD Programmer's Manual (VAX Architecture) PCL(4) + +NNAAMMEE + ppccll - DEC CSS PCL-11 B Network Interface + +SSYYNNOOPPSSIISS + ddeevviiccee ppccll00 aatt uubbaa?? ccssrr 116644220000 vveeccttoorr ppccllxxiinntt ppccllrriinntt + +DDEESSCCRRIIPPTTIIOONN + The ppccll device provides an IP-only interface to the DEC CSS PCL-11 time + division multiplexed network bus. The controller itself is not accessi- + ble to users. + + The hosts's address is specified with the SIOCSIFADDR ioctl(2). The in- + terface will not transmit or receive any data before its address is de- + fined. + + As the PCL-11 hardware is only capable of having 15 interfaces per net- + work, a single-byte host-on-network number is used, with range [1..15] to + match the TDM bus addresses of the interfaces. + + The interface currently only supports the Internet protocol family and + only provides ``natural'' (header) encapsulation. + +DDIIAAGGNNOOSSTTIICCSS + ppccll%%dd:: ccaann''tt iinniitt.. Insufficient UNIBUS resources existed to initialize + the device. This is likely to occur when the device is run on a buffered + data path on an 11/750 and other network interfaces are also configured + to use buffered data paths, or when it is configured to use buffered data + paths on an 11/730 (which has none). + + ppccll%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + ppccll%%dd:: ssttrraayy xxmmiitt iinntteerrrruupptt.. An interrupt occurred when no output had + previously been started. + + ppccll%%dd:: mmaasstteerr.. The TDM bus had no station providing ``bus master'' tim- + ing signals, so this interface has assumed the ``master'' role. This + message should only appear at most once per UNIBUS INIT on a single sys- + tem. Unless there is a hardware failure, only one station may be master + at at time. + + ppccll%%dd:: sseenndd eerrrroorr,, ttccrr==%%bb,, ttssrr==%%bb.. The device indicated a problem send- + ing data on output. If a ``receiver offline'' error is detected, it is + not normally logged unless the option PCL_TESTING has been selected, as + this causes a lot of console chatter when sending to a down machine. + However, this option is quite useful when debugging problems with the PCL + interfaces. + + ppccll%%dd:: rrccvv eerrrroorr,, rrccrr==%%bb rrssrr==%%bb.. The device indicated a problem receiv- + ing data on input. + + ppccll%%dd:: bbaadd lleenn==%%dd.. An input operation resulted in a data transfer of + less than 0 or more than 1008 bytes of data into memory (according to the + word count register). This should never happen as the maximum size of a + PCL message has been agreed upon to be 1008 bytes (same as ArpaNet mes- + sage). + +SSEEEE AALLSSOO + intro(4), inet(4) + +HHIISSTTOORRYY + The ppccll interface appeared in 4.2BSD. + diff --git a/usr/share/man/cat4/vax/ps.0 b/usr/share/man/cat4/vax/ps.0 new file mode 100644 index 0000000000..d3daeaabcc --- /dev/null +++ b/usr/share/man/cat4/vax/ps.0 @@ -0,0 +1,98 @@ +PS(4) BSD Programmer's Manual (VAX Architecture) PS(4) + +NNAAMMEE + ppss - Evans and Sutherland Picture System 2 graphics device interface + +SSYYNNOOPPSSIISS + ddeevviiccee ppss00 aatt uubbaa?? ccssrr 00117722446600 vveeccttoorr ppsscclloocckkiinnttrr ppssssyysstteemmiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The ppss driver provides access to an Evans and Sutherland Picture System 2 + graphics device. Each minor device is a new PS2. When the device is + opened, its interface registers are mapped, via virtual memory, into a + user process's address space. This allows the user process very high + bandwidth to the device with no system call overhead. + + DMA to and from the PS2 is not supported. All read and write system calls + will fail. All data is moved to and from the PS2 via programmed I/O us- + ing the device's interface registers. + + Commands are fed to and from the driver using the following ioctl(2)s: + + PSIOGETADDR Returns the virtual address through which the user + process can access the device's interface registers. + + PSIOAUTOREFRESH Start auto refreshing the screen. The argument is an + address in user space where the following data re- + sides. The first longword is a _c_o_u_n_t of the number of + static refresh buffers. The next _c_o_u_n_t longwords are + the addresses in refresh memory where the refresh + buffers lie. The driver will cycle through these re- + fresh buffers displaying them one by one on the + screen. + + PSIOAUTOMAP Start automatically passing the display file through + the matrix processor and into the refresh buffer. The + argument is an address in user memory where the fol- + lowing data resides. The first longword is a _c_o_u_n_t of + the number of display files to operate on. The next + _c_o_u_n_t longwords are the address of these display + files. The final longword is the address in refresh + buffer memory where transformed coordinates are to be + placed if the driver is not in double buffer mode (see + below). + + PSIODOUBLEBUFFER Cause the driver to double buffer the output from the + map that is going to the refresh buffer. The argument + is again a user space address where the real arguments + are stored. The first argument is the starting ad- + dress of refresh memory where the two double buffers + are located. The second argument is the length of + each double buffer. The refresh mechanism displays + the current double buffer, in addition to its static + refresh lists, when in double buffer mode. + + PSIOSINGLEREFRESH Single step the refresh process. That is, the driver + does not continually refresh the screen. + + PSIOSINGLEMAP Single step the matrix process. The driver does not + automatically feed display files through the matrix + unit. + + PSIOSINGLEBUFFER Turn off double buffering. + + PSIOTIMEREFRESH The argument is a count of the number of refresh in- + terrupts to take before turning off the screen. This + + is used to do time exposures. + + PSIOWAITREFRESH Suspend the user process until a refresh interrupt has + occurred. If in TIMEREFRESH mode, suspend until count + refreshes have occurred. + + PSIOSTOPREFRESH Wait for the next refresh, stop all refreshes, and + then return to user process. + + PSIOWAITMAP Wait until a map done interrupt has occurred. + + PSIOSTOPMAP Wait for a map done interrupt, do not restart the map, + and then return to the user. + +FFIILLEESS + /dev/ps + +DDIIAAGGNNOOSSTTIICCSS + ppss ddeevviiccee iinnttrr.. + ppss ddmmaa iinnttrr.. An interrupt was received from the device. This shouldn't + happen, check your device configuration for overlapping interrupt vec- + tors. + +HHIISSTTOORRYY + The ppss driver appeared in 4.2BSD. + +BBUUGGSS + An invalid access (e.g., longword) to a mapped interface register can + cause the system to crash with a machine check. A user process could + possibly cause infinite interrupts hence bringing things to a crawl. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/qe.0 b/usr/share/man/cat4/vax/qe.0 new file mode 100644 index 0000000000..a09e5e8163 --- /dev/null +++ b/usr/share/man/cat4/vax/qe.0 @@ -0,0 +1,29 @@ +QE(4) BSD Programmer's Manual (VAX Architecture) QE(4) + +NNAAMMEE + qqee - DEC DEQNA Q-bus 10 Mb/s Ethernet interface + +SSYYNNOOPPSSIISS + ddeevviiccee qqee00 aatt uubbaa?? ccssrr 117744444400 vveeccttoorr qqeeiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The qqee interface provides access to a 10 Mb/s Ethernet network through + the DEC DEQNA Q-bus controller. + + Each of the host's network addresses is specified at boot time with an + SIOCSIFADDR ioctl(2). The qqee interface employs the address resolution + protocol described in arp(4) to map dynamically between Internet and + Ethernet addresses on the local network. + + The interface normally tries to use a ``trailer'' encapsulation to mini- + mize copying data on input and output. The use of trailers is negotiated + with ARP. This negotiation may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +SSEEEE AALLSSOO + netintro(4), inet(4), arp(4) + +HHIISSTTOORRYY + The qqee driver appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/rx.0 b/usr/share/man/cat4/vax/rx.0 new file mode 100644 index 0000000000..7c75a4559b --- /dev/null +++ b/usr/share/man/cat4/vax/rx.0 @@ -0,0 +1,142 @@ +RX(4) BSD Programmer's Manual (VAX Architecture) RX(4) + +NNAAMMEE + rrxx - DEC RX02 floppy disk interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr ffxx00 aatt uubbaa00 ccssrr 00117777117700 vveeccttoorr rrxxiinnttrr + ddiisskk rrxx00 aatt ffxx00 ddrriivvee 00 + ddiisskk rrxx11 aatt ffxx00 ddrriivvee 11 + +DDEESSCCRRIIPPTTIIOONN + The rrxx device provides access to a DEC RX02 floppy disk unit with M8256 + interface module (RX211 configuration). The RX02 uses 8-inch, single- + sided, soft-sectored floppy disks (with pre-formatted industry-standard + headers) in either single or double density. + + Floppy disks handled by the RX02 contain 77 tracks, each with 26 sectors + (for a total of 2,002 sectors). The sector size is 128 bytes for single + density, 256 bytes for double density. Single density disks are compati- + ble with the RX01 floppy disk unit and with IBM 3740 Series Diskette 1 + systems. + + In addition to normal (`block' and `raw') I/O, the driver supports for- + matting of disks for either density and the ability to invoke a 2 for 1 + interleaved sector mapping compatible with the DEC operating system + RT-11. + + The minor device number is interpreted as follows: + + BBiitt DDeessccrriippttiioonn + 0 Sector interleaving (1 disables interleaving) + 1 Logical sector 1 is on track 1 (0 no, 1 yes) + 2 Not used, reserved + Other Drive number + + The two drives in a single RX02 unit are treated as two disks attached to + a single controller. Thus, if there are two RX02's on a system, the + drives on the first RX02 are ``rx0'' and ``rx1'', while the drives on the + second are ``rx2'' and ``rx3''. + + When the device is opened, the density of the disk currently in the drive + is automatically determined. If there is no floppy in the device, open + will fail. + + The interleaving parameters are represented in raw device names by the + letters `a' through `d'. Thus, unit 0, drive 0 is called by one of the + following names: + + MMaappppiinngg DDeevviiccee nnaammee SSttaarrttiinngg ttrraacckk + interleaved /dev/rrx0a 0 + direct /dev/rrx0b 0 + interleaved /dev/rrx0c 1 + direct /dev/rrx0d 1 + + The mapping used on the `c' device is compatible with the DEC operating + system RT-11. The `b' device accesses the sectors of the disk in strictly + sequential order. The `a' device is the most efficient for disk-to-disk + copying. This mapping is always used by the block device. + + I/O requests must start on a sector boundary, involve an integral number + of complete sectors, and not go off the end of the disk. + +NNOOTTEESS + Even though the storage capacity on a floppy disk is quite small, it is + possible to make filesystems on double density disks. For example, the + command + + % mkfs /dev/rx0 1001 13 1 4096 512 32 0 4 + + makes a file system on the double density disk in rx0 with 436 kbytes + available for file storage. Using tar(1) gives a more efficient utiliza- + tion of the available space for file storage. Single density diskettes + do not provide sufficient storage capacity to hold file systems. + + A number of ioctl(2) calls apply to the rx devices, and have the form + + #include + ioctl(fildes, code, arg) + int *arg; + + The applicable codes are: + + RXIOC_FORMAT Format the diskette. The density to use is specified by + the _a_r_g argument, zero gives single density while non-zero + gives double density. + + RXIOC_GETDENS Return the density of the diskette (zero or non-zero as + above). + + RXIOC_WDDMK On the next write, include a _d_e_l_e_t_e_d _d_a_t_a _a_d_d_r_e_s_s _m_a_r_k in + the header of the first sector. + + RXIOC_RDDMK Return non-zero if the last sector read contained a + _d_e_l_e_t_e_d _d_a_t_a _a_d_d_r_e_s_s _m_a_r_k in its header, otherwise return + 0. + +FFIILLEESS + /dev/rx? + /dev/rrx?[a-d] + +DDIIAAGGNNOOSSTTIICCSS + rrxx%%dd:: hhaarrdd eerrrroorr,, ttrrkk %%dd ppsseecc %%dd ccss==%%bb,, ddbb==%%bb,, eerrrr==%%xx,, %%xx,, %%xx,, %%xx.. An + unrecoverable error was encountered. The track and physical sector num- + bers, the device registers and the extended error status are displayed. + + rrxx%%dd:: ssttaattee %%dd ((rreesseett)).. The driver entered a bogus state. This should + not happen. + +EERRRROORRSS + The following errors may be returned by the driver: + + [ENODEV] Drive not ready; usually because no disk is in the drive or the + drive door is open. + + [ENXIO] Nonexistent drive (on open); offset is too large or not on a + sector boundary or byte count is not a multiple of the sector + size (on read or write); or bad (undefined) ioctl code. + + [EIO] A physical error other than ``not ready'', probably bad media + or unknown format. + + [EBUSY] Drive has been opened for exclusive access. + + [EBADF] No write access (on format), or wrong density; the latter can + only happen if the disk is changed without _c_l_o_s_i_n_g the device + (i.e., calling close(2)). + +SSEEEE AALLSSOO + rxformat(8), newfs(8), mkfs(8), tar(1), arff(8) + +HHIISSTTOORRYY + The rrxx driver appeared in 4.2BSD. + +BBUUGGSS + A floppy may not be formatted if the header info on sector 1, track 0 has + been damaged. Hence, it is not possible to format completely degaussed + disks or disks with other formats than the two known by the hardware. + + If the drive subsystem is powered down when the machine is booted, the + controller won't interrupt. + +4.2 Berkeley Distribution June 5, 1993 3 diff --git a/usr/share/man/cat4/vax/tb.0 b/usr/share/man/cat4/vax/tb.0 new file mode 100644 index 0000000000..894192297d --- /dev/null +++ b/usr/share/man/cat4/vax/tb.0 @@ -0,0 +1,55 @@ +TB(4) BSD Programmer's Manual (VAX Architecture) TB(4) + +NNAAMMEE + ttbb - line discipline for digitizing devices + +SSYYNNOOPPSSIISS + ppsseeuuddoo--ddeevviiccee ttbb + +DDEESSCCRRIIPPTTIIOONN + This line discipline provides a polled interface to many common digitiz- + ing devices which are connected to a host through a serial line. When + these devices stream data at high speed, the use of the line discipline + is critical in minimizing the number of samples that would otherwise be + lost due to buffer exhaustion in the tty(4) handler. + + The line discipline is enabled by a sequence: + + #include + int ldisc = TBLDISC, fildes; ... + ioctl(fildes, TIOCSETD, &ldisc); + + A typical application program then polls the digitizing device by reading + a binary data structure which contains: the current X and Y positions (in + the device coordinate space), up-down status of the buttons or pen sty- + lus, proximity information (when available), and a count of the number of + samples received from the input device since it was opened. In addition, + devices such as the GTCO append tilt and pressure information to the end + of the aforementioned structure. For the Polhemus 3-D digitizer the + structure read is completely different. Refer to the include file for a + complete description. + + While in tablet mode, normal teletype input and output functions take + place. Thus, if an 8 bit output data path is desired, it is necessary to + prepare the output line by putting it into RAW mode using ioctl(2). This + must be done _b_e_f_o_r_e changing the discipline with TIOCSETD, as most + ioctl(2) calls are disabled while in tablet line-discipline mode. + + The line discipline supports ioctl(2) requests to get/set the operating + mode, and to get/set the tablet type and operating mode by _o_r-ing the two + values together. + + The line discipline supports digitizing devices which are compatible with + Hitachi, GTCO, or Polhemus protocol formats. For Hitachi there are sev- + eral formats with that used in the newer model HDG-1111B the most common. + +DDIIAAGGNNOOSSTTIICCSS + None. + +SSEEEE AALLSSOO + tty(4) + +HHIISSTTOORRYY + The ttbb interface appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/tm.0 b/usr/share/man/cat4/vax/tm.0 new file mode 100644 index 0000000000..ac1845b340 --- /dev/null +++ b/usr/share/man/cat4/vax/tm.0 @@ -0,0 +1,51 @@ +TM(4) BSD Programmer's Manual (VAX Architecture) TM(4) + +NNAAMMEE + ttmm - TM-11/ TE-10 magtape device interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr ttmm00 aatt uubbaa?? ccssrr 00117722552200 vveeccttoorr ttmmiinnttrr ttaappee ttee00 aatt ttmm00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + The TM-11/ TE-10 combination provides a standard tape drive interface as + described in mtio(4). Hardware implementing this on the VAX is typified + by the Emulex TC-11 controller operating with a Kennedy model 9300 tape + transport, providing 800 and 1600 BPI operation at 125 IPS. + +DDIIAAGGNNOOSSTTIICCSS + ttee%%dd:: nnoo wwrriittee rriinngg.. An attempt was made to write on the tape drive when + no write ring was present; this message is written on the terminal of the + user who tried to access the tape. + + ttee%%dd:: nnoott oonnlliinnee.. An attempt was made to access the tape while it was + offline; this message is written on the terminal of the user who tried to + access the tape. + + ttee%%dd:: ccaann''tt cchhaannggee ddeennssiittyy iinn mmiidd--ttaappee.. An attempt was made to write on + a tape at a different density than is already recorded on the tape. This + message is written on the terminal of the user who tried to switch the + density. + + ttee%%dd:: hhaarrdd eerrrroorr bbnn%%dd eerr==%%bb.. A tape error occurred at block _b_n; the tm + error register is printed in octal with the bits symbolically decoded. + Any error is fatal on non-raw tape; when possible the driver will have + retried the operation which failed several times before reporting the er- + ror. + + ttee%%dd:: lloosstt iinntteerrrruupptt.. A tape operation did not complete within a reason- + able time, most likely because the tape was taken off-line during rewind + or lost vacuum. The controller should, but does not, give an interrupt + in these cases. The device will be made available again after this mes- + sage, but any current open reference to the device will return an error + as the operation in progress aborts. + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), mt(4), mtio(4), ht(4), ts(4), ut(4) + +HHIISSTTOORRYY + A ttmm driver appeared in Version 6 AT&T UNIX. + +BBUUGGSS + May hang if a physical (non-data) error occurs. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/tmscp.0 b/usr/share/man/cat4/vax/tmscp.0 new file mode 100644 index 0000000000..4fcc545776 --- /dev/null +++ b/usr/share/man/cat4/vax/tmscp.0 @@ -0,0 +1,58 @@ +TMSCP(4) BSD Programmer's Manual (VAX Architecture) TMSCP(4) + +NNAAMMEE + ttmmssccpp - DEC TMSCP magtape interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr ttmmssccpp00 aatt uubbaa?? ccssrr 00117744550000 vveeccttoorr ttmmssccppiinnttrr + ttaappee ttmmss00 aatt ttmmssccpp00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + Tape controllers compatible with the DEC Tape Mass Storage Control Proto- + col (TMSCP) architecture such as the TU81 and the TK50 provide a standard + tape drive interface as described in mtio(4). The controller communi- + cates with the host through a packet oriented protocol. Consult the file + <_v_a_x_/_t_m_s_c_p_._h> for a detailed description of this protocol. + +DDIIAAGGNNOOSSTTIICCSS + ttmmssccpp ccoonnttrroolllleerr ffaaiilleedd ttoo iinniitt.. The controller initialization procedure + failed. This probably indicates a hardware problem. + + ttmmssccpp%%dd:: ssaa 00%%oo,, ssttaattee %%dd.. (Additional status information given after a + hard I/O error.) The values of the controller status register and the + internal driver state are printed. + + ttmmssccpp%%dd:: rraannddoomm iinntteerrrruupptt iiggnnoorreedd.. An unexpected interrupt was received + (e.g. when no I/O was pending). The interrupt is ignored. + + ttmmssccpp%%dd:: iinntteerrrruupptt iinn uunnkknnoowwnn ssttaattee %%dd iiggnnoorreedd.. An interrupt was re- + ceived when the driver was in an unknown internal state. Indicates a + hardware problem or a driver bug. + + ttmmssccpp%%dd:: ffaattaall eerrrroorr ((00%%oo)).. The controller detected a ``fatal error'' in + the status returned to the host. The contents of the status register are + displayed. + + OOFFFFLLIINNEE.. (Additional status information given after a hard I/O error.) + A hard I/O error occurred because the drive was not on-line. + + ttmmssccpp%%dd:: hhaarrdd eerrrroorr + ttmmssccpp%%dd:: ssoofftt eerrrroorr.. These errors precede an interpretation of a TMSCP + error message returned by the controller to the host. TMSCP errors may + be: + + ccoonnttrroolllleerr eerrrroorr,, eevveenntt 00%%oo.. + hhoosstt mmeemmoorryy aacccceessss eerrrroorr,, eevveenntt 00%%oo,, aaddddrr 00%%oo.. + ttaappee ttrraannssffeerr eerrrroorr,, uunniitt %%dd,, ggrrpp 00xx%%xx,, eevveenntt 00%%oo.. + SSTTII eerrrroorr,, uunniitt %%dd,, eevveenntt 00%%oo.. + SSTTII DDrriivvee EErrrroorr LLoogg,, uunniitt %%dd,, eevveenntt 00%%oo.. + SSTTII FFoorrmmaatttteerr EErrrroorr LLoogg,, uunniitt %%dd,, eevveenntt 00%%oo.. + uunnkknnoowwnn eerrrroorr,, uunniitt %%dd,, ffoorrmmaatt 00%%oo,, eevveenntt 00%%oo.. + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), mtio(4), tm(4), ts(4), ut(4), dmesg(8) + +HHIISSTTOORRYY + The ttmmssccpp driver appeared in 4.3BSD. + +4.3 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/ts.0 b/usr/share/man/cat4/vax/ts.0 new file mode 100644 index 0000000000..079c00db30 --- /dev/null +++ b/usr/share/man/cat4/vax/ts.0 @@ -0,0 +1,43 @@ +TS(4) BSD Programmer's Manual (VAX Architecture) TS(4) + +NNAAMMEE + ttss - TS-11 magtape interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr zzss00 aatt uubbaa?? ccssrr 00117722552200 vveeccttoorr ttssiinnttrr + ttaappee ttss00 aatt zzss00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + The TS-11 combination provides a standard tape drive interface as de- + scribed in mtio(4). The TS-11 operates only at 1600 BPI, and only one + transport is possible per controller. + +DDIIAAGGNNOOSSTTIICCSS + ttss%%dd:: nnoo wwrriittee rriinngg.. An attempt was made to write on the tape drive when + no write ring was present; this message is written on the terminal of the + user who tried to access the tape. + + ttss%%dd:: nnoott oonnlliinnee.. An attempt was made to access the tape while it was + offline; this message is written on the terminal of the user who tried to + access the tape. + + ttss%%dd:: hhaarrdd eerrrroorr bbnn%%dd xxss00==%%bb.. A hard error occurred on the tape at block + _b_n; status register 0 is printed in octal and symbolically decoded as + bits. + +SSEEEE AALLSSOO + mt(1), tar(1), tp(1), mtio(4), ht(4), tm(4), mt(4), ut(4) + +HHIISSTTOORRYY + The ttss driver appeared in 4.1BSD. + +BBUUGGSS + May hang ungracefully if a physical error (non-data) occurs. + + The device lives at the same address as a TM-11 (tm(4)); as it is very + difficult to get this device to interrupt, a generic system assumes that + a ttss is present whenever no TM-11 exists but the CSR responds and a TS-11 + is configured. This does no harm as long as a non-existent TS-11 is not + accessed. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/tu.0 b/usr/share/man/cat4/vax/tu.0 new file mode 100644 index 0000000000..7b0d6cb05c --- /dev/null +++ b/usr/share/man/cat4/vax/tu.0 @@ -0,0 +1,74 @@ +TU(4) BSD Programmer's Manual (VAX Architecture) TU(4) + +NNAAMMEE + ttuu - VAX-11/730 and VAX-11/750 TU58 console cassette interface + +SSYYNNOOPPSSIISS + ooppttiioonnss MMRRSSPP + (for VAX-11/750's with an MRSP prom) + +DDEESSCCRRIIPPTTIIOONN + The ttuu interface provides access to the VAX 11/730 and 11/750 TU58 con- + sole cassette drive(s). + + The interface supports only block I/O to the TU58 cassettes. The devices + are normally manipulated with the arff(8) program using the ``f'' and + ``m'' options. + + The device driver is automatically included when a system is configured + to run on an 11/730 or 11/750. + + The TU58 on an 11/750 uses the Radial Serial Protocol (RSP) to communi- + cate with the cpu over a serial line. This protocol is inherently unre- + liable as it has no flow control measures built in. On an 11/730 the + Modified Radial Serial Protocol is used. This protocol incorporates flow + control measures which insure reliable data transfer between the cpu and + the device. Certain 11/750's have been modified to use the MRSP prom + used in the 11/730. To reliably use the console TU58 on an 11/750 under + UNIX, the MRSP prom is required. For those 11/750's without an MRSP + prom, an unreliable but often useable interface has been developed. This + interface uses an assembly language ``pseudo-dma'' routine to minimize + the receiver interrupt service latency. To include this code in the sys- + tem, the configuration must _n_o_t specify the system will run on an 11/730 + or use an MRSP prom. This unfortunately makes it impossible to configure + a single system which will properly handle TU58's on both an 11/750 and + an 11/730 (unless both machines have MRSP proms). + +FFIILLEESS + /dev/tu0 + /dev/tu1 (only on a VAX-11/730) + +DDIIAAGGNNOOSSTTIICCSS + ttuu%%dd:: nnoo bbpp,, aaccttiivvee %%dd.. A transmission complete interrupt was received + with no outstanding I/O request. This indicates a hardware problem. + + ttuu%%dd pprroottooccooll eerrrroorr,, ssttaattee==%%ss,, oopp==%%xx,, ccnntt==%%dd,, bblloocckk==%%dd.. The driver en- + tered an illegal state. The information printed indicates the illegal + state, operation currently being executed, the I/O count, and the block + number on the cassette. + + ttuu%%dd rreecceeiivvee ssttaattee eerrrroorr,, ssttaattee==%%ss,, bbyyttee==%%xx.. The driver entered an ille- + gal state in the receiver finite state machine. The state is shown along + with the control byte of the received packet. + + ttuu%%dd:: rreeaadd ssttaalllleedd.. A timer watching the controller detected no inter- + rupt for an extended period while an operation was outstanding. This + usually indicates that one or more receiver interrupts were lost and the + transfer is restarted (11/750 only). + + ttuu%%dd:: hhaarrdd eerrrroorr bbnn%%dd,, ppkk__mmoodd %%oo.. The device returned a status code in- + dicating a hard error. The actual error code is shown in octal. No re- + tries are attempted by the driver. + +SSEEEE AALLSSOO + arff(8) + +HHIISSTTOORRYY + The ttuu driver appeared in 4.1BSD. + +BBUUGGSS + The VAX-11/750 console interface without MRSP prom is unuseable while the + system is multi-user; it should be used only with the system running sin- + gle-user and, even then, with caution. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/uda.0 b/usr/share/man/cat4/vax/uda.0 new file mode 100644 index 0000000000..d42f02fd1f --- /dev/null +++ b/usr/share/man/cat4/vax/uda.0 @@ -0,0 +1,443 @@ +UDA(4) BSD Programmer's Manual (VAX Architecture) UDA(4) + +NNAAMMEE + uuddaa - UDA50 disk controller interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr uuddaa00 aatt uubbaa00 ccssrr 00117722115500 vveeccttoorr uuddaaiinnttrr + ddiisskk rraa00 aatt uuddaa00 ddrriivvee 00 + ooppttiioonnss MMSSCCPP__PPAARRAANNOOIIAA + +DDEESSCCRRIIPPTTIIOONN + This is a driver for the DEC UDA50 disk controller and other compatible + controllers. The UDA50 communicates with the host through a packet pro- + tocol known as the Mass Storage Control Protocol (MSCP). Consult the file + <_v_a_x_/_m_s_c_p_._h> for a detailed description of this protocol. + + The uuddaa driver is a typical block-device disk driver; see physio(4) for a + description of block I/O. The script MAKEDEV(8) should be used to create + the uuddaa special files; should a special file need to be created by hand, + consult mknod(8). + + The MSCP_PARANOIA option enables runtime checking on all transfer comple- + tion responses from the controller. This increases disk I/O overhead and + may be undesirable on slow machines, but is otherwise recommended. + + The first sector of each disk contains both a first-stage bootstrap pro- + gram and a disk label containing geometry information and partition lay- + outs (see disklabel(5)). This sector is normally write-protected, and + disk-to-disk copies should avoid copying this sector. The label may be + updated with disklabel(8), which can also be used to write-enable and + write-disable the sector. The next 15 sectors contain a second-stage + bootstrap program. + +DDIISSKK SSUUPPPPOORRTT + During autoconfiguration, as well as when a drive is opened after all + partitions are closed, the first sector of the drive is examined for a + disk label. If a label is found, the geometry of the drive and the par- + tition tables are taken from it. If no label is found, the driver con- + figures the type of each drive when it is first encountered. A default + partition table in the driver is used for each type of disk when a pack + is not labelled. The origin and size (in sectors) of the default pseudo- + disks on each drive are shown below. Not all partitions begin on cylin- + der boundaries, as on other drives, because previous drivers used one + partition table for all drive types. Variants of the partition tables + are common; check the driver and the file _/_e_t_c_/_d_i_s_k_t_a_b (disktab(5)) for + other possibilities. + + Special file names begin with `ra' and `rra' for the block and character + files respectively. The second component of the name, a drive unit number + in the range of zero to seven, is represented by a `?' in the disk lay- + outs below. The last component of the name is the file system partition + designated by a letter from `a' to `h' and which corresponds to a minor + device number set: zero to seven, eight to 15, 16 to 23 and so forth for + drive zero, drive two and drive three respectively, (see physio(4)). The + location and size (in sectors) of the partitions: + + RA60 partitions + ddiisskk ssttaarrtt lleennggtthh + ra?a 0 15884 + ra?b 15884 33440 + ra?c 0 400176 + ra?d 49324 82080 same as 4.2BSD ra?g + ra?e 131404 268772 same as 4.2BSD ra?h + ra?f 49324 350852 + ra?g 242606 157570 + ra?h 49324 193282 + + RA70 partitions + ddiisskk ssttaarrtt lleennggtthh + ra?a 0 15884 + ra?b 15972 33440 + ra?c 0 547041 + ra?d 34122 15884 + ra?e 357192 55936 + ra?f 413457 133584 + ra?g 341220 205821 + ra?h 49731 29136 + + RA80 partitions + ddiisskk ssttaarrtt lleennggtthh + ra?a 0 15884 + ra?b 15884 33440 + ra?c 0 242606 + ra?e 49324 193282 same as old Berkeley ra?g + ra?f 49324 82080 same as 4.2BSD ra?g + ra?g 49910 192696 + ra?h 131404 111202 same as 4.2BSD + + RA81 partitions + ddiisskk ssttaarrtt lleennggtthh + ra?a 0 15884 + ra?b 16422 66880 + ra?c 0 891072 + ra?d 375564 15884 + ra?e 391986 307200 + ra?f 699720 191352 + ra?g 375564 515508 + ra?h 83538 291346 + + RA81 partitions with 4.2BSD-compatible partitions + ddiisskk ssttaarrtt lleennggtthh + ra?a 0 15884 + ra?b 16422 66880 + ra?c 0 891072 + ra?d 49324 82080 same as 4.2BSD ra?g + ra?e 131404 759668 same as 4.2BSD ra?h + ra?f 412490 478582 same as 4.2BSD ra?f + ra?g 375564 515508 + ra?h 83538 291346 + + RA82 partitions + ddiisskk ssttaarrtt lleennggtthh + ra?a 0 15884 + ra?b 16245 66880 + ra?c 0 1135554 + ra?d 375345 15884 + ra?e 391590 307200 + ra?f 669390 466164 + ra?g 375345 760209 + ra?h 83790 291346 + + The ra?a partition is normally used for the root file system, the ra?b + partition as a paging area, and the ra?c partition for pack-pack copying + (it maps the entire disk). + +FFIILLEESS + /dev/ra[0-9][a-f] + /dev/rra[0-9][a-f] + +DDIIAAGGNNOOSSTTIICCSS + + + ppaanniicc:: uuddaassllaavvee No command packets were available while the driver was + looking for disk drives. The controller is not extending enough credits + to use the drives. + + uuddaa%%dd:: nnoo rreessppoonnssee ttoo GGeett UUnniitt SSttaattuuss rreeqquueesstt A disk drive was found, + but did not respond to a status request. This is either a hardware prob- + lem or someone pulling unit number plugs very fast. + + uuddaa%%dd:: uunniitt %%dd ooffff lliinnee While searching for drives, the controller found + one that seems to be manually disabled. It is ignored. + + uuddaa%%dd:: uunnaabbllee ttoo ggeett uunniitt ssttaattuuss Something went wrong while trying to + determine the status of a disk drive. This is followed by an error de- + tail. + + uuddaa%%dd:: uunniitt %%dd,, nneexxtt %%dd This probably never happens, but I wanted to + know if it did. I have no idea what one should do about it. + + uuddaa%%dd:: ccaannnnoott hhaannddllee uunniitt nnuummbbeerr %%dd ((mmaaxx iiss %%dd)) The controller found a + drive whose unit number is too large. Valid unit numbers are those in + the range [0..7]. + + rraa%%dd:: ddoonn''tt hhaavvee aa ppaarrttiittiioonn ttaabbllee ffoorr %%ss;; uussiinngg ((ss,,tt,,cc))==((%%dd,,%%dd,,%%dd)) The + controller found a drive whose media identifier (e.g. `RA 25') does not + have a default partition table. A temporary partition table containing + only an `a' partition has been created covering the entire disk, which + has the indicated numbers of sectors per track (s), tracks per cylinder + (t), and total cylinders (c). Give the pack a label with the disklabel + utility. + + uuddaa%%dd:: uubbaalllloocc mmaapp ffaaiilleedd Unibus resource map allocation failed during + initialisation. This can only happen if you have 496 devices on a + Unibus. + + uuddaa%%dd:: ttiimmeeoouutt dduurriinngg iinniitt The controller did not initialise within ten + seconds. A hardware problem, but it sometimes goes away if you try + again. + + uuddaa%%dd:: iinniitt ffaaiilleedd,, ssaa==%%bb The controller refused to initalise. + + uuddaa%%dd:: ccoonnttrroolllleerr hhuunngg The controller never finished initialisation. + Retrying may sometimes fix it. + + rraa%%dd:: ddrriivvee wwiillll nnoott ccoommee oonn lliinnee The drive will not come on line, prob- + ably because it is spun down. This should be preceded by a message giv- + ing details as to why the drive stayed off line. + + uuddaa%%dd:: ssttiillll hhuunngg When the controller hangs, the driver occasionally + tries to reinitialise it. This means it just tried, without success. + + ppaanniicc:: uuddaassttaarrtt:: bbpp====NNUULLLL A bug in the driver has put an empty drive + queue on a controller queue. + + uuddaa%%dd:: ccoommmmaanndd rriinngg ttoooo ssmmaallll If you increase NCMDL2, you may see a per- + formance improvement. (See _/_s_y_s_/_v_a_x_u_b_a_/_u_d_a_._c.) + + ppaanniicc:: uuddaassttaarrtt A drive was found marked for status or on-line functions + while performing status or on-line functions. This indicates a bug in + the driver. + + uuddaa%%dd:: ccoonnttrroolllleerr eerrrroorr,, ssaa==00%%oo ((%%ss)) The controller reported an error. + The error code is printed in octal, along with a short description if the + code is known (see the _U_D_A_5_0 _M_a_i_n_t_e_n_a_n_c_e _G_u_i_d_e, DEC part number AA-M185B- + TC, pp. 18-22). If this occurs during normal operation, the driver will + reset it and retry pending I/O. If it occurs during configuration, the + controller may be ignored. + + uuddaa%%dd:: ssttrraayy iinnttrr The controller interrupted when it should have stayed + quiet. The interrupt has been ignored. + + uuddaa%%dd:: iinniitt sstteepp %%dd ffaaiilleedd,, ssaa==%%bb The controller reported an error dur- + ing the named initialisation step. The driver will retry initialisation + later. + + uuddaa%%dd:: vveerrssiioonn %%dd mmooddeell %%dd An informational message giving the revision + level of the controller. + + uuddaa%%dd:: DDMMAA bbuurrsstt ssiizzee sseett ttoo %%dd An informational message showing the DMA + burst size, in words. + + ppaanniicc:: uuddaaiinnttrr Indicates a bug in the generic MSCP code. + + uuddaa%%dd:: ddrriivveerr bbuugg,, ssttaattee %%dd The driver has a bogus value for the con- + troller state. Something is quite wrong. This is immediately followed + by a `panic: udastate'. + + uuddaa%%dd:: ppuurrggee bbddpp %%dd A benign message tracing BDP purges. I have been + trying to figure out what BDP purges are for. You might want to comment + out this call to log() in /sys/vaxuba/uda.c. + + uuddaa%%dd:: SSEETTCCTTLLRRCC ffaaiilleedd:: ``ddeettaaiill'' The Set Controller Characteristics com- + mand (the last part of the controller initialisation sequence) failed. + The _d_e_t_a_i_l message tells why. + + uuddaa%%dd:: aatttteemmpptt ttoo bbrriinngg rraa%%dd oonn lliinnee ffaaiilleedd:: ``ddeettaaiill'' The drive could + not be brought on line. The _d_e_t_a_i_l message tells why. + + uuddaa%%dd:: rraa%%dd:: uunnkknnoowwnn ttyyppee %%dd The type index of the named drive is not + known to the driver, so the drive will be ignored. + + rraa%%dd:: cchhaannggeedd ttyyppeess!! wwaass %%dd nnooww %%dd A drive somehow changed from one kind + to another, e.g., from an RA80 to an RA60. The numbers printed are the + encoded media identifiers (see <_v_a_x_/_m_s_c_p_._h> for the encoding). The driv- + er believes the new type. + + rraa%%dd:: uuddaa%%dd,, uunniitt %%dd,, ssiizzee == %%dd sseeccttoorrss The named drive is on the indi- + cated controller as the given unit, and has that many sectors of user- + file area. This is printed during configuration. + + uuddaa%%dd:: aatttteemmpptt ttoo ggeett ssttaattuuss ffoorr rraa%%dd ffaaiilleedd:: ``ddeettaaiill'' A status request + failed. The _d_e_t_a_i_l message should tell why. + + rraa%%dd:: bbaadd bblloocckk rreeppoorrtt:: %%dd The drive has reported the given block as + bad. If there are multiple bad blocks, the drive will report only the + first; in this case this message will be followed by `+ others'. Get DEC + to forward the block with EVRLK. + + rraa%%dd:: sseerriioouuss eexxcceeppttiioonn rreeppoorrtteedd I have no idea what this really means. + + ppaanniicc:: uuddaarreeppllaaccee The controller reported completion of a REPLACE opera- + tion. The driver never issues any REPLACEs, so something is wrong. + + ppaanniicc:: uuddaabbbb The controller reported completion of bad block related + I/O. The driver never issues any such, so something is wrong. + + uuddaa%%dd:: lloosstt iinntteerrrruupptt The controller has gone out to lunch, and is being + reset to try to bring it back. + + ppaanniicc:: mmssccpp__ggoo:: AAEEBB__MMAAXX__BBPP ttoooo ssmmaallll You defined AVOID_EMULEX_BUG and + increased NCMDL2 and Emulex has new firmware. Raise AEB_MAX_BP or turn + off AVOID_EMULEX_BUG. + + uuddaa%%dd:: uunniitt %%dd:: uunnkknnoowwnn mmeessssaaggee ttyyppee 00xx%%xx iiggnnoorreedd The controller re- + sponded with a mysterious message type. See _/_s_y_s_/_v_a_x_/_m_s_c_p_._h for a list of + known message types. This is probably a controller hardware problem. + + uuddaa%%dd:: uunniitt %%dd oouutt ooff rraannggee The disk drive unit number (the unit plug) + is higher than the maximum number the driver allows (currently 7). + + uuddaa%%dd:: uunniitt %%dd nnoott ccoonnffiigguurreedd,, mmeessssaaggee iiggnnoorreedd The named disk drive has + announced its presence to the controller, but was not, or cannot now be, + configured into the running system. _M_e_s_s_a_g_e is one of `available atten- + tion' (an `I am here' message) or `stray response op 0x%x status 0x%x' + (anything else). + + rraa%%dd:: bbaadd llbbnn ((%%dd))?? The drive has reported an invalid command error, + probably due to an invalid block number. If the lbn value is very much + greater than the size reported by the drive, this is the problem. It is + probably due to an improperly configured partition table. Other invalid + commands indicate a bug in the driver, or hardware trouble. + + rraa%%dd:: dduupplliiccaattee OONNLLIINNEE iiggnnoorreedd The drive has come on-line while already + on-line. This condition can probably be ignored (and has been). + + rraa%%dd:: iioo ddoonnee,, bbuutt nnoo bbuuffffeerr?? Hardware trouble, or a bug; the drive has + finished an I/O request, but the response has an invalid (zero) command + reference number. + + EEmmuulleexx SSCC4411//MMSS ssccrreewwuupp:: uuddaa%%dd,, ggoott %%dd ccoorrrreecctt,, tthheenn cchhaannggeedd 00xx%%xx ttoo + 00xx%%xx You turned on AVOID_EMULEX_BUG, and the driver successfully avoided + the bug. The number of correctly-handled requests is reported, along + with the expected and actual values relating to the bug being avoided. + + ppaanniicc:: uunnrreeccoovveerraabbllee EEmmuulleexx ssccrreewwuupp You turned on AVOID_EMULEX_BUG, but + Emulex was too clever and avoided the avoidance. Try turning on + MSCP_PARANOIA instead. + + uuddaa%%dd:: bbaadd rreessppoonnssee ppaacckkeett iiggnnoorreedd You turned on MSCP_PARANOIA, and the + driver caught the controller in a lie. The lie has been ignored, and the + controller will soon be reset (after a `lost' interrupt). This is fol- + lowed by a hex dump of the offending packet. + + rraa%%dd:: bboogguuss RREEPPLLAACCEE eenndd The drive has reported finishing a bad sector + replacement, but the driver never issues bad sector replacement commands. + The report is ignored. This is likely a hardware problem. + + rraa%%dd:: uunnkknnoowwnn ooppccooddee 00xx%%xx ssttaattuuss 00xx%%xx iiggnnoorreedd The drive has reported + something that the driver cannot understand. Perhaps DEC has been inven- + tive, or perhaps your hardware is ill. This is followed by a hex dump of + the offending packet. + + rraa%%dd%%cc:: hhaarrdd eerrrroorr %%ssiinngg ffssbbnn %%dd [[ooff %%dd--%%dd]] ((rraa%%dd bbnn %%dd ccnn %%dd ttnn %%dd ssnn + %%dd)).. An unrecoverable error occurred during transfer of the specified + filesystem block number(s), which are logical block numbers on the indi- + cated partition. If the transfer involved multiple blocks, the block + range is printed as well. The parenthesized fields list the actual disk + sector number relative to the beginning of the drive, as well as the + cylinder, track and sector number of the block. + + uuddaa%%dd:: %%ss eerrrroorr ddaattaaggrraamm The controller has reported some kind of error, + either `hard' (unrecoverable) or `soft' (recoverable). If the controller + is going on (attempting to fix the problem), this message includes the + remark `(continuing)'. Emulex controllers wrongly claim that all soft + errors are hard errors. This message may be followed by one of the fol- + lowing 5 messages, depending on its type, and will always be followed by + a failure detail message (also listed below). + + + + mmeemmoorryy aaddddrr 00xx%%xx A host memory access error; this is the address + that could not be read. + + uunniitt %%dd:: lleevveell %%dd rreettrryy %%dd,, %%ss %%dd A typical disk error; the retry + count and error recovery levels are printed, along with the block + type (`lbn', or logical block; or `rbn', or replacement block) and + number. If the string is something else, DEC has been clever, or + your hardware has gone to Australia for vacation (unless you live + there; then it might be in New Zealand, or Brazil). + + uunniitt %%dd:: %%ss %%dd Also a disk error, but an `SDI' error, whatever + that is. (I doubt it has anything to do with Ronald Reagan.) This + lists the block type (`lbn' or `rbn') and number. This is followed + by a second message indicating a microprocessor error code and a + front panel code. These latter codes are drive-specific, and are + intended to be used by field service as an aid in locating failing + hardware. The codes for RA81s can be found in the _R_A_8_1 _M_a_i_n_t_e_n_a_n_c_e + _G_u_i_d_e, DEC order number AA-M879A-TC, in appendices E and F. + + uunniitt %%dd:: ssmmaallll ddiisskk eerrrroorr,, ccyyll %%dd Yet another kind of disk error, + but for small disks. (`That's what it says, guv'nor. Dunnask me + what it means.') + + uunniitt %%dd:: uunnkknnoowwnn eerrrroorr,, ffoorrmmaatt 00xx%%xx A mysterious error: the given + format code is not known. + + The detail messages are as follows: + + + ssuucccceessss ((%%ss)) ((ccooddee 00,, ssuubbccooddee %%dd)) Everything worked, but the con- + troller thought it would let you know that something went wrong. + No matter what subcode, this can probably be ignored. + + iinnvvaalliidd ccoommmmaanndd ((%%ss)) ((ccooddee 11,, ssuubbccooddee %%dd)) This probably cannot oc- + cur unless the hardware is out; %s should be `invalid msg length', + meaning some command was too short or too long. + + ccoommmmaanndd aabboorrtteedd ((uunnkknnoowwnn ssuubbccooddee)) ((ccooddee 22,, ssuubbccooddee %%dd)) This should + never occur, as the driver never aborts commands. + + uunniitt oofffflliinnee ((%%ss)) ((ccooddee 33,, ssuubbccooddee %%dd)) The drive is offline, ei- + ther because it is not around (`unknown drive'), stopped (`not + mounted'), out of order (`inoperative'), has the same unit number + as some other drive (`duplicate'), or has been disabled for diag- + nostics (`in diagnosis'). + + uunniitt aavvaaiillaabbllee ((uunnkknnoowwnn ssuubbccooddee)) ((ccooddee 44,, ssuubbccooddee %%dd)) The con- + troller has decided to report a perfectly normal event as an error. + (Why?) + + mmeeddiiaa ffoorrmmaatt eerrrroorr ((%%ss)) ((ccooddee 55,, ssuubbccooddee %%dd)) The drive cannot be + used without reformatting. The Format Control Table cannot be read + (`fct unread - edc'), there is a bad sector header (`invalid sector + header'), the drive is not set for 512-byte sectors (`not 512 sec- + tors'), the drive is not formatted (`not formatted'), or the FCT + has an uncorrectable ECC error (`fct ecc'). + + wwrriittee pprrootteecctteedd ((%%ss)) ((ccooddee 66,, ssuubbccooddee %%dd)) The drive is write pro- + tected, either by the front panel switch (`hardware') or via the + driver (`software'). The driver never sets software write protect. + + ccoommppaarree eerrrroorr ((uunnkknnoowwnn ssuubbccooddee)) ((ccooddee 77,, ssuubbccooddee %%dd)) A compare op- + eration showed some sort of difference. The driver never uses com- + pare operations. + + ddaattaa eerrrroorr ((%%ss)) ((ccooddee 77,, ssuubbccooddee %%dd)) Something went wrong reading + or writing a data sector. A `forced error' is a software-asserted + error used to mark a sector that contains suspect data. Rewriting + the sector will clear the forced error. This is normally set only + during bad block replacment, and the driver does no bad block re- + placement, so these should not occur. A `header compare' error + probably means the block is shot. A `sync timeout' presumably has + something to do with sector synchronisation. An `uncorrectable + ecc' error is an ordinary data error that cannot be fixed via ECC + logic. A `%d symbol ecc' error is a data error that can be (and + presumably has been) corrected by the ECC logic. It might indicate + a sector that is imperfect but usable, or that is starting to go + bad. If any of these errors recur, the sector may need to be re- + placed. + + hhoosstt bbuuffffeerr aacccceessss eerrrroorr ((%%ss)) ((ccooddee %%dd,, ssuubbccooddee %%dd)) Something went + wrong while trying to copy data to or from the host (Vax). The + subcode is one of `odd xfer addr', `odd xfer count', `non-exist. + memory', or `memory parity'. The first two could be a software + glitch; the last two indicate hardware problems. + + ccoonnttrroolllleerr eerrrroorr ((%%ss)) ((ccooddee %%dd,, ssuubbccooddee %%dd)) The controller has de- + tected a hardware error in itself. A `serdes overrun' is a seri- + aliser / deserialiser overrun; `edc' probably stands for `error de- + tection code'; and `inconsistent internal data struct' is obvious. + + ddrriivvee eerrrroorr ((%%ss)) ((ccooddee %%dd,, ssuubbccooddee %%dd)) Either the controller or + the drive has detected a hardware error in the drive. I am not + sure what an `sdi command timeout' is, but these seem to occur be- + nignly on occasion. A `ctlr detected protocol' error means that + the controller and drive do not agree on a protocol; this could be + a cabling problem, or a version mismatch. A `positioner' error + means the drive seek hardware is ailing; `lost rd/wr ready' means + the drive read/write logic is sick; and `drive clock dropout' means + that the drive clock logic is bad, or the media is hopelessly + scrambled. I have no idea what `lost recvr ready' means. A `drive + detected error' is a catch-all for drive hardware trouble; `ctlr + detected pulse or parity' errors are often caused by cabling prob- + lems. + +SSEEEE AALLSSOO + disklabel(5), disklabel(8) + +HHIISSTTOORRYY + The uuddaa driver appeared in 4.2BSD. + +4th Berkeley Distribution June 5, 1993 7 diff --git a/usr/share/man/cat4/vax/up.0 b/usr/share/man/cat4/vax/up.0 new file mode 100644 index 0000000000..98db19c83c --- /dev/null +++ b/usr/share/man/cat4/vax/up.0 @@ -0,0 +1,172 @@ +UP(4) BSD Programmer's Manual (VAX Architecture) UP(4) + +NNAAMMEE + uupp - unibus storage module controller/drives + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr sscc00 aatt uubbaa?? ccssrr 00117766770000 vveeccttoorr uuppiinnttrr + ddiisskk uupp00 aatt sscc00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + This is a generic UNIBUS storage module disk driver. It is specifically + designed to work with the Emulex SC-21 and SC-31 controllers. It can be + easily adapted to other controllers (although bootstrapping will not nec- + essarily be directly possible.) + + The script MAKEDEV(8) should be used to create the uupp special files; con- + sult mknod(8) if a special file needs to be made manually. It is recom- + mended as a security precaution to not create special files for devices + which may never be installed. + +DDIISSKK SSUUPPPPOORRTT + The driver interrogates the controller's holding register to determine + the type of drive attached. The driver recognizes seven different + drives: CDC 9762, CDC 9766, AMPEX DM980, AMPEX 9300, AMPEX Capricorn, + FUJITSU 160, and FUJITSU Eagle (the Eagle is not supported by the SC-21). + + Special file names begin with `up' and `rup' for the block and character + files respectively. The second component of the name, a drive unit number + in the range of zero to seven, is represented by a `?' in the disk lay- + outs below. The last component of the name, the file system partition, is + designated by a letter from `a' to `h' which also corresponds to a minor + device number set: zero to seven, eight to 15, 16 to 23 and so forth for + drive zero, drive two and drive three respectively (see physio(4)). The + location and size (in 512 byte sectors) of the partitions for the above + drives: + + CDC 9762 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-99 + hp?b 16000 33440 100-309 + hp?c 0 131680 0-822 + hp?d 49600 15884 309-408 + hp?e 65440 55936 409-758 + hp?f 121440 10080 759-822 + hp?g 49600 82080 309-822 + + CDC 9766 300M drive partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyll + up?a 0 15884 0-26 + up?b 16416 33440 27-81 + up?c 0 500384 0-822 + up?d 341696 15884 562-588 + up?e 358112 55936 589-680 + up?f 414048 861760 681-822 + up?g 341696 158528 562-822 + up?h 49856 291346 82-561 + + AMPEX DM980 partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-99 + hp?b 16000 33440 100-309 + hp?c 0 131680 0-822 + hp?d 49600 15884 309-408 + hp?e 65440 55936 409-758 + hp?f 121440 10080 759-822 + hp?g 49600 82080 309-822 + + AMPEX 9300 300M drive partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyll + up?a 0 15884 0-26 + up?b 16416 33440 27-81 + up?c 0 495520 0-814 + up?d 341696 15884 562-588 + up?e 358112 55936 589-680 + up?f 414048 81312 681-814 + up?g 341696 153664 562-814 + up?h 49856 291346 82-561 + + AMPEX Capricorn 330M drive partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyll + hp?a 0 15884 0-31 + hp?b 16384 33440 32-97 + hp?c 0 524288 0-1023 + hp?d 342016 15884 668-699 + hp?e 358400 55936 700-809 + hp?f 414720 109408 810-1023 + hp?g 342016 182112 668-1023 + hp?h 50176 291346 98-667 + + FUJITSU 160M drive partitions: + ddiisskk ssttaarrtt lleennggtthh ccyyll + up?a 0 15884 0-49 + up?b 16000 33440 50-154 + up?c 0 263360 0-822 + up?d 49600 15884 155-204 + up?e 65600 55936 205-379 + up?f 121600 141600 380-822 + up?g 49600 213600 155-822 + + FUJITSU Eagle partitions + ddiisskk ssttaarrtt lleennggtthh ccyyllss + hp?a 0 15884 0-16 + hp?b 16320 66880 17-86 + hp?c 0 808320 0-841 + hp?d 375360 15884 391-407 + hp?e 391680 55936 408-727 + hp?f 698880 109248 728-841 + hp?g 375360 432768 391-841 + hp?h 83520 291346 87-390 + + The up?a partition is normally used for the root file system, the up?b + partition as a paging area, and the up?c partition for pack-pack copying + (it maps the entire disk). On 160M drives the up?g partition maps the + rest of the pack. On other drives both up?g and up?h are used to map the + remaining cylinders. + +FFIILLEESS + /dev/up[0-7][a-h] block files + /dev/rup[0-7][a-h] raw files + +DDIIAAGGNNOOSSTTIICCSS + uupp%%dd%%cc:: hhaarrdd eerrrroorr %%ssiinngg ffssbbnn %%dd[[--%%dd]] ccss22==%%bb eerr11==%%bb eerr22==%%bb.. An unrecov- + erable error occurred during transfer of the specified filesystem block + number(s), which are logical block numbers on the indicated partition. + The contents of the cs2, er1 and er2 registers are printed in octal and + symbolically with bits decoded. The error was either unrecoverable, or a + large number of retry attempts (including offset positioning and drive + recalibration) could not recover the error. + + + + + uupp%%dd:: wwrriittee lloocckkeedd.. The write protect switch was set on the drive when a + write was attempted. The write operation is not recoverable. + + uupp%%dd:: nnoott rreeaaddyy.. The drive was spun down or off line when it was ac- + cessed. The i/o operation is not recoverable. + + uupp%%dd:: nnoott rreeaaddyy ((ffllaakkeeyy)).. The drive was not ready, but after printing + the message about being not ready (which takes a fraction of a second) + was ready. The operation is recovered if no further errors occur. + + uupp%%dd%%cc:: ssoofftt eecccc rreeaaddiinngg ffssbbnn %%dd[[--%%dd]].. A recoverable ECC error occurred + on the specified sector of the specified disk partition. This happens + normally a few times a week. If it happens more frequently than this the + sectors where the errors are occurring should be checked to see if cer- + tain cylinders on the pack, spots on the carriage of the drive or heads + are indicated. + + sscc%%dd:: lloosstt iinntteerrrruupptt.. A timer watching the controller detecting no in- + terrupt for an extended period while an operation was outstanding. This + indicates a hardware or software failure. There is currently a hard- + ware/software problem with spinning down drives while they are being ac- + cessed which causes this error to occur. The error causes a UNIBUS re- + set, and retry of the pending operations. If the controller continues to + lose interrupts, this error will recur a few seconds later. + +SSEEEE AALLSSOO + hk(4), hp(4), uda(4) + +HHIISSTTOORRYY + The uupp driver appeared in 4.0BSD. + +BBUUGGSS + A program to analyze the logged error information (even in its present + reduced form) is needed. + + The partition tables for the file systems should be read off of each + pack, as they are never quite what any single installation would prefer, + and this would make packs more portable. + +4th Berkeley Distribution June 5, 1993 3 diff --git a/usr/share/man/cat4/vax/ut.0 b/usr/share/man/cat4/vax/ut.0 new file mode 100644 index 0000000000..285ef9f38f --- /dev/null +++ b/usr/share/man/cat4/vax/ut.0 @@ -0,0 +1,57 @@ +UT(4) BSD Programmer's Manual (VAX Architecture) UT(4) + +NNAAMMEE + uutt - UNIBUS TU45 tri-density tape drive interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr uutt00 aatt uubbaa00 ccssrr 00117722444400 vveeccttoorr uuttiinnttrr + ttaappee ttjj00 aatt uutt00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + The uutt interface provides access to a standard tape drive interface as + describe in mtio(4). Hardware implementing this on the VAX is typified + by the System Industries SI 9700 tape subsystem. Tapes may be read or + written at 800, 1600, and 6250 BPI. + +DDIIAAGGNNOOSSTTIICCSS + ttjj%%dd:: nnoo wwrriittee rriinngg.. An attempt was made to write on the tape drive when + no write ring was present; this message is written on the terminal of the + user who tried to access the tape. + + ttjj%%dd:: nnoott oonnlliinnee.. An attempt was made to access the tape while it was + offline; this message is written on the terminal of the user who tried to + access the tape. + + ttjj%%dd:: ccaann''tt cchhaannggee ddeennssiittyy iinn mmiidd--ttaappee.. An attempt was made to write on + a tape at a different density than is already recorded on the tape. This + message is written on the terminal of the user who tried to switch the + density. + + uutt%%dd:: ssoofftt eerrrroorr bbnn%%dd ccss11==%%bb eerr==%%bb ccss22==%%bb ddss==%%bb.. The formatter indicated + a corrected error at a density other than 800bpi. The data transferred + is assumed to be correct. + + uutt%%dd:: hhaarrdd eerrrroorr bbnn%%dd ccss11==%%bb eerr==%%bb ccss22==%%bb ddss==%%bb.. A tape error occurred + at block + + bbnn.. Any error is fatal on non-raw tape; when possible the driver will + have retried the operation which failed several times before reporting + the error. + + ttjj%%dd:: lloosstt iinntteerrrruupptt.. A tape operation did not complete within a reason- + able time, most likely because the tape was taken off-line during rewind + or lost vacuum. The controller should, but does not, give an interrupt + in these cases. The device will be made available again after this mes- + sage, but any current open reference to the device will return an error + as the operation in progress aborts. + +SSEEEE AALLSSOO + mt(1), mtio(4) + +HHIISSTTOORRYY + The uutt driver appeared in 4.2BSD. + +BBUUGGSS + May hang if a physical error (non-data) occurs. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/uu.0 b/usr/share/man/cat4/vax/uu.0 new file mode 100644 index 0000000000..6019a344d7 --- /dev/null +++ b/usr/share/man/cat4/vax/uu.0 @@ -0,0 +1,78 @@ +UU(4) BSD Programmer's Manual (VAX Architecture) UU(4) + +NNAAMMEE + uuuu - TU58/ DECtape II UNIBUS cassette interface + +SSYYNNOOPPSSIISS + ooppttiioonnss UUUUDDMMAA + ddeevviiccee uuuu00 aatt uubbaa00 ccssrr 00117766550000 vveeccttoorr uuuurriinnttrr uuuuxxiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The uuuu device provides access to dual DEC TU58 tape cartridge drives con- + nected to the UNIBUS via a DL11-W interface module. + + The interface supports only block I/O to the TU58 cassettes (see + physio(4)). The drives are normally manipulated with the arff(8) program + using the ``m'' and ``f'' options. + + The driver provides for an optional write and verify (read after write) + mode that is activated by specifying the ``a'' device. + + The TU58 is treated as a single device by the system even though it has + two separate drives, `uu0' and `uu1'. If there is more than one TU58 unit + on a system, the extra drives are named `uu2', `uu3' etc. + +NNOOTTEESS + Assembly language code to assist the driver in handling the receipt of + data (using a pseudo-dma approach) should be included when using this + driver; specify `options UUDMA' in the configuration file. + +FFIILLEESS + /dev/uu? + /dev/uu?a + +DDIIAAGGNNOOSSTTIICCSS + uuuu%%dd:: nnoo bbpp,, aaccttiivvee %%dd.. A transmission complete interrupt was received + with no outstanding I/O request. This indicates a hardware problem. + + uuuu%%dd pprroottooccooll eerrrroorr,, ssttaattee==%%ss,, oopp==%%xx,, ccnntt==%%dd,, bblloocckk==%%dd.. The driver en- + tered an illegal state. The information printed indicates the illegal + state, the operation currently being executed, the I/O count, and the + block number on the cassette. + + uuuu%%dd:: bbrreeaakk rreecceeiivveedd,, ttrraannssffeerr rreessttaarrtteedd.. The TU58 was sending a contin- + uous break signal and had to be reset. This may indicate a hardware prob- + lem, but the driver will attempt to recover from the error. + + uuuu%%dd rreecceeiivvee ssttaattee eerrrroorr,, ssttaattee==%%ss,, bbyyttee==%%xx.. The driver entered an ille- + gal state in the receiver finite state machine. The state is shown along + with the control byte of the received packet. + + uuuu%%dd:: rreeaadd ssttaalllleedd.. A timer watching the controller detected no inter- + rupt for an extended period while an operation was outstanding. This + usually indicates that one or more receiver interrupts were lost and the + transfer is restarted. + + uuuu%%dd:: hhaarrdd eerrrroorr bbnn%%dd,, ppkk__mmoodd %%oo.. The device returned a status code in- + dicating a hard error. The actual error code is shown in octal. No re- + tries are attempted by the driver. + +EERRRROORRSS + The following errors may be returned: + + [ENXIO] Nonexistent drive (on open); offset is too large or bad (unde- + + + fined) ioctl(2) code. + + [EIO] Open failed, the device could not be reset. + + [EBUSY] Drive in use. + +SSEEEE AALLSSOO + tu(4), arff(8) + +HHIISSTTOORRYY + The uuuu driver appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/va.0 b/usr/share/man/cat4/vax/va.0 new file mode 100644 index 0000000000..46d13763be --- /dev/null +++ b/usr/share/man/cat4/vax/va.0 @@ -0,0 +1,87 @@ +VA(4) BSD Programmer's Manual (VAX Architecture) VA(4) + +NNAAMMEE + vvaa - Benson-Varian interface + +SSYYNNOOPPSSIISS + ccoonnttrroolllleerr vvaa00 aatt uubbaa00 ccssrr 00116644000000 vveeccttoorr vvaaiinnttrr + ddiisskk vvzz00 aatt vvaa00 ddrriivvee 00 + +DDEESSCCRRIIPPTTIIOONN + ((NNOOTTEE:: tthhee ccoonnffiigguurraattiioonn ddeessccrriippttiioonn,, wwhhiillee ccoouunntteerr--iinnttuuiittiivvee,, iiss aaccttuuaall-- + llyy aass sshhoowwnn aabboovvee..)) + + The Benson-Varian printer/plotter in normally used with the line printer + system. This description is designed for those who wish to drive the + Benson-Varian directly. + + In print mode, the Benson-Varian uses a modified ASCII character set. + Most control characters print various non- ASCII graphics such as dag- + gers, sigmas, copyright symbols, etc. Only LF and FF are used as format + effectors. LF acts as a newline, advancing to the beginning of the next + line, and FF advances to the top of the next page. + + In plot mode, the Benson-Varian prints one raster line at a time. An en- + tire raster line of bits (2112 bits = 264 bytes) is sent, and then the + Benson-Varian advances to the next raster line. + + _N_o_t_e: The Benson-Varian must be sent an even number of bytes. If an odd + number is sent, the last byte will be lost. Nulls can be used in print + mode to pad to an even number of bytes. + + To use the Benson-Varian yourself, you must realize that you cannot open + the device, _/_d_e_v_/_v_a_0 if there is an daemon active. You can see if there + is an active daemon by doing a lpq(1) and seeing if there are any files + being printed. Printing should be turned off using lpc(8). + + To set the Benson-Varian into plot mode include the file <_s_y_s_/_v_c_m_d_._h> and + use the following ioctl(2) call + + ioctl(fileno(va), VSETSTATE, plotmd); + + where _p_l_o_t_m_d is defined to be + + int plotmd[] = { VPLOT, 0, 0 }; + + and _v_a is the result of a call to fopen on stdio. When you finish using + the Benson-Varian in plot mode you should advance to a new page by send- + ing it a FF after putting it back into print mode, i.e. by + + int prtmd[] = { VPRINT, 0, 0 }; + ... + fflush(va); + ioctl(fileno(va), VSETSTATE, prtmd); + write(fileno(va), "\f\0", 2); + +FFIILLEESS + /dev/va0 + +DDIIAAGGNNOOSSTTIICCSS + The following error numbers are significant at the time the device is + opened. + + [ENXIO] The device is already in use. + + [EIO] The device is offline. + + The following message may be printed on the console. + + vvaa%%dd:: nnpprr ttiimmeeoouutt.. The device was not able to get data from the UNIBUS + within the timeout period, most likely because some other device was hog- + ging the bus. (But see _B_U_G_S below). + +SSEEEE AALLSSOO + vfont(5), lpr(1), lpd(8), vp(4) + +HHIISSTTOORRYY + The vvaa driver appeared in 4.0BSD. + +BBUUGGSS + The 1's (one's) and l's (lower-case el's) in the Benson-Varian's standard + character set look very similar; caution is advised. + + The interface hardware is rumored to have problems which can play havoc + with the UNIBUS. We have intermittent minor problems on the UNIBUS where + our va lives, but haven't ever been able to pin them down completely. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat4/vax/vp.0 b/usr/share/man/cat4/vax/vp.0 new file mode 100644 index 0000000000..cadd871a41 --- /dev/null +++ b/usr/share/man/cat4/vax/vp.0 @@ -0,0 +1,64 @@ +VP(4) BSD Programmer's Manual (VAX Architecture) VP(4) + +NNAAMMEE + vvpp - Versatec interface + +SSYYNNOOPPSSIISS + ddeevviiccee vvpp00 aatt uubbaa00 ccssrr 00117777551100 vveeccttoorr vvppiinnttrr vvppiinnttrr + +DDEESSCCRRIIPPTTIIOONN + The Versatec printer/plotter is normally used with the line printer sys- + tem. This description is designed for those who wish to drive the Ver- + satec directly. + + To use the Versatec yourself, you must realize that you cannot open the + device, _/_d_e_v_/_v_p_0 if there is a daemon active. You can see if there is a + daemon active by doing a lpq(1), and seeing if there are any files being + sent. Printing should be turned off using lpc(8). + + To set the Versatec into plot mode you should include <_s_y_s_/_v_c_m_d_._h> and + use the ioctl(2) call + + ioctl(fileno(vp), VSETSTATE, plotmd); + + where _p_l_o_t_m_d is defined to be + + int plotmd[] = { VPLOT, 0, 0 }; + + and _v_p is the result of a call to fopen on stdio. When you finish using + the Versatec in plot mode you should eject paper by sending it a EOT af- + ter putting it back into print mode, i.e. by + + int prtmd[] = { VPRINT, 0, 0 }; + ... + fflush(vp); + ioctl(fileno(vp), VSETSTATE, prtmd); + write(fileno(vp), "\04", 1); + +FFIILLEESS + /dev/vp0 + +DDIIAAGGNNOOSSTTIICCSS + The following error numbers are significant at the time the device is + opened. + + [ENXIO] The device is already in use. + + [EIO] The device is offline. + +SSEEEE AALLSSOO + lpr(1), vtroff(1), va(4) font(5), lpd(8), + +HHIISSTTOORRYY + A vvpp driver appeared in Version 7 AT&T UNIX. + +BBUUGGSS + The configuration part of the driver assumes that the device is set up to + vector print mode through 0174 and plot mode through 0200. As the con- + figuration program can't be sure which vector interrupted at boot time, + we specify that it has two interrupt vectors, and if an interrupt comes + through 0200 it is reset to 0174. This is safe for devices with one or + two vectors at these two addresses. Other configurations with 2 vectors + may require changes in the driver. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat4/vax/vv.0 b/usr/share/man/cat4/vax/vv.0 new file mode 100644 index 0000000000..55928aa6ff --- /dev/null +++ b/usr/share/man/cat4/vax/vv.0 @@ -0,0 +1,66 @@ +VV(4) BSD Programmer's Manual (VAX Architecture) VV(4) + +NNAAMMEE + vvvv - Proteon proNET 10 Megabit ring + +SSYYNNOOPPSSIISS + ddeevviiccee vvvv00 aatt uubbaa00 ccssrr 00116611000000 vveeccttoorr vvvvrriinntt vvvvxxiinntt + +DDEESSCCRRIIPPTTIIOONN + The vvvv interface provides access to a 10 Mb/s Proteon proNET ring net- + work. + + The network address of the interface must be specified with an an + SIOCSIFADDR ioctl(2) before data can be transmitted or received. It is + only permissible to change the network address while the interface is + marked ``down''. + + The host's hardware address is discovered by putting the interface in + digital loopback mode (not joining the ring) and sending a broadcast + packet from which the hardware address is extracted. + + Transmit timeouts are detected through use of a watchdog routine. Lost + input interrupts are checked for when packets are sent out. + + If the installation is running CTL boards which use the old broadcast ad- + dress of `0' instead of the new address of `0xff', the define + OLD_BROADCAST should be specified in the driver. + + The driver can use ``trailer'' encapsulation to minimize copying data on + input and output. This may be disabled, on a per-interface basis, by + setting the IFF_NOTRAILERS flag with an SIOCSIFFLAGS ioctl. + +DDIIAAGGNNOOSSTTIICCSS + vvvv%%dd:: hhoosstt %%dd.. The software announces the host address discovered during + autoconfiguration. + + vvvv%%dd:: ccaann''tt iinniittiiaalliizzee.. The software was unable to discover the address + of this interface, so it deemed "dead" will not be enabled. + + vvvv%%dd:: eerrrroorr vvvvooccssrr==%%bb.. The hardware indicated an error on the previous + transmission. + + vvvv%%dd:: oouuttppuutt ttiimmeeoouutt.. The token timer has fired and the token will be + recreated. + + vvvv%%dd:: eerrrroorr vvvviiccssrr==%%bb.. The hardware indicated an error in reading a + packet off the ring. + + eenn%%dd:: ccaann''tt hhaannddllee aaff%%dd.. The interface was handed a message with ad- + dresses formatted in an unsuitable address family; the packet was + dropped. + + vvvv%%dd:: vvss__oolleenn==%%dd.. The ring output routine has been handed a message with + a preposterous length. This results in an immediate _p_a_n_i_c_: _v_s___o_l_e_n. + +SSEEEE AALLSSOO + netintro(4), inet(4) + +HHIISSTTOORRYY + The vvvv driver appeared in 4.2BSD. + +BBUUGGSS + The encapsulation of trailer packets in the 4.2BSD version of this driver + was incorrect (the packet type was in VAX byte order). As a result, the + trailer encapsulation in this version is not compatible with the 4.2BSD + VAX version. diff --git a/usr/share/man/cat5/a.out.0 b/usr/share/man/cat5/a.out.0 new file mode 100644 index 0000000000..5345af7dc1 --- /dev/null +++ b/usr/share/man/cat5/a.out.0 @@ -0,0 +1,276 @@ +A.OUT(5) BSD Programmer's Manual A.OUT(5) + +NNAAMMEE + aa..oouutt - format of executable binary files + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The include file <_a_._o_u_t_._h> declares three structures and several macros. + The structures describe the format of executable machine code files + (`binaries') on the system. + + A binary file consists of up to 7 sections. In order, these sections + are: + + exec header Contains parameters used by the kernel to load a binary + file into memory and execute it, and by the link editor + ld(1) to combine a binary file with other binary files. + This section is the only mandatory one. + + text segment Contains machine code and related data that are loaded + into memory when a program executes. May be loaded + read-only. + + data segment Contains initialized data; always loaded into writable + memory. + + text relocations Contains records used by the link editor to update + pointers in the text segment when combining binary + files. + + data relocations Like the text relocation section, but for data segment + pointers. + + symbol table Contains records used by the link editor to cross ref- + erence the addresses of named variables and functions + (`symbols') between binary files. + + string table Contains the character strings corresponding to the + symbol names. + + Every binary file begins with an _e_x_e_c structure: + + struct exec { + unsigned short a_mid; + unsigned short a_magic; + unsigned long a_text; + unsigned long a_data; + unsigned long a_bss; + unsigned long a_syms; + unsigned long a_entry; + unsigned long a_trsize; + unsigned long a_drsize; + }; + + The fields have the following functions: + + _a___m_i_d Contains a bit pattern that identifies binaries that were built + for certain sub-classes of an architecture (`machine IDs') or + variants of the operating system on a given architecture. The + kernel may not support all machine IDs on a given architecture. + The _a___m_i_d field is not present on some architectures; in this + + + case, the _a___m_a_g_i_c field has type _u_n_s_i_g_n_e_d _l_o_n_g. + + _a___m_a_g_i_c Contains a bit pattern (`magic number') that uniquely identi- + fies binary files and distinguishes different loading conven- + tions. The field must contain one of the following values: + + OMAGIC The text and data segments immediately follow the head- + er and are contiguous. The kernel loads both text and + data segments into writable memory. + + NMAGIC As with OMAGIC, text and data segments immediately fol- + low the header and are contiguous. However, the kernel + loads the text into read-only memory and loads the data + into writable memory at the next page boundary after + the text. + + ZMAGIC The kernel loads individual pages on demand from the + binary. The header, text segment and data segment are + all padded by the link editor to a multiple of the page + size. Pages that the kernel loads from the text seg- + ment are read-only, while pages from the data segment + are writable. + + _a___t_e_x_t Contains the size of the text segment in bytes. + + _a___d_a_t_a Contains the size of the data segment in bytes. + + _a___b_s_s Contains the number of bytes in the `bss segment' and is used + by the kernel to set the initial break (brk(2)) after the data + segment. The kernel loads the program so that this amount of + writable memory appears to follow the data segment and initial- + ly reads as zeroes. + + _a___s_y_m_s Contains the size in bytes of the symbol table section. + + _a___e_n_t_r_y Contains the address in memory of the entry point of the pro- + gram after the kernel has loaded it; the kernel starts the exe- + cution of the program from the machine instruction at this ad- + dress. + + _a___t_r_s_i_z_e Contains the size in bytes of the text relocation table. + + _a___d_r_s_i_z_e Contains the size in bytes of the data relocation table. + + The _a_._o_u_t_._h include file defines several macros which use an _e_x_e_c struc- + ture to test consistency or to locate section offsets in the binary file. + + NN__BBAADDMMAAGG(_e_x_e_c) Nonzero if the _a___m_a_g_i_c field does not contain a recog- + nized value. + + NN__TTXXTTOOFFFF(_e_x_e_c) The byte offset in the binary file of the beginning of + the text segment. + + NN__SSYYMMOOFFFF(_e_x_e_c) The byte offset of the beginning of the symbol table. + + NN__SSTTRROOFFFF(_e_x_e_c) The byte offset of the beginning of the string table. + + Relocation records have a standard format which is described by the + _r_e_l_o_c_a_t_i_o_n___i_n_f_o structure: + + struct relocation_info { + int r_address; + unsigned int r_symbolnum : 24, + r_pcrel : 1, + r_length : 2, + r_extern : 1, + : 4; + }; + + The _r_e_l_o_c_a_t_i_o_n___i_n_f_o fields are used as follows: + + _r___a_d_d_r_e_s_s Contains the byte offset of a pointer that needs to be link- + edited. Text relocation offsets are reckoned from the start + of the text segment, and data relocation offsets from the + start of the data segment. The link editor adds the value + that is already stored at this offset into the new value + that it computes using this relocation record. + + _r___s_y_m_b_o_l_n_u_m Contains the ordinal number of a symbol structure in the + symbol table (it is _n_o_t a byte offset). After the link edi- + tor resolves the absolute address for this symbol, it adds + that address to the pointer that is undergoing relocation. + (If the _r___e_x_t_e_r_n bit is clear, the situation is different; + see below.) + + _r___p_c_r_e_l If this is set, the link editor assumes that it is updating + a pointer that is part of a machine code instruction using + pc-relative addressing. The address of the relocated point- + er is implicitly added to its value when the running program + uses it. + + _r___l_e_n_g_t_h Contains the log base 2 of the length of the pointer in + bytes; 0 for 1-byte displacements, 1 for 2-byte displace- + ments, 2 for 4-byte displacements. + + _r___e_x_t_e_r_n Set if this relocation requires an external reference; the + link editor must use a symbol address to update the pointer. + When the _r___e_x_t_e_r_n bit is clear, the relocation is `local'; + the link editor updates the pointer to reflect changes in + the load addresses of the various segments, rather than + changes in the value of a symbol. In this case, the content + of the _r___s_y_m_b_o_l_n_u_m field is an _n___t_y_p_e value (see below); + this type field tells the link editor what segment the relo- + cated pointer points into. + + Symbols map names to addresses (or more generally, strings to values). + Since the link-editor adjusts addresses, a symbol's name must be used to + stand for its address until an absolute value has been assigned. Symbols + consist of a fixed-length record in the symbol table and a variable- + length name in the string table. The symbol table is an array of _n_l_i_s_t + structures: + + struct nlist { + union { + char *n_name; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; + }; + + The fields are used as follows: + + _n___u_n_._n___s_t_r_x Contains a byte offset into the string table for the name of + this symbol. When a program accesses a symbol table with + the nlist(3) function, this field is replaced with the + _n___u_n_._n___n_a_m_e field, which is a pointer to the string in memo- + ry. + + _n___t_y_p_e Used by the link editor to determine how to update the sym- + bol's value. The _n___t_y_p_e field is broken down into three + sub-fields using bitmasks. The link editor treats symbols + with the N_EXT type bit set as `external' symbols and per- + mits references to them from other binary files. The N_TYPE + mask selects bits of interest to the link editor: + + N_UNDF An undefined symbol. The link editor must locate an + external symbol with the same name in another binary + file to determine the absolute value of this symbol. + As a special case, if the _n___v_a_l_u_e field is nonzero + and no binary file in the link-edit defines this + symbol, the link-editor will resolve this symbol to + an address in the bss segment, reserving an amount + of bytes equal to _n___v_a_l_u_e. If this symbol is unde- + fined in more than one binary file and the binary + files do not agree on the size, the link editor + chooses the greatest size found across all binaries. + + N_ABS An absolute symbol. The link editor does not update + an absolute symbol. + + N_TEXT A text symbol. This symbol's value is a text ad- + dress and the link editor will update it when it + merges binary files. + + N_DATA A data symbol; similar to N_TEXT but for data ad- + dresses. The values for text and data symbols are + not file offsets but addresses; to recover the file + offsets, it is necessary to identify the loaded ad- + dress of the beginning of the corresponding section + and subtract it, then add the offset of the section. + + N_BSS A bss symbol; like text or data symbols but has no + corresponding offset in the binary file. + + N_FN A filename symbol. The link editor inserts this + symbol before the other symbols from a binary file + when merging binary files. The name of the symbol + is the filename given to the link editor, and its + value is the first text address from that binary + file. Filename symbols are not needed for link- + editing or loading, but are useful for debuggers. + + The N_STAB mask selects bits of interest to symbolic debug- + gers such as gdb(1); the values are described in stab(5). + + _n___o_t_h_e_r This field is currently unused. + + _n___d_e_s_c Reserved for use by debuggers; passed untouched by the link + editor. Different debuggers use this field for different + purposes. + + _n___v_a_l_u_e Contains the value of the symbol. For text, data and bss + symbols, this is an address; for other symbols (such as de- + bugger symbols), the value may be arbitrary. + + The string table consists of an _u_n_s_i_g_n_e_d _l_o_n_g length followed by null- + terminated symbol strings. The length represents the size of the entire + table in bytes, so its minimum value (or the offset of the first string) + is always 4 on 32-bit machines. + +SSEEEE AALLSSOO + ld(1), execve(2), nlist(3), core(5), dbx(5), stab(5) + +HHIISSTTOORRYY + The _a_._o_u_t_._h include file appeared in Version 7 AT&T UNIX. + +BBUUGGSS + Since not all of the supported architectures use the _a___m_i_d field, it can + be difficult to determine what architecture a binary will execute on + without examining its actual machine code. Even with a machine identifi- + er, the byte order of the _e_x_e_c header is machine-dependent. + + Nobody seems to agree on what _b_s_s stands for. + + New binary file formats may be supported in the future, and they probably + will not be compatible at any level with this ancient format. + +4.4BSD June 5, 1993 5 diff --git a/usr/share/man/cat5/acct.0 b/usr/share/man/cat5/acct.0 new file mode 100644 index 0000000000..00f186d794 --- /dev/null +++ b/usr/share/man/cat5/acct.0 @@ -0,0 +1,62 @@ +ACCT(5) BSD Programmer's Manual ACCT(5) + +NNAAMMEE + aacccctt - execution accounting file + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The kernel maintains the following _a_c_c_t information structure for all + processes. If a process terminates, and accounting is enabled, the kernel + calls the acct(2) function call to prepare and append the record to the + accounting file. + + /* + * Accounting structures; these use a comp_t type which is a 3 bits base 8 + * exponent, 13 bit fraction ``floating point'' number. Units are 1/AHZ + * seconds. + */ + typedef u_short comp_t; + + struct acct { + char ac_comm[10]; /* name of command */ + comp_t ac_utime; /* user time */ + comp_t ac_stime; /* system time */ + comp_t ac_etime; /* elapsed time */ + time_t ac_btime; /* starting time */ + uid_t ac_uid; /* user id */ + gid_t ac_gid; /* group id */ + short ac_mem; /* memory usage average */ + comp_t ac_io; /* count of IO blocks */ + dev_t ac_tty; /* controlling tty */ + #define AFORK 0x01 /* forked but not execed */ + #define ASU 0x02 /* used super-user permissions */ + #define ACOMPAT 0x04 /* used compatibility mode */ + #define ACORE 0x08 /* dumped core */ + #define AXSIG 0x10 /* killed by a signal */ + char ac_flag; /* accounting flags */ + }; + + /* + * 1/AHZ is the granularity of the data encoded in the comp_t fields. + * This is not necessarily equal to hz. + */ + #define AHZ 64 + + #ifdef KERNEL + struct vnode *acctp; + #endif + + If a terminated process was created by an execve(2), the name of the ex- + ecuted file (at most ten characters of it) is saved in the field _a_c___c_o_m_m + and its status is saved by setting one of more of the following flags in + _a_c___f_l_a_g_: AFORK, ASU, ACOMPAT, ACORE and ASIG. + +SSEEEE AALLSSOO + acct(2), execve(2), sa(8) + +HHIISSTTOORRYY + A aacccctt file format appeared in Version 7 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat5/core.0 b/usr/share/man/cat5/core.0 new file mode 100644 index 0000000000..aad1724234 --- /dev/null +++ b/usr/share/man/cat5/core.0 @@ -0,0 +1,38 @@ +CORE(5) BSD Programmer's Manual CORE(5) + +NNAAMMEE + ccoorree - memory image file format + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + A small number of signals which cause abnormal termination of a process + also cause a record of the process's in-core state to be written to disk + for later examination by one of the aviailable debuggers. (See + sigaction(2).) This memory image is written to a file named ccoorree in the + working directory; provided the terminated process had write permission + in the directory, and provided the abnormality did not caused a system + crash. (In this event, the decision to save the core file is arbitrary, + see savecore(8).) + + The maximum size of a ccoorree file is limited by setrlimit(2). Files which + would be larger than the limit are not created. + + The ccoorree file consists of the _u. area, whose size (in pages) is defined + by the UPAGES manifest in the <_s_y_s_/_p_a_r_a_m_._h> file. The _u. area starts + with a _u_s_e_r structure as given in <_s_y_s_/_u_s_e_r_._h>. The remainder of the ccoorree + file consists of the data pages followed by the stack pages of the pro- + cess image. The amount of data space image in the ccoorree file is given (in + pages) by the variable _u___d_s_i_z_e in the _u. area. The amount of stack image + in the core file is given (in pages) by the variable _u___s_s_i_z_e in the _u. + area. The size of a ``page'' is given by the constant NBPG (also from + <_s_y_s_/_p_a_r_a_m_._h>). + +SSEEEE AALLSSOO + adb(1), dbx(1), gdb(1), kgdb(1), sigaction(2), setrlimit(2) + +HHIISSTTOORRYY + A ccoorree file format appeared in Version 6 AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/dir.0 b/usr/share/man/cat5/dir.0 new file mode 100644 index 0000000000..c223301a0d --- /dev/null +++ b/usr/share/man/cat5/dir.0 @@ -0,0 +1,98 @@ +DIR(5) BSD Programmer's Manual DIR(5) + +NNAAMMEE + ddiirr, ddiirreenntt - directory file format + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + Directories provide a convienent hierarchical method of grouping files + while obscuring the underlying details of the storage medium. A directo- + ry file is differentiated from a plain file by a flag in its inode(5) en- + try. It consists of records (directory entries) each of which contain + information about a file and a pointer to the file itself. Directory en- + tries may contain other directories as well as plain files; such nested + directories are refered to as subdirectories. A hierarchy of directories + and files is formed in this manner and is called a file system (or ref- + ered to as a file system tree). + + Each directory file contains two special directory entries; one is a + pointer to the directory itself called dot `.' and the other a pointer to + its parent directory called dot-dot `..'. Dot and dot-dot are valid path- + names, however, the system root directory `/', has no parent and dot-dot + points to itself like dot. + + File system nodes are ordinary directory files on which has been grafted + a file system object, such as a physical disk or a partitioned area of + such a disk. (See mount(1) and mount(8).) + + The directory entry format is defined in the file : + + #ifndef _DIRENT_H_ + #define _DIRENT_H_ + + /* + * A directory entry has a struct dirent at the front of it, containing its + * inode number, the length of the entry, and the length of the name + * contained in the entry. These are followed by the name padded to a 4 + * byte boundary with null bytes. All names are guaranteed null terminated. + * The maximum length of a name in a directory is MAXNAMLEN. + */ + + struct dirent { + u_long d_fileno; /* file number of entry */ + u_short d_reclen; /* length of this record */ + u_short d_namlen; /* length of string in d_name */ + #ifdef _POSIX_SOURCE + char d_name[MAXNAMLEN + 1]; /* maximum name length */ + #else + #define MAXNAMLEN 255 + char d_name[MAXNAMLEN + 1]; /* maximum name length */ + #endif + + }; + + #ifdef _POSIX_SOURCE + typedef void * DIR; + #else + + #define d_ino d_fileno /* backward compatibility */ + + /* definitions for library routines operating on directories. */ + #define DIRBLKSIZ 1024 + + /* structure describing an open directory. */ + typedef struct _dirdesc { + int dd_fd; /* file descriptor associated with directory */ + long dd_loc; /* offset in current buffer */ + long dd_size; /* amount of data returned by getdirentries */ + char *dd_buf; /* data buffer */ + int dd_len; /* size of data buffer */ + long dd_seek; /* magic cookie returned by getdirentries */ + } DIR; + + #define dirfd(dirp) ((dirp)->dd_fd) + + #ifndef NULL + #define NULL 0 + #endif + + #endif /* _POSIX_SOURCE */ + + #ifndef KERNEL + + #include + + #endif /* !KERNEL */ + + #endif /* !_DIRENT_H_ */ + +SSEEEE AALLSSOO + fs(5) inode(5) + +HHIISSTTOORRYY + A ddiirr file format appeared in Version 7 AT&T UNIX. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/disktab.0 b/usr/share/man/cat5/disktab.0 new file mode 100644 index 0000000000..c68f24de2f --- /dev/null +++ b/usr/share/man/cat5/disktab.0 @@ -0,0 +1,89 @@ +DISKTAB(5) BSD Programmer's Manual DISKTAB(5) + +NNAAMMEE + ddiisskkttaabb - disk description file + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + DDiisskkttaabb is a simple database which describes disk geometries and disk + partition characteristics. It is used to initialize the disk label on + the disk. The format is patterned after the termcap(5) terminal data + base. Entries in ddiisskkttaabb consist of a number of `:' separated fields. + The first entry for each disk gives the names which are known for the + disk, separated by `|' characters. The last name given should be a long + name fully identifying the disk. + + The following list indicates the normal values stored for each disk en- + try. + + NNaammee TTyyppee DDeessccrriippttiioonn + ty str Type of disk (e.g. removable, winchester) + dt str Type of controller (e.g. SMD, ESDI, floppy) + ns num Number of sectors per track + nt num Number of tracks per cylinder + nc num Total number of cylinders on the disk + sc num Number of sectors per cylinder, nc*nt default + su num Number of sectors per unit, sc*nc default + se num Sector size in bytes, DEV_BSIZE default + sf bool Controller supports bad144-style bad sector forwarding + rm num Rotation speed, rpm, 3600 default + sk num Sector skew per track, default 0 + cs num Sector skew per cylinder, default 0 + hs num Headswitch time, usec, default 0 + ts num One-cylinder seek time, usec, default 0 + il num Sector interleave (n:1), 1 default + d[0-4] num Drive-type-dependent parameters + bs num Boot block size, default BBSIZE + sb num Superblock size, default SBSIZE + ba num Block size for partition `a' (bytes) + bd num Block size for partition `d' (bytes) + be num Block size for partition `e' (bytes) + bf num Block size for partition `f' (bytes) + bg num Block size for partition `g' (bytes) + bh num Block size for partition `h' (bytes) + fa num Fragment size for partition `a' (bytes) + fd num Fragment size for partition `d' (bytes) + fe num Fragment size or partition `e' (bytes) + ff num Fragment size for partition `f' (bytes) + fg num Fragment size for partition `g' (bytes) + fh num Fragment size for partition `h' (bytes) + oa num Offset of partition `a' in sectors + ob num Offset of partition `b' in sectors + oc num Offset of partition `c' in sectors + od num Offset of partition `d' in sectors + oe num Offset of partition `e' in sectors + of num Offset of partition `f' in sectors + og num Offset of partition `g' in sectors + oh num Offset of partition `h' in sectors + pa num Size of partition `a' in sectors + pb num Size of partition `b' in sectors + pc num Size of partition `c' in sectors + pd num Size of partition `d' in sectors + + + pe num Size of partition `e' in sectors + pf num Size of partition `f' in sectors + pg num Size of partition `g' in sectors + ph num Size of partition `h' in sectors + ta str Partition type of partition `a' (Bx 4.2 filesystem, + swap, etc) + tb str Partition type of partition `b' + tc str Partition type of partition `c' + td str Partition type of partition `d' + te str Partition type of partition `e' + tf str Partition type of partition `f' + tg str Partition type of partition `g' + th str Partition type of partition `h' + +FFIILLEESS + /etc/disktab + +SSEEEE AALLSSOO + getdiskbyname(3), disklabel(5), disklabel(8), newfs(8) + +HHIISSTTOORRYY + The ddiisskkttaabb description file appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/dump.0 b/usr/share/man/cat5/dump.0 new file mode 100644 index 0000000000..b2787b8e9b --- /dev/null +++ b/usr/share/man/cat5/dump.0 @@ -0,0 +1,198 @@ + + + +DUMP(5) BSD Programmer's Manual DUMP(5) + + +NNAAMMEE + dump, dumpdates - incremental dump format + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + Tapes used by _d_u_m_p and _r_e_s_t_o_r_e(8) contain: + + a header record + two groups of bit map records + a group of records describing directories + a group of records describing files + + The format of the header record and of the first record of + each description as given in the include file _<_p_r_o_t_o_- + _c_o_l_s_/_d_u_m_p_r_e_s_t_o_r_e_._h_> is: + + #define NTREC 10 + #define MLEN 16 + #define MSIZ 4096 + + #define TS_TAPE 1 + #define TS_INODE 2 + #define TS_BITS 3 + #define TS_ADDR 4 + #define TS_END 5 + #define TS_CLRI 6 + #define MAGIC (int) 60011 + #define CHECKSUM (int) 84446 + + struct spcl { + int c_type; + time_t c_date; + time_t c_ddate; + int c_volume; + daddr_t c_tapea; + ino_t c_inumber; + int c_magic; + int c_checksum; + struct dinode c_dinode; + int c_count; + char c_addr[BSIZE]; + } spcl; + + struct idates { + char id_name[16]; + char id_incno; + time_t id_ddate; + + + +4th Berkeley Distribution June 5, 1993 1 + + + + + + + + +DUMP(5) BSD Programmer's Manual DUMP(5) + + + }; + + #define DUMPOUTFMT "%-16s %c %s" /* for printf */ + /* name, incno, ctime(date) */ + #define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */ + + NTREC is the number of 1024 byte records in a physical + tape block. MLEN is the number of bits in a bit map word. + MSIZ is the number of bit map words. + + The TS_ entries are used in the _c___t_y_p_e field to indicate + what sort of header this is. The types and their meanings + are as follows: + + TS_TAPE Tape volume label + TS_INODE A file or directory follows. The _c___d_i_n_o_d_e + field is a copy of the disk inode and con- + tains bits telling what sort of file this is. + TS_BITS A bit map follows. This bit map has a one + bit for each inode that was dumped. + TS_ADDR A subrecord of a file description. See + _c___a_d_d_r below. + TS_END End of tape record. + TS_CLRI A bit map follows. This bit map contains a + zero bit for all inodes that were empty on + the file system when dumped. + MAGIC All header records have this number in + _c___m_a_g_i_c_. + CHECKSUM Header records checksum to this value. + + The fields of the header structure are as follows: + + c_type The type of the header. + c_date The date the dump was taken. + c_ddate The date the file system was dumped from. + c_volume The current volume number of the dump. + c_tapea The current number of this (1024-byte) + record. + c_inumber The number of the inode being dumped if this + is of type TS_INODE. + c_magic This contains the value MAGIC above, trun- + cated as needed. + c_checksum This contains whatever value is needed to + make the record sum to CHECKSUM. + c_dinode This is a copy of the inode as it appears on + the file system; see _f_s(5). + c_count The count of characters in _c___a_d_d_r_. + c_addr An array of characters describing the blocks + of the dumped file. A character is zero if + the block associated with that character was + not present on the file system, otherwise the + + + +4th Berkeley Distribution June 5, 1993 2 + + + + + + + + +DUMP(5) BSD Programmer's Manual DUMP(5) + + + character is non-zero. If the block was not + present on the file system, no block was + dumped; the block will be restored as a hole + in the file. If there is not sufficient + space in this record to describe all of the + blocks in a file, TS_ADDR records will be + scattered through the file, each one picking + up where the last left off. + + Each volume except the last ends with a tapemark (read as + an end of file). The last volume ends with a TS_END + record and then the tapemark. + + The structure _i_d_a_t_e_s describes an entry in the file + _/_e_t_c_/_d_u_m_p_d_a_t_e_s where dump history is kept. The fields of + the structure are: + + id_name The dumped filesystem is `/dev/_i_d___n_a_m_'_. + id_incno The level number of the dump tape; see _d_u_m_p(8). + id_ddate The date of the incremental dump in system format + see _t_y_p_e_s(5). + +FFIILLEESS + /etc/dumpdates + +SSEEEE AALLSSOO + dump(8), restore(8), fs(5), types(5) + + + + + + + + + + + + + + + + + + + + + + + + + + + +4th Berkeley Distribution June 5, 1993 3 + + + + + diff --git a/usr/share/man/cat5/dumpdates.0 b/usr/share/man/cat5/dumpdates.0 new file mode 100644 index 0000000000..b2787b8e9b --- /dev/null +++ b/usr/share/man/cat5/dumpdates.0 @@ -0,0 +1,198 @@ + + + +DUMP(5) BSD Programmer's Manual DUMP(5) + + +NNAAMMEE + dump, dumpdates - incremental dump format + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + Tapes used by _d_u_m_p and _r_e_s_t_o_r_e(8) contain: + + a header record + two groups of bit map records + a group of records describing directories + a group of records describing files + + The format of the header record and of the first record of + each description as given in the include file _<_p_r_o_t_o_- + _c_o_l_s_/_d_u_m_p_r_e_s_t_o_r_e_._h_> is: + + #define NTREC 10 + #define MLEN 16 + #define MSIZ 4096 + + #define TS_TAPE 1 + #define TS_INODE 2 + #define TS_BITS 3 + #define TS_ADDR 4 + #define TS_END 5 + #define TS_CLRI 6 + #define MAGIC (int) 60011 + #define CHECKSUM (int) 84446 + + struct spcl { + int c_type; + time_t c_date; + time_t c_ddate; + int c_volume; + daddr_t c_tapea; + ino_t c_inumber; + int c_magic; + int c_checksum; + struct dinode c_dinode; + int c_count; + char c_addr[BSIZE]; + } spcl; + + struct idates { + char id_name[16]; + char id_incno; + time_t id_ddate; + + + +4th Berkeley Distribution June 5, 1993 1 + + + + + + + + +DUMP(5) BSD Programmer's Manual DUMP(5) + + + }; + + #define DUMPOUTFMT "%-16s %c %s" /* for printf */ + /* name, incno, ctime(date) */ + #define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */ + + NTREC is the number of 1024 byte records in a physical + tape block. MLEN is the number of bits in a bit map word. + MSIZ is the number of bit map words. + + The TS_ entries are used in the _c___t_y_p_e field to indicate + what sort of header this is. The types and their meanings + are as follows: + + TS_TAPE Tape volume label + TS_INODE A file or directory follows. The _c___d_i_n_o_d_e + field is a copy of the disk inode and con- + tains bits telling what sort of file this is. + TS_BITS A bit map follows. This bit map has a one + bit for each inode that was dumped. + TS_ADDR A subrecord of a file description. See + _c___a_d_d_r below. + TS_END End of tape record. + TS_CLRI A bit map follows. This bit map contains a + zero bit for all inodes that were empty on + the file system when dumped. + MAGIC All header records have this number in + _c___m_a_g_i_c_. + CHECKSUM Header records checksum to this value. + + The fields of the header structure are as follows: + + c_type The type of the header. + c_date The date the dump was taken. + c_ddate The date the file system was dumped from. + c_volume The current volume number of the dump. + c_tapea The current number of this (1024-byte) + record. + c_inumber The number of the inode being dumped if this + is of type TS_INODE. + c_magic This contains the value MAGIC above, trun- + cated as needed. + c_checksum This contains whatever value is needed to + make the record sum to CHECKSUM. + c_dinode This is a copy of the inode as it appears on + the file system; see _f_s(5). + c_count The count of characters in _c___a_d_d_r_. + c_addr An array of characters describing the blocks + of the dumped file. A character is zero if + the block associated with that character was + not present on the file system, otherwise the + + + +4th Berkeley Distribution June 5, 1993 2 + + + + + + + + +DUMP(5) BSD Programmer's Manual DUMP(5) + + + character is non-zero. If the block was not + present on the file system, no block was + dumped; the block will be restored as a hole + in the file. If there is not sufficient + space in this record to describe all of the + blocks in a file, TS_ADDR records will be + scattered through the file, each one picking + up where the last left off. + + Each volume except the last ends with a tapemark (read as + an end of file). The last volume ends with a TS_END + record and then the tapemark. + + The structure _i_d_a_t_e_s describes an entry in the file + _/_e_t_c_/_d_u_m_p_d_a_t_e_s where dump history is kept. The fields of + the structure are: + + id_name The dumped filesystem is `/dev/_i_d___n_a_m_'_. + id_incno The level number of the dump tape; see _d_u_m_p(8). + id_ddate The date of the incremental dump in system format + see _t_y_p_e_s(5). + +FFIILLEESS + /etc/dumpdates + +SSEEEE AALLSSOO + dump(8), restore(8), fs(5), types(5) + + + + + + + + + + + + + + + + + + + + + + + + + + + +4th Berkeley Distribution June 5, 1993 3 + + + + + diff --git a/usr/share/man/cat5/fs.0 b/usr/share/man/cat5/fs.0 new file mode 100644 index 0000000000..199988bbe3 --- /dev/null +++ b/usr/share/man/cat5/fs.0 @@ -0,0 +1,220 @@ +FS(5) BSD Programmer's Manual FS(5) + +NNAAMMEE + ffss, iinnooddee - format of file system volume + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The files <_f_s_._h> and <_i_n_o_d_e_._h> declare several structures, defined vari- + ables and macros which are used to create and manage the underlying for- + mat of file system objects on random access devices (disks). + + The block size and number of blocks which comprise a file system are pa- + rameters of the file system. Sectors beginning at BBLOCK and continuing + for BBSIZE are used for a disklabel and for some hardware primary and + secondary bootstrapping programs. + + The actual file system begins at sector SBLOCK with the _s_u_p_e_r_-_b_l_o_c_k that + is of size SBSIZE. The following structure described the super-block and + is from the file <_u_f_s_/_f_s_._h>: + + #define FS_MAGIC 0x011954 + struct fs { + struct fs *fs_link; /* linked list of file systems */ + struct fs *fs_rlink; /* used for incore super blocks */ + daddr_t fs_sblkno; /* addr of super-block in filesys */ + daddr_t fs_cblkno; /* offset of cyl-block in filesys */ + daddr_t fs_iblkno; /* offset of inode-blocks in filesys */ + daddr_t fs_dblkno; /* offset of first data after cg */ + long fs_cgoffset; /* cylinder group offset in cylinder */ + long fs_cgmask; /* used to calc mod fs_ntrak */ + time_t fs_time; /* last time written */ + long fs_size; /* number of blocks in fs */ + long fs_dsize; /* number of data blocks in fs */ + long fs_ncg; /* number of cylinder groups */ + long fs_bsize; /* size of basic blocks in fs */ + long fs_fsize; /* size of frag blocks in fs */ + long fs_frag; /* number of frags in a block in fs */ + /* these are configuration parameters */ + long fs_minfree; /* minimum percentage of free blocks */ + long fs_rotdelay; /* num of ms for optimal next block */ + long fs_rps; /* disk revolutions per second */ + /* these fields can be computed from the others */ + long fs_bmask; /* ``blkoff'' calc of blk offsets */ + long fs_fmask; /* ``fragoff'' calc of frag offsets */ + long fs_bshift; /* ``lblkno'' calc of logical blkno */ + long fs_fshift; /* ``numfrags'' calc number of frags */ + /* these are configuration parameters */ + long fs_maxcontig; /* max number of contiguous blks */ + long fs_maxbpg; /* max number of blks per cyl group */ + /* these fields can be computed from the others */ + long fs_fragshift; /* block to frag shift */ + long fs_fsbtodb; /* fsbtodb and dbtofsb shift constant */ + long fs_sbsize; /* actual size of super block */ + long fs_csmask; /* csum block offset */ + long fs_csshift; /* csum block number */ + long fs_nindir; /* value of NINDIR */ + long fs_inopb; /* value of INOPB */ + long fs_nspf; /* value of NSPF */ + /* yet another configuration parameter */ + long fs_optim; /* optimization preference, see below */ + /* these fields are derived from the hardware */ + long fs_npsect; /* # sectors/track including spares */ + long fs_interleave; /* hardware sector interleave */ + long fs_trackskew; /* sector 0 skew, per track */ + long fs_headswitch; /* head switch time, usec */ + long fs_trkseek; /* track-to-track seek, usec */ + /* sizes determined by number of cylinder groups and their sizes */ + daddr_t fs_csaddr; /* blk addr of cyl grp summary area */ + long fs_cssize; /* size of cyl grp summary area */ + long fs_cgsize; /* cylinder group size */ + /* these fields are derived from the hardware */ + long fs_ntrak; /* tracks per cylinder */ + long fs_nsect; /* sectors per track */ + long fs_spc; /* sectors per cylinder */ + /* this comes from the disk driver partitioning */ + long fs_ncyl; /* cylinders in file system */ + /* these fields can be computed from the others */ + long fs_cpg; /* cylinders per group */ + long fs_ipg; /* inodes per group */ + long fs_fpg; /* blocks per group * fs_frag */ + /* this data must be re-computed after crashes */ + struct csum fs_cstotal; /* cylinder summary information */ + /* these fields are cleared at mount time */ + char fs_fmod; /* super block modified flag */ + char fs_clean; /* file system is clean flag */ + char fs_ronly; /* mounted read-only flag */ + char fs_flags; /* currently unused flag */ + char fs_fsmnt[MAXMNTLEN]; /* name mounted on */ + /* these fields retain the current block allocation info */ + long fs_cgrotor; /* last cg searched */ + struct csum *fs_csp[MAXCSBUFS]; /* list of fs_cs info buffers */ + long fs_cpc; /* cyl per cycle in postbl */ + short fs_opostbl[16][8]; /* old rotation block list head */ + long fs_sparecon[56]; /* reserved for future constants */ + quad fs_qbmask; /* ~fs_bmask - for use with quad size */ + quad fs_qfmask; /* ~fs_fmask - for use with quad size */ + long fs_postblformat; /* format of positional layout tables */ + long fs_nrpos; /* number of rotaional positions */ + long fs_postbloff; /* (short) rotation block list head */ + long fs_rotbloff; /* (u_char) blocks for each rotation */ + long fs_magic; /* magic number */ + u_char fs_space[1]; /* list of blocks for each rotation */ + /* actually longer */ + }; + + Each disk drive contains some number of file systems. A file system con- + sists of a number of cylinder groups. Each cylinder group has inodes and + data. + + A file system is described by its super-block, which in turn describes + the cylinder groups. The super-block is critical data and is replicated + in each cylinder group to protect against catastrophic loss. This is + done at file system creation time and the critical super-block data does + not change, so the copies need not be referenced further unless disaster + strikes. + + Addresses stored in inodes are capable of addressing fragments of + `blocks'. File system blocks of at most size MAXBSIZE can be optionally + broken into 2, 4, or 8 pieces, each of which is addressable; these pieces + may be DEV_BSIZE, or some multiple of a DEV_BSIZE unit. + + Large files consist of exclusively large data blocks. To avoid undue + wasted disk space, the last data block of a small file is allocated as + only as many fragments of a large block as are necessary. The file sys- + tem format retains only a single pointer to such a fragment, which is a + piece of a single large block that has been divided. The size of such a + fragment is determinable from information in the inode, using the + bbllkkssiizzee(_f_s, _i_p, _l_b_n) macro. + + The file system records space availability at the fragment level; to de- + termine block availability, aligned fragments are examined. + + The root inode is the root of the file system. Inode 0 can't be used for + normal purposes and historically bad blocks were linked to inode 1, thus + the root inode is 2 (inode 1 is no longer used for this purpose, however + numerous dump tapes make this assumption, so we are stuck with it). + + The _f_s___m_i_n_f_r_e_e element gives the minimum acceptable percentage of file + system blocks that may be free. If the freelist drops below this level + only the super-user may continue to allocate blocks. The _f_s___m_i_n_f_r_e_e ele- + ment may be set to 0 if no reserve of free blocks is deemed necessary, + however severe performance degradations will be observed if the file sys- + tem is run at greater than 90% full; thus the default value of _f_s___m_i_n_f_r_e_e + is 10%. + + Empirically the best trade-off between block fragmentation and overall + disk utilization at a loading of 90% comes with a fragmentation of 8, + thus the default fragment size is an eighth of the block size. + + The element _f_s___o_p_t_i_m specifies whether the file system should try to min- + imize the time spent allocating blocks, or if it should attempt to mini- + mize the space fragmentation on the disk. If the value of fs_minfree + (see above) is less than 10%, then the file system defaults to optimizing + for space to avoid running out of full sized blocks. If the value of + minfree is greater than or equal to 10%, fragmentation is unlikely to be + problematical, and the file system defaults to optimizing for time. + + _C_y_l_i_n_d_e_r _g_r_o_u_p _r_e_l_a_t_e_d _l_i_m_i_t_s: Each cylinder keeps track of the avail- + ability of blocks at different rotational positions, so that sequential + blocks can be laid out with minimum rotational latency. With the default + of 8 distinguished rotational positions, the resolution of the summary + information is 2ms for a typical 3600 rpm drive. + + The element _f_s___r_o_t_d_e_l_a_y gives the minimum number of milliseconds to ini- + tiate another disk transfer on the same cylinder. It is used in deter- + mining the rotationally optimal layout for disk blocks within a file; the + default value for _f_s___r_o_t_d_e_l_a_y is 2ms. + + Each file system has a statically allocated number of inodes. An inode + is allocated for each NBPI bytes of disk space. The inode allocation + strategy is extremely conservative. + + MINBSIZE is the smallest allowable block size. With a MINBSIZE of 4096 + it is possible to create files of size 2^32 with only two levels of indi- + rection. MINBSIZE must be big enough to hold a cylinder group block, + thus changes to (_s_t_r_u_c_t _c_g) must keep its size within MINBSIZE. Note that + super-blocks are never more than size SBSIZE. + + The path name on which the file system is mounted is maintained in + _f_s___f_s_m_n_t. MAXMNTLEN defines the amount of space allocated in the super- + block for this name. The limit on the amount of summary information per + file system is defined by MAXCSBUFS. For a 4096 byte block size, it is + currently parameterized for a maximum of two million cylinders. + + Per cylinder group information is summarized in blocks allocated from the + first cylinder group's data blocks. These blocks are read in from + _f_s___c_s_a_d_d_r (size _f_s___c_s_s_i_z_e) in addition to the super-block. + + NN..BB..:: sizeof(_s_t_r_u_c_t _c_s_u_m) must be a power of two in order for the + ffss__ccss() macro to work. + + The _S_u_p_e_r_-_b_l_o_c_k _f_o_r _a _f_i_l_e _s_y_s_t_e_m: The size of the rotational layout ta- + bles is limited by the fact that the super-block is of size SBSIZE. The + size of these tables is _i_n_v_e_r_s_e_l_y proportional to the block size of the + file system. The size of the tables is increased when sector sizes are + not powers of two, as this increases the number of cylinders included be- + fore the rotational pattern repeats (_f_s___c_p_c). The size of the rotational + layout tables is derived from the number of bytes remaining in (_s_t_r_u_c_t + _f_s). + + The number of blocks of data per cylinder group is limited because cylin- + der groups are at most one block. The inode and free block tables must + fit into a single block after deducting space for the cylinder group + structure (_s_t_r_u_c_t _c_g). + + The _I_n_o_d_e: The inode is the focus of all file activity in the UNIX file + system. There is a unique inode allocated for each active file, each + current directory, each mounted-on file, text file, and the root. An in- + ode is `named' by its device/i-number pair. For further information, see + the include file <_s_y_s_/_i_n_o_d_e_._h>. + +HHIISSTTOORRYY + A super-block structure named filsys appeared in Version 6 AT&T UNIX. + The file system described in this manual appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 4 diff --git a/usr/share/man/cat5/fstab.0 b/usr/share/man/cat5/fstab.0 new file mode 100644 index 0000000000..349e824856 --- /dev/null +++ b/usr/share/man/cat5/fstab.0 @@ -0,0 +1,108 @@ +FSTAB(5) BSD Programmer's Manual FSTAB(5) + +NNAAMMEE + ffssttaabb - static information about the filesystems + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The file ffssttaabb contains descriptive information about the various file + systems. ffssttaabb is only read by programs, and not written; it is the duty + of the system administrator to properly create and maintain this file. + Each filesystem is described on a separate line; fields on each line are + separated by tabs or spaces. The order of records in ffssttaabb is important + because fsck(8), mount(8), and umount(8) sequentially iterate through + ffssttaabb doing their thing. + + The first field, (_f_s___s_p_e_c), describes the block special device or remote + filesystem to be mounted. For filesystems of type _u_f_s, the special file + name is the block special file name, and not the character special file + name. If a program needs the character special file name, the program + must create it by appending a ``r'' after the last ``/'' in the special + file name. + + The second field, (_f_s___f_i_l_e), describes the mount point for the filesys- + tem. For swap partitions, this field should be specified as ``none''. + + The third field, (_f_s___v_f_s_t_y_p_e), describes the type of the filesystem. The + system currently supports four types of filesystems: + + _u_f_s a local UNIX filesystem + + _m_f_s a local memory-based UNIX filesystem + + _n_f_s a Sun Microsystems compatible ``Network File System'' + + _s_w_a_p a disk partition to be used for swapping + + The fourth field, (_f_s___m_n_t_o_p_s), describes the mount options associated + with the filesystem. It is formatted as a comma separated list of op- + tions. It contains at least the type of mount (see _f_s___t_y_p_e below) plus + any additional options appropriate to the filesystem type. + + If the options ``userquota'' and/or ``groupquota'' are specified, the + filesystem is automatically processed by the quotacheck(8) command, and + user and/or group disk quotas are enabled with quotaon(8). By default, + filesystem quotas are maintained in files named _q_u_o_t_a_._u_s_e_r and + _q_u_o_t_a_._g_r_o_u_p which are located at the root of the associated filesystem. + These defaults may be overridden by putting an equal sign and an alterna- + tive absolute pathname following the quota option. Thus, if the user + quota file for _/_t_m_p is stored in _/_v_a_r_/_q_u_o_t_a_s_/_t_m_p_._u_s_e_r, this location can + be specified as: + + userquota=/var/quotas/tmp.user + + The type of the mount is extracted from the _f_s___m_n_t_o_p_s field and stored + separately in the _f_s___t_y_p_e field (it is not deleted from the _f_s___m_n_t_o_p_s + field). If _f_s___t_y_p_e is ``rw'' or ``ro'' then the filesystem whose name is + given in the _f_s___f_i_l_e field is normally mounted read-write or read-only on + the specified special file. If _f_s___t_y_p_e is ``sw'' then the special file + is made available as a piece of swap space by the swapon(8) command at + the end of the system reboot procedure. The fields other than _f_s___s_p_e_c + and _f_s___t_y_p_e are unused. If _f_s___t_y_p_e is specified as ``xx'' the entry is + ignored. This is useful to show disk partitions which are currently un- + used. + + The fifth field, (_f_s___f_r_e_q), is used for these filesystems by the dump(8) + command to determine which filesystems need to be dumped. If the fifth + field is not present, a value of zero is returned and dump will assume + that the filesystem does not need to be dumped. + + The sixth field, (_f_s___p_a_s_s_n_o), is used by the fsck(8) program to determine + the order in which filesystem checks are done at reboot time. The root + filesystem should be specified with a _f_s___p_a_s_s_n_o of 1, and other filesys- + tems should have a _f_s___p_a_s_s_n_o of 2. Filesystems within a drive will be + checked sequentially, but filesystems on different drives will be checked + at the same time to utilize parallelism available in the hardware. If + the sixth field is not present or zero, a value of zero is returned and + fsck will assume that the filesystem does not need to be checked. + + #define FSTAB_RW "rw" /* read-write device */ + #define FSTAB_RO "ro" /* read-only device */ + #define FSTAB_SW "sw" /* swap device */ + #define FSTAB_XX "xx" /* ignore totally */ + + struct fstab { + char *fs_spec; /* block special device name */ + char *fs_file; /* filesystem path prefix */ + char *fs_vfstype; /* type of filesystem */ + char *fs_mntops; /* comma separated mount options */ + char *fs_type; /* rw, ro, sw, or xx */ + int fs_freq; /* dump frequency, in days */ + int fs_passno; /* pass number on parallel dump */ + }; + + The proper way to read records from _f_s_t_a_b is to use the routines + getfsent(3), getfsspec(3), getfstype(3), and getfsfile(3). + +FFIILLEESS + /etc/fstab The file ffssttaabb resides in _/_e_t_c. + +SSEEEE AALLSSOO + getfsent(3) + +HHIISSTTOORRYY + The ffssttaabb file format appeared in 4.0BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/group.0 b/usr/share/man/cat5/group.0 new file mode 100644 index 0000000000..4acf9c44be --- /dev/null +++ b/usr/share/man/cat5/group.0 @@ -0,0 +1,39 @@ +GROUP(5) BSD Programmer's Manual GROUP(5) + +NNAAMMEE + ggrroouupp - format of the group permissions file + +DDEESSCCRRIIPPTTIIOONN + The file <_/_e_t_c_/_g_r_o_u_p> consists of newline separated ASCII records, one + per group, containing four colon `:' separated fields. These fields are + as follows: + group Name of the group. + passwd Group's _e_n_c_r_y_p_t_e_d password. + gid The group's decimal ID. + member Group members. + + The _g_r_o_u_p field is the group name used for granting file access to users + who are members of the group. The _g_i_d field is the number associated + with the group name. They should both be unique across the system (and + often across a group of systems) since they control file access. The + _p_a_s_s_w_d field is an optional _e_n_c_r_y_p_t_e_d password. This field is rarely + used and an asterisk is normally placed in it rather than leaving it + blank. The _m_e_m_b_e_r field contains the names of users granted the priv- + iledges of _g_r_o_u_p. The member names are separated by commas with out + spaces or newlines. A user is automatically in a group if that group was + specified in their _/_e_t_c_/_p_a_s_s_w_d entry and does not need to be added to + that group in the _/_e_t_c_/_g_r_o_u_p _f_i_l_e_. + +FFIILLEESS + /etc/group + +SSEEEE AALLSSOO + setgroups(2), initgroups(3), crypt(3), passwd(1), passwd(5) + +BBUUGGSS + The passwd(1) command does not change the ggrroouupp passwords. + +HHIISSTTOORRYY + A ggrroouupp file format appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 1 diff --git a/usr/share/man/cat5/hosts.0 b/usr/share/man/cat5/hosts.0 new file mode 100644 index 0000000000..d8f8ee3b05 --- /dev/null +++ b/usr/share/man/cat5/hosts.0 @@ -0,0 +1,47 @@ +HOSTS(5) BSD Programmer's Manual HOSTS(5) + +NNAAMMEE + hhoossttss - host name data base + +DDEESSCCRRIIPPTTIIOONN + The hhoossttss file contains information regarding the known hosts on the net- + work. For each host a single line should be present with the following + information: + + official host name + Internet address + aliases + + Items are separated by any number of blanks and/or tab characters. A + ``#'' indicates the beginning of a comment; characters up to the end of + the line are not interpreted by routines which search the file. + + When using the name server named(8), this file provides a backup when + the name server is not running. For the name server, it is suggested + that only a few addresses be included in this file. These include ad- + dress for the local interfaces that ifconfig(8) needs at boot time and a + few machines on the local network. + + This file may be created from the official host data base maintained at + the Network Information Control Center (NIC), though local changes may be + required to bring it up to date regarding unofficial aliases and/or un- + known hosts. As the data base maintained at NIC is incomplete, use of + the name server is recommend for sites on the DARPA Internet. + + Network addresses are specified in the conventional ``.'' (dot) notation + using the inet_addr(3) routine from the Internet address manipulation li- + brary, inet(3). Host names may contain any printable character other + than a field delimiter, newline, or comment character. + +FFIILLEESS + /etc/hosts The hhoossttss file resides in _/_e_t_c. + +SSEEEE AALLSSOO + gethostbyname(3), ifconfig(8), named(8) + + _N_a_m_e _S_e_r_v_e_r _O_p_e_r_a_t_i_o_n_s _G_u_i_d_e _f_o_r _B_I_N_D. + +HHIISSTTOORRYY + The hhoossttss file format appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/inode.0 b/usr/share/man/cat5/inode.0 new file mode 100644 index 0000000000..199988bbe3 --- /dev/null +++ b/usr/share/man/cat5/inode.0 @@ -0,0 +1,220 @@ +FS(5) BSD Programmer's Manual FS(5) + +NNAAMMEE + ffss, iinnooddee - format of file system volume + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + ##iinncclluuddee <> + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The files <_f_s_._h> and <_i_n_o_d_e_._h> declare several structures, defined vari- + ables and macros which are used to create and manage the underlying for- + mat of file system objects on random access devices (disks). + + The block size and number of blocks which comprise a file system are pa- + rameters of the file system. Sectors beginning at BBLOCK and continuing + for BBSIZE are used for a disklabel and for some hardware primary and + secondary bootstrapping programs. + + The actual file system begins at sector SBLOCK with the _s_u_p_e_r_-_b_l_o_c_k that + is of size SBSIZE. The following structure described the super-block and + is from the file <_u_f_s_/_f_s_._h>: + + #define FS_MAGIC 0x011954 + struct fs { + struct fs *fs_link; /* linked list of file systems */ + struct fs *fs_rlink; /* used for incore super blocks */ + daddr_t fs_sblkno; /* addr of super-block in filesys */ + daddr_t fs_cblkno; /* offset of cyl-block in filesys */ + daddr_t fs_iblkno; /* offset of inode-blocks in filesys */ + daddr_t fs_dblkno; /* offset of first data after cg */ + long fs_cgoffset; /* cylinder group offset in cylinder */ + long fs_cgmask; /* used to calc mod fs_ntrak */ + time_t fs_time; /* last time written */ + long fs_size; /* number of blocks in fs */ + long fs_dsize; /* number of data blocks in fs */ + long fs_ncg; /* number of cylinder groups */ + long fs_bsize; /* size of basic blocks in fs */ + long fs_fsize; /* size of frag blocks in fs */ + long fs_frag; /* number of frags in a block in fs */ + /* these are configuration parameters */ + long fs_minfree; /* minimum percentage of free blocks */ + long fs_rotdelay; /* num of ms for optimal next block */ + long fs_rps; /* disk revolutions per second */ + /* these fields can be computed from the others */ + long fs_bmask; /* ``blkoff'' calc of blk offsets */ + long fs_fmask; /* ``fragoff'' calc of frag offsets */ + long fs_bshift; /* ``lblkno'' calc of logical blkno */ + long fs_fshift; /* ``numfrags'' calc number of frags */ + /* these are configuration parameters */ + long fs_maxcontig; /* max number of contiguous blks */ + long fs_maxbpg; /* max number of blks per cyl group */ + /* these fields can be computed from the others */ + long fs_fragshift; /* block to frag shift */ + long fs_fsbtodb; /* fsbtodb and dbtofsb shift constant */ + long fs_sbsize; /* actual size of super block */ + long fs_csmask; /* csum block offset */ + long fs_csshift; /* csum block number */ + long fs_nindir; /* value of NINDIR */ + long fs_inopb; /* value of INOPB */ + long fs_nspf; /* value of NSPF */ + /* yet another configuration parameter */ + long fs_optim; /* optimization preference, see below */ + /* these fields are derived from the hardware */ + long fs_npsect; /* # sectors/track including spares */ + long fs_interleave; /* hardware sector interleave */ + long fs_trackskew; /* sector 0 skew, per track */ + long fs_headswitch; /* head switch time, usec */ + long fs_trkseek; /* track-to-track seek, usec */ + /* sizes determined by number of cylinder groups and their sizes */ + daddr_t fs_csaddr; /* blk addr of cyl grp summary area */ + long fs_cssize; /* size of cyl grp summary area */ + long fs_cgsize; /* cylinder group size */ + /* these fields are derived from the hardware */ + long fs_ntrak; /* tracks per cylinder */ + long fs_nsect; /* sectors per track */ + long fs_spc; /* sectors per cylinder */ + /* this comes from the disk driver partitioning */ + long fs_ncyl; /* cylinders in file system */ + /* these fields can be computed from the others */ + long fs_cpg; /* cylinders per group */ + long fs_ipg; /* inodes per group */ + long fs_fpg; /* blocks per group * fs_frag */ + /* this data must be re-computed after crashes */ + struct csum fs_cstotal; /* cylinder summary information */ + /* these fields are cleared at mount time */ + char fs_fmod; /* super block modified flag */ + char fs_clean; /* file system is clean flag */ + char fs_ronly; /* mounted read-only flag */ + char fs_flags; /* currently unused flag */ + char fs_fsmnt[MAXMNTLEN]; /* name mounted on */ + /* these fields retain the current block allocation info */ + long fs_cgrotor; /* last cg searched */ + struct csum *fs_csp[MAXCSBUFS]; /* list of fs_cs info buffers */ + long fs_cpc; /* cyl per cycle in postbl */ + short fs_opostbl[16][8]; /* old rotation block list head */ + long fs_sparecon[56]; /* reserved for future constants */ + quad fs_qbmask; /* ~fs_bmask - for use with quad size */ + quad fs_qfmask; /* ~fs_fmask - for use with quad size */ + long fs_postblformat; /* format of positional layout tables */ + long fs_nrpos; /* number of rotaional positions */ + long fs_postbloff; /* (short) rotation block list head */ + long fs_rotbloff; /* (u_char) blocks for each rotation */ + long fs_magic; /* magic number */ + u_char fs_space[1]; /* list of blocks for each rotation */ + /* actually longer */ + }; + + Each disk drive contains some number of file systems. A file system con- + sists of a number of cylinder groups. Each cylinder group has inodes and + data. + + A file system is described by its super-block, which in turn describes + the cylinder groups. The super-block is critical data and is replicated + in each cylinder group to protect against catastrophic loss. This is + done at file system creation time and the critical super-block data does + not change, so the copies need not be referenced further unless disaster + strikes. + + Addresses stored in inodes are capable of addressing fragments of + `blocks'. File system blocks of at most size MAXBSIZE can be optionally + broken into 2, 4, or 8 pieces, each of which is addressable; these pieces + may be DEV_BSIZE, or some multiple of a DEV_BSIZE unit. + + Large files consist of exclusively large data blocks. To avoid undue + wasted disk space, the last data block of a small file is allocated as + only as many fragments of a large block as are necessary. The file sys- + tem format retains only a single pointer to such a fragment, which is a + piece of a single large block that has been divided. The size of such a + fragment is determinable from information in the inode, using the + bbllkkssiizzee(_f_s, _i_p, _l_b_n) macro. + + The file system records space availability at the fragment level; to de- + termine block availability, aligned fragments are examined. + + The root inode is the root of the file system. Inode 0 can't be used for + normal purposes and historically bad blocks were linked to inode 1, thus + the root inode is 2 (inode 1 is no longer used for this purpose, however + numerous dump tapes make this assumption, so we are stuck with it). + + The _f_s___m_i_n_f_r_e_e element gives the minimum acceptable percentage of file + system blocks that may be free. If the freelist drops below this level + only the super-user may continue to allocate blocks. The _f_s___m_i_n_f_r_e_e ele- + ment may be set to 0 if no reserve of free blocks is deemed necessary, + however severe performance degradations will be observed if the file sys- + tem is run at greater than 90% full; thus the default value of _f_s___m_i_n_f_r_e_e + is 10%. + + Empirically the best trade-off between block fragmentation and overall + disk utilization at a loading of 90% comes with a fragmentation of 8, + thus the default fragment size is an eighth of the block size. + + The element _f_s___o_p_t_i_m specifies whether the file system should try to min- + imize the time spent allocating blocks, or if it should attempt to mini- + mize the space fragmentation on the disk. If the value of fs_minfree + (see above) is less than 10%, then the file system defaults to optimizing + for space to avoid running out of full sized blocks. If the value of + minfree is greater than or equal to 10%, fragmentation is unlikely to be + problematical, and the file system defaults to optimizing for time. + + _C_y_l_i_n_d_e_r _g_r_o_u_p _r_e_l_a_t_e_d _l_i_m_i_t_s: Each cylinder keeps track of the avail- + ability of blocks at different rotational positions, so that sequential + blocks can be laid out with minimum rotational latency. With the default + of 8 distinguished rotational positions, the resolution of the summary + information is 2ms for a typical 3600 rpm drive. + + The element _f_s___r_o_t_d_e_l_a_y gives the minimum number of milliseconds to ini- + tiate another disk transfer on the same cylinder. It is used in deter- + mining the rotationally optimal layout for disk blocks within a file; the + default value for _f_s___r_o_t_d_e_l_a_y is 2ms. + + Each file system has a statically allocated number of inodes. An inode + is allocated for each NBPI bytes of disk space. The inode allocation + strategy is extremely conservative. + + MINBSIZE is the smallest allowable block size. With a MINBSIZE of 4096 + it is possible to create files of size 2^32 with only two levels of indi- + rection. MINBSIZE must be big enough to hold a cylinder group block, + thus changes to (_s_t_r_u_c_t _c_g) must keep its size within MINBSIZE. Note that + super-blocks are never more than size SBSIZE. + + The path name on which the file system is mounted is maintained in + _f_s___f_s_m_n_t. MAXMNTLEN defines the amount of space allocated in the super- + block for this name. The limit on the amount of summary information per + file system is defined by MAXCSBUFS. For a 4096 byte block size, it is + currently parameterized for a maximum of two million cylinders. + + Per cylinder group information is summarized in blocks allocated from the + first cylinder group's data blocks. These blocks are read in from + _f_s___c_s_a_d_d_r (size _f_s___c_s_s_i_z_e) in addition to the super-block. + + NN..BB..:: sizeof(_s_t_r_u_c_t _c_s_u_m) must be a power of two in order for the + ffss__ccss() macro to work. + + The _S_u_p_e_r_-_b_l_o_c_k _f_o_r _a _f_i_l_e _s_y_s_t_e_m: The size of the rotational layout ta- + bles is limited by the fact that the super-block is of size SBSIZE. The + size of these tables is _i_n_v_e_r_s_e_l_y proportional to the block size of the + file system. The size of the tables is increased when sector sizes are + not powers of two, as this increases the number of cylinders included be- + fore the rotational pattern repeats (_f_s___c_p_c). The size of the rotational + layout tables is derived from the number of bytes remaining in (_s_t_r_u_c_t + _f_s). + + The number of blocks of data per cylinder group is limited because cylin- + der groups are at most one block. The inode and free block tables must + fit into a single block after deducting space for the cylinder group + structure (_s_t_r_u_c_t _c_g). + + The _I_n_o_d_e: The inode is the focus of all file activity in the UNIX file + system. There is a unique inode allocated for each active file, each + current directory, each mounted-on file, text file, and the root. An in- + ode is `named' by its device/i-number pair. For further information, see + the include file <_s_y_s_/_i_n_o_d_e_._h>. + +HHIISSTTOORRYY + A super-block structure named filsys appeared in Version 6 AT&T UNIX. + The file system described in this manual appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 4 diff --git a/usr/share/man/cat5/networks.0 b/usr/share/man/cat5/networks.0 new file mode 100644 index 0000000000..bda7714e85 --- /dev/null +++ b/usr/share/man/cat5/networks.0 @@ -0,0 +1,40 @@ +NETWORKS(5) BSD Programmer's Manual NETWORKS(5) + +NNAAMMEE + nneettwwoorrkkss - network name data base + +DDEESSCCRRIIPPTTIIOONN + The networks file contains information regarding the known networks which + comprise the DARPA Internet. For each network a single line should be + present with the following information: + + official network name + network number + aliases + + Items are separated by any number of blanks and/or tab characters. A + ``#'' indicates the beginning of a comment; characters up to the end of + the line are not interpreted by routines which search the file. This + file is normally created from the official network data base maintained + at the Network Information Control Center (NIC), though local changes may + be required to bring it up to date regarding unofficial aliases and/or + unknown networks. + + Network number may be specified in the conventional ``.'' (dot) notation + using the inet_network(3) routine from the Internet address manipulation + library, inet(3). Network names may contain any printable character oth- + er than a field delimiter, newline, or comment character. + +FFIILLEESS + /etc/networks The nneettwwoorrkkss file resides in _/_e_t_c. + +SSEEEE AALLSSOO + getnetent(3) + +BBUUGGSS + A name server should be used instead of a static file. + +HHIISSTTOORRYY + The nneettwwoorrkkss file format appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/passwd.0 b/usr/share/man/cat5/passwd.0 new file mode 100644 index 0000000000..eb0f1e2c09 --- /dev/null +++ b/usr/share/man/cat5/passwd.0 @@ -0,0 +1,106 @@ +PASSWD(5) BSD Programmer's Manual PASSWD(5) + +NNAAMMEE + ppaasssswwdd - format of the password file + +DDEESSCCRRIIPPTTIIOONN + The ppaasssswwdd files are files consisting of newline separated records, one + per user, containing ten colon (``:'') separated fields. These fields + are as follows: + + name User's login name. + + password User's _e_n_c_r_y_p_t_e_d password. + + uid User's id. + + gid User's login group id. + + class User's general classification (unused). + + change Password change time. + + expire Account expiration time. + + gecos General information about the user. + + home_dir User's home directory. + + shell User's login shell. + + The _n_a_m_e field is the login used to access the computer account, and the + _u_i_d field is the number associated with it. They should both be unique + across the system (and often across a group of systems) since they con- + trol file access. + + While it is possible to have multiple entries with identical login names + and/or identical user id's, it is usually a mistake to do so. Routines + that manipulate these files will often return only one of the multiple + entries, and that one by random selection. + + The login name must never begin with a hyphen (``-''); also, it is + strongly suggested that neither upper-case characters or dots (``.'') be + part of the name, as this tends to confuse mailers. No field may contain + a colon (``:'') as this has been used historically to separate the fields + in the user database. + + The password field is the _e_n_c_r_y_p_t_e_d form of the password. If the + _p_a_s_s_w_o_r_d field is empty, no password will be required to gain access to + the machine. This is almost invariably a mistake. Because these files + contain the encrypted user passwords, they should not be readable by any- + one without appropriate privileges. + + The group field is the group that the user will be placed in upon login. + Since this system supports multiple groups (see groups(1)) this field + currently has little special meaning. + + The _c_l_a_s_s field is currently unused. In the near future it will be a key + to a termcap(5) style database of user attributes. + + The _c_h_a_n_g_e field is the number in seconds, GMT, from the epoch, until the + password for the account must be changed. This field may be left empty + to turn off the password aging feature. + + The _e_x_p_i_r_e field is the number in seconds, GMT, from the epoch, until the + account expires. This field may be left empty to turn off the account + aging feature. + + The _g_e_c_o_s field normally contains comma (``,'') separated subfields as + follows: + + name user's full name + office user's office number + wphone user's work phone number + hphone user's home phone number + + This information is used by the finger(1) program. + + The user's home directory is the full UNIX path name where the user will + be placed on login. + + The shell field is the command interpreter the user prefers. If there is + nothing in the _s_h_e_l_l field, the Bourne shell (_/_b_i_n_/_s_h) is assumed. + +SSEEEE AALLSSOO + chpass(1), login(1), passwd(1), getpwent(3), adduser(8), + pwd_mkdb(8), vipw(8) + +BBUUGGSS + User information should (and eventually will) be stored elsewhere. + +CCOOMMPPAATTIIBBIILLIITTYY + The password file format has changed since 4.3BSD. The following awk + script can be used to convert your old-style password file into a new + style password file. The additional fields ``class'', ``change'' and + ``expire'' are added, but are turned off by default. Class is currently + not implemented, but change and expire are; to set them, use the current + day in seconds from the epoch + whatever number of seconds of offset you + want. + + BEGIN { FS = ":"} + { print $1 ":" $2 ":" $3 ":" $4 "::0:0:" $5 ":" $6 ":" $7 } + +HHIISSTTOORRYY + A ppaasssswwdd file format appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 2 diff --git a/usr/share/man/cat5/phones.0 b/usr/share/man/cat5/phones.0 new file mode 100644 index 0000000000..fd517fcc94 --- /dev/null +++ b/usr/share/man/cat5/phones.0 @@ -0,0 +1,31 @@ +PHONES(5) BSD Programmer's Manual PHONES(5) + +NNAAMMEE + pphhoonneess - remote host phone number data base + +DDEESSCCRRIIPPTTIIOONN + The file _/_e_t_c_/_p_h_o_n_e_s contains the system-wide private phone numbers for + the tip(1) program. This file is normally unreadable, and so may contain + privileged information. The format of the file is a series of lines of + the form: [ \t]*. The system name is one of + those defined in the remote(5) file and the phone number is constructed + from any sequence of characters terminated only by ``,'' or the end of + the line. The ``='' and ``*'' characters are indicators to the auto call + units to pause and wait for a second dial tone (when going through an ex- + change). The ``='' is required by the DF02-AC and the ``*'' is required + by the BIZCOMP 1030. + + Only one phone number per line is permitted. However, if more than one + line in the file contains the same system name tip(1) will attempt to di- + al each one in turn, until it establishes a connection. + +FFIILLEESS + /etc/phones + +SSEEEE AALLSSOO + tip(1), remote(5) + +HHIISSTTOORRYY + The pphhoonneess file appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/plot.0 b/usr/share/man/cat5/plot.0 new file mode 100644 index 0000000000..3c2332727d --- /dev/null +++ b/usr/share/man/cat5/plot.0 @@ -0,0 +1,132 @@ + + + +PLOT(5) BSD Programmer's Manual PLOT(5) + + +NNAAMMEE + plot - graphics interface + +DDEESSCCRRIIPPTTIIOONN + Files of this format are produced by routines described in + _p_l_o_t(3X) and _p_l_o_t(3F), and are interpreted for various + devices by commands described in _p_l_o_t(1G). A graphics + file is a stream of plotting instructions. Each instruc- + tion 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 ll,, mm,, nn,, aa,, or pp instruction + becomes the `current point' for the next instruction. The + aa and cc instructions change the current point in a manner + dependent upon the specific device. + + Each of the following descriptions begins with the name of + the corresponding routine in _p_l_o_t(3X). + + mm move: The next four bytes give a new current point. + + nn cont: Draw a line from the current point to the point + given by the next four bytes. + + pp point: Plot the point given by the next four bytes. + + ll line: Draw a line from the point given by the next four + bytes to the point given by the following four bytes. + + tt label: Place the following ASCII string so that its + first character falls on the current point. The string + is terminated by a newline. + + aa 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. + + cc circle: The first four bytes give the center of the + circle, the next two the radius. + + ee erase: Start another frame of output. + + ff 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 _p_l_o_t _4_0_1_4 and _p_l_o_t _v_e_r_. + + ss space: The next four bytes give the lower left corner + + + +7th Edition April 29, 1991 1 + + + + + + + + +PLOT(5) BSD Programmer's Manual PLOT(5) + + + 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. + + Space settings that exactly fill the plotting area with + unity scaling appear below for devices supported by the + filters of _p_l_o_t(1G). 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. + + 4013 space(0, 0, 780, 780); + 4014 space(0, 0, 3120, 3120); + ver space(0, 0, 2048, 2048); + 300, 300s space(0, 0, 4096, 4096); + 450 space(0, 0, 4096, 4096); + +SSEEEE AALLSSOO + plot(1G), plot(3X), plot(3F), graph(1G) + +BBUUGGSS + A _l_a_b_e_l instruction immediately followed by a _c_o_n_t + instruction does the wrong thing on a 4014. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +7th Edition April 29, 1991 2 + + + + + diff --git a/usr/share/man/cat5/printcap.0 b/usr/share/man/cat5/printcap.0 new file mode 100644 index 0000000000..be5ce9cac9 --- /dev/null +++ b/usr/share/man/cat5/printcap.0 @@ -0,0 +1,160 @@ +PRINTCAP(5) BSD Programmer's Manual PRINTCAP(5) + +NNAAMMEE + pprriinnttccaapp - printer capability data base + +SSYYNNOOPPSSIISS + pprriinnttccaapp + +DDEESSCCRRIIPPTTIIOONN + The PPrriinnttccaapp function is a simplified version of the termcap(5) data base + used to describe line printers. The spooling system accesses the + pprriinnttccaapp file every time it is used, allowing dynamic addition and dele- + tion of printers. Each entry in the data base is used to describe one + printer. This data base may not be substituted for, as is possible for + termcap, because it may allow accounting to be bypassed. + + The default printer is normally _l_p, though the environment variable + PRINTER may be used to override this. Each spooling utility supports an + option, --PP _p_r_i_n_t_e_r, to allow explicit naming of a destination printer. + + Refer to the _4_._3 _B_S_D _L_i_n_e _P_r_i_n_t_e_r _S_p_o_o_l_e_r _M_a_n_u_a_l for a complete discus- + sion on how setup the database for a given printer. + +CCAAPPAABBIILLIITTIIEESS + Refer to termcap(5) for a description of the file layout. + + NNaammee TTyyppee DDeessccrriippttiioonn + af str NULL name of accounting file + br num none if lp is a tty, set the baud + rate (ioctl(2) call) + cf str NULL cifplot data filter + df str NULL tex data filter (DVI format) + fc num 0 if lp is a tty, clear flag + bits (_s_g_t_t_y_._h) + ff str `\f' string to send for a form + feed + fo bool false print a form feed when device + is opened + fs num 0 like `fc' but set bits + gf str NULL graph data filter (plot(3) + format + hl bool false print the burst header page + last + ic bool false driver supports (non + standard) ioctl to indent + printout + if str NULL name of text filter which + does accounting + lf str _/_d_e_v_/_c_o_n_s_o_l_e error logging file name + lo str _l_o_c_k name of lock file + lp str _/_d_e_v_/_l_p device name to open for + output + mx num 1000 maximum file size (in BUFSIZ + blocks), zero = unlimited + nd str NULL next directory for list of + queues (unimplemented) + nf str NULL ditroff data filter (device + independent troff) + of str NULL name of output filtering + program + pc num 200 price per foot or page in + hundredths of cents + pl num 66 page length (in lines) + + + pw num 132 page width (in characters) + px num 0 page width in pixels + (horizontal) + py num 0 page length in pixels + (vertical) + rf str NULL filter for printing FORTRAN + style text files + rg str NULL restricted group. Only + members of group allowed + access + rm str NULL machine name for remote + printer + rp str ``lp'' remote printer name argument + rs bool false restrict remote users to + those with local accounts + rw bool false open the printer device for + reading and writing + sb bool false short banner (one line only) + sc bool false suppress multiple copies + sd str _/_v_a_r_/_s_p_o_o_l_/_l_p_d spool directory + sf bool false suppress form feeds + sh bool false suppress printing of burst + page header + st str _s_t_a_t_u_s status file name + tf str NULL troff data filter (cat + phototypesetter) + tr str NULL trailer string to print when + queue empties + vf str NULL raster image filter + xc num 0 if lp is a tty, clear local + mode bits (tty(4)) + xs num 0 like `xc' but set bits + + If the local line printer driver supports indentation, the daemon must + understand how to invoke it. + +FFIILLTTEERRSS + The lpd(8) daemon creates a pipeline of _f_i_l_t_e_r_s to process files for var- + ious printer types. The filters selected depend on the flags passed to + lpr(1). The pipeline set up is: + + p pr | if regular text + pr(1) + none if regular text + c cf cifplot + d df DVI (tex) + g gf plot(3) + n nf ditroff + f rf Fortran + t tf troff + v vf raster image + + The iiff filter is invoked with arguments: + + iiff [--cc] --ww_w_i_d_t_h --ll_l_e_n_g_t_h --ii_i_n_d_e_n_t --nn _l_o_g_i_n --hh _h_o_s_t _a_c_c_t_-_f_i_l_e + + The --cc flag is passed only if the --ll flag (pass control characters liter- + ally) is specified to lpr. The _W_i_d_t_h function and _l_e_n_g_t_h specify the + page width and length (from ppww and ppll respectively) in characters. The + --nn and --hh parameters specify the login name and host name of the owner of + the job respectively. The _A_c_c_t_-_f_i_l_e function is passed from the aaff + pprriinnttccaapp entry. + + If no iiff is specified, ooff is used instead, with the distinction that ooff + is opened only once, while iiff is opened for every individual job. Thus, + iiff is better suited to performing accounting. The ooff is only given the + _w_i_d_t_h and _l_e_n_g_t_h flags. + + All other filters are called as: + + ffiilltteerr --xx_w_i_d_t_h --yy_l_e_n_g_t_h --nn _l_o_g_i_n --hh _h_o_s_t _a_c_c_t_-_f_i_l_e + + where _w_i_d_t_h and _l_e_n_g_t_h are represented in pixels, specified by the ppxx and + ppyy entries respectively. + + All filters take _s_t_d_i_n as the file, _s_t_d_o_u_t as the printer, may log either + to _s_t_d_e_r_r or using syslog(3), and must not ignore SIGINT. + +LLOOGGGGIINNGG + Error messages generated by the line printer programs themselves (that + is, the lp* programs) are logged by syslog(3) using the LPR facility. + Messages printed on _s_t_d_e_r_r of one of the filters are sent to the corre- + sponding llff file. The filters may, of course, use syslog themselves. + + Error messages sent to the console have a carriage return and a line feed + appended to them, rather than just a line feed. + +SSEEEE AALLSSOO + termcap(5), lpc(8), lpd(8), pac(8), lpr(1), lpq(1), lprm(1) + + _4_._3 _B_S_D _L_i_n_e _P_r_i_n_t_e_r _S_p_o_o_l_e_r _M_a_n_u_a_l. + +HHIISSTTOORRYY + The pprriinnttccaapp file format appeared in 4.2BSD.. + +4.2 Berkeley Distribution June 5, 1993 3 diff --git a/usr/share/man/cat5/protocols.0 b/usr/share/man/cat5/protocols.0 new file mode 100644 index 0000000000..1f80e2a132 --- /dev/null +++ b/usr/share/man/cat5/protocols.0 @@ -0,0 +1,34 @@ +PROTOCOLS(5) BSD Programmer's Manual PROTOCOLS(5) + +NNAAMMEE + pprroottooccoollss - protocol name data base + +DDEESSCCRRIIPPTTIIOONN + The pprroottooccoollss file contains information regarding the known protocols + used in the DARPA Internet. For each protocol a single line should be + present with the following information: + + official protocol name + protocol number + aliases + + Items are separated by any number of blanks and/or tab characters. A + ``#'' indicates the beginning of a comment; characters up to the end of + the line are not interpreted by routines which search the file. + + Protocol names may contain any printable character other than a field de- + limiter, newline, or comment character. + +FFIILLEESS + /etc/protocols The pprroottooccoollss file resides in _/_e_t_c. + +SSEEEE AALLSSOO + getprotoent(3) + +BBUUGGSS + A name server should be used instead of a static file. + +HHIISSTTOORRYY + The pprroottooccoollss file format appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/remote.0 b/usr/share/man/cat5/remote.0 new file mode 100644 index 0000000000..2526315b21 --- /dev/null +++ b/usr/share/man/cat5/remote.0 @@ -0,0 +1,103 @@ +REMOTE(5) BSD Programmer's Manual REMOTE(5) + +NNAAMMEE + rreemmoottee - remote host description file + +DDEESSCCRRIIPPTTIIOONN + The systems known by tip(1) and their attributes are stored in an ASCII + file which is structured somewhat like the termcap(5) file. Each line in + the file provides a description for a single system. Fields are separat- + ed by a colon (``:''). Lines ending in a \ character with an immediately + following newline are continued on the next line. + + The first entry is the name(s) of the host system. If there is more than + one name for a system, the names are separated by vertical bars. After + the name of the system comes the fields of the description. A field name + followed by an `=' sign indicates a string value follows. A field name + followed by a `#' sign indicates a following numeric value. + + Entries named ``tip*'' and ``cu*'' are used as default entries by tip, + and the cu interface to tip, as follows. When tip is invoked with only + a phone number, it looks for an entry of the form ``tip300'', where 300 + is the baud rate with which the connection is to be made. When the cu + interface is used, entries of the form ``cu300'' are used. + +CCAAPPAABBIILLIITTIIEESS + Capabilities are either strings (str), numbers (num), or boolean flags + (bool). A string capability is specified by _c_a_p_a_b_i_l_i_t_y_=_v_a_l_u_e; for exam- + ple, ``dv=/dev/harris''. A numeric capability is specified by + _c_a_p_a_b_i_l_i_t_y_#_v_a_l_u_e; for example, ``xa#99''. A boolean capability is speci- + fied by simply listing the capability. + + aatt (str) Auto call unit type. + + bbrr (num) The baud rate used in establishing a connection to the re- + mote host. This is a decimal number. The default baud rate is + 300 baud. + + ccmm (str) An initial connection message to be sent to the remote + host. For example, if a host is reached through port selector, + this might be set to the appropriate sequence required to switch + to the host. + + ccuu (str) Call unit if making a phone call. Default is the same as + the `dv' field. + + ddii (str) Disconnect message sent to the host when a disconnect is + requested by the user. + + dduu (bool) This host is on a dial-up line. + + ddvv (str) UNIX device(s) to open to establish a connection. If this + file refers to a terminal line, tip(1) attempts to perform an ex- + clusive open on the device to insure only one user at a time has + access to the port. + + eell (str) Characters marking an end-of-line. The default is NULL. + `~' escapes are only recognized by tip after one of the charac- + ters in `el', or after a carriage-return. + + ffss (str) Frame size for transfers. The default frame size is equal + to BUFSIZ. + + hhdd (bool) The host uses half-duplex communication, local echo should + + + be performed. + + iiee (str) Input end-of-file marks. The default is NULL. + + ooee (str) Output end-of-file string. The default is NULL. When tip + is transferring a file, this string is sent at end-of-file. + + ppaa (str) The type of parity to use when sending data to the host. + This may be one of ``even'', ``odd'', ``none'', ``zero'' (always + set bit 8 to zero), ``one'' (always set bit 8 to 1). The default + is even parity. + + ppnn (str) Telephone number(s) for this host. If the telephone number + field contains an @ sign, tip searches the file _/_e_t_c_/_p_h_o_n_e_s file + for a list of telephone numbers; (See phones(5).) + + ttcc (str) Indicates that the list of capabilities is continued in the + named description. This is used primarily to share common capa- + bility information. + + Here is a short example showing the use of the capability continuation + feature: + + UNIX-1200:\ + :dv=/dev/cau0:el=^D^U^C^S^Q^O@:du:at=ventel:ie=#$%:oe=^D:br#1200: + arpavax|ax:\ + :pn=7654321%:tc=UNIX-1200 + +FFIILLEESS + /etc/remote The rreemmoottee host description file resides in _/_e_t_c. + +SSEEEE AALLSSOO + tip(1), phones(5) + +HHIISSTTOORRYY + The rreemmoottee file format appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/resolver.0 b/usr/share/man/cat5/resolver.0 new file mode 100644 index 0000000000..e4f4112ce8 --- /dev/null +++ b/usr/share/man/cat5/resolver.0 @@ -0,0 +1,77 @@ +RESOLVER(5) BSD Programmer's Manual RESOLVER(5) + +NNAAMMEE + rreessoollvveerr - resolver configuration file + +SSYYNNOOPPSSIISS + rreessoollvv..ccoonnff + +DDEESSCCRRIIPPTTIIOONN + The resolver(3) is a set of routines in the C library which provide ac- + cess to the Internet Domain Name System. The resolver configuration file + contains information that is read by the resolver routines the first time + they are invoked by a process. The file is designed to be human readable + and contains a list of keywords with values that provide various types of + resolver information. + + On a normally configured system this file should not be necessary. The + only name server to be queried will be on the local machine, the domain + name is determined from the host name, and the domain search path is con- + structed from the domain name. + + The different configuration options are: + + nnaammeesseerrvveerr Internet address (in dot notation) of a name server that the + resolver should query. Up to MAXNS (currently 3) name + servers may be listed, one per keyword. If there are multi- + ple servers, the resolver library queries them in the order + listed. If no nnaammeesseerrvveerr entries are present, the default is + to use the name server on the local machine. (The algorithm + used is to try a name server, and if the query times out, try + the next, until out of name servers, then repeat trying all + the name servers until a maximum number of retries are made). + + ddoommaaiinn Local domain name. Most queries for names within this domain + can use short names relative to the local domain. If no + ddoommaaiinn entry is present, the domain is determined from the + local host name returned by gethostname(2); the domain part + is taken to be everything after the first `.'. Finally, if + the host name does not contain a domain part, the root domain + is assumed. + + sseeaarrcchh Search list for host-name lookup. The search list is normal- + ly determined from the local domain name; by default, it be- + gins with the local domain name, then successive parent do- + mains that have at least two components in their names. This + may be changed by listing the desired domain search path fol- + lowing the sseeaarrcchh keyword with spaces or tabs separating the + names. Most resolver queries will be attempted using each + component of the search path in turn until a match is found. + Note that this process may be slow and will generate a lot of + network traffic if the servers for the listed domains are not + local, and that queries will time out if no server is avail- + able for one of the domains. + + The search list is currently limited to six domains with a + total of 256 characters. + + The ddoommaaiinn and sseeaarrcchh keywords are mutually exclusive. If more than one + instance of these keywords is present, the last instance will override. + + The keyword and value must appear on a single line, and the keyword (e.g. + nnaammeesseerrvveerr) must start the line. The value follows the keyword, separat- + ed by white space. + +FFIILLEESS + + /etc/resolv.conf The file rreessoollvv..ccoonnff resides in _/_e_t_c. + +SSEEEE AALLSSOO + gethostbyname(3), resolver(3), hostname(7), named(8) + + _N_a_m_e _S_e_r_v_e_r _O_p_e_r_a_t_i_o_n_s _G_u_i_d_e _f_o_r _B_I_N_D. + +HHIISSTTOORRYY + The rreessoollvv..ccoonnff file format appeared in 4.3BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/services.0 b/usr/share/man/cat5/services.0 new file mode 100644 index 0000000000..e67528d9be --- /dev/null +++ b/usr/share/man/cat5/services.0 @@ -0,0 +1,37 @@ +SERVICES(5) BSD Programmer's Manual SERVICES(5) + +NNAAMMEE + sseerrvviicceess - service name data base + +DDEESSCCRRIIPPTTIIOONN + The sseerrvviicceess file contains information regarding the known services + available in the DARPA Internet. For each service a single line should + be present with the following information: + + official service name + port number + protocol name + aliases + + Items are separated by any number of blanks and/or tab characters. The + port number and protocol name are considered a single _i_t_e_m; a ``/'' is + used to separate the port and protocol (e.g. ``512/tcp''). A ``#'' indi- + cates the beginning of a comment; subsequent characters up to the end of + the line are not interpreted by the routines which search the file. + + Service names may contain any printable character other than a field de- + limiter, newline, or comment character. + +FFIILLEESS + /etc/services The sseerrvviicceess file resides in _/_e_t_c. + +SSEEEE AALLSSOO + getservent(3) + +BBUUGGSS + A name server should be used instead of a static file. + +HHIISSTTOORRYY + The sseerrvviicceess file format appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/shells.0 b/usr/share/man/cat5/shells.0 new file mode 100644 index 0000000000..5058fcf36c --- /dev/null +++ b/usr/share/man/cat5/shells.0 @@ -0,0 +1,24 @@ +SHELLS(5) BSD Programmer's Manual SHELLS(5) + +NNAAMMEE + sshheellllss - shell database + +DDEESSCCRRIIPPTTIIOONN + The sshheellllss file contains a list of the shells on the system. For each + shell a single line should be present, consisting of the shell's path, + relative to root. + + A hash mark (``#'') indicates the beginning of a comment; subsequent + characters up to the end of the line are not interpreted by the routines + which search the file. Blank lines are also ignored. + +FFIILLEESS + /etc/shells The sshheellllss file resides in _/_e_t_c. + +SSEEEE AALLSSOO + getusershell(3) + +HHIISSTTOORRYY + The sshheellllss file format appeared in 4.3BSD-Tahoe. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat5/stab.0 b/usr/share/man/cat5/stab.0 new file mode 100644 index 0000000000..fc3853d63e --- /dev/null +++ b/usr/share/man/cat5/stab.0 @@ -0,0 +1,128 @@ +STAB(5) BSD Programmer's Manual STAB(5) + +NNAAMMEE + ssttaabb - symbol table types + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The file <_s_t_a_b_._h> defines some of the symbol table _n___t_y_p_e field values + for a.out files. These are the types for permanent symbols (i.e. not lo- + cal labels, etc.) used by the old debugger _s_d_b and the Berkeley Pascal + compiler pc(1). Symbol table entries can be produced by the _._s_t_a_b_s as- + sembler directive. This allows one to specify a double-quote delimited + name, a symbol type, one char and one short of information about the sym- + bol, and an unsigned long (usually an address). To avoid having to pro- + duce an explicit label for the address field, the _._s_t_a_b_d directive can be + used to implicitly address the current location. If no name is needed, + symbol table entries can be generated using the _._s_t_a_b_n directive. The + loader promises to preserve the order of symbol table entries produced by + _._s_t_a_b directives. As described in a.out(5), an element of the symbol + table consists of the following structure: + + /* + * Format of a symbol table entry. + */ + + struct nlist { + union { + char *n_name; /* for use when in-core */ + long n_strx; /* index into file string table */ + } n_un; + unsigned char n_type; /* type flag */ + char n_other; /* unused */ + short n_desc; /* see struct desc, below */ + unsigned n_value; /* address or offset or line */ + }; + + The low bits of the _n___t_y_p_e field are used to place a symbol into at most + one segment, according to the following masks, defined in <_a_._o_u_t_._h>. A + symbol can be in none of these segments by having none of these segment + bits set. + + /* + * Simple values for n_type. + */ + + #define N_UNDF 0x0 /* undefined */ + #define N_ABS 0x2 /* absolute */ + #define N_TEXT 0x4 /* text */ + #define N_DATA 0x6 /* data */ + #define N_BSS 0x8 /* bss */ + + #define N_EXT 01 /* external bit, or'ed in */ + + The _n___v_a_l_u_e field of a symbol is relocated by the linker, ld(1) as an ad- + dress within the appropriate segment. _N___v_a_l_u_e fields of symbols not in + any segment are unchanged by the linker. In addition, the linker will + discard certain symbols, according to rules of its own, unless the _n___t_y_p_e + field has one of the following bits set: + + /* + * Other permanent symbol table entries have some of the N_STAB bits set. + * These are given in + */ + + #define N_STAB 0xe0 /* if any of these bits set, don't discard */ + + This allows up to 112 (7 * 16) symbol types, split between the various + segments. Some of these have already been claimed. The old symbolic de- + bugger, _s_d_b, uses the following n_type values: + + #define N_GSYM 0x20 /* global symbol: name,,0,type,0 */ + #define N_FNAME 0x22 /* procedure name (f77 kludge): name,,0 */ + #define N_FUN 0x24 /* procedure: name,,0,linenumber,address */ + #define N_STSYM 0x26 /* static symbol: name,,0,type,address */ + #define N_LCSYM 0x28 /* .lcomm symbol: name,,0,type,address */ + #define N_RSYM 0x40 /* register sym: name,,0,type,register */ + #define N_SLINE 0x44 /* src line: 0,,0,linenumber,address */ + #define N_SSYM 0x60 /* structure elt: name,,0,type,struct_offset */ + #define N_SO 0x64 /* source file name: name,,0,0,address */ + #define N_LSYM 0x80 /* local sym: name,,0,type,offset */ + #define N_SOL 0x84 /* #included file name: name,,0,0,address */ + #define N_PSYM 0xa0 /* parameter: name,,0,type,offset */ + #define N_ENTRY 0xa4 /* alternate entry: name,linenumber,address */ + #define N_LBRAC 0xc0 /* left bracket: 0,,0,nesting level,address */ + #define N_RBRAC 0xe0 /* right bracket: 0,,0,nesting level,address */ + #define N_BCOMM 0xe2 /* begin common: name,, */ + #define N_ECOMM 0xe4 /* end common: name,, */ + #define N_ECOML 0xe8 /* end common (local name): ,,address */ + #define N_LENG 0xfe /* second stab entry with length information */ + + where the comments give _s_d_b conventional use for _._s_t_a_b _s and the _n___n_a_m_e, + _n___o_t_h_e_r, _n___d_e_s_c, and _n___v_a_l_u_e fields of the given _n___t_y_p_e. _S_d_b uses the + _n___d_e_s_c field to hold a type specifier in the form used by the Portable C + Compiler, cc(1); see the header file _p_c_c_._h for details on the format of + these type values. + + The Berkeley Pascal compiler, pc(1), uses the following _n___t_y_p_e value: + + #define N_PC 0x30 /* global pascal symbol: name,,0,subtype,line */ + + and uses the following subtypes to do type checking across separately + compiled files: + + 1 source file name + 2 included file name + 3 global label + 4 global constant + 5 global type + 6 global variable + 7 global function + 8 global procedure + 9 external function + 10 external procedure + 11 library variable + 12 library routine + +SSEEEE AALLSSOO + as(1), ld(1), dbx(1), a.out(5) + +BBUUGGSS + More basic types are needed. + +HHIISSTTOORRYY + The ssttaabb file appeared in 4.0BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/termcap.0 b/usr/share/man/cat5/termcap.0 new file mode 100644 index 0000000000..2b89474fe8 --- /dev/null +++ b/usr/share/man/cat5/termcap.0 @@ -0,0 +1,906 @@ +TERMCAP(5) BSD Programmer's Manual TERMCAP(5) + +NNAAMMEE + tteerrmmccaapp - terminal capability data base + +SSYYNNOOPPSSIISS + tteerrmmccaapp + +DDEESSCCRRIIPPTTIIOONN + The TTeerrmmccaapp file is a data base describing terminals, used, for example, + by vi(1) and curses(3). Terminals are described in tteerrmmccaapp by giving a + set of capabilities that they have and by describing how operations are + performed. Padding requirements and initialization sequences are includ- + ed in tteerrmmccaapp. + + Entries in tteerrmmccaapp consist of a number of `:'-separated fields. The + first entry for each terminal gives the names that are known for the ter- + minal, separated by `|' characters. The first name given is the most + common abbreviation for the terminal. The last name given should be a + long name fully identifying the terminal, and all others are understood + as synonyms for the terminal name. All names but the last should be in + lower case and contain no blanks; the last name may well contain upper + case characters and blanks for readability. + + Terminal names (except for the last, verbose entry) should be chosen us- + ing the following conventions. The particular piece of hardware making + up the terminal should have a root name chosen, thus ``hp2621'' This name + should not contain hyphens. Modes that the hardware can be in or user + preferences should be indicated by appending a hyphen and an indicator of + the mode. Therefore, a ``vt100'' in 132-column mode would be + ``vt100-w''. The following suffixes should be used where possible: + + SSuuffffiixx MMeeaanniinngg EExxaammppllee + -w Wide mode (more than 80 columns) vt100-w + -am With automatic margins (usually default) vt100-am + -nam Without automatic margins vt100-nam + -_n Number of lines on the + -na No arrow keys (leave them in local) concept100-na + -_n_p Number of pages of memory concept100-4p + -rv Reverse video concept100-rv + +CCAAPPAABBIILLIITTIIEESS + The characters in the The _N_o_t_e_s function field in the table have the fol- + lowing meanings (more than one may apply to a capability): + + N indicates numeric parameter(s) + P indicates that padding may be specified + * indicates that padding may be based on the number of lines affected + o indicates capability is obsolete + + ``Obsolete'' capabilities have no _t_e_r_m_i_n_f_o equivalents, since they were + considered useless, or are subsumed by other capabilities. New software + should not rely on them at all. + + NNaammee TTyyppee NNootteess DDeessccrriippttiioonn + functions + ae str (P) End alternate character set. + AL str (NP*) Add" _n new blank lines + al str (P*) Add new blank line. + am bool Terminal has automatic margins. + as str (P) Start alternate character set. + bc str (o) Backspace if not. ^^HH. + bl str (P) Audible signal (bell). + + + bs bool (o) Terminal can backspace with ^^HH. + bt str (P) Back tab. + bw bool llee (backspace) wraps from column 0 to last + column. + CC str Terminal settable command character in + prototype. + cd str (P*) Clear to end of display. + ce str (P) Clear to end of line. + ch str (NP) Set cursor column (horizontal position). + cl str (P*) Clear screen and home cursor. + CM str (NP) Memory-relative cursor addressing. + cm str (NP) Screen-relative cursor motion. + co num Number of columns in a line (See _B_U_G_S sec- + tion below). + cr str (P) Carriage return. + cs str (NP) Change scrolling region (VT100). + ct str (P) Clear all tab stops. + cv str (NP) Set cursor row (vertical position). + da bool Display may be retained above the screen. + dB num (o) Milliseconds of bbss delay needed (default + 0). + db bool Display may be retained below the screen. + DC str (NP*) Delete _n characters. + dC num (o) Milliseconds of ccrr delay needed (default + 0). + dc str (P*) Delete character. + dF num (o) Milliseconds of ffff delay needed (default + 0). + DL str (NP*) Delete _n lines. + dl str (P*) Delete line. + dm str Enter delete mode. + dN num (o) Milliseconds of nnll delay needed (default + 0). + DO str (NP*) Move cursor down: _n lines. + do str Down one line. + ds str Disable status line. + dT num (o) Milliseconds of horizontal tab delay needed + (default 0). + dV num (o) Milliseconds of vertical tab delay needed + (default 0). + ec str (NP) Erase _n characters. + ed str End delete mode. + ei str End insert mode. + eo bool Can erase overstrikes with a blank. + EP bool (o) Even parity. + es bool Escape can be used on the status line. + ff str (P*) Hardcopy terminal page eject. + fs str Return from status line. + gn bool Generic line type, for example dialup, + switch). + hc bool Hardcopy terminal. + HD bool (o) Half-duplex. + hd str Half-line down (forward 1/2 linefeed). + ho str (P) Home cursor. + hs bool Has extra ``status line''. + hu str Half-line up (reverse 1/2 linefeed). + hz bool Cannot print ``~'' (Hazeltine). + i1-i3 str Terminal initialization strings (terminfo + only) + IC str (NP*) Insert _n blank characters. + ic str (P*) Insert character. + if str Name of file containing initialization + string. + im str Enter insert mode. + + + in bool Insert mode distinguishes nulls. + iP str Pathname of program for initialization + (terminfo only). + ip str (P*) Insert pad after character inserted. + is str Terminal initialization string (tteerrmmccaapp on- + ly). + it num Tabs initially every _n positions. + K1 str Sent by keypad upper left. + K2 str Sent by keypad upper right. + K3 str Sent by keypad center. + K4 str Sent by keypad lower left. + K5 str Sent by keypad lower right. + k0-k9 str Sent by function keys 0-9. + kA str Sent by insert-line key. + ka str Sent by clear-all-tabs key. + kb str Sent by backspace key. + kC str Sent by clear-screen or erase key. + kD str Sent by delete-character key. + kd str Sent by down-arrow key. + kE str Sent by clear-to-end-of-line key. + ke str Out of ``keypad transmit'' mode. + kF str Sent by scroll-forward/down key. + kH str Sent by home-down key. + kh str Sent by home key. + kI str Sent by insert-character or enter-insert- + mode key. + kL str Sent by delete-line key. + kl str Sent by left-arrow key. + kM str Sent by insert key while in insert mode. + km bool Has a ``meta'' key (shift, sets parity + bit). + kN str Sent by next-page key. + kn num (o) Number of function (kk00- kk99) keys (default + 0). + ko str (o) Termcap entries for other non-function + keys. + kP str Sent by previous-page key. + kR str Sent by scroll-backward/up key. + kr str Sent by right-arrow key. + kS str Sent by clear-to-end-of-screen key. + ks str Put terminal in ``keypad transmit'' mode. + kT str Sent by set-tab key. + kt str Sent by clear-tab key. + ku str Sent by up-arrow key. + l0-l9 str Labels on function keys if not ``f_n''. + LC bool (o) Lower-case only. + LE str (NP) Move cursor left _n positions. + le str (P) Move cursor left one position. + li num Number of lines on screen or page (See _B_U_G_S + section below) + ll str Last line, first column + lm num Lines of memory if > llii (0 means varies). + ma str (o) Arrow key map (used by vi version 2 only). + mb str Turn on blinking attribute. + md str Turn on bold (extra bright) attribute. + me str Turn off all attributes. + mh str Turn on half-bright attribute. + mi bool Safe to move while in insert mode. + mk str Turn on blank attribute (characters + invisible). + ml str (o) Memory lock on above cursor. + mm str Turn on ``meta mode'' (8th bit). + mo str Turn off ``meta mode''. + mp str Turn on protected attribute. + + + mr str Turn on reverse-video attibute. + ms bool Safe to move in standout modes. + mu str (o) Memory unlock (turn off memory lock). + nc bool (o) No correctly-working ccrr (Datamedia 2500, + Hazeltine 2000). + nd str Non-destructive space (cursor right). + NL bool (o) \\nn is newline, not line feed. + nl str (o) Newline character if not \\nn. + ns bool (o) Terminal is a CRT but doesn't scroll. + nw str (P) Newline (behaves like ccrr followed by ddoo )).. + OP bool (o) Odd parity. + os bool Terminal overstrikes. + pb num Lowest baud where delays are required. + pc str Pad character (default NUL ). + pf str Turn off the printer. + pk str Program function key _n to type string _s + (terminfo only). + pl str Program function key _n to execute string _s + (terminfo only). + pO str (N) Turn on the printer for _n bytes. + po str Turn on the printer. + ps str Print contents of the screen. + pt bool (o) Has hardware tabs (may need to be set with + iiss )).. + px str Program function key _n to transmit string _s + (terminfo only). + r1-r3 str Reset terminal completely to sane modes + (terminfo only). + rc str (P) Restore cursor to position of last sscc. + rf str Name of file containing reset codes. + RI str (NP) Move cursor right _n positions. + rp str (NP*) Repeat character _c _n times. + rs str Reset terminal completely to sane modes + (tteerrmmccaapp only). + sa str (NP) Define the video attributes. + sc str (P) Save cursor position. + se str End standout mode. + SF str (NP*) Scroll forward _n lines. + sf str (P) Scroll text up. + sg num Number of garbage chars left by ssoo or ssee + (default 0). + so str Begin standout mode. + SR str (NP*) Scroll backward _n lines. + sr str (P) Scroll text down. + st str Set a tab in all rows, current column. + ta str (P) Tab to next 8-position hardware tab stop. + tc str Entry of similar terminal - must be last. + te str String to end programs that use tteerrmmccaapp. + ti str String to begin programs that use tteerrmmccaapp. + ts str (N) Go to status line, column _n. + UC bool (o) Upper-case only. + uc str Underscore one character and move past it. + ue str End underscore mode. + ug num Number of garbage chars left by uuss or uuee + (default 0). + ul bool Underline character overstrikes. + UP str (NP*) Move cursor up _n lines. + up str Upline (cursor up). + us str Start underscore mode. + vb str Visible bell (must not move cursor). + ve str Make cursor appear normal (undo vvss/ vvii). + vi str Make cursor invisible. + vs str Make cursor very visible. + vt num Virtual terminal number (not supported on + + + all systems). + wi str (N) Set current window. + ws num Number of columns in status line. + xb bool Beehive (f1= ESC, f2=^^CC). + xn bool Newline ignored after 80 cols (Concept). + xo bool Terminal uses xoff/xon (DC3/DC1) handshak- + ing. + xr bool (o) Return acts like ccee ccrr nnll (Delta Data). + xs bool Standout not erased by overwriting + (Hewlett-Packard). + xt bool Tabs ruin, magic char (Teleray 1061). + xx bool (o) Tektronix 4025 insert-line. + + AA SSaammppllee EEnnttrryy + The following entry, which describes the Concept-100, is among the more + complex entries in the tteerrmmccaapp file as of this writing. + + ca|concept100|c100|concept|c104|concept100-4p|HDS Concept-100:\ + :al=3*\E^R:am:bl=^G:cd=16*\E^C:ce=16\E^U:cl=2*^L:cm=\Ea%+ %+ :\ + :co#80:.cr=9^M:db:dc=16\E^A:dl=3*\E^B:do=^J:ei=\E\200:eo:im=\E^P:in:\ + :ip=16*:is=\EU\Ef\E7\E5\E8\El\ENH\EK\E\200\Eo&\200\Eo\47\E:k1=\E5:\ + :k2=\E6:k3=\E7:kb=^h:kd=\E<:ke=\Ex:kh=\E?:kl=\E>:kr=\E=:ks=\EX:\ + :ku=\E;:le=^H:li#24:mb=\EC:me=\EN\200:mh=\EE:mi:mk=\EH:mp=\EI:\ + :mr=\ED:nd=\E=:pb#9600:rp=0.2*\Er%.%+ :se=\Ed\Ee:sf=^J:so=\EE\ED:\ + :.ta=8\t:te=\Ev \200\200\200\200\200\200\Ep\r\n:\ + :ti=\EU\Ev 8p\Ep\r:ue=\Eg:ul:up=\E;:us=\EG:\ + :vb=\Ek\200\200\200\200\200\200\200\200\200\200\200\200\200\200\EK:\ + :ve=\Ew:vs=\EW:vt#8:xn:\ + :bs:cr=^M:dC#9:dT#8:nl=^J:ta=^I:pt: + + Entries may continue onto multiple lines by giving a \ as the last char- + acter of a line, and empty fields may be included for readability (here + between the last field on a line and the first field on the next). Com- + ments may be included on lines beginning with ``#''. + + TTyyppeess ooff CCaappaabbiilliittiieess + Capabilities in tteerrmmccaapp are of three types: Boolean capabilities, which + indicate particular features that the terminal has; numeric capabilities, + giving the size of the display or the size of other attributes; and + string capabilities, which give character sequences that can be used to + perform particular terminal operations. All capabilities have two-letter + codes. For instance, the fact that the Concept has _a_u_t_o_m_a_t_i_c _m_a_r_g_i_n_s (an + automatic return and linefeed when the end of a line is reached) is indi- + cated by the Boolean capability aamm. Hence the description of the Concept + includes aamm. + + Numeric capabilities are followed by the character `#' then the value. + In the example above ccoo, which indicates the number of columns the dis- + play has, gives the value `80' for the Concept. + + Finally, string-valued capabilities, such as ccee (clear-to-end-of-line se- + quence) are given by the two-letter code, an `=', then a string ending at + the next following `:'. A delay in milliseconds may appear after the `=' + in such a capability, which causes padding characters to be supplied by + tputs after the remainder of the string is sent to provide this delay. + The delay can be either a number, such as `20', or a number followed by + an `*', such as `3*'. An `*' indicates that the padding required is pro- + portional to the number of lines affected by the operation, and the + amount given is the per-affected-line padding required. (In the case of + insert-character, the factor is still the number of _l_i_n_e_s affected; this + is always 1 unless the terminal has iinn and the software uses it.) When + an `*' is specified, it is sometimes useful to give a delay of the form + `3.5' to specify a delay per line to tenths of milliseconds. (Only one + decimal place is allowed.) + + + A number of escape sequences are provided in the string-valued capabili- + ties for easy encoding of control characters there. \\EE maps to an ESC + character, ^^XX maps to a control-X for any appropriate X, and the se- + quences \\nn \\rr \\tt \\bb \\ff map to linefeed, return, tab, backspace, and form- + feed, respectively. Finally, characters may be given as three octal dig- + its after a \\, and the characters ^^ and \\ may be given as \\^^ and \\\\. If + it is necessary to place a :: in a capability it must be escaped in octal + as \\007722. If it is necessary to place a NUL character in a string capabil- + ity it must be encoded as \\220000. (The routines that deal with tteerrmmccaapp use + C strings and strip the high bits of the output very late, so that a \\220000 + comes out as a \\000000 would.) + + Sometimes individual capabilities must be commented out. To do this, put + a period before the capability name. For example, see the first ccrr and + ttaa in the example above. + + PPrreeppaarriinngg DDeessccrriippttiioonnss + The most effective way to prepare a terminal description is by imitating + the description of a similar terminal in tteerrmmccaapp and to build up a de- + scription gradually, using partial descriptions with vi to check that + they are correct. Be aware that a very unusual terminal may expose defi- + ciencies in the ability of the tteerrmmccaapp file to describe it or bugs in vi. + To easily test a new terminal description you are working on you can put + it in your home directory in a file called _._t_e_r_m_c_a_p and programs will + look there before looking in _/_u_s_r_/_s_h_a_r_e_/_m_i_s_c_/_t_e_r_m_c_a_p. You can also set + the environment variable TERMPATH to a list of absolute file pathnames + (separated by spaces or colons), one of which contains the description + you are working on, and programs will search them in the order listed, + and nowhere else. See termcap(3). The TERMCAP environment variable is + usually set to the tteerrmmccaapp entry itself to avoid reading files when + starting up a program. + + To get the padding for insert-line right (if the terminal manufacturer + did not document it), a severe test is to use vi to edit _/_e_t_c_/_p_a_s_s_w_d at + 9600 baud, delete roughly 16 lines from the middle of the screen, then + hit the `u' key several times quickly. If the display messes up, more + padding is usually needed. A similar test can be used for insert- + character. + + BBaassiicc CCaappaabbiilliittiieess + The number of columns on each line of the display is given by the ccoo nu- + meric capability. If the display is a CRT, then the number of lines on + the screen is given by the llii capability. If the display wraps around to + the beginning of the next line when the cursor reaches the right margin, + then it should have the aamm capability. If the terminal can clear its + screen, the code to do this is given by the ccll string capability. If the + terminal overstrikes (rather than clearing the position when a character + is overwritten), it should have the ooss capability. If the terminal is a + printing terminal, with no soft copy unit, give it both hhcc and ooss. (ooss + applies to storage scope terminals, such as the Tektronix 4010 series, as + well as to hard copy and APL terminals.) If there is a code to move the + cursor to the left edge of the current row, give this as ccrr. (Normally + this will be carriage-return, ^^MM.) If there is a code to produce an audi- + ble signal (bell, beep, etc. ) , give this as bbll. + + If there is a code (such as backspace) to move the cursor one position to + the left, that capability should be given as llee. Similarly, codes to move + to the right, up, and down should be given as nndd, uupp, and ddoo, respective- + ly. These _l_o_c_a_l _c_u_r_s_o_r _m_o_t_i_o_n_s should not alter the text they pass over; + for example, you would not normally use ``nd= '' unless the terminal has + the ooss capability, because the space would erase the character moved + over. + + A very important point here is that the local cursor motions encoded in + tteerrmmccaapp have undefined behavior at the left and top edges of a CRT dis- + play. Programs should never attempt to backspace around the left edge, + unless bbww is given, and never attempt to go up off the top using local + cursor motions. + + In order to scroll text up, a program goes to the bottom left corner of + the screen and sends the ssff (index) string. To scroll text down, a pro- + gram goes to the top left corner of the screen and sends the ssrr (reverse + index) string. The strings ssff and ssrr have undefined behavior when not on + their respective corners of the screen. Parameterized versions of the + scrolling sequences are SSFF and SSRR, which have the same semantics as ssff + and ssrr except that they take one parameter and scroll that many lines. + They also have undefined behavior except at the appropriate corner of the + screen. + + The aamm capability tells whether the cursor sticks at the right edge of + the screen when text is output there, but this does not necessarily apply + to nndd from the last column. Leftward local motion is defined from the + left edge only when bbww is given; then an llee from the left edge will move + to the right edge of the previous row. This is useful for drawing a box + around the edge of the screen, for example. If the terminal has switch- + selectable automatic margins, the tteerrmmccaapp description usually assumes + that this feature is on, _i_._e., aamm. If the terminal has a command that + moves to the first column of the next line, that command can be given as + nnww (newline). It is permissible for this to clear the remainder of the + current line, so if the terminal has no correctly-working CR and LF it + may still be possible to craft a working nnww out of one or both of them. + + These capabilities suffice to describe hardcopy and ``glass-tty'' termi- + nals. Thus the Teletype model 33 is described as + + T3|tty33|33|tty|Teletype model 33:\ + :bl=^G:co#72:cr=^M:do=^J:hc:os: + + and the Lear Siegler ADM-3 is described as + + l3|adm3|3|LSI ADM-3:\ + :am:bl=^G:cl=^Z:co#80:cr=^M:do=^J:le=^H:li#24:sf=^J: + + PPaarraammeetteerriizzeedd SSttrriinnggss + Cursor addressing and other strings requiring parameters are described by + a parameterized string capability, with printf(3)-like escapes %%xx in it, + while other characters are passed through unchanged. For example, to ad- + dress the cursor the ccmm capability is given, using two parameters: the + row and column to move to. (Rows and columns are numbered from zero and + refer to the physical screen visible to the user, not to any unseen memo- + ry. If the terminal has memory-relative cursor addressing, that can be + indicated by an analogous CCMM capability.) + + The %% encodings have the following meanings: + + %% output `%' + %d output value as in printf %d + %2 output value as in printf %2d + %3 output value as in printf %3d + %. output value as in printf %c + %+_x add _x to value, then do %. + %>_x_y if value > _x then add _y, no output + %r reverse order of two parameters, no output + %i increment by one, no output + %n exclusive-or all parameters with 0140 (Datamedia 2500) + %B BCD (16*(value/10)) + (value%10), no output + %D Reverse coding (value - 2*(value%16)), no output (Delta Data). + + Consider the Hewlett-Packard 2645, which, to get to row 3 and column 12, + needs to be sent ``\E&a12c03Y'' padded for 6 milliseconds. Note that the + order of the row and column coordinates is reversed here and that the row + and column are sent as two-digit integers. Thus its ccmm capability is + ``cm=6\E&%r%2c%2Y''. + + The Datamedia 2500 needs the current row and column sent encoded in bina- + ry using ``%.''. Terminals that use ``%.'' need to be able to backspace + the cursor (llee) and to move the cursor up one line on the screen (uupp). + This is necessary because it is not always safe to transmit \\nn, ^^DD, and + \\rr, as the system may change or discard them. (Programs using tteerrmmccaapp + must set terminal modes so that tabs are not expanded, so \\tt is safe to + send. This turns out to be essential for the Ann Arbor 4080.) + + A final example is the Lear Siegler ADM-3a, which offsets row and column + by a blank character, thus ``cm=\E=%+ %+ ''. + + Row or column absolute cursor addressing can be given as single parameter + capabilities cchh (horizontal position absolute) and ccvv (vertical position + absolute). Sometimes these are shorter than the more general two- + parameter sequence (as with the Hewlett-Packard 2645) and can be used in + preference to ccmm. If there are parameterized local motions (_e_._g., move _n + positions to the right) these can be given as DDOO, LLEE, RRII, and UUPP with a + single parameter indicating how many positions to move. These are pri- + marily useful if the terminal does not have ccmm, such as the Tektronix + 4025. + + CCuurrssoorr MMoottiioonnss + + If the terminal has a fast way to home the cursor (to the very upper left + corner of the screen), this can be given as hhoo. Similarly, a fast way of + getting to the lower left-hand corner can be given as llll; this may in- + volve going up with uupp from the home position, but a program should never + do this itself (unless llll does), because it can make no assumption about + the effect of moving up from the home position. Note that the home posi- + tion is the same as cursor address (0,0): to the top left corner of the + screen, not of memory. (Therefore, the ``\EH'' sequence on Hewlett- + Packard terminals cannot be used for hhoo.) + + AArreeaa CClleeaarrss + If the terminal can clear from the current position to the end of the + line, leaving the cursor where it is, this should be given as ccee. If the + terminal can clear from the current position to the end of the display, + this should be given as ccdd. ccdd must only be invoked from the first column + of a line. (Therefore, it can be simulated by a request to delete a + large number of lines, if a true ccdd is not available.) + + IInnsseerrtt//DDeelleettee LLiinnee + If the terminal can open a new blank line before the line containing the + cursor, this should be given as aall; this must be invoked only from the + first position of a line. The cursor must then appear at the left of the + newly blank line. If the terminal can delete the line that the cursor is + on, this should be given as ddll; this must only be used from the first po- + sition on the line to be deleted. Versions of aall and ddll which take a + single parameter and insert or delete that many lines can be given as AALL + and DDLL. If the terminal has a settable scrolling region (like the VT100), + the command to set this can be described with the ccss capability, which + takes two parameters: the top and bottom lines of the scrolling region. + The cursor position is, alas, undefined after using this command. It is + possible to get the effect of insert or delete line using this command -- + the sscc and rrcc (save and restore cursor) commands are also useful. In- + serting lines at the top or bottom of the screen can also be done using + ssrr or ssff on many terminals without a true insert/delete line, and is of- + ten faster even on terminals with those features. + + If the terminal has the ability to define a window as part of memory + which all commands affect, it should be given as the parameterized string + wwii. The four parameters are the starting and ending lines in memory and + the starting and ending columns in memory, in that order. (This terminfo + capability is described for completeness. It is unlikely that any + tteerrmmccaapp- using program will support it.) + + If the terminal can retain display memory above the screen, then the ddaa + capability should be given; if display memory can be retained below, then + ddbb should be given. These indicate that deleting a line or scrolling may + bring non-blank lines up from below or that scrolling back with ssrr may + bring down non-blank lines. + + IInnsseerrtt//DDeelleettee CChhaarraacctteerr + There are two basic kinds of intelligent terminals with respect to in- + sert/delete character that can be described using tteerrmmccaapp. The most com- + mon insert/delete character operations affect only the characters on the + current line and shift characters off the end of the line rigidly. Other + terminals, such as the Concept-100 and the Perkin Elmer Owl, make a dis- + tinction between typed and untyped blanks on the screen, shifting upon an + insert or delete only to an untyped blank on the screen which is either + eliminated or expanded to two untyped blanks. You can determine the kind + of terminal you have by clearing the screen then typing text separated by + cursor motions. Type ``abc def'' using local cursor motions (not + spaces) between the ``abc'' and the ``def''. Then position the cursor be- + fore the ``abc'' and put the terminal in insert mode. If typing charac- + ters causes the rest of the line to shift rigidly and characters to fall + off the end, then your terminal does not distinguish between blanks and + untyped positions. If the ``abc'' shifts over to the ``def'' which then + move together around the end of the current line and onto the next as you + insert, then you have the second type of terminal and should give the ca- + pability iinn, which stands for ``insert null''. While these are two logi- + cally separate attributes (one line _v_s. multi-line insert mode, and spe- + cial treatment of untyped spaces), we have seen no terminals whose insert + mode cannot be described with the single attribute. + + TTeerrmmccaapp can describe both terminals that have an insert mode and termi- + nals that send a simple sequence to open a blank position on the current + line. Give as iimm the sequence to get into insert mode. Give as eeii the + sequence to leave insert mode. Now give as iicc any sequence that needs to + be sent just before each character to be inserted. Most terminals with a + true insert mode will not give iicc; terminals that use a sequence to open + a screen position should give it here. (If your terminal has both, in- + sert mode is usually preferable to iicc. Do not give both unless the termi- + nal actually requires both to be used in combination.) If post-insert + padding is needed, give this as a number of milliseconds in iipp (a string + option). Any other sequence that may need to be sent after insertion of + a single character can also be given in iipp. If your terminal needs to be + placed into an `insert mode' and needs a special code preceding each in- + serted character, then both iimm/ eeii and iicc can be given, and both will be + used. The IICC capability, with one parameter _n, will repeat the effects + of iicc _n times. + + It is occasionally necessary to move around while in insert mode to + delete characters on the same line (_e_._g., if there is a tab after the in- + sertion position). If your terminal allows motion while in insert mode, + you can give the capability mmii to speed up inserting in this case. Omit- + ting mmii will affect only speed. Some terminals (notably Datamedia's) + must not have mmii because of the way their insert mode works. + + Finally, you can specify ddcc to delete a single character, DDCC with one pa- + rameter _n to delete _n characters, and delete mode by giving ddmm and eedd to + enter and exit delete mode (which is any mode the terminal needs to be + placed in for ddcc to work). + + HHiigghhlliigghhttiinngg,, UUnnddeerrlliinniinngg,, aanndd VViissiibbllee BBeellllss + If your terminal has one or more kinds of display attributes, these can + be represented in a number of different ways. You should choose one dis- + play form as _s_t_a_n_d_o_u_t _m_o_d_e, representing a good high-contrast, easy-on- + the-eyes format for highlighting error messages and other attention get- + ters. (If you have a choice, reverse video plus half-bright is good, or + reverse video alone.) The sequences to enter and exit standout mode are + given as ssoo and ssee, respectively. If the code to change into or out of + standout mode leaves one or even two blank spaces or garbage characters + on the screen, as the TVI 912 and Teleray 1061 do, then ssgg should be giv- + en to tell how many characters are left. + + Codes to begin underlining and end underlining can be given as uuss and uuee, + respectively. Underline mode change garbage is specified by uugg, similar + to ssgg. If the terminal has a code to underline the current character and + move the cursor one position to the right, such as the Microterm Mime, + this can be given as uucc. + + Other capabilities to enter various highlighting modes include mmbb (blink- + ing), mmdd (bold or extra bright), mmhh (dim or half-bright), mmkk (blanking or + invisible text), mmpp (protected), mmrr (reverse video), mmee (turn off _a_l_l at- + tribute modes), aass (enter alternate character set mode), and aaee (exit al- + ternate character set mode). Turning on any of these modes singly may or + may not turn off other modes. + + If there is a sequence to set arbitrary combinations of mode, this should + be given as ssaa (set attributes), taking 9 parameters. Each parameter is + either 0 or 1, as the corresponding attributes is on or off. The 9 pa- + rameters are, in order: standout, underline, reverse, blink, dim, bold, + blank, protect, and alternate character set. Not all modes need be sup- + ported by ssaa, only those for which corresponding attribute commands ex- + ist. (It is unlikely that a tteerrmmccaapp-using program will support this ca- + pability, which is defined for compatibility with terminfo.) + + Terminals with the ``magic cookie'' glitches (ssgg and uugg), rather than + maintaining extra attribute bits for each character cell, instead deposit + special ``cookies'', or ``garbage characters ,,'' when they receive mode- + setting sequences, which affect the display algorithm. + + Some terminals, such as the Hewlett-Packard 2621, automatically leave + standout mode when they move to a new line or when the cursor is ad- + dressed. Programs using standout mode should exit standout mode on such + terminals before moving the cursor or sending a newline. On terminals + where this is not a problem, the mmss capability should be present to say + that this overhead is unnecessary. + + If the terminal has a way of flashing the screen to indicate an error + quietly (a bell replacement), this can be given as vvbb; it must not move + the cursor. + + If the cursor needs to be made more visible than normal when it is not on + the bottom line (to change, for example, a non-blinking underline into an + easier-to-find block or blinking underline), give this sequence as vvss. If + there is a way to make the cursor completely invisible, give that as vvii. + The capability vvee, which undoes the effects of both of these modes, + should also be given. + + If your terminal correctly displays underlined characters (with no spe- + cial codes needed) even though it does not overstrike, then you should + give the capability uull. If overstrikes are erasable with a blank, this + should be indicated by giving eeoo. + + KKeeyyppaadd + If the terminal has a keypad that transmits codes when the keys are + pressed, this information can be given. Note that it is not possible to + handle terminals where the keypad only works in local mode (this applies, + for example, to the unshifted Hewlett-Packard 2621 keys). If the keypad + can be set to transmit or not transmit, give these codes as kkss and kkee. + Otherwise the keypad is assumed to always transmit. The codes sent by + the left-arrow, right-arrow, up-arrow, down-arrow, and home keys can be + given as kkll, kkrr, kkuu, kkdd, and kkhh, respectively. If there are function + keys such as f0, f1, ..., f9, the codes they send can be given as kk00, kk11, + kk99. If these keys have labels other than the default f0 through f9, the + labels can be given as ll00, ll11, ll99. The codes transmitted by certain other + special keys can be given: kkHH (home down), kkbb (backspace), kkaa (clear all + tabs), kktt (clear the tab stop in this column), kkCC (clear screen or + erase), kkDD (delete character), kkLL (delete line), kkMM (exit insert mode), + kkEE (clear to end of line), kkSS (clear to end of screen), kkII (insert char- + acter or enter insert mode), kkAA (insert line), kkNN (next page), kkPP (previ- + ous page), kkFF (scroll forward/down), kkRR (scroll backward/up), and kkTT (set + a tab stop in this column). In addition, if the keypad has a 3 by 3 ar- + ray of keys including the four arrow keys, then the other five keys can + be given as KK11, KK22, KK33, KK44, and KK55. These keys are useful when the ef- + fects of a 3 by 3 directional pad are needed. The obsolete kkoo capability + formerly used to describe ``other'' function keys has been completely + supplanted by the above capabilities. + + The mmaa entry is also used to indicate arrow keys on terminals that have + single-character arrow keys. It is obsolete but still in use in version + 2 of vvii which must be run on some minicomputers due to memory limita- + tions. This field is redundant with kkll, kkrr, kkuu, kkdd, and kkhh. It consists + of groups of two characters. In each group, the first character is what + an arrow key sends, and the second character is the corresponding vvii com- + mand. These commands are _h for kkll, _j for kkdd, _k for kkuu, _l for kkrr, and _H + for kkhh. For example, the Mime would have ``ma=^Hh^Kj^Zk^Xl'' indicating + arrow keys left (^H), down (^K), up (^Z), and right (^X). (There is no + home key on the Mime.) + + TTaabbss aanndd IInniittiiaalliizzaattiioonn + If the terminal needs to be in a special mode when running a program that + uses these capabilities, the codes to enter and exit this mode can be + given as ttii and ttee. This arises, for example, from terminals like the + Concept with more than one page of memory. If the terminal has only mem- + ory-relative cursor addressing and not screen-relative cursor addressing, + a screen-sized window must be fixed into the display for cursor address- + ing to work properly. This is also used for the Tektronix 4025, where ttii + sets the command character to be the one used by tteerrmmccaapp. + + Other capabilities include iiss, an initialization string for the terminal, + and iiff, the name of a file containing long initialization strings. These + strings are expected to set the terminal into modes consistent with the + rest of the tteerrmmccaapp description. They are normally sent to the terminal + by the tset program each time the user logs in. They will be printed in + the following order: iiss; setting tabs using cctt and sstt; and finally iiff. + (Terminfo uses ii11--ii22 instead of iiss and runs the program iiPP and prints ii33 + after the other initializations.) A pair of sequences that does a harder + reset from a totally unknown state can be analogously given as rrss and iiff. + These strings are output by the reset program, which is used when the + terminal gets into a wedged state. (Terminfo uses rr11--rr33 instead of rrss.) + Commands are normally placed in rrss and rrff only if they produce annoying + effects on the screen and are not necessary when logging in. For exam- + ple, the command to set the VT100 into 80-column mode would normally be + part of iiss, but it causes an annoying glitch of the screen and is not + normally needed since the terminal is usually already in 80-column mode. + + If the terminal has hardware tabs, the command to advance to the next tab + stop can be given as ttaa (usually ^^II). A ``backtab'' command which moves + leftward to the previous tab stop can be given as bbtt. By convention, if + the terminal driver modes indicate that tab stops are being expanded by + the computer rather than being sent to the terminal, programs should not + use ttaa or bbtt even if they are present, since the user may not have the + tab stops properly set. If the terminal has hardware tabs that are ini- + tially set every _n positions when the terminal is powered up, then the + numeric parameter iitt is given, showing the number of positions between + tab stops. This is normally used by the tset command to determine + whether to set the driver mode for hardware tab expansion, and whether to + set the tab stops. If the terminal has tab stops that can be saved in + nonvolatile memory, the tteerrmmccaapp description can assume that they are + properly set. + + If there are commands to set and clear tab stops, they can be given as cctt + (clear all tab stops) and sstt (set a tab stop in the current column of ev- + ery row). If a more complex sequence is needed to set the tabs than can + be described by this, the sequence can be placed in iiss or iiff. + + DDeellaayyss + Certain capabilities control padding in the terminal driver. These are + primarily needed by hardcopy terminals and are used by the tset program + to set terminal driver modes appropriately. Delays embedded in the capa- + bilities ccrr, ssff, llee, ffff, and ttaa will cause the appropriate delay bits to + be set in the terminal driver. If ppbb (padding baud rate) is given, these + values can be ignored at baud rates below the value of ppbb. For 4.2BSD + tset, the delays are given as numeric capabilities ddCC, ddNN, ddBB, ddFF, and + ddTT instead. + + MMiisscceellllaanneeoouuss + If the terminal requires other than a NUL (zero) character as a pad, this + can be given as ppcc. Only the first character of the ppcc string is used. + + If the terminal has commands to save and restore the position of the cur- + sor, give them as sscc and rrcc. + + If the terminal has an extra ``status line'' that is not normally used by + software, this fact can be indicated. If the status line is viewed as an + extra line below the bottom line, then the capability hhss should be given. + Special strings to go to a position in the status line and to return from + the status line can be given as ttss and ffss. (fs must leave the cursor po- + sition in the same place that it was before ttss. If necessary, the sscc and + rrcc strings can be included in ttss and ffss to get this effect.) The capa- + bility ttss takes one parameter, which is the column number of the status + line to which the cursor is to be moved. If escape sequences and other + special commands such as tab work while in the status line, the flag eess + can be given. A string that turns off the status line (or otherwise + erases its contents) should be given as ddss. The status line is normally + assumed to be the same width as the rest of the screen, _i_._e., ccoo. If the + status line is a different width (possibly because the terminal does not + allow an entire line to be loaded), then its width in columns can be in- + dicated with the numeric parameter wwss. + + If the terminal can move up or down half a line, this can be indicated + with hhuu (half-line up) and hhdd (half-line down). This is primarily useful + for superscripts and subscripts on hardcopy terminals. If a hardcopy + terminal can eject to the next page (form feed), give this as ffff (usually + ^^LL). + + If there is a command to repeat a given character a given number of times + (to save time transmitting a large number of identical characters), this + can be indicated with the parameterized string rrpp. The first parameter is + the character to be repeated and the second is the number of times to re- + peat it. (This is a terminfo feature that is unlikely to be supported by + a program that uses tteerrmmccaapp.) + + If the terminal has a settable command character, such as the Tektronix + 4025, this can be indicated with CCCC. A prototype command character is + chosen which is used in all capabilities. This character is given in the + CCCC capability to identify it. The following convention is supported on + some UNIX systems: The environment is to be searched for a CC variable, + and if found, all occurrences of the prototype character are replaced by + the character in the environment variable. This use of the CC environ- + ment variable is a very bad idea, as it conflicts with make(1). + + Terminal descriptions that do not represent a specific kind of known ter- + minal, such as _s_w_i_t_c_h, _d_i_a_l_u_p, _p_a_t_c_h, and network, should include the ggnn + (generic) capability so that programs can complain that they do not know + how to talk to the terminal. (This capability does not apply to _v_i_r_t_u_a_l + terminal descriptions for which the escape sequences are known.) + + If the terminal uses xoff/xon (DC3/DC1) handshaking for flow control, + give xxoo. Padding information should still be included so that routines + can make better decisions about costs, but actual pad characters will not + be transmitted. + + If the terminal has a ``meta key'' which acts as a shift key, setting the + 8th bit of any character transmitted, then this fact can be indicated + with kkmm. Otherwise, software will assume that the 8th bit is parity and + it will usually be cleared. If strings exist to turn this ``meta mode'' + on and off, they can be given as mmmm and mmoo. + + If the terminal has more lines of memory than will fit on the screen at + once, the number of lines of memory can be indicated with llmm. An explicit + value of 0 indicates that the number of lines is not fixed, but that + there is still more memory than fits on the screen. + + If the terminal is one of those supported by the UNIX system virtual ter- + minal protocol, the terminal number can be given as vvtt. + + Media copy strings which control an auxiliary printer connected to the + terminal can be given as ppss: print the contents of the screen; ppff: turn + off the printer; and ppoo: turn on the printer. When the printer is on, + all text sent to the terminal will be sent to the printer. It is unde- + fined whether the text is also displayed on the terminal screen when the + printer is on. A variation ppOO takes one parameter and leaves the printer + on for as many characters as the value of the parameter, then turns the + printer off. The parameter should not exceed 255. All text, including + ppff, is transparently passed to the printer while ppOO is in effect. + + Strings to program function keys can be given as ppkk, ppll, and ppxx. Each of + these strings takes two parameters: the function key number to program + (from 0 to 9) and the string to program it with. Function key numbers + out of this range may program undefined keys in a terminal-dependent man- + ner. The differences among the capabilities are that ppkk causes pressing + the given key to be the same as the user typing the given string; ppll + causes the string to be executed by the terminal in local mode; and ppxx + causes the string to be transmitted to the computer. Unfortunately, due + to lack of a definition for string parameters in tteerrmmccaapp, only terminfo + supports these capabilities. + + GGlliittcchheess aanndd BBrraaiinnddaammaaggee + Hazeltine terminals, which do not allow `~' characters to be displayed, + should indicate hhzz. + + The nncc capability, now obsolete, formerly indicated Datamedia terminals, + which echo \\rr \\nn for carriage return then ignore a following linefeed. + + Terminals that ignore a linefeed immediately after an aamm wrap, such as + the Concept, should indicate xxnn. + + If ccee is required to get rid of standout (instead of merely writing nor- + mal text on top of it), xxss should be given. + + Teleray terminals, where tabs turn all characters moved over to blanks, + should indicate xxtt (destructive tabs). This glitch is also taken to mean + that it is not possible to position the cursor on top of a magic cookie, + and that to erase standout mode it is necessary to use delete and insert + line. + + The Beehive Superbee, which is unable to correctly transmit the ESC or ^^CC + characters, has xxbb, indicating that the ``f1'' key is used for ESC and + ``f2'' for ^C. (Only certain Superbees have this problem, depending on + the ROM.) + + Other specific terminal problems may be corrected by adding more capabil- + ities of the form xx _x. + + SSiimmiillaarr TTeerrmmiinnaallss + If there are two very similar terminals, one can be defined as being just + like the other with certain exceptions. The string capability ttcc can be + given with the name of the similar terminal. This capability must be + _l_a_s_t, and the combined length of the entries must not exceed 1024. The + capabilities given before ttcc override those in the terminal type invoked + by ttcc. A capability can be canceled by placing xxxx@@ to the left of the ttcc + invocation, where xxxx is the capability. For example, the entry + + hn|2621-nl:ks@:ke@:tc=2621: + + defines a ``2621-nl'' that does not have the kkss or kkee capabilities, hence + does not turn on the function key labels when in visual mode. This is + useful for different modes for a terminal, or for different user prefer- + ences. + +FFIILLEESS + /usr/share/misc/termcap File containing terminal descriptions. + /usr/share/misc/termcap.db Hash database file containing terminal de- + scriptions (see cap_mkdb(1)). + +SSEEEE AALLSSOO + ex(1), cap_mkdb(1), more(1), tset(1), ul(1), vi(1), curses(3), + printf(3), termcap(3), term(7) + +CCAAVVEEAATTSS AANNDD BBUUGGSS + The _N_o_t_e: tteerrmmccaapp functions were replaced by terminfo in AT&T System V + UNIX Release 2.0. The transition will be relatively painless if capabil- + ities flagged as ``obsolete'' are avoided. + + Lines and columns are now stored by the kernel as well as in the termcap + entry. Most programs now use the kernel information primarily; the in- + formation in this file is used only if the kernel does not have any in- + formation. + + Vi allows only 256 characters for string capabilities, and the routines + in termlib(3) do not check for overflow of this buffer. The total length + of a single entry (excluding only escaped newlines) may not exceed 1024. + + Not all programs support all entries. + +HHIISSTTOORRYY + The tteerrmmccaapp file format appeared in 3BSD. + +3rd Berkeley Distribution June 8, 1993 14 diff --git a/usr/share/man/cat5/types.0 b/usr/share/man/cat5/types.0 new file mode 100644 index 0000000000..f09cb1efe1 --- /dev/null +++ b/usr/share/man/cat5/types.0 @@ -0,0 +1,109 @@ +TYPES(5) BSD Programmer's Manual TYPES(5) + +NNAAMMEE + ttyyppeess - system data types + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The file _s_y_s_/_t_y_p_e_s_._h contains the defined data types used in the kernel + (most are used through out the system). + + #ifndef _TYPES_H_ + #define _TYPES_H_ + + typedef short dev_t; + #ifndef _POSIX_SOURCE + /* major part of a device */ + #define major(x) ((int)(((unsigned)(x)>>8)&0377)) + /* minor part of a device */ + #define minor(x) ((int)((x)&0377)) + /* make a device number */ + #define makedev(x,y) ((dev_t)(((x)<<8) | (y))) + #endif + + typedef unsigned char u_char; + typedef unsigned short u_short; + typedef unsigned int u_int; + typedef unsigned long u_long; + typedef unsigned short ushort; /* Sys V compatibility */ + + #include + #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) + #include + #endif + + #ifdef _CLOCK_T_ + typedef _CLOCK_T_ clock_t; + #undef _CLOCK_T_ + #endif + + #ifdef _SIZE_T_ + typedef _SIZE_T_ size_t; + #undef _SIZE_T_ + #endif + + #ifdef _TIME_T_ + typedef _TIME_T_ time_t; + #undef _TIME_T_ + #endif + + #ifndef _POSIX_SOURCE + typedef struct _uquad { unsigned long val[2]; } u_quad; + typedef struct _quad { long val[2]; } quad; + #endif + typedef long * qaddr_t; /* should be typedef quad * qaddr_t; */ + + typedef long daddr_t; + typedef char * caddr_t; + typedef u_long ino_t; + typedef long swblk_t; + typedef long segsz_t; + typedef long off_t; + typedef u_short uid_t; + typedef u_short gid_t; + typedef short pid_t; + typedef u_short nlink_t; + typedef u_short mode_t; + typedef u_long fixpt_t; + + #ifndef _POSIX_SOURCE + #define NBBY 8 /* number of bits in a byte */ + + /* + * Select uses bit masks of file descriptors in longs. These macros + * manipulate such bit fields (the filesystem macros use chars). + * FD_SETSIZE may be defined by the user, but the default here should + * be >= NOFILE (param.h). + */ + #ifndef FD_SETSIZE + #define FD_SETSIZE 256 + #endif + + typedef long fd_mask; + #define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ + + #ifndef howmany + #define howmany(x, y) (((x)+((y)-1))/(y)) + #endif + + typedef struct fd_set { + fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; + } fd_set; + + #define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS))) + #define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) + #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) + #define FD_ZERO(p) bzero((char *)(p), sizeof(*(p))) + + #endif /* !_POSIX_SOURCE */ + #endif /* !_TYPES_H_ */ + +SSEEEE AALLSSOO + fs(5), time(3), lseek(2), adb(1) + +HHIISSTTOORRYY + A ttyyppeess file appeared in Version 7 AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/tzfile.0 b/usr/share/man/cat5/tzfile.0 new file mode 100644 index 0000000000..8644ca1de3 --- /dev/null +++ b/usr/share/man/cat5/tzfile.0 @@ -0,0 +1,78 @@ +TZFILE(5) BSD Programmer's Manual TZFILE(5) + +NNAAMMEE + ttzzffiillee - time zone information + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The time zone information files used by tzset(3) begin with bytes re- + served for future use, followed by four four-byte values of type _l_o_n_g, + written in a ``standard'' byte order (the high-order byte of the value is + written first). These values are, in order: + + _t_z_h___t_t_i_s_s_t_d_c_n_t The number of standard/wall indicators stored in the + file. + + _t_z_h___l_e_a_p_c_n_t The number of leap seconds for which data is stored in + the file. + + _t_z_h___t_i_m_e_c_n_t The number of "transition times" for which data is stored + in the file. + + _t_z_h___t_y_p_e_c_n_t The number of "local time types" for which data is stored + in the file (must not be zero). + + _t_z_h___c_h_a_r_c_n_t The number of characters of "time zone abbreviation + strings" stored in the file. + + The above header is followed by _t_z_h___t_i_m_e_c_n_t four-byte values of type + _l_o_n_g, sorted in ascending order. These values are written in ``stan- + dard'' byte order. Each is used as a transition time (as returned by + time(2)) at which the rules for computing local time change. Next come + _t_z_h___t_i_m_e_c_n_t one-byte values of type _u_n_s_i_g_n_e_d _c_h_a_r; each one tells which + of the different types of ``local time'' types described in the file is + associated with the same-indexed transition time. These values serve as + indices into an array of _t_t_i_n_f_o structures that appears next in the file; + these structures are defined as follows: + + struct ttinfo { + long tt_gmtoff; + int tt_isdst; + unsigned int tt_abbrind; + }; + + Each structure is written as a four-byte value for _t_t___g_m_t_o_f_f of type + _l_o_n_g, in a standard byte order, followed by a one-byte value for _t_t___i_s_d_s_t + and a one-byte value for _t_t___a_b_b_r_i_n_d. In each structure, _t_t___g_m_t_o_f_f gives + the number of seconds to be added to GMT, _t_t___i_s_d_s_t tells whether _t_m___i_s_d_s_t + should be set by localtime(3) and _t_t___a_b_b_r_i_n_d serves as an index into the + array of time zone abbreviation characters that follow the _t_t_i_n_f_o struc- + ture(s) in the file. + + Then there are _t_z_h___l_e_a_p_c_n_t pairs of four-byte values, written in standard + byte order; the first value of each pair gives the time (as returned by + time(2)) at which a leap second occurs; the second gives the _t_o_t_a_l num- + ber of leap seconds to be applied after the given time. The pairs of + values are sorted in ascending order by time. + + Finally there are _t_z_h___t_t_i_s_s_t_d_c_n_t standard/wall indicators, each stored as + a one-byte value; they tell whether the transition times associated with + local time types were specified as standard time or wall clock time, and + are used when a time zone file is used in handling POSIX-style time zone + environment variables. + + + _L_o_c_a_l_t_i_m_e uses the first standard-time _t_t_i_n_f_o structure in the file (or + simply the first _t_t_i_n_f_o structure in the absence of a standard-time + structure) if either _t_z_h___t_i_m_e_c_n_t is zero or the time argument is less + than the first transition time recorded in the file. + +SSEEEE AALLSSOO + ctime(3) + +HHIISSTTOORRYY + The ttzzffiillee file format appeared in 4.3BSDtahoe. + +4.4BSD June 8, 1993 2 diff --git a/usr/share/man/cat5/utmp.0 b/usr/share/man/cat5/utmp.0 new file mode 100644 index 0000000000..b102103d34 --- /dev/null +++ b/usr/share/man/cat5/utmp.0 @@ -0,0 +1,85 @@ +UTMP(5) BSD Programmer's Manual UTMP(5) + +NNAAMMEE + uuttmmpp, wwttmmpp, llaassttlloogg - login records + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The file <_u_t_m_p_._h> declares the structures used to record information + about current users in the file uuttmmpp, logins and logouts in the file + wwttmmpp, and last logins in the file llaassttlloogg. The time stamps of date + changes, shutdowns and reboots are also logged in the wwttmmpp file. + + These files can grow rapidly on busy systems, daily or weekly rotation is + recommended. If any of these files do not exist, it is not created. + These files must be created manually and are normally maintained in ei- + ther the script _/_e_t_c_/_d_a_i_l_y or the script _/_e_t_c_/_w_e_e_k_l_y. (See cron(8).) + + #define _PATH_UTMP "/var/run/utmp" + #define _PATH_WTMP "/var/log/wtmp" + #define _PATH_LASTLOG "/var/log/lastlog" + + #define UT_NAMESIZE 8 + #define UT_LINESIZE 8 + #define UT_HOSTSIZE 16 + + struct lastlog { + time_t ll_time; + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; + }; + + struct utmp { + char ut_line[UT_LINESIZE]; + char ut_name[UT_NAMESIZE]; + char ut_host[UT_HOSTSIZE]; + long ut_time; + }; + + Each time a user logs in, the login program looks up the user's UID in + the file llaassttlloogg.. If it is found, the timestamp of the last time the user + logged in, the terminal line and the hostname are written to the standard + output. (Providing the login is not _q_u_i_e_t, see login(1).) The login pro- + gram then records the new login time in the file llaassttlloogg. + + After the new _l_a_s_t_l_o_g record is written , the file uuttmmpp is opened and the + _u_t_m_p record for the user inserted. This record remains there until the + user logs out at which time it is deleted. The uuttmmpp file is used by the + programs rwho(1), users(1), w(1), and who(1). + + Next, the login program opens the file wwttmmpp, and appends the user's _u_t_m_p + record. The same _u_t_m_p record, with an updated time stamp is later ap- + pended to the file when the user logs out. (See init(8).) The wwttmmpp file + is used by the programs last(1) and ac(8). + + In the event of a date change, a shutdown or reboot, the following items + are logged in the wwttmmpp file. + + reboot + shutdown A system reboot or shutdown has been initiated. The charac- + ter `~' is placed in the field _u_t___l_i_n_e, and reboot or + shutdown in the field _u_t___n_a_m_e. (See shutdown(8) and + reboot(8).) + + + date The system time has been manually or automatically updated. + (See date(1).) The command name date is recorded in the + field _u_t___n_a_m_e. In the field _u_t___l_i_n_e, the character `{' indi- + cates the time prior to the change, and the character `|' in- + dicates the new time. + +FFIILLEESS + /var/run/utmp The uuttmmpp ffiillee.. + /var/log/wtmp The wwttmmpp ffiillee.. + /var/log/lastlog The llaassttlloogg ffiillee.. + +SSEEEE AALLSSOO + last(1), login(1), who(1), ac(8), init(8) + +HHIISSTTOORRYY + A uuttmmpp and wwttmmpp file format appeared in Version 6 AT&T UNIX. The llaassttlloogg + file format appeared in 3.0BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat5/wtmp.0 b/usr/share/man/cat5/wtmp.0 new file mode 100644 index 0000000000..b102103d34 --- /dev/null +++ b/usr/share/man/cat5/wtmp.0 @@ -0,0 +1,85 @@ +UTMP(5) BSD Programmer's Manual UTMP(5) + +NNAAMMEE + uuttmmpp, wwttmmpp, llaassttlloogg - login records + +SSYYNNOOPPSSIISS + ##iinncclluuddee <> + +DDEESSCCRRIIPPTTIIOONN + The file <_u_t_m_p_._h> declares the structures used to record information + about current users in the file uuttmmpp, logins and logouts in the file + wwttmmpp, and last logins in the file llaassttlloogg. The time stamps of date + changes, shutdowns and reboots are also logged in the wwttmmpp file. + + These files can grow rapidly on busy systems, daily or weekly rotation is + recommended. If any of these files do not exist, it is not created. + These files must be created manually and are normally maintained in ei- + ther the script _/_e_t_c_/_d_a_i_l_y or the script _/_e_t_c_/_w_e_e_k_l_y. (See cron(8).) + + #define _PATH_UTMP "/var/run/utmp" + #define _PATH_WTMP "/var/log/wtmp" + #define _PATH_LASTLOG "/var/log/lastlog" + + #define UT_NAMESIZE 8 + #define UT_LINESIZE 8 + #define UT_HOSTSIZE 16 + + struct lastlog { + time_t ll_time; + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; + }; + + struct utmp { + char ut_line[UT_LINESIZE]; + char ut_name[UT_NAMESIZE]; + char ut_host[UT_HOSTSIZE]; + long ut_time; + }; + + Each time a user logs in, the login program looks up the user's UID in + the file llaassttlloogg.. If it is found, the timestamp of the last time the user + logged in, the terminal line and the hostname are written to the standard + output. (Providing the login is not _q_u_i_e_t, see login(1).) The login pro- + gram then records the new login time in the file llaassttlloogg. + + After the new _l_a_s_t_l_o_g record is written , the file uuttmmpp is opened and the + _u_t_m_p record for the user inserted. This record remains there until the + user logs out at which time it is deleted. The uuttmmpp file is used by the + programs rwho(1), users(1), w(1), and who(1). + + Next, the login program opens the file wwttmmpp, and appends the user's _u_t_m_p + record. The same _u_t_m_p record, with an updated time stamp is later ap- + pended to the file when the user logs out. (See init(8).) The wwttmmpp file + is used by the programs last(1) and ac(8). + + In the event of a date change, a shutdown or reboot, the following items + are logged in the wwttmmpp file. + + reboot + shutdown A system reboot or shutdown has been initiated. The charac- + ter `~' is placed in the field _u_t___l_i_n_e, and reboot or + shutdown in the field _u_t___n_a_m_e. (See shutdown(8) and + reboot(8).) + + + date The system time has been manually or automatically updated. + (See date(1).) The command name date is recorded in the + field _u_t___n_a_m_e. In the field _u_t___l_i_n_e, the character `{' indi- + cates the time prior to the change, and the character `|' in- + dicates the new time. + +FFIILLEESS + /var/run/utmp The uuttmmpp ffiillee.. + /var/log/wtmp The wwttmmpp ffiillee.. + /var/log/lastlog The llaassttlloogg ffiillee.. + +SSEEEE AALLSSOO + last(1), login(1), who(1), ac(8), init(8) + +HHIISSTTOORRYY + A uuttmmpp and wwttmmpp file format appeared in Version 6 AT&T UNIX. The llaassttlloogg + file format appeared in 3.0BSD. + +4th Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat7/ascii.0 b/usr/share/man/cat7/ascii.0 new file mode 100644 index 0000000000..b1a54ef255 --- /dev/null +++ b/usr/share/man/cat7/ascii.0 @@ -0,0 +1,71 @@ +ASCII(7) BSD Reference Manual ASCII(7) + +NNAAMMEE + aasscciiii - octal, hexadecimal and decimal ASCII character sets + +DDEESSCCRRIIPPTTIIOONN + The ooccttaall set: + + 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 + + The hheexxaaddeecciimmaall set: + + 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 + + The ddeecciimmaall set: + + 0 nul 1 soh 2 stx 3 etx 4 eot 5 enq 6 ack 7 bel + 8 bs 9 ht 10 nl 11 vt 12 np 13 cr 14 so 15 si + 16 dle 17 dc1 18 dc2 19 dc3 20 dc4 21 nak 22 syn 23 etb + 24 can 25 em 26 sub 27 esc 28 fs 29 gs 30 rs 31 us + 32 sp 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' + 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / + 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 + 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? + 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G + 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O + 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W + 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _ + 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g + 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o + 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w + 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 del + +FFIILLEESS + + /usr/share/misc/ascii + +HHIISSTTOORRYY + An aasscciiii manual page appeared in Version 7 AT&T UNIX. + +4.4BSD June 5, 1993 2 diff --git a/usr/share/man/cat7/environ.0 b/usr/share/man/cat7/environ.0 new file mode 100644 index 0000000000..1f87de3c37 --- /dev/null +++ b/usr/share/man/cat7/environ.0 @@ -0,0 +1,74 @@ +ENVIRON(7) BSD Reference Manual ENVIRON(7) + +NNAAMMEE + eennvviirroonn - user environment + +SSYYNNOOPPSSIISS + _e_x_t_e_r_n _c_h_a_r _*_*_e_n_v_i_r_o_n; + +DDEESSCCRRIIPPTTIIOONN + An array of strings called the _e_n_v_i_r_o_n_m_e_n_t is made available by execve(2) + when a process begins. By convention these strings have the form + ``_n_a_m_e_=_v_a_l_u_e''. The following names are used by various commands: + + BLOCKSIZE The size of the block units used by several commands, most no- + tably df(1), du(1) and ls(1). BLOCKSIZE may be specified in + units of a byte by specifying a number, in units of a kilobyte + by specifying a number followed by ``K'' or ``k'', in units of + a megabyte by specifying a number followed by ``M'' or ``m'' + and in units of a gigabyte by specifying a number followed by + ``G'' or ``g''. Sizes less than 512 bytes or greater than a + gigabyte are ignored. + + EXINIT A startup list of commands read by ex(1), edit(1), and + vi(1). + + HOME A user's login directory, set by login(1) from the password + file passwd(5). + + PATH The sequence of directories, separated by colons, searched by + csh(1), sh(1), system(3), execvp(3), etc, when looking for + an executable file. PATH is set to + ``:/usr/ucb:/bin:/usr/bin'' initially by login(1). + + PRINTER The name of the default printer to be used by lpr(1), lpq(1), + and lprm(1). + + SHELL The full pathname of the user's login shell. + + TERM The kind of terminal for which output is to be prepared. This + information is used by commands, such as nroff(1) or plot(1) + which may exploit special terminal capabilities. See + _/_u_s_r_/_s_h_a_r_e_/_m_i_s_c_/_t_e_r_m_c_a_p (tmercap(5)) for a list of terminal + types. + + TERMCAP The string describing the terminal in TERM, or, if it begins + with a '/', the name of the termcap file. See TERMPATH below, + termcap(5), and termcap. + + TERMPATH A sequence of pathnames of termcap files, separated by colons + or spaces, which are searched for terminal descriptions in the + order listed. Having no TERMPATH is equivalent to a TERMPATH + of ``_$_H_O_M_E_/_._t_e_r_m_c_a_p_:_/_e_t_c_/_t_e_r_m_c_a_p''. TERMPATH is ignored if + TERMCAP contains a full pathname. + + TMPDIR The directory in which to store temporary files. Most appli- + cations use either ``/tmp'' or ``/var/tmp''. Setting this + variable will make them use another directory. + + USER The login name of the user. + + Further names may be placed in the environment by the export command and + _n_a_m_e_=_v_a_l_u_e arguments in sh(1), or by the setenv command if you use + csh(1). It is unwise to change certain sh(1) variables that are fre- + quently exported by _._p_r_o_f_i_l_e files, such as MAIL, PS1, PS2, and IFS, un- + less you know what you are doing. + +SSEEEE AALLSSOO + csh(1), ex(1), login(1), sh(1), execve(2), execle(3), system(3), + termcap(3), termcap(5) + +HHIISSTTOORRYY + The eennvviirroonn manual page appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 2 diff --git a/usr/share/man/cat7/eqnchar.0 b/usr/share/man/cat7/eqnchar.0 new file mode 100644 index 0000000000..a36b440fd8 --- /dev/null +++ b/usr/share/man/cat7/eqnchar.0 @@ -0,0 +1,132 @@ + + + +EQNCHAR(7) BSD Reference Manual EQNCHAR(7) + + +tdefine ciplus % "+O" % ndefine ciplus % O+ % tdefine citimes % "xO" +% ndefine citimes % Ox % tdefine =wig % "=~~" % ndefine =wig % ="~" % +tdefine bigstar % "+x" % ndefine bigstar % X|- % tdefine =dot % "=." +% ndefine =dot % = dot % tdefine orsign % "\\//" % ndefine orsign % +\/ % tdefine andsign % "//\\" % ndefine andsign % /\ % tdefine =del +% "=_/_\" % ndefine =del % = to DELTA % tdefine oppA % "\\//----" % ndefine +oppA % V- % tdefine oppE %"------||" % ndefine oppE % E/ % tdefine incl % +"|------" % ndefine incl % C_ % tdefine nomem % "E/" % ndefine nomem % C-/ +% tdefine angstrom % "Ao" % ndefine angstrom % A to o % tdefine +star %{ roman "*"}% ndefine star % * % tdefine || % || % tdefine +wig % ">~" % +ndefine >wig %{ > from "~" }\% tdefine langle % "\" % ndefine lan- +gle %<% tdefine rangle % "/" % ndefine rangle %>% tdefine hbar % +"h_" % ndefine hbar % h- % ndefine ppd % _| % tdefine ppd % "_|" % +tdefine <-> % "<-->" % ndefine <-> % "<-->" % tdefine <=> % "<==>" % +ndefine <=> % "<=>" % tdefine |< % "<|" % ndefine |< % <| % tdefine +|> % ">|" % ndefine |> % |> % tdefine ang % "/_" % ndefine ang % /_ % +tdefine rang % "|_" % ndefine rang % L % tdefine 3dot % "..." % nde- +fine 3dot % ... % tdefine thf % "..." % ndefine thf % ... % tdefine +quarter % roman 1/4 % ndefine quarter % 1/4 % tdefine 3quarter % +roman 3/4 % ndefine 3quarter % 3/4 % tdefine degree % o % ndefine +degree % nothing sup o % tdefine square % [] % ndefine square % +[] % tdefine circle % O % ndefine circle % O % tdefine blot % +"[[]]" % ndefine blot % HIX % tdefine bullet % +o % ndefine bullet % oxe +% tdefine -wig % "~=" % ndefine -wig % - to "~" % tdefine wig % ~ +% ndefine wig % "~" % tdefine prop % oc % ndefine prop % oc % +tdefine empty % {} % ndefine empty % O/ % tdefine member % E % +ndefine member % C- % tdefine cup % U % ndefine cup % U % define +cap % (^) % define subset % (= % define supset % =) % define +!subset % (=_ % define !supset % =_) % + +NNAAMMEE + eqnchar - special character definitions for eqn + +SSYYNNOOPPSSIISS + eeqqnn //uussrr//sshhaarree//mmiisscc//eeqqnncchhaarr [ files ] || ttrrooffff [ options ] + + nneeqqnn //uussrr//ppuubb//eeqqnncchhaarr [ files ] || nnrrooffff [ options ] + +DDEESSCCRRIIPPTTIIOONN + _E_q_n_c_h_a_r contains _t_r_o_f_f and _n_r_o_f_f character definitions for + constructing characters that are not available on the + Graphic Systems typesetter. These definitions are primar- + ily intended for use with _e_q_n and _n_e_q_n. It contains defi- + nitions for the following characters + + "ciplus" ciplus "||" || "square" square + "citimes" citimes "langle" langle "circle" circle + "wig" wig "rangle" rangle "blot" blot + "-wig" -wig "hbar" hbar "bullet" bullet + ">wig" >wig "ppd" ppd "prop" prop + + + +3rd Berkeley Distribution May 20, 1985 1 + + + + + + + + +EQNCHAR(7) BSD Reference Manual EQNCHAR(7) + + + "" <-> "empty" empty + "=wig" =wig "<=>" <=> "member" member + "star" star "|<" |< "nomem" nomem + "bigstar" bigstar "|>" |> "cup" cup + "=dot" =dot "ang" ang "cap" cap + "orsign" orsign "rang" rang "incl" incl + "andsign" andsign "3dot" 3dot "subset" subset + "=del" =del "thf" thf "supset" supset + "oppA" oppA "quarter" quarter "!subset" !subset + "oppE" oppE "3quarter" 3quarter "!supset"!supset + "angstrom" angstrom "degree" degree + +FFIILLEESS + /usr/pub/eqnchar + +SSEEEE AALLSSOO + troff(1), eqn(1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +3rd Berkeley Distribution May 20, 1985 2 + + + + + diff --git a/usr/share/man/cat7/hier.0 b/usr/share/man/cat7/hier.0 new file mode 100644 index 0000000000..dfe65b006e --- /dev/null +++ b/usr/share/man/cat7/hier.0 @@ -0,0 +1,193 @@ +HIER(7) BSD Reference Manual HIER(7) + +NNAAMMEE + hhiieerr - layout of filesystems + +DDEESSCCRRIIPPTTIIOONN + A sketch of the filesystem hierarchy. + + / root directory of the filesystem + + /bin/ user utilities fundamental to both single-user and multi-user + environments + + /dev/ block and character device files + + MAKEDEV script for creating device files; see makedev(8) + fd/ file descriptor files; see fd(4) + + /etc/ system configuration files and scripts + + localtime local timezone information; see ctime(3) + disklabels/ backup disklabels; see disklabel(8) + kerberosIV/ configuration files for the kerberos version IV; + see kerberos(1) + mtree/ mtree configuration files; see mtree(1) + namedb/ named configuration files; see named(8) + + /mnt/ empty directory commonly used by system administrators as a tem- + porary mount point + + /sbin/ system programs and administration utilities fundamental to both + single-user and multi-user environments + + /stand/ programs used in a standalone environment + + /tmp/ temporary files, usually a mfs(8) memory-based filesystem (the + contents of /tmp are usually NOT preserved across a system re- + boot) + + /usr/ contains the majority of user utilities and applications + + bin/ common utilities, programming tools, and applications + contrib/ large packages contributed to Berkeley by outside par- + ties + games/ useful and semi-frivolous programs + include/ standard C include files + + X11/ C include files for X11 window system + arpa/ C include files for Internet service pro- + tocols + kerberosIV/ C include files for kerberos authentica- + tion package; see kerberos(1) + machine/ machine specific C include files + net/ misc network C include files + netimp/ C include files for IMP protocols; see + imp(4) + netinet/ C include files for Internet standard + protocols; see inet(4) + netiso/ C include files for ISO standard proto- + cols; see iso(4) + netns/ C include files for XNS standard proto- + cols; see ns(4) + nfs/ C include files for NFS (Network File + + + System) + pascal/ include files for pc 1 + protocols/ C include files for Berkeley service pro- + tocols + sys/ system C include files (kernel data + structures) + ufs/ C include files for UFS (The U-word File + System) + + lib/ archive libraries + + uucp/ UUCP configuration files (historically + placed; to be moved) + libdata/ misc. utility data files + libexec/ system daemons & system utilities (executed by other + programs) + local/ local executables, libraries, etc. + obj/ architecture-specific target tree produced by building + the /usr/src tree + old/ programs from past lives of BSD which may disappear in + future releases + sbin/ system daemons & system utilities (executed by users) + share/ architecture-independent ascii text files + + calendar/ a variety of pre-fab calendar files; see + calendar(1) + dict/ word lists; see look(1) + + words common words + web2 words from Webster's 2nd Inter- + national + papers/ reference databases; see re- + fer(1) + special/ custom word lists; see spell(1) + + doc/ misc documentation; src for most of the + printed BSDBSD manuals (available from the + USENIX association) + games/ ascii text files used by various games + man/ manual pages + me/ macros for use with the me macro package + misc/ misc system-wide ascii text files + termcap terminal characteristics + database; see termcap(5) + mk/ templates for make; see make(1) + ms/ macros for use with the ms macro package + skel/ example . (dot) files for new accounts + tabset/ tab description files for a variety of ter- + minals; used in the termcap file; see term- + cap(5) + tmac/ text processing macros; see nroff(1) and + troff(1) + zoneinfo/ timezone configuration information; see tz- + file(5) + + src/ BSD and/or local source files + + bin/ src for files in /bin + contrib/ src for files in /usr/contrib + etc/ src for files in /etc + games/ src for files in /usr/games + include/ src for files in /usr/include + kerberosIV/ src for kerberos version IV + lib/ src for files in /usr/lib + + + libexec/ src for files in /usr/libexec + local/ src for files in /usr/local + old/ src for files in /usr/old + pgrm/ src for programming tools in /usr/bin + sbin/ src for files in /sbin + share/ src for files in /usr/share + sys/ kernel src files + usr.bin/ src for files in /usr/bin + usr.sbin/ src for files in /usr/sbin + + /var/ multi-purpose log, temporary, transient, and spool files + + account/ system accounting files + + acct execution accounting file; see acct(5) + + at/ timed command scheduling files; see at(1) + backups/ misc. backup files + db/ misc. automatically generated system-specific + database files + games/ misc. game status and log files + log/ misc. system log files + + wtmp login/logout log; see wtmp(5) + + mail/ user mailbox files + preserve/ temporary home of files preserved after an accidental + death of an editor; see ex(1) + quotas/ filesystem quota information files + run/ system information files describing various info + about system since it was booted + + utmp database of current users; see utmp(5) + + rwho/ rwho data files; see rwhod(8), rwho(1), and rup- + time(1) + spool/ misc. printer and mail system spooling directories + + ftp/ commonly ~ftp; the anonymous ftp root di- + rectory + mqueue/ undelivered mail queue; see sendmail(8) + output/ line printer spooling directories + secretmail/ + secretmail spool directory; see xget(1) + uucp/ uucp spool directory + uucppublic/ + commonly ~uucp; public uucp temporary di- + rectory + + tmp/ temporary files that are kept between system reboots + + /vmunix pure kernel executable (the operating system loaded into memory + at boot time). + +SSEEEE AALLSSOO + ls(1), apropos(1), whatis(1), whereis(1), finger(1), which(1), + find(1), grep(1), fsck(8) + +HHIISSTTOORRYY + A hhiieerr manual page appeared in Version 7 AT&T UNIX. + +4.4BSD June 5, 1993 3 diff --git a/usr/share/man/cat7/hostname.0 b/usr/share/man/cat7/hostname.0 new file mode 100644 index 0000000000..e0ffdf5b1b --- /dev/null +++ b/usr/share/man/cat7/hostname.0 @@ -0,0 +1,50 @@ +HOSTNAME(7) BSD Reference Manual HOSTNAME(7) + +NNAAMMEE + hhoossttnnaammee - host name resolution description + +DDEESSCCRRIIPPTTIIOONN + Hostnames are domains, where a domain is a hierarchical, dot-separated + list of subdomains; for example, the machine monet, in the Berkeley sub- + domain of the EDU subdomain of the Internet would be represented as + + monet.Berkeley.EDU + + (with no trailing dot). + + Hostnames are often used with network client and server programs, which + must generally translate the name to an address for use. (This function + is generally performed by the library routine gethostbyname(3).) Host- + names are resolved by the Internet name resolver in the following fash- + ion. + + If the name consists of a single component, i.e. contains no dot, and if + the environment variable ``HOSTALIASES'' is set to the name of a file, + that file is searched for an string matching the input hostname. The + file should consist of lines made up of two white-space separated + strings, the first of which is the hostname alias, and the second of + which is the complete hostname to be substituted for that alias. If a + case-insensitive match is found between the hostname to be resolved and + the first field of a line in the file, the substituted name is looked up + with no further processing. + + If the input name ends with a trailing dot, the trailing dot is removed, + and the remaining name is looked up with no further processing. + + If the input name does not end with a trailing dot, it is looked up by + searching through a list of domains until a match is found. The default + search list includes first the local domain, then its parent domains with + at least 2 name components (longest first). For example, in the domain + CS.Berkeley.EDU, the name lithium.CChem will be checked first as lithi- + um.CChem.CS.Berkeley.EDU and then as lithium.CChem.Berkeley.EDU. Lithi- + um.CChem.EDU will not be tried, as the there is only one component re- + maining from the local domain. The search path can be changed from the + default by a system-wide configuration file (see resolver(5)). + +SSEEEE AALLSSOO + gethostbyname(3), resolver(5), mailaddr(7), named(8) + +HHIISSTTOORRYY + HHoossttnnaammee appeared in 4.2 BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat7/intro.0 b/usr/share/man/cat7/intro.0 new file mode 100644 index 0000000000..91d69d13b5 --- /dev/null +++ b/usr/share/man/cat7/intro.0 @@ -0,0 +1,13 @@ +INTRO(7) BSD Reference Manual INTRO(7) + +NNAAMMEE + iinnttrroo - miscellaneous information pages + +DDEESSCCRRIIPPTTIIOONN + This section contains miscellaneous documentation, mostly in the area of + text processing macro packages for troff(1). + +HHIISSTTOORRYY + iinnttrroo appeared in 4.2 BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat7/mailaddr.0 b/usr/share/man/cat7/mailaddr.0 new file mode 100644 index 0000000000..bc9b83deb4 --- /dev/null +++ b/usr/share/man/cat7/mailaddr.0 @@ -0,0 +1,126 @@ +MAILADDR(7) BSD Reference Manual MAILADDR(7) + +NNAAMMEE + mmaaiillaaddddrr - mail addressing description + +DDEESSCCRRIIPPTTIIOONN + Mail addresses are based on the Internet protocol listed at the end of + this manual page. These addresses are in the general format + + user@domain + + where a domain is a hierarchical dot separated list of subdomains. For + example, a valid address is: + + eric@CS.Berkeley.EDU + + Unlike some other forms of addressing, domains do not imply any routing. + Thus, although this address is specified as an Internet address, it might + travel by an alternate route if that were more convenient or efficient. + For example, at Berkeley, the associated message would probably go di- + rectly to CS over the Ethernet rather than going via the Berkeley Inter- + net gateway. + + AAbbbbrreevviiaattiioonn.. + Under certain circumstances it may not be necessary to type the entire + domain name. In general, anything following the first dot may be omitted + if it is the same as the domain from which you are sending the message. + For example, a user on ``calder.berkeley.edu'' could send to ``eric@CS'' + without adding the ``berkeley.edu'' since it is the same on both sending + and receiving hosts. + + CCoommppaattiibbiilliittyy.. + + Certain old address formats are converted to the new format to provide + compatibility with the previous mail system. In particular, + + user@host + + and + user@host.domain + + are allowed; + + host.domain!user + + is converted to + + user@host.domain + + and + + host!user + + is converted to + + user@host.UUCP + + This is normally converted back to the ``host!user'' form before being + sent on for compatibility with older UUCP hosts. + + CCaassee DDiissttiinnccttiioonnss.. + + Domain names (i.e., anything after the ``@'' sign) may be given in any + mixture of upper and lower case with the exception of UUCP hostnames. + Most hosts accept any combination of case in user names, with the notable + exception of MULTICS sites. + + RRoouuttee--aaddddrrss.. + + Under some circumstances it may be necessary to route a message through + several hosts to get it to the final destination. Normally this routing + is done automatically, but sometimes it is desirable to route the message + manually. Addresses which show these relays are termed ``route-addrs.'' + These use the syntax: + + <@hosta,@hostb:user@hostc> + + This specifies that the message should be sent to hosta, from there to + hostb, and finally to hostc. This path is forced even if there is a more + efficient path to hostc. + + Route-addrs occur frequently on return addresses, since these are gener- + ally augmented by the software at each host. It is generally possible to + ignore all but the ``user@hostc'' part of the address to determine the + actual sender. + + [Note: the route-addr syntax is officially deprecated in RFC 1123 and + should not be used.] + + Many sites also support the ``percent hack'' for simplistic routing: + + user%hostc%hostb@hosta + + is routed as indicated in the previous example. + + PPoossttmmaasstteerr.. + + Every site is required to have a user or user alias designated ``postmas- + ter'' to which problems with the mail system may be addressed. + + OOtthheerr NNeettwwoorrkkss.. + + Some other networks can be reached by giving the name of the network as + the last component of the domain. _T_h_i_s _i_s _n_o_t _a _s_t_a_n_d_a_r_d _f_e_a_t_u_r_e and may + not be supported at all sites. For example, messages to CSNET or BITNET + sites can often be sent to ``user@host.CSNET'' or ``user@host.BITNET'' + respectively. + +SSEEEE AALLSSOO + mail(1), sendmail(8); + Crocker, D. H., _S_t_a_n_d_a_r_d _f_o_r _t_h_e _F_o_r_m_a_t _o_f _A_r_p_a _I_n_t_e_r_n_e_t _T_e_x_t _M_e_s_s_a_g_e_s_, + RFC822. + +HHIISSTTOORRYY + MMaaiillaaddddrr appeared in 4.2 BSD. + +BBUUGGSS + The RFC822 group syntax (``group:user1,user2,user3;'') is not supported + except in the special case of ``group:;'' because of a conflict with old + berknet-style addresses. + + Route-Address syntax is grotty. + + UUCP- and Internet-style addresses do not coexist politely. + +4.2 Berkeley Distribution June 16, 1993 2 diff --git a/usr/share/man/cat7/man.0 b/usr/share/man/cat7/man.0 new file mode 100644 index 0000000000..3479c76e59 --- /dev/null +++ b/usr/share/man/cat7/man.0 @@ -0,0 +1,132 @@ + + + +MAN(7) BSD Reference Manual MAN(7) + + +NNAAMMEE + man - (deprecated) macros to typeset manual + +SSYYNNOOPPSSIISS + nnrrooffff --mmaann file ... + + ttrrooffff --mmaann file ... + +DDEESSCCRRIIPPTTIIOONN + These macros were used in the past to lay out pages of + this manual. A skeleton page may be found in the file + /usr/share/misc/man.template. The new macros are in + + Any text argument _t may be zero to six words. Quotes may + be used to include blanks in a `word'. If _t_e_x_t is empty, + special treatment is applied to the next input line with + text to be printed. In this way ..I may be used to itali- + cize a whole line, or ..SM may be followed by ..B to make + small bold letters. + + A prevailing indent distance is remembered between succes- + sive indented paragraphs, and is reset to default value + upon reaching a non-indented paragraph. Default units for + indents _i are ens. + + Type font and size are reset to default values before each + paragraph, and after processing font and size setting + macros. + + These strings are predefined by --mmaann: + + \*R `(Reg)', trademark symbol in _t_r_o_f_f_. + + \*S Change to default type size. + +FFIILLEESS + /usr/share/tmac/tmac.an + /usr/man/man.template + +SSEEEE AALLSSOO + man(1), troff(1) + +BBUUGGSS + Relative indents don't nest. + +RREEQQUUEESSTTSS +Request Cause If no Explanation + Break Argument +.B _t no _t=n.t.l.*Text _t is bold. +.BI _t no _t=n.t.l. Join words of _t alternating bold and + italic. + + + +7th Edition June 5, 1993 1 + + + + + + + + +MAN(7) BSD Reference Manual MAN(7) + + +.BR _t no _t=n.t.l. Join words of _t alternating bold and + Roman. +.DT no .5i 1i...Restore default tabs. +.HP _i yes _i=p.i.* Set prevailing indent to _i_. Begin + paragraph with hanging indent. +.I _t no _t=n.t.l. Text _t is italic. +.IB _t no _t=n.t.l. Join words of _t alternating italic + and bold. +.IP _x _i yes _x="" Same as .TP with tag _x_. +.IR _t no _t=n.t.l. Join words of _t alternating italic + and Roman. +.LP yes - Same as .PP. +.PD _d no _d=.4v Interparagraph distance is _d_. +.PP yes - Begin paragraph. Set prevailing + indent to .5i. +.RE yes - End of relative indent. Set prevail- + ing indent to amount of starting .RS. +.RB _t no _t=n.t.l. Join words of _t alternating Roman and + bold. +.RI _t no _t=n.t.l. Join words of _t alternating Roman and + italic. +.RS _i yes _i=p.i. Start relative indent, move left mar- + gin in distance _i_. Set prevailing + indent to .5i for nested indents. +.SH _t yes _t=n.t.l. Subhead. +.SM _t no _t=n.t.l. Text _t is small. +.TH _n _c _x _v _m yes -Begin page named _n of chapter _c_; _x + is extra commentary, e.g. `local', + for page foot center; _v alters page + foot left, e.g. `4th Berkeley Distri- + bution'; _m alters page head center, + e.g. `Brand X Programmer's Manual'. + Set prevailing indent and tabs to + .5i. +.TP _i yes _i=p.i. Set prevailing indent to _i_. Begin + indented paragraph with hanging tag + given by next text line. If tag + doesn't fit, place it on separate + line. + +* n.t.l. = next text line; p.i. = prevailing indent + + + + + + + + + + + + + +7th Edition June 5, 1993 2 + + + + + diff --git a/usr/share/man/cat7/mdoc.0 b/usr/share/man/cat7/mdoc.0 new file mode 100644 index 0000000000..ee9674345e --- /dev/null +++ b/usr/share/man/cat7/mdoc.0 @@ -0,0 +1,219 @@ +MDOC(7) BSD Reference Manual MDOC(7) + +NNAAMMEE + mmddoocc - quick reference guide for the --mmddoocc macro package + +SSYYNNOOPPSSIISS + ggrrooffff --mm_d_o_c _f_i_l_e_s _._._. + +DDEESSCCRRIIPPTTIIOONN + The --mmddoocc package is a set of content-based and domain-based macros used + to format the BSD man pages. The macro names and their meanings are + listed below for quick reference; for a detailed explanation on using the + package, see the tutorial sampler mdoc.samples(7). + + The macros are described in two groups, the first includes the structural + and physical page layout macros. The second contains the manual and gen- + eral text domain macros which differentiate the --mmddoocc package from other + troff formatting packages. + +PPAAGGEE SSTTRRUUCCTTUURREE DDOOMMAAIINN + TTiittllee MMaaccrrooss + To create a valid manual page, these three macros, in this order, are re- + quired: + .Dd _M_o_n_t_h _d_a_y_, _y_e_a_r Document date. + .Dt _D_O_C_U_M_E_N_T___T_I_T_L_E _[_s_e_c_t_i_o_n_] _[_v_o_l_u_m_e_] Title, in upper case. + .Os _O_P_E_R_A_T_I_N_G___S_Y_S_T_E_M _[_v_e_r_s_i_o_n_/_r_e_l_e_a_s_e_] Operating system (BSD). + + PPaaggee LLaayyoouutt MMaaccrrooss + Section headers, paragraph breaks, lists and displays. + .Sh Section Headers. Valid headers, in the order of presentation: + _N_A_M_E Name section, should include the `.Nm' or `.Fn' and + the `.Nd' macros. + _S_Y_N_O_P_S_I_S Usage. + _D_E_S_C_R_I_P_T_I_O_N General description, should include options and pa- + rameters. + _R_E_T_U_R_N _V_A_L_U_E_S Sections two and three function calls. + _E_N_V_I_R_O_N_M_E_N_T Describe environment variables. + _F_I_L_E_S Files associated with the subject. + _E_X_A_M_P_L_E_S Examples and suggestions. + _D_I_A_G_N_O_S_T_I_C_S Normally used for section four device interface di- + agnostics. + _E_R_R_O_R_S Sections two and three error and signal handling. + _S_E_E _A_L_S_O Cross references and citations. + _S_T_A_N_D_A_R_D_S Conformance to standards if applicable. + _H_I_S_T_O_R_Y If a standard is not applicable, the history of the + subject should be given. + _B_U_G_S Gotchas and caveats. + _o_t_h_e_r Customized headers may be added at the authors dis- + cretion. + .Ss Subsection Headers. + .Pp Paragraph Break. Vertical space (one line). + .D1 (D-one) Display-one Indent and display one text line. + .Dl (D-ell) Display-one literal. Indent and display one line of liter- + al text. + .Bd Begin-display block. Display options: + --rraaggggeedd Unjustified (ragged edges). + --ffiilllleedd Justified. + --lliitteerraall Literal text or code. + --ffiillee _n_a_m_e Read in named _f_i_l_e and display. + --ooffffsseett _s_t_r_i_n_g Offset display. Acceptable _s_t_r_i_n_g values: + _l_e_f_t Align block on left (default). + _c_e_n_t_e_r Approximate center margin. + _i_n_d_e_n_t Six constant width spaces (a tab). + + + _i_n_d_e_n_t_-_t_w_o Two tabs. + _r_i_g_h_t Left aligns block 2 inches from right. + _x_xnn Where _x_x is a number from 4nn to 99nn. + _A_a Where _A_a is a callable macro name. + _s_t_r_i_n_g The width of _s_t_r_i_n_g is used. + .Ed End-display (matches .Bd). + .Bl Begin-list. Create lists or columns. Options: + _L_i_s_t_-_t_y_p_e_s + --bbuulllleett Bullet Item List + --iitteemm Unlabeled List + --eennuumm Enumerated List + --ttaagg Tag Labeled List + --ddiiaagg Diagnostic List + --hhaanngg Hanging Labeled List + --oohhaanngg Overhanging Labeled List + --iinnsseett Inset or Run-on Labeled List + List-parameters + --ooffffsseett (All lists.) See `.Bd' begin-display above. + --wwiiddtthh (--ttaagg and --hhaanngg lists only.) See `.Bd'. + --ccoommppaacctt (All lists.) Suppresses blank lines. + .El End-list. + .It List item. + +MMAANNUUAALL AANNDD GGEENNEERRAALL TTEEXXTT DDOOMMAAIINN MMAACCRROOSS + The manual and general text domain macros are special in that most of + them are parsed for callable macros for example: + + .Op Fl s Ar file Produces [--ss _f_i_l_e] + + In this example, the option enclosure macro `.Op' is parsed, and calls + the callable content macro `Fl' which operates on the argument `s' and + then calls the callable content macro `Ar' which operates on the argument + `file'. Some macros may be callable, but are not parsed and vice versa. + These macros are indicated in the _p_a_r_s_e_d and _c_a_l_l_a_b_l_e columns below. + + Unless stated, manual domain macros share a common syntax: + + .Va argument [ . , ; : ( ) [ ] argument ... ] + + NNoottee: Opening and closing punctuation characters are only recognized as + such if they are presented one at a time. The string `),' is not recog- + nized as punctuation and will be output with a leading white space and in + what ever font the calling macro uses. The the argument list `] ) ,' is + recognized as three sequential closing punctuation characters and a lead- + ing white space is not output between the characters and the previous ar- + gument (if any). The special meaning of a punctuation character may be + escaped with the string `\&'. For example the following string, + + .Ar file1 , file2 , file3 ) . Produces _f_i_l_e_1, _f_i_l_e_2, _f_i_l_e_3). + + MMaannuuaall DDoommaaiinn MMaaccrrooss + _N_a_m_e _P_a_r_s_e_d _C_a_l_l_a_b_l_e _D_e_s_c_r_i_p_t_i_o_n + Ad Yes Yes Address. (This macro may be deprecated.) + Ar Yes Yes Command line argument. + Cd No No Configuration declaration (section four + only). + Cm Yes Yes Command line argument modifier. + Dv Yes Yes Defined variable (source code). + Er Yes Yes Error number (source code). + Ev Yes Yes Environment variable. + Fa Yes Yes Function argument. + Fd Yes Yes Function declaration. + Fn Yes Yes Function call (also .Fo and .Fc). + Ic Yes Yes Interactive command. + + + Li Yes Yes Literal text. + Nm Yes Yes Command name. + Op Yes Yes Option (also .Oo and .Oc). + Ot Yes Yes Old style function type (Fortran only). + Pa Yes Yes Pathname or file name. + St Yes Yes Standards (-p1003.2, -p1003.1 or -ansiC) + Va Yes Yes Variable name. + Vt Yes Yes Variable type (Fortran only). + Xr Yes Yes Manual Page Cross Reference. + + GGeenneerraall TTeexxtt DDoommaaiinn MMaaccrrooss + _N_a_m_e _P_a_r_s_e_d _C_a_l_l_a_b_l_e _D_e_s_c_r_i_p_t_i_o_n + %A Yes No Reference author. + %B Yes Yes Reference book title. + %C No No Reference place of publishing (city). + %D No No Reference date. + %J Yes Yes Reference journal title. + %N No No Reference issue number. + %O No No Reference optional information. + %P No No Reference page number(s). + %R No No Reference report Name. + %T Yes Yes Reference article title. + %V No No Reference volume. + Ac Yes Yes Angle close quote. + Ao Yes Yes Angle open quote. + Aq Yes Yes Angle quote. + At No No AT&T UNIX + Bc Yes Yes Bracket close quote. + Bf No No Begin font mode. + Bo Yes Yes Bracket open quote. + Bq Yes Yes Bracket quote. + Bx Yes Yes Bx. + Db No No Debug (default is "off") + Dc Yes Yes Double close quote. + Do Yes Yes Double open quote. + Dq Yes Yes Double quote. + Ec Yes Yes Enclose string close quote. + Ef No No End font mode. + Em Yes Yes Emphasis (traditional English). + Eo Yes Yes Enclose string open quote. + No Yes Yes Normal text (no-op). + Ns Yes Yes No space. + Pc Yes Yes Parenthesis close quote. + Pf Yes No Prefix string. + Po Yes Yes Parenthesis open quote. + Pq Yes Yes Parentheses quote. + Qc Yes Yes Strait Double close quote. + Ql Yes Yes Quoted literal. + Qo Yes Yes Strait Double open quote. + Qq Yes Yes Strait Double quote. + Re No No Reference start. + Rs No No Reference start. + Sc Yes Yes Single close quote. + So Yes Yes Single open quote. + Sq Yes Yes Single quote. + Sm No No Space mode (default is "on") + Sx Yes Yes Section Cross Reference. + Sy Yes Yes Symbolic (traditional English). + Tn Yes Yes Trade or type name (small Caps). + Ux Yes Yes Ux + Xc Yes Yes Extend argument list close. + Xo Yes Yes Extend argument list close. + + Macro names ending in `q' quote remaining items on the argument list. + Macro names ending in `o' begin a quote which may span more than one line + of input and are close quoted with the matching macro name ending in `c'. + Enclosure macros may be nested and are limited to eight arguments. + + Note: the extended argument list macros (`.Xo', `.Xc') and the function + enclosure macros (`.Fo', `.Fc') are irregular. The extended list macros + are used when the number of macro arguments would exceed the troff limi- + tation of nine arguments. + +CCOONNFFIIGGUURRAATTIIOONN + For site specific configuration of the macro package, see the file + _/_u_s_r_/_s_r_c_/_s_h_a_r_e_/_t_m_a_c_/_R_E_A_D_M_E. + +FFIILLEESS + tmac.doc Manual and general text domain macros. + tmac.doc-common Common structural macros and definitions. + tmac.doc-nroff Site dependent nroff style file. + tmac.doc-ditroff Site dependent troff style file. + tmac.doc-syms Special defines (such as the standards macro). + +SSEEEE AALLSSOO + mdoc.samples(7) + +4.4BSD June 9, 1993 4 diff --git a/usr/share/man/cat7/mdoc.samples.0 b/usr/share/man/cat7/mdoc.samples.0 new file mode 100644 index 0000000000..db01caa4bb --- /dev/null +++ b/usr/share/man/cat7/mdoc.samples.0 @@ -0,0 +1,1467 @@ +MDOC.SAMPLES(7) BSD Reference Manual MDOC.SAMPLES(7) + +NNAAMMEE + mmddoocc..ssaammpplleess - tutorial sampler for writing BSD manuals with --mmddoocc + +SSYYNNOOPPSSIISS + mmaann mmddoocc..ssaammpplleess + +DDEESSCCRRIIPPTTIIOONN + A tutorial sampler for writing BSD manual pages with the --mmddoocc macro + package, a _c_o_n_t_e_n_t-based and _d_o_m_a_i_n-based formatting package for + troff(1). Its predecessor, the -man(7) package, addressed page layout + leaving the manipulation of fonts and other typesetting details to the + individual author. In --mmddoocc, page layout macros make up the _p_a_g_e + _s_t_r_u_c_t_u_r_e _d_o_m_a_i_n which consists of macros for titles, section headers, + displays and lists. Essentially items which affect the physical position + of text on a formatted page. In addition to the page structure domain, + there are two more domains, the manual domain and the general text do- + main. The general text domain is defined as macros which perform tasks + such as quoting or emphasizing pieces of text. The manual domain is de- + fined as macros that are a subset of the day to day informal language + used to describe commands, routines and related BSD files. Macros in the + manual domain handle command names, command line arguments and options, + function names, function parameters, pathnames, variables, cross refer- + ences to other manual pages, and so on. These domain items have value + for both the author and the future user of the manual page. It is hoped + the consistency gained across the manual set will provide easier transla- + tion to future documentation tools. + + Through out the UNIX manual pages, a manual entry is simply referred to + as a man page, regardless of actual length and without sexist intention. + +GGEETTTTIINNGG SSTTAARRTTEEDD + Since a tutorial document is normally read when a person desires to use + the material immediately, the assumption has been made that the user of + this document may be impatient. The material presented in the remained + of this document is outlined as follows: + + 1. TROFF IDIOSYNCRASIES + Macro Usage. + Passing Space Characters in an Argument. + Trailing Blank Space Characters (a warning). + Escaping Special Characters. + + 2. THE ANATOMY OF A MAN PAGE + A manual page template. + + 3. INTRODUCTION OF TITLE MACROS. + + 4. INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS. + What's in a name.... + General Syntax. + + 5. MANUAL DOMAIN + Addresses. + Arguments. + Configuration Declarations (section four only). + Command Modifier . + Defined Variables. + Errno's (Section two only). + Environment Variables. + Function Argument. + Function Declaration. + + + Flags. + Functions (library routines). + Function Types. + Interactive Commands. + Literals. + Names. + Options. + Pathnames. + Variables. + Cross References. + + 6. GENERAL TEXT DOMAIN + AT&T Macro. + BSD Macro. + UNIX Macro. + Emphasis Macro. + Enclosure/Quoting Macros + Angle Bracket Quote/Enclosure. + Bracket Quotes/Enclosure. + Double Quote macro/Enclosure. + Parenthesis Quote/Enclosure. + Single Quotes/Enclosure. + Prefix Macro. + Extended Arguments. + No-Op or Normal Text Macro. + No Space Macro. + Section Cross References. + Symbolic Macro. + References and Citations. + Trade Names (Acronyms and Type Names). + + 7. PAGE STRUCTURE DOMAIN + Section Headers. + Paragraphs and Line Spacing. + Keeps. + Displays. + Lists and Columns. + + 8. PREDEFINED STRINGS + + 9. DIAGNOSTICS + + 10. FORMATTING WITH GROFF, TROFF AND NROFF + + 11. BUGS + +TTRROOFFFF IIDDIIOOSSYYNNCCRRAASSIIEESS + The --mmddoocc package attempts to simplify the process of writing a man page. + Theoretically, one should not have to learn the dirty details of troff(1) + to use --mmddoocc; however, there are a few limitations which are unavoidable + and best gotten out of the way. And, too, be forewarned, this package is + _n_o_t fast. + + MMaaccrroo UUssaaggee + As in troff(1), a macro is called by placing a `.' (dot character) at + the beginning of a line followed by the two character name for the macro. + Arguments may follow the macro separated by spaces. It is the dot char- + acter at the beginning of the line which causes troff(1) to interpret the + next two characters as a macro name. To place a `.' (dot character) at + the beginning of a line in some context other than a macro invocation, + precede the `.' (dot) with the `\&' escape sequence. The `\&' translates + literally to a zero width space, and is never displayed in the output. + + In general, troff(1) macros accept up to nine arguments, any extra argu- + ments are ignored. Most macros in --mmddoocc accept nine arguments and, in + limited cases, arguments may be continued or extended on the next line + (See _E_x_t_e_n_s_i_o_n_s). A few macros handle quoted arguments (see _P_a_s_s_i_n_g _S_p_a_c_e + _C_h_a_r_a_c_t_e_r_s _i_n _a_n _A_r_g_u_m_e_n_t below). + + Most of the --mmddoocc general text domain and manual domain macros are spe- + cial in that their argument lists are _p_a_r_s_e_d for callable macro names. + This means an argument on the argument list which matches a general text + or manual domain macro name and is determined to be callable will be exe- + cuted or called when it is processed. In this case the argument, al- + though the name of a macro, is not preceded by a `.' (dot). It is in + this manner that many macros are nested; for example the option macro, + `.Op', may _c_a_l_l the flag and argument macros, `Fl' and `Ar', to specify + an optional flag with an argument: + + [--ss _b_y_t_e_s] is produced by .Op Fl s Ar bytes + + To prevent a two character string from being interpreted as a macro name, + precede the string with the escape sequence `\&': + + [Fl s Ar bytes] is produced by .Op \&Fl s \&Ar bytes + + Here the strings `Fl' and `Ar' are not interpreted as macros. Macros + whose argument lists are parsed for callable arguments are referred to as + parsed and macros which may be called from an argument list are referred + to as callable through out this document and in the companion quick ref- + erence manual mdoc(7). This is a technical _f_a_u_x _p_a_s as almost all of the + macros in --mmddoocc are parsed, but as it was cumbersome to constantly refer + to macros as being callable and being able to call other macros, the term + parsed has been used. + + PPaassssiinngg SSppaaccee CChhaarraacctteerrss iinn aann AArrgguummeenntt + Sometimes it is desirable to give as one argument a string containing one + or more blank space characters. This may be necessary to defeat the nine + argument limit or to specify arguments to macros which expect particular + arrangement of items in the argument list. For example, the function + macro `.Fn' expects the first argument to be the name of a function and + any remaining arguments to be function parameters. As ANSI C stipulates + the declaration of function parameters in the parenthesized parameter + list, each parameter is guaranteed to be at minimum a two word string. + For example, _i_n_t _f_o_o. + + There are two possible ways to pass an argument which contains an embed- + ded space. _I_m_p_l_e_m_e_n_t_a_t_i_o_n _n_o_t_e: Unfortunately, the most convenient way + of passing spaces in between quotes by reassigning individual arguments + before parsing was fairly expensive speed wise and space wise to imple- + ment in all the macros for AT&T troff. It is not expensive for groff but + for the sake of portability, has been limited to the following macros + which need it the most: + + Cd Configuration declaration (section 4 _S_Y_N_O_P_S_I_S) + Bl Begin list (for the width specifier). + Em Emphasized text. + Fn Functions (sections two and four). + It List items. + Li Literal text. + Sy Symbolic text. + %B Book titles. + %J Journal names. + %O Optional notes for a reference. + %R Report title (in a reference). + %T Title of article in a book or journal. + + One way of passing a string containing blank spaces is to use the hard or + unpaddable space character `\ ', that is, a blank space preceded by the + escape character `\'. This method may be used with any macro but has the + side effect of interfering with the adjustment of text over the length of + a line. Troff sees the hard space as if it were any other printable + character and cannot split the string into blank or newline separated + pieces as one would expect. The method is useful for strings which are + not expected to overlap a line boundary. For example: + + ffeettcchh(_c_h_a_r _*_s_t_r) is created by `.Fn fetch char\ *str' + + ffeettcchh(_c_h_a_r _*_s_t_r) can also be created by `.Fn fetch "*char *str"' + + If the `\' or quotes were omitted, `.Fn' would see three arguments and + the result would be: + + ffeettcchh(_c_h_a_r, _*_s_t_r) + + For an example of what happens when the parameter list overlaps a newline + boundary, see the _B_U_G_S section. + + TTrraaiilliinngg BBllaannkk SSppaaccee CChhaarraacctteerrss + Troff can be confused by blank space characters at the end of a line. It + is a wise preventive measure to globally remove all blank spaces from + character sequences. Should the need arise to + force a blank character at the end of a line, it may be forced with an + unpaddable space and the `\&' escape character. For example, + `string\ \&'. + + EEssccaappiinngg SSppeecciiaall CChhaarraacctteerrss + Special characters like the newline character `\n', are handled by re- + placing the `\' with `\e' (e.g. `\en') to preserve the backslash. + +TTHHEE AANNAATTOOMMYY OOFF AA MMAANN PPAAGGEE + The body of a man page is easily constructed from a basic template found + in the file: + + .\" /usr/share/misc/man.template: + .\" The following six lines are required. + .Dd Month day, year + .Os OPERATING_SYSTEM [version/release] + .Dt DOCUMENT_TITLE [section number] [volume] + .Sh NAME + .Sh SYNOPSIS + .Sh DESCRIPTION + .\" The following requests should be uncommented and + .\" used where appropriate. This next request is + .\" for sections 2 and 3 function return values only. + .\" .Sh RETURN VALUES + .\" This next request is for sections 1, 6, 7 & 8 only + .\" .Sh ENVIRONMENT + .\" .Sh FILES + .\" .Sh EXAMPLES + .\" This next request is for sections 1, 6, 7 & 8 only + .\" (command return values (to shell) and + .\" fprintf/stderr type diagnostics) + .\" .Sh DIAGNOSTICS + .\" The next request is for sections 2 and 3 error + .\" and signal handling only. + .\" .Sh ERRORS + .\" .Sh SEE ALSO + .\" .Sh STANDARDS + .\" .Sh HISTORY + .\" .Sh AUTHORS + .\" .Sh BUGS + + The first items in the template are the macros (.Dd, .Os, .Dt); the docu- + ment date, the operating system the man page or subject source is devel- + oped or modified for, and the man page title (_i_n _u_p_p_e_r _c_a_s_e) along with + the section of the manual the page belongs in. These macros identify the + page, and are discussed below in _T_I_T_L_E _M_A_C_R_O_S. + + The remaining items in the template are section headers (.Sh); of which + _N_A_M_E, _S_Y_N_O_P_S_I_S and _D_E_S_C_R_I_P_T_I_O_N are mandatory. The headers are discussed + in _P_A_G_E _S_T_R_U_C_T_U_R_E _D_O_M_A_I_N, after presentation of _M_A_N_U_A_L _D_O_M_A_I_N. Several + content macros are used to demonstrate page layout macros; reading about + content macros before page layout macros is recommended. + +TTIITTLLEE MMAACCRROOSS + The title macros are the first portion of the page structure domain, but + are presented first and separate for someone who wishes to start writing + a man page yesterday. Three header macros designate the document title + or manual page title, the operating system, and the date of authorship. + These macros are one called once at the very beginning of the document + and are used to construct the headers and footers only. + + .Dt DOCUMENT_TITLE section# [volume] + The document title is the subject of the man page and must be in + CAPITALS due to troff limitations. The section number may be + 1, ..., 8, and if it is specified, the volume title may be omit- + ted. A volume title may be arbitrary or one of the following: + + AMD UNIX Ancestral Manual Documents + SMM UNIX System Manager's Manual + URM UNIX Reference Manual + PRM UNIX Programmer's Manual + + The default volume labeling is URM for sections 1, 6, and 7; SMM + for section 8; PRM for sections 2, 3, 4, and 5. + + .Os operating_system release# + The name of the operating system should be the common acronym, + e.g. BSD or ATT. The release should be the standard release + nomenclature for the system specified, e.g. 4.3, 4.3+Tahoe, V.3, + V.4. Unrecognized arguments are displayed as given in the page + footer. For instance, a typical footer might be: + + .Os BSD 4.3 + + or for a locally produced set + + .Os CS Department + + The Berkeley default, `.Os' without an argument, has been defined + as BSD Experimental in the site specific file + _/_u_s_r_/_s_r_c_/_s_h_a_r_e_/_t_m_a_c_/_d_o_c_-_c_o_m_m_o_n. It really should default to + LOCAL. Note, if the `.Os' macro is not present, the bottom left + corner of the page will be ugly. + + .Dd month day, year + The date should be written formally: + + January 25, 1989 + +MMAANNUUAALL DDOOMMAAIINN + WWhhaatt''ss iinn aa nnaammee...... + The manual domain macro names are derived from the day to day informal + language used to describe commands, subroutines and related files. + Slightly different variations of this language are used to describe the + three different aspects of writing a man page. First, there is the de- + scription of --mmddoocc macro request usage. Second is the description of a + UNIX command _w_i_t_h --mmddoocc macros and third, the description a command to a + user in the verbal sense; that is, discussion of a command in the text of + a man page. + + In the first case, troff(1) macros are themselves a type of command; the + general syntax for a troff command is: + + .Va argument1 argument2 ... argument9 + + The `.Va' is a macro command or request, and anything following it is an + argument to be processed. In the second case, the description of a UNIX + command using the content macros is a bit more involved; a typical + _S_Y_N_O_P_S_I_S command line might be displayed as: + + ffiilltteerr [--ffllaagg] _i_n_f_i_l_e _o_u_t_f_i_l_e + + Here, ffiilltteerr is the command name and the bracketed string --ffllaagg is a _f_l_a_g + argument designated as optional by the option brackets. In --mmddoocc terms, + _i_n_f_i_l_e and _o_u_t_f_i_l_e are called _a_r_g_u_m_e_n_t_s. The macros which formatted the + above example: + + .Nm filter + .Op Fl flag + .Ar infile outfile + + In the third case, discussion of commands and command syntax includes + both examples above, but may add more detail. The arguments _i_n_f_i_l_e and + _o_u_t_f_i_l_e from the example above might be referred to as _o_p_e_r_a_n_d_s or _f_i_l_e + _a_r_g_u_m_e_n_t_s. Some command line argument lists are quite long: + + mmaakkee [--eeiikknnqqrrssttvv] [--DD _v_a_r_i_a_b_l_e] [--dd _f_l_a_g_s] [--ff _m_a_k_e_f_i_l_e] + [--II _d_i_r_e_c_t_o_r_y] [--jj _m_a_x___j_o_b_s] [_v_a_r_i_a_b_l_e_=_v_a_l_u_e] [_t_a_r_g_e_t _._._.] + + Here one might talk about the command mmaakkee and qualify the argument + _m_a_k_e_f_i_l_e, as an argument to the flag, --ff, or discuss the optional file + operand _t_a_r_g_e_t. In the verbal context, such detail can prevent confusion, + however the --mmddoocc package does not have a macro for an argument _t_o a + flag. Instead the `Ar' argument macro is used for an operand or file ar- + gument like _t_a_r_g_e_t as well as an argument to a flag like _v_a_r_i_a_b_l_e. The + make command line was produced from: + + .Nm make + .Op Fl eiknqrstv + .Op Fl D Ar variable + .Op Fl d Ar flags + .Op Fl f Ar makefile + .Op Fl I Ar directory + .Op Fl j Ar max_jobs + .Op Ar variable=value + .Bk -words + .Op Ar target ... + .Ek + + The `.Bk' and `.Ek' macros are explained in _K_e_e_p_s. + + GGeenneerraall SSyynnttaaxx + The manual domain and general text domain macros share a similar syntax + with a few minor deviations: `.Ar', `.Fl', `.Nm', and `.Pa' differ only + when called without arguments; `.Fn' and `.Xr' impose an order on their + argument lists and the `.Op' and `.Fn' macros have nesting limitations. + All content macros are capable of recognizing and properly handling punc- + tuation, provided each punctuation character is separated by a leading + space. If an request is given: + + .Li sptr, ptr), + + The result is: + + sptr, ptr), + + The punctuation is not recognized and all is output in the literal font. + If the punctuation is separated by a leading white space: + + .Li sptr , ptr ) , + + The result is: + + sptr, ptr), + + The punctuation is now recognized and is output in the default font dis- + tinguishing it from the strings in literal font. + + To remove the special meaning from a punctuation character escape it with + `\&'. Troff is limited as a macro language, and has difficulty when pre- + sented with a string containing a member of the mathematical, logical or + quotation set: + + {+,-,/,*,%,<,>,<=,>=,=,==,&,`,',"} + + The problem is that troff may assume it is supposed to actually perform + the operation or evaluation suggested by the characters. To prevent the + accidental evaluation of these characters, escape them with `\&'. Typical + syntax is shown in the first content macro displayed below, `.Ad'. + + AAddddrreessss MMaaccrroo + The address macro identifies an address construct of the form ad- + dr1[,addr2[,addr3]]. + + Usage: .Ad address ... { . , ; : ( ) [ ]} + .Ad addr1 _a_d_d_r_1 + .Ad addr1 . _a_d_d_r_1. + .Ad addr1 , file2 _a_d_d_r_1, _f_i_l_e_2 + .Ad f1 , f2 , f3 : _f_1, _f_2, _f_3: + .Ad addr ) ) , _a_d_d_r)), + + It is an error to call .Ad without arguments. .Ad is callable by other + macros and is parsed. + + AArrgguummeenntt MMaaccrroo + The .Ar argument macro may be used whenever a command line argument is + referenced. + + Usage: .Ar argument ... { . , ; : ( ) [ ]} + .Ar _f_i_l_e _._._. + .Ar file1 _f_i_l_e_1 + .Ar file1 . _f_i_l_e_1. + .Ar file1 file2 _f_i_l_e_1 _f_i_l_e_2 + .Ar f1 f2 f3 : _f_1 _f_2 _f_3: + .Ar file ) ) , _f_i_l_e)), + + If .Ar is called without arguments `_f_i_l_e _._._.' is assumed. The .Ar macro + is parsed and is callable. + + CCoonnffiigguurraattiioonn DDeeccllaarraattiioonn ((sseeccttiioonn ffoouurr oonnllyy)) + The `.Cd' macro is used to demonstrate a config(8) declaration for a de- + vice interface in a section four manual. This macro accepts quoted argu- + ments (double quotes only). + + ddeevviiccee llee00 aatt ssccooddee?? produced by: `.Cd device le0 at scode?'. + + CCoommmmaanndd MMooddiiffiieerr + The command modifier is identical to the `.Fl' (flag) command with the + exception the `.Cm' macro does not assert a dash in front of every argu- + ment. Traditionally flags are marked by the preceding dash, some com- + mands or subsets of commands do not use them. Command modifiers may also + be specified in conjunction with interactive commands such as editor com- + mands. See _F_l_a_g_s. + + + DDeeffiinneedd VVaarriiaabblleess + A variable which is defined in an include file is specified by the macro + `.Dv'. + + Usage: .Dv defined_variable ... { . , ; : ( ) [ ]} + .Dv MAXHOSTNAMELEN MAXHOSTNAMELEN + .Dv TIOCGPGRP ) TIOCGPGRP) + + It is an error to call `.Dv' without arguments. `.Dv' is parsed and is + callable. + + EErrrrnnoo''ss ((SSeeccttiioonn ttwwoo oonnllyy)) + The `.Er' errno macro specifies the error return value for section two + library routines. The second example below shows `.Er' used with the + `.Bq' general text domain macro, as it would be used in a section two + manual page. + + Usage: .Er ERRNOTYPE ... { . , ; : ( ) [ ]} + .Er ENOENT ENOENT + .Er ENOENT ) ; ENOENT); + .Bq Er ENOTDIR [ENOTDIR] + + It is an error to call `.Er' without arguments. The `.Er' macro is + parsed and is callable. + + EEnnvviirroonnmmeenntt VVaarriiaabblleess + The `.Ev' macro specifies a environment variable. + + Usage: .Ev argument ... { . , ; : ( ) [ ]} + .Ev DISPLAY DISPLAY + .Ev PATH . PATH. + .Ev PRINTER ) ) , PRINTER)), + + It is an error to call `.Ev' without arguments. The `.Ev' macro is + parsed and is callable. + + FFuunnccttiioonn AArrgguummeenntt + The `.Fa' macro is used to refer to function arguments (parameters) out- + side of the _S_Y_N_O_P_S_I_S section of the manual or inside the _S_Y_N_O_P_S_I_S section + should a parameter list be too long for the `.Fn' macro and the enclosure + macros `.Fo' and `.Fc' must be used. `.Fa' may also be used to refer to + structure members. + + Usage: .Fa function_argument ... { . , ; : ( ) [ ]} + .Fa d_namlen ) ) , _d___n_a_m_l_e_n)), + .Fa iov_len _i_o_v___l_e_n + + It is an error to call `.Fa' without arguments. `.Fa' is parsed and is + callable. + + FFuunnccttiioonn DDeeccllaarraattiioonn + The `.Fd' macro is used in the _S_Y_N_O_P_S_I_S section with section two or three + functions. The `.Fd' macro does not call other macros and is not + callable by other macros. + + Usage: .Fd include_file (or defined variable) + + In the _S_Y_N_O_P_S_I_S section a `.Fd' request causes a line break if a function + has already been presented and a break has not occurred. This leaves a + nice vertical space in between the previous function call and the decla- + ration for the next function. + + FFllaaggss + The `.Fl' macro handles command line flags. It prepends a dash, `-', to + the flag. For interactive command flags, which are not prepended with a + dash, the `.Cm' (command modifier) macro is identical, but with out the + dash. + + Usage: .Fl argument ... { . , ; : ( ) [ ]} + .Fl -- + .Fl cfv --ccffvv + .Fl cfv . --ccffvv. + .Fl s v t --ss --vv --tt + .Fl - , ----, + .Fl xyz ) , --xxyyzz), + + The `.Fl' macro without any arguments results in a dash representing + stdin/stdout. Note that giving `.Fl' a single dash, will result in two + dashes. The `.Fl' macro is parsed and is callable. + + FFuunnccttiioonnss ((lliibbrraarryy rroouuttiinneess)) + The .Fn macro is modeled on ANSI C conventions. + + Usage: .Fn [type] function [[type] parameters ... { . , ; : ( ) [ ]}] + .Fn getchar ggeettcchhaarr() + .Fn strlen ) , ssttrrlleenn()), + .Fn "int align" "const * char *sptrs", iinntt aalliiggnn(_c_o_n_s_t _* _c_h_a_r _*_s_p_t_r_s), + + It is an error to call `.Fn' without any arguments. The `.Fn' macro is + parsed and is callable, note that any call to another macro signals the + end of the `.Fn' call (it will close-parenthesis at that point). + + For functions that have more than eight parameters (and this is rare), + the macros `.Fo' (function open) and `.Fc' (function close) may be used + with `.Fa' (function argument) to get around the limitation. For example: + + .Fo "int res_mkquery" + .Fa "int op" + .Fa "char *dname" + .Fa "int class" + .Fa "int type" + .Fa "char *data" + .Fa "int datalen" + .Fa "struct rrec *newrr" + .Fa "char *buf" + .Fa "int buflen" + .Fc + + Produces: + + iinntt rreess__mmkkqquueerryy(_i_n_t _o_p, _c_h_a_r _*_d_n_a_m_e, _i_n_t _c_l_a_s_s, _i_n_t _t_y_p_e, + _c_h_a_r _*_d_a_t_a, _i_n_t _d_a_t_a_l_e_n, _s_t_r_u_c_t _r_r_e_c _*_n_e_w_r_r, _c_h_a_r _*_b_u_f, _i_n_t _b_u_f_l_e_n) + + The `.Fo' and `.Fc' macros are parsed and are callable. In the _S_Y_N_O_P_S_I_S + section, the function will always begin at the beginning of line. If + there is more than one function presented in the _S_Y_N_O_P_S_I_S section and a + function type has not been given, a line break will occur, leaving a nice + vertical space between the current function name and the one prior. At + the moment, `.Fn' does not check its word boundaries against troff line + lengths and may split across a newline ungracefully. This will be fixed + in the near future. + + FFuunnccttiioonn TTyyppee + This macro is intended for the _S_Y_N_O_P_S_I_S section. It may be used anywhere + else in the man page without problems, but its main purpose is to present + the function type in kernel normal form for the _S_Y_N_O_P_S_I_S of sections two + and three (it causes a page break allowing the function name to appear on + the next line). + + Usage: .Ft type ... { . , ; : ( ) [ ]} + + .Ft struct stat _s_t_r_u_c_t _s_t_a_t + + The `.Ft' request is not callable by other macros. + + IInntteerraaccttiivvee CCoommmmaannddss + The `.Ic' macro designates an interactive or internal command. + + Usage: .Li argument ... { . , ; : ( ) [ ]} + .Ic :wq ::wwqq + .Ic do while {...} ddoo wwhhiillee {{......}} + .Ic setenv , unsetenv sseetteennvv, uunnsseetteennvv + + It is an error to call `.Ic' without arguments. The `.Ic' macro is + parsed and is callable. + + LLiitteerraallss + The `.Li' literal macro may be used for special characters, variable con- + stants, anything which should be displayed as it would be typed. + + Usage: .Li argument ... { . , ; : ( ) [ ]} + .Li \en \n + .Li M1 M2 M3 ; M1 M2 M3; + .Li cntrl-D ) , cntrl-D), + .Li 1024 ... 1024 ... + + The `.Li' macro is parsed and is callable. + + NNaammee MMaaccrroo + The `.Nm' macro is used for the document title or subject name. It has + the peculiarity of remembering the first argument it was called with, + which should always be the subject name of the page. When called without + arguments, `.Nm' regurgitates this initial name for the sole purpose of + making less work for the author. Note: a section two or three document + function name is addressed with the `.Nm' in the _N_A_M_E section, and with + `.Fn' in the _S_Y_N_O_P_S_I_S and remaining sections. For interactive commands, + such as the `while' command keyword in csh(1), the `.Ic' macro should be + used. While the `.Ic' is nearly identical to `.Nm', it can not recall + the first argument it was invoked with. + + Usage: .Nm argument ... { . , ; : ( ) [ ]} + .Nm mdoc.sample mmddoocc..ssaammppllee + .Nm \-mdoc --mmddoocc. + .Nm foo ) ) , ffoooo)), + .Nm mmddoocc..ssaammpplleess + + The `.Nm' macro is parsed and is callable. + + OOppttiioonnss + The `.Op' macro places option brackets around the any remaining arguments + on the command line, and places any trailing punctuation outside the + brackets. The macros `.Oc' and `.Oo' may be used across one or more + lines. + + Usage: .Op options ... { . , ; : ( ) [ ]} + .Op [] + .Op Fl k [--kk] + .Op Fl k ) . [--kk]). + .Op Fl k Ar kookfile [--kk _k_o_o_k_f_i_l_e] + .Op Fl k Ar kookfile , [--kk _k_o_o_k_f_i_l_e], + .Op Ar objfil Op Ar corfil [_o_b_j_f_i_l [_c_o_r_f_i_l]] + .Op Fl c Ar objfil Op Ar corfil , [--cc _o_b_j_f_i_l [_c_o_r_f_i_l]], + .Op word1 word2 [word1 word2] + + The `.Oc' and `.Oo' macros: + + .Oo + .Op Fl k Ar kilobytes + .Op Fl i Ar interval + .Op Fl c Ar count + .Oc + + Produce: [[--kk _k_i_l_o_b_y_t_e_s] [--ii _i_n_t_e_r_v_a_l] [--cc _c_o_u_n_t]] + + The macros `.Op', `.Oc' and `.Oo' are parsed and are callable. + + PPaatthhnnaammeess + The `.Pa' macro formats path or file names. + + Usage: .Pa pathname { . , ; : ( ) [ ]} + .Pa /usr/share _/_u_s_r_/_s_h_a_r_e + .Pa /tmp/fooXXXXX ) . _/_t_m_p_/_f_o_o_X_X_X_X_X). + + The `.Pa' macro is parsed and is callable. + + VVaarriiaabblleess + Generic variable reference: + + Usage: .Va variable ... { . , ; : ( ) [ ]} + .Va count _c_o_u_n_t + .Va settimer, _s_e_t_t_i_m_e_r, + .Va int *prt ) : _i_n_t _*_p_r_t): + .Va char s ] ) ) , _c_h_a_r _s])), + + It is an error to call `.Va' without any arguments. The `.Va' macro is + parsed and is callable. + + MMaannuuaall PPaaggee CCrroossss RReeffeerreenncceess + The `.Xr' macro expects the first argument to be a manual page name, and + the second argument, if it exists, to be either a section page number or + punctuation. Any remaining arguments are assumed to be punctuation. + + Usage: .Xr man_page [1,...,8] { . , ; : ( ) [ ]} + .Xr mdoc mdoc + .Xr mdoc , mdoc, + .Xr mdoc 7 mdoc(7) + .Xr mdoc 7 ) ) , mdoc(7))), + + The `.Xr' macro is parsed and is callable. It is an error to call `.Xr' + without any arguments. + +GGEENNEERRAALL TTEEXXTT DDOOMMAAIINN + AATT&&TT MMaaccrroo + Usage: .At [v6 | v7 | 32v | V.1 | V.4] ... { . , ; : ( ) [ ]} + .At AT&T UNIX + .At v6 . Version 6 AT&T UNIX. + + The `.At' macro is _n_o_t parsed and _n_o_t callable. It accepts at most two + arguments. + + BBSSDD MMaaccrroo + Usage: .Bx [Version/release] ... { . , ; : ( ) [ ]} + .Bx BSD + .Bx 4.3 . 4.3BSD. + + The `.Bx' macro is parsed and is callable. + + UUNNIIXX MMaaccrroo + Usage: .Ux ... { . , ; : ( ) [ ]} + .Ux UNIX + + The `.Ux' macro is parsed and is callable. + + + EEmmpphhaassiiss MMaaccrroo + Text may be stressed or emphasized with the `.Em' macro. The usual font + for emphasis is italic. + + Usage: .Em argument ... { . , ; : ( ) [ ]} + .Em does not _d_o_e_s _n_o_t + .Em exceed 1024 . _e_x_c_e_e_d _1_0_2_4. + .Em vide infra ) ) , _v_i_d_e _i_n_f_r_a)), + + The `.Em' macro is parsed and is callable. It is an error to call `.Em' + without arguments. + + EEnncclloossuurree aanndd QQuuoottiinngg MMaaccrrooss + The concept of enclosure is similar to quoting. The object being to en- + close one or more strings between a pair of characters like quotes or + parentheses. The terms quoting and enclosure are used interchangeably + throughout this document. Most of the one line enclosure macros end end + in small letter `q' to give a hint of quoting, but there are a few irreg- + ularities. For each enclosure macro there is also a pair of open and + close macros which end in small letters `o' and `c' respectively. These + can be used across one or more lines of text and while they have nesting + limitations, the one line quote macros can be used inside of them. + + _Q_u_o_t_e _C_l_o_s_e _O_p_e_n _F_u_n_c_t_i_o_n _R_e_s_u_l_t + .Aq .Ac .Ao Angle Bracket Enclosure + .Bq .Bc .Bo Bracket Enclosure [string] + .Dq .Dc .Do Double Quote ``string'' + .Ec .Eo Enclose String (in XX) XXstringXX + .Pq .Pc .Po Parenthesis Enclosure (string) + .Ql Quoted Literal `st' or string + .Qq .Qc .Qo Straight Double Quote "string" + .Sq .Sc .So Single Quote `string' + + Except for the irregular macros noted below, all of the quoting macros + are parsed and callable. All handle punctuation properly, as long as it + is presented one character at a time and separated by spaces. The quot- + ing macros examine opening and closing punctuation to determine whether + it comes before or after the enclosing string. This makes some nesting + possible. + + .Ec, .Eo These macros expect the first argument to be the opening and + closing strings respectively. + + .Ql The quoted literal macro behaves differently for troff than + nroff. If formatted with nroff, a quoted literal is always + quoted. If formatted with troff, an item is only quoted if the + width of the item is less than three constant width characters. + This is to make short strings more visible where the font + change to literal (constant width) is less noticeable. + + .Pf The prefix macro is not callable, but it is parsed: + + .Pf ( Fa name2 + becomes (_n_a_m_e_2. + + The `.Ns' (no space) macro performs the analogous suffix func- + tion. + + Examples of quoting: + .Aq <> + .Aq Ar ctype.h ) , <_c_t_y_p_e_._h>), + .Bq [] + .Bq Em Greek , French . [_G_r_e_e_k, _F_r_e_n_c_h]. + + + .Dq ``'' + .Dq string abc . ``string abc''. + .Dq '^[A-Z]' ``'^[A-Z]''' + .Ql man mdoc `man mdoc' + .Qq "" + .Qq string ) , "string"), + .Qq string Ns ), "string)," + .Sq `' + .Sq string `string' + + For a good example of nested enclosure macros, see the `.Op' option + macro. It was created from the same underlying enclosure macros as those + presented in the list above. The `.Xo' and `.Xc' extended argument list + macros were also built from the same underlying routines and are a good + example of --mmddoocc macro usage at its worst. + + NNoo--OOpp oorr NNoorrmmaall TTeexxtt MMaaccrroo + The macro .No is a hack for words in a macro command line which should + _n_o_t be formatted and follows the conventional syntax for content macros. + + NNoo SSppaaccee MMaaccrroo + The `.Ns' macro eliminates unwanted spaces in between macro requests. It + is useful for old style argument lists where there is no space between + the flag and argument: + + .Op Fl I Ns Ar directory produces [--II_d_i_r_e_c_t_o_r_y] + + Note: the `.Ns' macro always invokes the `.No' macro after eliminating + the space unless another macro name follows it. The macro `.Ns' is + parsed and is callable. + + SSeeccttiioonn CCrroossss RReeffeerreenncceess + The `.Sx' macro designates a reference to a section header within the + same document. It is parsed and is callable. + + .Sx FILES _F_I_L_E_S + + SSyymmbboolliicc + The symbolic emphasis macro is generally a boldface macro in either the + symbolic sense or the traditional English usage. + + Usage: .Sy symbol ... { . , ; : ( ) [ ]} + .Sy Important Notice IImmppoorrttaanntt NNoottiiccee + + The `.Sy' macro is parsed and is callable. Arguments to `.Sy' may be + quoted. + + RReeffeerreenncceess aanndd CCiittaattiioonnss + The following macros make a modest attempt to handle references. At + best, the macros make it convenient to manually drop in a subset of refer + style references. + + .Rs Reference Start. Causes a line break and begins collection + of reference information until the reference end macro is + read. + .Re Reference End. The reference is printed. + .%A Reference author name, one name per invocation. + .%B Book title. + .%C City/place. + .%D Date. + .%J Journal name. + .%N Issue number. + .%O Optional information. + .%P Page number. + + + .%R Report name. + .%T Title of article. + .%V Volume(s). + + The macros beginning with `%' are not callable, and are parsed only for + the trade name macro which returns to its caller. (And not very pre- + dictably at the moment either.) The purpose is to allow trade names to + be pretty printed in troff/ditroff output. + + TTrraaddee NNaammeess ((oorr AAccrroonnyymmss aanndd TTyyppee NNaammeess)) + The trade name macro is generally a small caps macro for all upper case + words longer than two characters. + + Usage: .Tn symbol ... { . , ; : ( ) [ ]} + .Tn DEC DEC + .Tn ASCII ASCII + + The `.Tn' macro is parsed and is callable by other macros. + + EExxtteennddeedd AArrgguummeennttss + The .Xo and .Xc macros allow one to extend an argument list on a macro + boundary. Argument lists cannot be extended within a macro which expects + all of its arguments on one line such as `.Op'. + + Here is an example of `.Xo' using the space mode macro to turn spacing + off: + + .Sm off + .It Xo Sy I Ar operation + .No \en Ar count No \en + .Xc + .Sm on + + Produces + + II_o_p_e_r_a_t_i_o_n\n_c_o_u_n_t\n + + Another one: + + .Sm off + .It Cm S No / Ar old_pattern Xo + .No / Ar new_pattern + .No / Op Cm g + .Xc + .Sm on + + Produces + + SS/_o_l_d___p_a_t_t_e_r_n/_n_e_w___p_a_t_t_e_r_n/[gg] + + Another example of `.Xo' and using enclosure macros: Test the value of an + variable. + + .It Xo + .Ic .ifndef + .Oo \&! Oc Ns Ar variable + .Op Ar operator variable ... + .Xc + + Produces + + ..iiffnnddeeff [!]_v_a_r_i_a_b_l_e [_o_p_e_r_a_t_o_r _v_a_r_i_a_b_l_e _._._.] + + All of the above examples have used the `.Xo' macro on the argument list + of the `.It' (list-item) macro. The extend macros are not used very of- + ten, and when they are it is usually to extend the list-item argument + list. Unfortunately, this is also where the extend macros are the most + finicky. In the first two examples, spacing was turned off; in the + third, spacing was desired in part of the output but not all of it. To + make these macros work in this situation make sure the `.Xo' and `.Xc' + macros are placed as shown in the third example. If the `.Xo' macro is + not alone on the `.It' argument list, spacing will be unpredictable. The + `.Ns' (no space macro) must not occur as the first or last macro on a + line in this situation. Out of 900 manual pages (about 1500 actual + pages) currently released with BSD only fifteen use the `.Xo' macro. + +PPAAGGEE SSTTRRUUCCTTUURREE DDOOMMAAIINN + SSeeccttiioonn HHeeaaddeerrss + The first three `.Sh' section header macros list below are required in + every man page. The remaining section headers are recommended at the + discretion of the author writing the manual page. The `.Sh' macro can + take up to nine arguments. It is parsed and but is not callable. + + .Sh NAME The `.Sh NAME' macro is mandatory. If not specified, the + headers, footers and page layout defaults will not be set + and things will be rather unpleasant. The _N_A_M_E section + consists of at least three items. The first is the `.Nm' + name macro naming the subject of the man page. The second + is the Name Description macro, `.Nd', which separates the + subject name from the third item, which is the description. + The description should be the most terse and lucid possi- + ble, as the space available is small. + + .Sh SYNOPSIS The _S_Y_N_O_P_S_I_S section describes the typical usage of the + subject of a man page. The macros required are either + `.Nm', `.Cd', `.Fn', (and possibly `.Fo', `.Fc', `.Fd', + `.Ft' macros). The function name macro `.Fn' is required + for manual page sections 2 and 3, the command and general + name macro `.Nm' is required for sections 1, 5, 6, 7, 8. + Section 4 manuals require a `.Nm, .Fd' or a `.Cd' configu- + ration device usage macro. Several other macros may be + necessary to produce the synopsis line as shown below: + + ccaatt [--bbeennssttuuvv] [--] _f_i_l_e _._._. + + The following macros were used: + + .Nm cat + .Op Fl benstuv + .Op Fl + .Ar + + NNoottee: The macros `.Op', `.Fl', and `.Ar' recognize the pipe + bar character `|', so a command line such as: + + .Op Fl a | Fl b + + will not go orbital. Troff normally interprets a | as a + special operator. See _P_R_E_D_E_F_I_N_E_D _S_T_R_I_N_G_S for a usable | + character in other situations. + + .Sh DESCRIPTION + In most cases the first text in the _D_E_S_C_R_I_P_T_I_O_N section is + a brief paragraph on the command, function or file, fol- + lowed by a lexical list of options and respective explana- + tions. To create such a list, the `.Bl' begin-list, `.It' + list-item and `.El' end-list macros are used (see _L_i_s_t_s _a_n_d + _C_o_l_u_m_n_s below). + + The following `.Sh' section headers are part of the preferred manual page + layout and must be used appropriately to maintain consistency. They are + + listed in the order in which they would be used. + + .Sh ENVIRONMENT + The _E_N_V_I_R_O_N_M_E_N_T section should reveal any related environment + variables and clues to their behavior and/or usage. + + .Sh EXAMPLES + There are several ways to create examples. See the _E_X_A_M_P_L_E_S + section below for details. + + .Sh FILES + Files which are used or created by the man page subject should + be listed via the `.Pa' macro in the _F_I_L_E_S section. + + .Sh SEE ALSO + References to other material on the man page topic and cross + references to other relevant man pages should be placed in the + _S_E_E _A_L_S_O section. Cross references are specified using the + `.Xr' macro. At this time refer(1) style references are not + accommodated. + + .Sh STANDARDS + If the command, library function or file adheres to a specific + implementation such as IEEE Std1003.2 (``POSIX'') or ANSI C + X3.159-1989 (``ANSI C '') this should be noted here. If the + command does not adhere to any standard, its history should be + noted in the _H_I_S_T_O_R_Y section. + + .Sh HISTORY + Any command which does not adhere to any specific standards + should be outlined historically in this section. + + .Sh AUTHORS + Credits, if need be, should be placed here. + + .Sh DIAGNOSTICS + Diagnostics from a command should be placed in this section. + + .Sh ERRORS + Specific error handling, especially from library functions (man + page sections 2 and 3) should go here. The `.Er' macro is used + to specify an errno. + + .Sh BUGS Blatant problems with the topic go here... + + User specified `.Sh' sections may be added, for example, this section was + set with: + + .Sh PAGE LAYOUT MACROS + + PPaarraaggrraapphhss aanndd LLiinnee SSppaacciinngg.. + + .Pp The .Pp paragraph command may be used to specify a line space + where necessary. The macro is not necessary after a `.Sh' or + `.Ss' macro or before a `.Bl' macro. (The `.Bl' macro asserts a + vertical distance unless the -compact flag is given). + + KKeeeeppss + The only keep that is implemented at this time is for words. The macros + are `.Bk' (begin-keep) and `.Ek' (end-keep). The only option that `.Bl' + accepts is --wwoorrddss and is useful for preventing line breaks in the middle + of options. In the example for the make command line arguments (see + _W_h_a_t_'_s _i_n _a _n_a_m_e), the keep prevented nroff from placing up the flag and + the argument on separate lines. (Actually, the option macro used to pre- + vent this from occurring, but was dropped when the decision (religious) + was made to force right justified margins in troff as options in general + look atrocious when spread across a sparse line. More work needs to be + done with the keep macros, a --lliinnee option needs to be added.) + + EExxaammpplleess aanndd DDiissppllaayyss + There are five types of displays, a quickie one line indented display + `.D1', a quickie one line literal display `.Dl', and a block literal, + block filled and block ragged which use the `.Bd' begin-display and `.Ed' + end-display macros. + + .D1 (D-one) Display one line of indented text. This macro is parsed, + but it is not callable. + + --llddgghhffssttrruu + + The above was produced by: .Dl --llddgghhffssttrruu. + + .Dl (D-ell) Display one line of indented _l_i_t_e_r_a_l text. The `.Dl' ex- + ample macro has been used throughout this file. It allows the in- + dent (display) of one line of text. Its default font is set to + constant width (literal) however it is parsed and will recognized + other macros. It is not callable however. + + % ls -ldg /usr/local/bin + + The above was produced by .Dl % ls -ldg /usr/local/bin. + + .Bd Begin-display. The `.Bd' display must be ended with the `.Ed' + macro. Displays may be nested within displays and lists. `.Bd' + has the following syntax: + + .Bd display-type [-offset offset_value] [-compact] + + The display-type must be one of the following four types and may + have an offset specifier for indentation: `.Bd'. + + --rraaggggeedd Display a block of text as typed, right (and + left) margin edges are left ragged. + --ffiilllleedd Display a filled (formatted) block. The block + of text is formatted (the edges are filled - not + left unjustified). + --lliitteerraall Display a literal block, useful for source code + or simple tabbed or spaced text. + --ffiillee _f_i_l_e___n_a_m_e The file name following the --ffiillee flag is read + and displayed. Literal mode is asserted and + tabs are set at 8 constant width character in- + tervals, however any troff/--mmddoocc commands in + file will be processed. + --ooffffsseett _s_t_r_i_n_g If --ooffffsseett is specified with one of the follow- + ing strings, the string is interpreted to indi- + cate the level of indentation for the forthcom- + ing block of text: + + _l_e_f_t Align block on the current left mar- + gin, this is the default mode of + `.Bd'. + _c_e_n_t_e_r Supposedly center the block. At + this time unfortunately, the block + merely gets left aligned about an + imaginary center margin. + _i_n_d_e_n_t Indents by one default indent value + or tab. The default indent value is + also used for the `.D1' display so + one is guaranteed the two types of + displays will line up. This indent + is normally set to 6n or about two + thirds of an inch (six constant + + width characters). + _i_n_d_e_n_t_-_t_w_o Indents two times the default indent + value. + _r_i_g_h_t This _l_e_f_t aligns the block about two + inches from the right side of the + page. This macro needs work and + perhaps may never do the right thing + by troff. + + .Ed End-display. + + TTaaggggeedd LLiissttss aanndd CCoolluummnnss + There are several types of lists which may be initiated with the `.Bl' + begin-list macro. Items within the list are specified with the `.It' + item macro and each list must end with the `.El' macro. Lists may be + nested within themselves and within displays. Columns may be used inside + of lists, but lists are unproven inside of columns. + + In addition, several list attributes may be specified such as the width + of a tag, the list offset, and compactness (blank lines between items al- + lowed or disallowed). Most of this document has been formatted with a + tag style list (--ttaagg). For a change of pace, the list-type used to pre- + sent the list-types is an over-hanging list (--oohhaanngg). This type of list + is quite popular with TeX users, but might look a bit funny after having + read many pages of tagged lists. The following list types are accepted + by `.Bl': + + --bbuulllleett + --iitteemm + --eennuumm + These three are the simplest types of lists. Once the `.Bl' macro has + been given, items in the list are merely indicated by a line consisting + solely of the `.It' macro. For example, the source text for a simple + enumerated list would look like: + + .Bl -enum -compact + .It + Item one goes here. + .It + And item two here. + .It + Lastly item three goes here. + .El + + The results: + + 1. Item one goes here. + 2. And item two here. + 3. Lastly item three goes here. + + A simple bullet list construction: + + .Bl -bullet -compact + .It + Bullet one goes here. + .It + Bullet two here. + .El + + Produces: + ++oo Bullet one goes here. + ++oo Bullet two here. + + + + --ttaagg + --ddiiaagg + --hhaanngg + --oohhaanngg + --iinnsseett + These list-types collect arguments specified with the `.It' macro and + create a label which may be _i_n_s_e_t into the forth coming text, _h_a_n_g_e_d from + the forth coming text, _o_v_e_r_h_a_n_g_e_d from above and not indented or _t_a_g_g_e_d. + This list was constructed with the `--oohhaanngg' list-type. The `.It' macro + is parsed only for the inset, hang and tag list-types and is not + callable. Here is an example of inset labels: + + _T_a_g The tagged list (also called a tagged paragraph) is the most + common type of list used in the Berkeley manuals. + + _D_i_a_g Diag lists create section four diagnostic lists and are simi- + lar to inset lists except callable macros are ignored. + + _H_a_n_g Hanged labels are a matter of taste. + + _O_h_a_n_g Over hanging labels are nice when space is constrained. + + _I_n_s_e_t Inset labels are useful for controlling blocks of paragraphs + and are valuable for converting --mmddoocc manuals to other formats. + + Here is the source text which produced the above example: + + .Bl -inset -offset indent + .It Em Tag + The tagged list (also called a tagged paragraph) is the + most common type of list used in the Berkeley manuals. + .It Em Diag + Diag lists create section four diagnostic lists + and are similar to inset lists except callable + macros are ignored. + .It Em Hang + Hanged labels are a matter of taste. + .It Em Ohang + Over hanging labels are nice when space is constrained. + .It Em Inset + Inset labels are useful for controlling blocks of + paragraphs and are valuable for converting + .Nm -mdoc + manuals to other formats. + .El + + Here is a hanged list with just one item: + + _H_a_n_g_e_d labels appear similar to tagged lists when the label is + smaller than the label width. + + _L_o_n_g_e_r _h_a_n_g_e_d _l_i_s_t _l_a_b_e_l_s blend in to the paragraph unlike tagged + paragraph labels. + + And the unformatted text which created it: + + .Bl -hang -offset indent + .It Em Hanged + labels appear similar to tagged lists when the + label is smaller than the label width. + .It Em Longer hanged list labels + blend in to the paragraph unlike + tagged paragraph labels. + .El + + + The tagged list which follows uses an optional width specifier to control + the width of the tag. + + SL sleep time of the process (seconds blocked) + PAGEIN number of disk I/O's resulting from references by the pro- + cess to pages not loaded in core. + UID numerical user-id of process owner + PPID numerical id of parent of process process priority (non- + positive when in non-interruptible wait) + + The raw text: + + .Bl -tag -width "PAGEIN" -compact -offset indent + .It SL + sleep time of the process (seconds blocked) + .It PAGEIN + number of disk + .Tn I/O Ns 's + resulting from references + by the process to pages not loaded in core. + .It UID + numerical user-id of process owner + .It PPID + numerical id of parent of process process priority + (non-positive when in non-interruptible wait) + .El + + Acceptable width specifiers: + + --wwiiddtthh _F_l sets the width to the default width for a flag. All + callable macros have a default width value. The + `.Fl', value is presently set to ten constant width + characters or about five sixth of an inch. + + --wwiiddtthh _2_4_n sets the width to 24 constant width characters or + about two inches. The `n' is absolutely necessary + for the scaling to work correctly. + + --wwiiddtthh _E_N_A_M_E_T_O_O_L_O_N_G + sets width to the constant width length of the string + given. + + --wwiiddtthh _"_i_n_t _m_k_f_i_f_o_" + again, the width is set to the constant width of the + string given. + + If a width is not specified for the tag list type, the first time `.It' + is invoked, an attempt is made to determine an appropriate width. If the + first argument to `.It' is a callable macro, the default width for that + macro will be used as if the macro name had been supplied as the width. + However, if another item in the list is given with a different callable + macro name, a new and nested list is assumed. + +PPRREEDDEEFFIINNEEDD SSTTRRIINNGGSS + The following strings are predefined as may be used by preceding with the + troff string interpreting sequence `\*(xx' where _x_x is the name of the + defined string or as `\*x' where _x is the name of the string. The inter- + preting sequence may be used any where in the text. + + SSttrriinngg NNrrooffff TTrrooffff + <= <= <= + >= >= >= + Rq '' '' + Lq `` `` + + + ua ^ ^ + aa ' + ga ` ` + q " " + Pi pi pi + Ne != != + Le <= <= + Ge >= >= + Lt < > + Gt > < + Pm +- +- + If infinity infinity + Na _N_a_N _N_a_N + Ba | | + + NNoottee: The string named `q' should be written as `\*q' since it is only + one char. + +DDIIAAGGNNOOSSTTIICCSS + The debugging facilities for --mmddoocc are limited, but can help detect sub- + tle errors such as the collision of an argument name with an internal + register or macro name. (A what?) A register is an arithmetic storage + class for troff with a one or two character name. All registers internal + to --mmddoocc for troff and ditroff are two characters and of the form such as `Ar', as `aR' or + as `C1'. And adding to the muddle, troff + has its own internal registers all of which are either two lower case + characters or a dot plus a letter or meta-character character. In one of + the introduction examples, it was shown how to prevent the interpretation + of a macro name with the escape sequence `\&'. This is sufficient for the + internal register names also. + + If a non-escaped register name is given in the argument list of a request + unpredictable behavior will occur. In general, any time huge portions of + text do not appear where expected in the output, or small strings such as + list tags disappear, chances are there is a misunderstanding about an ar- + gument type in the argument list. Your mother never intended for you to + remember this evil stuff - so here is a way to find out whether or not + your arguments are valid: The `.Db' (debug) macro displays the interpre- + tation of the argument list for most macros. Macros such as the `.Pp' + (paragraph) macro do not contain debugging information. All of the + callable macros do, and it is strongly advised whenever in doubt, turn on + the `.Db' macro. + + Usage: .Db [on | off] + + An example of a portion of text with the debug macro placed above and be- + low an artificially created problem (a flag argument `aC' which should be + `\&aC' in order to work): + + .Db on + .Op Fl aC Ar file ) + .Db off + + The resulting output: + + DEBUGGING ON + DEBUG(argv) MACRO: `.Op' Line #: 2 + Argc: 1 Argv: `Fl' Length: 2 + Space: `' Class: Executable + Argc: 2 Argv: `aC' Length: 2 + Space: `' Class: Executable + Argc: 3 Argv: `Ar' Length: 2 + Space: `' Class: Executable + Argc: 4 Argv: `file' Length: 4 + Space: ` ' Class: String + Argc: 5 Argv: `)' Length: 1 + Space: ` ' Class: Closing Punctuation or suffix + MACRO REQUEST: .Op Fl aC Ar file ) + DEBUGGING OFF + + The first line of information tells the name of the calling macro, here + `.Op', and the line number it appears on. If one or more files are in- + volved (especially if text from another file is included) the line number + may be bogus. If there is only one file, it should be accurate. The + second line gives the argument count, the argument (`Fl') and its length. + If the length of an argument is two characters, the argument is tested to + see if it is executable (unfortunately, any register which contains a + non-zero value appears executable). The third line gives the space al- + lotted for a class, and the class type. The problem here is the argument + aC should not be executable. The four types of classes are string, exe- + cutable, closing punctuation and opening punctuation. The last line + shows the entire argument list as it was read. In this next example, the + offending `aC' is escaped: + + .Db on + .Em An escaped \&aC + .Db off + + DEBUGGING ON + DEBUG(fargv) MACRO: `.Em' Line #: 2 + Argc: 1 Argv: `An' Length: 2 + Space: ` ' Class: String + Argc: 2 Argv: `escaped' Length: 7 + Space: ` ' Class: String + Argc: 3 Argv: `aC' Length: 2 + Space: ` ' Class: String + MACRO REQUEST: .Em An escaped &aC + DEBUGGING OFF + + The argument `\&aC' shows up with the same length of 2 as the `\&' se- + quence produces a zero width, but a register named `\&aC' was not found + and the type classified as string. + + Other diagnostics consist of usage statements and are self explanatory. + +GGRROOFFFF,, TTRROOFFFF AANNDD NNRROOFFFF + The --mmddoocc package does not need compatibility mode with groff. + + The package inhibits page breaks, and the headers and footers which nor- + mally occur at those breaks with nroff, to make the manual more effi- + cient for viewing on-line. At the moment, groff with --TT_a_s_c_i_i does eject + the imaginary remainder of the page at end of file. The inhibiting of + the page breaks makes nroff'd files unsuitable for hardcopy. There is a + register named `cR' which can be set to zero in the site dependent style + file _/_u_s_r_/_s_r_c_/_s_h_a_r_e_/_t_m_a_c_/_d_o_c_-_n_r_o_f_f to restore the old style behavior. + +FFIILLEESS + /usr/share/tmac/tmac.doc manual macro package + /usr/share/man0/template.doc template for writing a man page + +SSEEEE AALLSSOO + mdoc(7), man(1), troff(1) + +BBUUGGSS + Undesirable hyphenation on the dash of a flag argument is not yet re- + solved, and causes occasional mishaps in the _D_E_S_C_R_I_P_T_I_O_N section. (line + break on the hyphen). + + Predefined strings are not declared in documentation. + + + Section 3f has not been added to the header routines. + + `.Nm' font should be changed in _N_A_M_E section. + + `.Fn' needs to have a check to prevent splitting up if the line length is + too short. Occasionally it separates the last parenthesis, and sometimes + looks ridiculous if a line is in fill mode. + + The method used to prevent header and footer page breaks (other than the + initial header and footer) when using nroff occasionally places an un- + sightly partially filled line (blank) at the would be bottom of the page. + + The list and display macros to not do any keeps and certainly should be + able to. + +4.4BSD June 9, 1993 23 diff --git a/usr/share/man/cat7/me.0 b/usr/share/man/cat7/me.0 new file mode 100644 index 0000000000..2f72b31bfd --- /dev/null +++ b/usr/share/man/cat7/me.0 @@ -0,0 +1,198 @@ + + + +ME(7) BSD Reference Manual ME(7) + + +NNAAMMEE + me - macros for formatting papers + +SSYYNNOOPPSSIISS + nnrrooffff --mmee [ options ] file ... + ttrrooffff --mmee [ options ] file ... + +DDEESSCCRRIIPPTTIIOONN + This package of _n_r_o_f_f and _t_r_o_f_f macro definitions provides + a canned formatting facility for technical papers in vari- + ous formats. When producing 2-column output on a termi- + nal, filter the output through _c_o_l(1). + + The macro requests are defined below. Many _n_r_o_f_f and + _t_r_o_f_f requests are unsafe in conjunction with this pack- + age, however, these requests may be used with impunity + after the first .pp: + + .bp begin new page + .br break output line here + .sp n insert n spacing lines + .ls n (line spacing) n=1 single, n=2 double space + .na no alignment of right margin + .ce n center next n lines + .ul n underline next n lines + .sz +n add n to point size + + Output of the _e_q_n_, _n_e_q_n_, _r_e_f_e_r_, and _t_b_l(1) preprocessors + for equations and tables is acceptable as input. + +FFIILLEESS + /usr/lib/tmac/tmac.e + /usr/lib/me/* + +SSEEEE AALLSSOO + eqn(1), troff(1), refer(1), tbl(1) + -me Reference Manual, Eric P. Allman + Writing Papers with Nroff Using -me + +RREEQQUUEESSTTSS + In the following list, "initialization" refers to the + first .pp, .lp, .ip, .np, .sh, or .uh macro. This list is + incomplete; see _T_h_e _-_m_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for interesting + details. + +Request Initial Cause Explanation + Value Break +.(c - yes Begin centered block +.(d - no Begin delayed text +.(f - no Begin footnote +.(l - yes Begin list + + + +3rd Berkeley Distribution June 5, 1993 1 + + + + + + + + +ME(7) BSD Reference Manual ME(7) + + +.(q - yes Begin major quote +.(x _x - no Begin indexed item in index _x +.(z - no Begin floating keep +.)c - yes End centered block +.)d - yes End delayed text +.)f - yes End footnote +.)l - yes End list +.)q - yes End major quote +.)x - yes End index item +.)z - yes End floating keep +.++ _m _H - no Define paper section. _m defines the + part of the paper, and can be CC (chap- + ter), AA (appendix), PP (preliminary, + e.g., abstract, table of contents, + etc.), BB (bibliography), RRCC (chapters + renumbered from page one each chap- + ter), or RRAA (appendix renumbered from + page one). +.+c _T - yes Begin chapter (or appendix, etc., as + set by .++). _T is the chapter title. +.1c 1 yes One column format on a new page. +.2c 1 yes Two column format. +.EN - yes Space after equation produced by _e_q_n + or _n_e_q_n. +.EQ _x _y - yes Precede equation; break out and add + space. Equation number is _y. The + optional argument _x may be _I to indent + equation (default), _L to left-adjust + the equation, or _C to center the equa- + tion. +.GE - yes End _g_r_e_m_l_i_n picture. +.GS - yes Begin _g_r_e_m_l_i_n picture. +.PE - yes End _p_i_c picture. +.PS - yes Begin _p_i_c picture. +.TE - yes End table. +.TH - yes End heading section of table. +.TS _x - yes Begin table; if _x is _H table has + repeated heading. +.ac _A _N - no Set up for ACM style output. _A is the + Author's name(s), _N is the total num- + ber of pages. Must be given before + the first initialization. +.b _x no no Print _x in boldface; if no argument + switch to boldface. +.ba _+_n 0 yes Augments the base indent by _n_. This + indent is used to set the indent on + regular text (like paragraphs). +.bc no yes Begin new column +.bi _x no no Print _x in bold italics (nofill only) +.bu - yes Begin bulleted paragraph +.bx _x no no Print _x in a box (nofill only). + + + +3rd Berkeley Distribution June 5, 1993 2 + + + + + + + + +ME(7) BSD Reference Manual ME(7) + + +.ef _'_x_'_y_'_z_' '''' no Set even footer to x y z +.eh _'_x_'_y_'_z_' '''' no Set even header to x y z +.fo _'_x_'_y_'_z_' '''' no Set footer to x y z +.hx - no Suppress headers and footers on next + page. +.he _'_x_'_y_'_z_' '''' no Set header to x y z +.hl - yes Draw a horizontal line +.i _x no no Italicize _x_; if _x missing, italic text + follows. +.ip _x _y no yes Start indented paragraph, with hanging + tag _x. Indentation is _y ens (default + 5). +.lp yes yes Start left-blocked paragraph. +.lo - no Read in a file of local macros of the + form ..**_x_. Must be given before ini- + tialization. +.np 1 yes Start numbered paragraph. +.of _'_x_'_y_'_z_' '''' no Set odd footer to x y z +.oh _'_x_'_y_'_z_' '''' no Set odd header to x y z +.pd - yes Print delayed text. +.pp no yes Begin paragraph. First line indented. +.r yes no Roman text follows. +.re - no Reset tabs to default values. +.sc no no Read in a file of special characters + and diacritical marks. Must be given + before initialization. +.sh _n _x - yes Section head follows, font automati- + cally bold. _n is level of section, _x + is title of section. +.sk no no Leave the next page blank. Only one + page is remembered ahead. +.sm _x - no Set _x in a smaller pointsize. +.sz _+_n 10p no Augment the point size by _n points. +.th no no Produce the paper in thesis format. + Must be given before initialization. +.tp no yes Begin title page. +.u _x - no Underline argument (even in _t_r_o_f_f). + (Nofill only). +.uh - yes Like .sh but unnumbered. +.xp _x - no Print index _x_. + + + + + + + + + + + + + + +3rd Berkeley Distribution June 5, 1993 3 + + + + + diff --git a/usr/share/man/cat7/miscellaneous.0 b/usr/share/man/cat7/miscellaneous.0 new file mode 100644 index 0000000000..91d69d13b5 --- /dev/null +++ b/usr/share/man/cat7/miscellaneous.0 @@ -0,0 +1,13 @@ +INTRO(7) BSD Reference Manual INTRO(7) + +NNAAMMEE + iinnttrroo - miscellaneous information pages + +DDEESSCCRRIIPPTTIIOONN + This section contains miscellaneous documentation, mostly in the area of + text processing macro packages for troff(1). + +HHIISSTTOORRYY + iinnttrroo appeared in 4.2 BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat7/ms.0 b/usr/share/man/cat7/ms.0 new file mode 100644 index 0000000000..44b3f8ca6f --- /dev/null +++ b/usr/share/man/cat7/ms.0 @@ -0,0 +1,264 @@ + + + +MS(7) BSD Reference Manual MS(7) + + +NNAAMMEE + ms - text formatting macros + +SSYYNNOOPPSSIISS + nnrrooffff --mmss [ options ] file ... + ttrrooffff --mmss [ options ] file ... + +DDEESSCCRRIIPPTTIIOONN + This package of _n_r_o_f_f and _t_r_o_f_f macro definitions provides + a formatting facility for various styles of articles, the- + ses, and books. When producing 2-column output on a ter- + minal or lineprinter, or when reverse line motions are + needed, filter the output through _c_o_l(1). All external + -ms macros are defined below. Many _n_r_o_f_f and _t_r_o_f_f + requests are unsafe in conjunction with this package. + However, the first four requests below may be used with + impunity after initialization, and the last two may be + used even before initialization: + .bp begin new page + .br break output line + .sp n insert n spacing lines + .ce n center next n lines + .ls n line spacing: n=1 single, n=2 double space + .na no alignment of right margin + Font and point size changes with \f and \s are also + allowed; for example, ``\fIword\fR'' will italicize _w_o_r_d_. + Output of the _t_b_l_, _e_q_n_, and _r_e_f_e_r(1) preprocessors for + equations, tables, and references is acceptable as input. + +FFIILLEESS + /usr/share/tmac/tmac.x + /usr/share/ms/x.??? + +SSEEEE AALLSSOO + eqn(1), refer(1), tbl(1), troff(1) + +RREEQQUUEESSTTSS +Macro Initial Break? Explanation +Name Value Reset? +.AB _x - y begin abstract; if _x=no don't label abstract +.AE - y end abstract +.AI - y author's institution +.AM - n better accent mark definitions +.AU - y author's name +.B _x - n embolden _x; if no _x, switch to boldface +.B1 - y begin text to be enclosed in a box +.B2 - y end boxed text and print it +.BT date n bottom title, printed at foot of page +.BX _x - n print word _x in a box +.CM if t n cut mark between pages +.CT - y,y chapter title: page number moved to CF (TM only) + + + +4th Berkeley Distribution June 5, 1993 1 + + + + + + + + +MS(7) BSD Reference Manual MS(7) + + +.DA _x if n n force date _x at bottom of page; today if no _x +.DE - y end display (unfilled text) of any kind +.DS _x _y I y begin display with keep; _x=I,L,C,B; _y=indent +.ID _y 8n,.5i y indented display with no keep; _y=indent +.LD - y left display with no keep +.CD - y centered display with no keep +.BD - y block display; center entire block +.EF _x - n even page footer _x (3 part as for .tl) +.EH _x - n even page header _x (3 part as for .tl) +.EN - y end displayed equation produced by _e_q_n +.EQ _x _y - y break out equation; _x=L,I,C; _y=equation number +.FE - n end footnote to be placed at bottom of page +.FP - n numbered footnote paragraph; may be redefined +.FS _x - n start footnote; _x is optional footnote label +.HD undef n optional page header below header margin +.I _x - n italicize _x; if no _x, switch to italics +.IP _x _y - y,y indented paragraph, with hanging tag _x; _y=indent +.IX _x _y - y index words _x _y and so on (up to 5 levels) +.KE - n end keep of any kind +.KF - n begin floating keep; text fills remainder of page +.KS - y begin keep; unit kept together on a single page +.LG - n larger; increase point size by 2 +.LP - y,y left (block) paragraph. +.MC _x - y,y multiple columns; _x=column width +.ND _x if t n no date in page footer; _x is date on cover +.NH _x _y - y,y numbered header; _x=level, _x=0 resets, _x=S sets to _y +.NL 10p n set point size back to normal +.OF _x - n odd page footer _x (3 part as for .tl) +.OH _x - n odd page header _x (3 part as for .tl) +.P1 if TM n print header on 1st page +.PP - y,y paragraph with first line indented +.PT - % - n page title, printed at head of page +.PX _x - y print index (table of contents); _x=no suppresses title +.QP - y,y quote paragraph (indented and shorter) +.R on n return to Roman font +.RE 5n y,y retreat: end level of relative indentation +.RP _x - n released paper format; _x=no stops title on 1st page +.RS 5n y,y right shift: start level of relative indentation +.SH - y,y section header, in boldface +.SM - n smaller; decrease point size by 2 +.TA 8n,5n n set tabs to 8n 16n ... (nroff) 5n 10n ... (troff) +.TC _x - y print table of contents at end; _x=no suppresses title +.TE - y end of table processed by _t_b_l +.TH - y end multi-page header of table +.TL - y title in boldface and two points larger +.TM off n UC Berkeley thesis mode +.TS _x - y,y begin table; if _x=H table has multi-page header +.UL _x - n underline _x, even in _t_r_o_f_f +.UX _x - n UNIX; trademark message first time; _x appended +.XA _x _y - y another index entry; _x=page or no for none; _y=indent +.XE - y end index entry (or series of .IX entries) + + + +4th Berkeley Distribution June 5, 1993 2 + + + + + + + + +MS(7) BSD Reference Manual MS(7) + + +.XP - y,y paragraph with first line exdented, others indented +.XS _x _y - y begin index entry; _x=page or no for none; _y=indent +.1C on y,y one column format, on a new page +.2C - y,y begin two column format +.]- - n beginning of _r_e_f_e_r reference +.[0 - n end of unclassifiable type of reference +.[N - n N= 1:journal-article, 2:book, 3:book-article, 4:report + +RREEGGIISSTTEERRSS + Formatting distances can be controlled in -ms by means of + built-in number registers. For example, this sets the + line length to 6.5 inches: + .nr LL 6.5i + Here is a table of number registers and their default val- + ues: + Name Register Controls Takes Effect Default + PS point size paragraph 10 + VS vertical spacing paragraph 12 + LL line length paragraph 6i + LT title length next page same as LL + FL footnote length next .FS 5.5i + PD paragraph distance paragraph 1v (if n), .3v (if t) + DD display distance displays 1v (if n), .5v (if t) + PI paragraph indent paragraph 5n + QI quote indent next .QP 5n + FI footnote indent next .FS 2n + PO page offset next page 0 (if n), ~1i (if t) + HM header margin next page 1i + FM footer margin next page 1i + FF footnote format next .FS 0 (1, 2, 3 available) + When resetting these values, make sure to specify the + appropriate units. Setting the line length to 7, for + example, will result in output with one character per + line. Setting FF to 1 suppresses footnote superscripting; + setting it to 2 also suppresses indentation of the first + line; and setting it to 3 produces an .IP-like footnote + paragraph. + + Here is a list of string registers available in -ms; they + may be used anywhere in the text: + Name String's Function + \*Q quote (" in _n_r_o_f_f_, `` in _t_r_o_f_f ) + \*U unquote (" in _n_r_o_f_f_, '' in _t_r_o_f_f ) + \*- dash (-- in _n_r_o_f_f_, -- in _t_r_o_f_f ) + \*(MO month (month of the year) + \*(DY day (current date) + \** automatically numbered footnote + \*[ opening footnote string delimiter + \*] closing footnote string delimiter + \*([. opening reference tag delimiter + \*(.] closing reference tag delimiter + + + +4th Berkeley Distribution June 5, 1993 3 + + + + + + + + +MS(7) BSD Reference Manual MS(7) + + + \*' acute accent (before letter) + \*` grave accent (before letter) + \*^ circumflex (before letter) + \*, cedilla (before letter) + \*: umlaut (before letter) + \*~ tilde (before letter) + The opening and closing delimiters for footnote numbers + and reference tags may be changed by resetting the appro- + priate string. Both opening delimiters change to italics + and superscript in _t_r_o_f_f, reverting to the previous font + and the baseline at the closing delimiter. In _n_r_o_f_f, + square brackets are used as delimiters, with footnote num- + bers in italics. + + When using the extended accent mark definitions available + with .AM, these strings should come after, rather than + before, the letter to be accented. + +BBUUGGSS + Floating keeps and regular keeps are diverted to the same + space, so they cannot be mixed together with predictable + results. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4th Berkeley Distribution June 5, 1993 4 + + + + + diff --git a/usr/share/man/cat7/operator.0 b/usr/share/man/cat7/operator.0 new file mode 100644 index 0000000000..18b498211b --- /dev/null +++ b/usr/share/man/cat7/operator.0 @@ -0,0 +1,28 @@ +OPERATOR(7) BSD Reference Manual OPERATOR(7) + +NNAAMMEE + ooppeerraattoorr - C operator precedence and order of evaluation + +DDEESSCCRRIIPPTTIIOONN + Operator Associativity + -------- ------------- + () [] -> . left to right + ! ~ ++ -- - (type) * & sizeof right to left + * / % left to right + + - left to right + << >> left to right + < <= > >= left to right + == != left to right + & left to right + ^ left to right + | left to right + && left to right + || left to right + ?: right to left + = += -= etc. right to left + , left to right + +FFIILLEESS + /usr/share/misc/operator + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat7/term.0 b/usr/share/man/cat7/term.0 new file mode 100644 index 0000000000..91bea64563 --- /dev/null +++ b/usr/share/man/cat7/term.0 @@ -0,0 +1,28 @@ +TERM(7) BSD Reference Manual TERM(7) + +NNAAMMEE + tteerrmm - conventional names for terminals + +DDEESSCCRRIIPPTTIIOONN + Certain commands use these terminal names. They are maintained as part of + the shell environment (see sh(1), environ(7)). + + The list goes on and on. Consult _/_u_s_r_/_s_h_a_r_e_/_m_i_s_c_/_t_e_r_m_c_a_p _(_s_e_e + termcap(5)) for an up-to-date and locally correct list. + + Commands whose behavior may depend on the terminal either consult TERM in + the environment, or accept arguments of the form --TTtteerrmm, where tteerrmm is + one of the names given above. + +SSEEEE AALLSSOO + stty(1), tabs(1), plot(1) sh(1), environ(7) ex(1), clear(1), + more(1), ul(1), tset(1), termcap(5), termcap(3), ttys(5) troff(1) + +BBUUGGSS + The programs that ought to adhere to this nomenclature do so only fitful- + ly. + +HHIISSTTOORRYY + TTeerrmm appeared in Version 32 AT&T UNIX. + +AT&T June 5, 1993 1 diff --git a/usr/share/man/cat8/adduser.0 b/usr/share/man/cat8/adduser.0 new file mode 100644 index 0000000000..5d98cdd6d7 --- /dev/null +++ b/usr/share/man/cat8/adduser.0 @@ -0,0 +1,49 @@ +ADDUSER(8) BSD System Manager's Manual ADDUSER(8) + +NNAAMMEE + aadddduusseerr - procedure for adding new users + +DDEESSCCRRIIPPTTIIOONN + A new user must choose a login name, which must not already appear in + _/_e_t_c_/_p_a_s_s_w_d or _/_e_t_c_/_a_l_i_a_s_e_s. It must also not begin with the hyphen `--' + character. It is strongly recommended that it be all lower-case, and not + contain the dot `.' character, as that tends to confuse mailers. An ac- + count can be added by editing a line into the passwd file; this must be + done with the password file locked e.g. by using chpass(1) or vipw(8). + + A new user is given a group and user id. Login and user id's should be + unique across the system, and often across a group of systems, since they + are used to control file access. Typically, users working on similar + projects will be put in the same groups. At the University of Califor- + nia, Berkeley, we have groups for system staff, faculty, graduate stu- + dents, and special groups for large projects. + + A skeletal account for a new user ernie might look like: + + ernie::25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925, + 642-8202:/a/users/ernie:/bin/csh + + For a description of each of these fields, see passwd(5). + + It is useful to give new users some help in getting started, supplying + them with a few skeletal files such as _._p_r_o_f_i_l_e if they use _/_b_i_n_/_s_h, or + _._c_s_h_r_c and _._l_o_g_i_n if they use _/_b_i_n_/_c_s_h. The directory _/_u_s_r_/_s_h_a_r_e_/_s_k_e_l + contains skeletal definitions of such files. New users should be given + copies of these files which, for instance, use tset(1) automatically at + each login. + +FFIILLEESS + /etc/master.passwd user database + /usr/share/skel skeletal login directory + +SSEEEE AALLSSOO + chpass(1), finger(1), passwd(1), aliases(5), passwd(5), pwd_mkdb(8), + vipw(8) + +BBUUGGSS + User information should (and eventually will) be stored elsewhere. + +HHIISSTTOORRYY + The aadddduusseerr command appeared in 3.0BSD. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat8/hp300/MAKEDEV.0 b/usr/share/man/cat8/hp300/MAKEDEV.0 new file mode 100644 index 0000000000..5f06f11db1 --- /dev/null +++ b/usr/share/man/cat8/hp300/MAKEDEV.0 @@ -0,0 +1,45 @@ +MAKEDEV(8) BSD System Manager's Manual MAKEDEV(8) + +NNAAMMEE + MMAAKKEEDDEEVV - create system and device special files + +SSYYNNOOPPSSIISS + MMAAKKEEDDEEVV _d_e_v_i_c_e___n_a_m_e _._._. + +DDEESSCCRRIIPPTTIIOONN + The shell script MMAAKKEEDDEEVV, found in the _/_d_e_v directory, is used to create + the common special files. See special(8) for a more complete discussion + of special files. + + MMAAKKEEDDEEVV takes any number of device names as arguments, where the names + are the common abbreviation for the device. There are two special de- + vices, _s_t_d and _l_o_c_a_l. The former creates the standard devices for the ar- + chitecture. The latter is for devices specific to the local site, and + executes the shell file _M_A_K_E_D_E_V_._l_o_c_a_l. + + The HP300 supports the following devices. Where a device name is fol- + lowed by a hash sign `#', the hash sign must be replaced by a unit num- + ber. + _s_t_d the standard devices (_c_o_n_s_o_l_e, _d_r_u_m, _f_d_/_*, _k_l_o_g, _k_m_e_m, _m_e_m, _n_u_l_l, + _s_t_d_e_r_r, _s_t_d_i_n, _s_t_d_o_u_t, _t_t_y). + _l_o_c_a_l configuration specific devices. + _c_t_# HP300 HP-IB cartridge tape. + _c_d_# ``concatenated'' pseudo-disks. + _r_d_# HP300 HP-IB disks + _s_d_# HP300 SCSI disks. + _v_n_d_# ``file'' pseudo-disks. + _d_c_a_# HP200/300 single port serial interface. + _d_c_m_# HP200/300 4 port serial mux interface. + _p_t_y_# set of 16 master and slave pseudo terminals. + _f_l_o_g_# kernel logging device. + _g_r_f_# raw interface to HP300 graphics devices. + _i_t_e_# terminal emulator interface to HP300 graphics devices. + _h_i_l HP300 HIL input devices. + +FFIILLEESS + /dev The special file directory. + +SSEEEE AALLSSOO + mknod(1), intro(4), config(8), special(8) + + 4.3 June 5, 1993 1 diff --git a/usr/share/man/cat8/hp300/crash.0 b/usr/share/man/cat8/hp300/crash.0 new file mode 100644 index 0000000000..e406d7d3f7 --- /dev/null +++ b/usr/share/man/cat8/hp300/crash.0 @@ -0,0 +1,155 @@ +CRASH(8) BSD System Manager's Manual CRASH(8) + +NNAAMMEE + ccrraasshh - UNIX system failures + +DDEESSCCRRIIPPTTIIOONN + This section explains a bit about system crashes and (very briefly) how + to analyze crash dumps. + + When the system crashes voluntarily it prints a message of the form + + panic: why i gave up the ghost + + on the console, takes a dump on a mass storage peripheral, and then in- + vokes an automatic reboot procedure as described in reboot(8). Unless + some unexpected inconsistency is encountered in the state of the file + systems due to hardware or software failure, the system will then resume + multi-user operations. + + The system has a large number of internal consistency checks; if one of + these fails, then it will panic with a very short message indicating + which one failed. In many instances, this will be the name of the rou- + tine which detected the error, or a two-word description of the inconsis- + tency. A full understanding of most panic messages requires perusal of + the source code for the system. + + The most common cause of system failures is hardware failure, which can + reflect itself in different ways. Here are the messages which are most + likely, with some hints as to causes. Left unstated in all cases is the + possibility that hardware or software error produced the message in some + unexpected way. + + iiiinniitt This cryptic panic message results from a failure to mount the + root filesystem during the bootstrap process. Either the root + filesystem has been corrupted, or the system is attempting to use + the wrong device as root filesystem. Usually, an alternate copy + of the system binary or an alternate root filesystem can be used + to bring up the system to investigate. + + CCaann''tt eexxeecc //eettcc//iinniitt + This is not a panic message, as reboots are likely to be futile. + Late in the bootstrap procedure, the system was unable to locate + and execute the initialization process, init(8). The root + filesystem is incorrect or has been corrupted, or the mode or + type of _/_e_t_c_/_i_n_i_t forbids execution. + + IIOO eerrrr iinn ppuusshh + hhaarrdd IIOO eerrrr iinn sswwaapp + The system encountered an error trying to write to the paging de- + vice or an error in reading critical information from a disk + drive. The offending disk should be fixed if it is broken or un- + reliable. + + rreeaallllooccccgg:: bbaadd ooppttiimm + iiaalllloocc:: dduupp aalllloocc + aallllooccccggbbllkk::ccyyll ggrroouuppss ccoorrrruupptteedd + iiaallllooccccgg:: mmaapp ccoorrrruupptteedd + ffrreeee:: ffrreeeeiinngg ffrreeee bblloocckk + ffrreeee:: ffrreeeeiinngg ffrreeee ffrraagg + iiffrreeee:: ffrreeeeiinngg ffrreeee iinnooddee + aallllooccccgg:: mmaapp ccoorrrruupptteedd + These panic messages are among those that may be produced when + filesystem inconsistencies are detected. The problem generally + results from a failure to repair damaged filesystems after a + crash, hardware failures, or other condition that should not nor- + mally occur. A filesystem check will normally correct the prob- + lem. + + ttiimmeeoouutt ttaabbllee oovveerrffllooww + This really shouldn't be a panic, but until the data structure + involved is made to be extensible, running out of entries causes + a crash. If this happens, make the timeout table bigger. + + ttrraapp ttyyppee %%dd,, ccooddee == %%xx,, vv == %%xx + An unexpected trap has occurred within the system; the trap types + are: + + 0 bus error + 1 address error + 2 illegal instruction + 3 divide by zero + 4 _c_h_k instruction + 5 _t_r_a_p_v instruction + 6 privileged instruction + 7 trace trap + 8 MMU fault + 9 simulated software interrupt + 10 format error + 11 FP coprocessor fault + 12 coprocessor fault + 13 simulated AST + + The favorite trap type in system crashes is trap type 8, indicat- + ing a wild reference. ``code'' (hex) is the concatenation of the + MMU status register (see ) in the high 16 bits and + the 68020 special status word (see the 68020 manual, page 6-17) + in the low 16. ``v'' (hex) is the virtual address which caused + the fault. Additionally, the kernel will dump about a screenful + of semi-useful information. ``pid'' (decimal) is the process id + of the process running at the time of the exception. Note that + if we panic in an interrupt routine, this process may not be re- + lated to the panic. ``ps'' (hex) is the 68020 processor status + register ``ps''. ``pc'' (hex) is the value of the program + counter saved on the hardware exception frame. It may _n_o_t be the + PC of the instruction causing the fault. ``sfc'' and ``dfc'' + (hex) are the 68020 source/destination function codes. They + should always be one. ``p0'' and ``p1'' are the VAX-like region + registers. They are of the form: + + '@' + + where both are in hex. Following these values are a dump of the + processor registers (hex). Finally, is a dump of the stack (us- + er/kernel) at the time of the offense. + + iinniitt ddiieedd + The system initialization process has exited. This is bad news, + as no new users will then be able to log in. Rebooting is the + only fix, so the system just does it right away. + + oouutt ooff mmbbuuffss:: mmaapp ffuullll + The network has exhausted its private page map for network + buffers. This usually indicates that buffers are being lost, and + rather than allow the system to slowly degrade, it reboots imme- + diately. The map may be made larger if necessary. + + That completes the list of panic types you are likely to see. + + When the system crashes it writes (or at least attempts to write) an im- + age of memory into the back end of the dump device, usually the same as + the primary swap area. After the system is rebooted, the program + savecore(8) runs and preserves a copy of this core image and the current + system in a specified directory for later perusal. See savecore(8) for + details. + + To analyze a dump you should begin by running adb(1) with the --kk flag on + the system load image and core dump. If the core image is the result of + a panic, the panic message is printed. Normally the command ``$c'' will + provide a stack trace from the point of the crash and this will provide a + clue as to what went wrong. For more details consult _U_s_i_n_g _A_D_B _t_o _D_e_b_u_g + _t_h_e _U_N_I_X _K_e_r_n_e_l. + +SSEEEE AALLSSOO + adb(1), reboot(8) + + _M_C_6_8_0_2_0 _3_2_-_b_i_t _M_i_c_r_o_p_r_o_c_e_s_s_o_r _U_s_e_r_'_s _M_a_n_u_a_l. + + _U_s_i_n_g _A_D_B _t_o _D_e_b_u_g _t_h_e _U_N_I_X _K_e_r_n_e_l. + + _4_._3_B_S_D _f_o_r _t_h_e _H_P_3_0_0. + +HHIISSTTOORRYY + A ccrraasshh man page appeared in Version 6 AT&T UNIX. + +4.4BSD June 5, 1993 3 diff --git a/usr/share/man/cat8/hp300/format.0 b/usr/share/man/cat8/hp300/format.0 new file mode 100644 index 0000000000..16beac4d33 --- /dev/null +++ b/usr/share/man/cat8/hp300/format.0 @@ -0,0 +1,16 @@ +FORMAT(8) BSD System Manager's Manual FORMAT(8) + +NNAAMMEE + ffoorrmmaatt - how to format disks and tapes + +DDEESSCCRRIIPPTTIIOONN + Currently, there are no ``native'' BSD media formatting utilities. For- + matting of both disks and cartridge tapes must be done either standalone + or under HP-UX using the _m_e_d_i_a_i_n_i_t utility distributed by HP. Note that + HP-brand cartridge tapes come pre-formatted, and HP disks are supposed + to. + +HHIISSTTOORRYY + The ffoorrmmaatt utility first appeared in 4.4BSD. + +4.4BSD June 9, 1993 1 diff --git a/usr/share/man/cat8/i386/MAKEDEV.0 b/usr/share/man/cat8/i386/MAKEDEV.0 new file mode 100644 index 0000000000..3e29e8176c --- /dev/null +++ b/usr/share/man/cat8/i386/MAKEDEV.0 @@ -0,0 +1,66 @@ + + + +MAKEDEV(8) BSD System Manager's Manual MAKEDEV(8) + + +NNAAMMEE + MAKEDEV - create system and device special files + +SSYYNNOOPPSSIISS + MAKEDEV name ... + +DDEESSCCRRIIPPTTIIOONN + The shell script _M_A_K_E_D_E_V, found in the ``/dev'' directory, + is used to create the common special files. See _s_p_e_- + _c_i_a_l(8) for a more complete discussion of special files. + + _M_A_K_E_D_E_V takes any number of device names as arguments, + where the names are the common abbreviation for the + device. There are two special devices, ``std'' and + ``local''. The former creates the standard devices for + the architecture. The latter is for devices specific to + the local site, and executes the shell file + ``MAKEDEV.local''. + + The i386 supports the following devices. Where a device + name is followed by a hash sign (``#''), the hash sign + must be replaced by a unit number. + + std the standard devices (console, drum, fd/*, klog, + kmem, mem, null, stderr, stdin, stdout, tty) + local configuration specific devices + com# standard PC COM ports + fd# ``floppy'' disk drives (3 1/2, 5 1/4) + flog# kernel logging device + pty# set of 16 master and slave pseudo terminals + wd# ``winchester'' disk drives (ST506, IDE, ESDI, + RLL etc.) + wt# QIC-interfaced (e.g. not SCSI) 3M cartridge tape + +FFIILLEESS + /dev The special file directory. + +SSEEEE AALLSSOO + _m_k_n_o_d(1), _i_n_t_r_o(4), _c_o_n_f_i_g(8), _s_p_e_c_i_a_l(8) + + + + + + + + + + + + + + + +4.4 Berkeley Distribution June 5, 1993 1 + + + + + diff --git a/usr/share/man/cat8/intro.0 b/usr/share/man/cat8/intro.0 new file mode 100644 index 0000000000..2fbba229aa --- /dev/null +++ b/usr/share/man/cat8/intro.0 @@ -0,0 +1,20 @@ +INTRO(8) BSD System Manager's Manual INTRO(8) + +NNAAMMEE + iinnttrroo - introduction to system maintenance and operation commands + +DDEESSCCRRIIPPTTIIOONN + This section contains information related to system operation and mainte- + nance. It describes commands used to create new file systems, `newfs', + verify the integrity of the file systems, `fsck', control disk usage, + `edquota', maintain system backups, `dump', and recover files when + disks die an untimely death, `restore'. The manual `format' should be + consulted when formatting disk packs respective to the architecture the + system is running on. Network related services like `inetd' and `ftpd' + are also described. The section `crash' should be consulted in under- + standing how to interpret system crash dumps. + +HHIISSTTOORRYY + The iinnttrroo section manual page appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat8/rc.0 b/usr/share/man/cat8/rc.0 new file mode 100644 index 0000000000..36e2c57a70 --- /dev/null +++ b/usr/share/man/cat8/rc.0 @@ -0,0 +1,42 @@ +RC(8) BSD System Manager's Manual RC(8) + +NNAAMMEE + rrcc - command script for auto-reboot and daemons + +SSYYNNOOPPSSIISS + rrcc + rrcc..llooccaall + +DDEESSCCRRIIPPTTIIOONN + RRcc is the command script which controls the automatic reboot and rrcc..llooccaall + is the script holding commands which are pertinent only to a specific + site. + + When an automatic reboot is in progress, rrcc is invoked with the argument + _a_u_t_o_b_o_o_t. The first portion of rrcc runs an fsck(8) with option --pp to + ``preen'' all the disks of minor inconsistencies resulting from the last + system shutdown and to check for serious inconsistencies caused by hard- + ware or software failure. If this auto-check and repair succeeds, then + the second part of rrcc is run. + + The second part of rrcc, which is run after a auto-reboot succeeds and also + if rrcc is invoked when a single user shell terminates (see init(8)), + starts all the daemons on the system, preserves editor files and clears + the scratch directory _/_t_m_p. + + RRcc..llooccaall is executed immediately before any other commands after a suc- + cessful fsck. Normally, the first commands placed in the rrcc..llooccaall file + define the machine's name, using hostname(1), and save any possible core + image that might have been generated as a result of a system crash, with + savecore(8). The latter command is included in the rrcc..llooccaall file because + the directory in which core dumps are saved is usually site specific. + + Following tradition, the startup files rrcc and rrcc..llooccaall reside in _/_e_t_c. + +SSEEEE AALLSSOO + init(8), reboot(8), savecore(8) + +HHIISSTTOORRYY + The rrcc command appeared in 4.0BSD. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat8/sticky.0 b/usr/share/man/cat8/sticky.0 new file mode 100644 index 0000000000..a4c9a40946 --- /dev/null +++ b/usr/share/man/cat8/sticky.0 @@ -0,0 +1,47 @@ +STICKY(8) BSD System Manager's Manual STICKY(8) + +NNAAMMEE + ssttiicckkyy - sticky text and append-only directories + +DDEESSCCRRIIPPTTIIOONN + A special file mode, called the _s_t_i_c_k_y _b_i_t (mode S_ISVTX), is used to in- + dicate special treatment for shareable executable files and directories. + See chmod(2) or the file _/_u_s_r_/_i_n_c_l_u_d_e_/_s_y_s_/_s_t_a_t_._h for an explanation of + file modes. + +SSTTIICCKKYY TTEEXXTT EEXXEECCUUTTAABBLLEE FFIILLEESS + An executable shareable file whose sticky bit is set will not be immedi- + ately discarded from swap space after execution. The kernel will hoard + the text segment of the file for future reuse and avoid having to reload + the program. Shareable text segments are normally placed in a least- + frequently-used cache after use, and thus the `sticky bit' has little ef- + fect on commonly-used text images. + + Sharable executable files are created with the --nn and --zz options of the + loader ld(1). + + Only the super-user can set the sticky bit on a sharable executable file. + +SSTTIICCKKYY DDIIRREECCTTOORRIIEESS + A directory whose `sticky bit' is set becomes an append-only directory, + or, more accurately, a directory in which the deletion of files is re- + stricted. A file in a sticky directory may only be removed or renamed by + a user if the user has write permission for the directory and the user is + the owner of the file, the owner of the directory, or the super-user. + This feature is usefully applied to directories such as _/_t_m_p which must + be publicly writable but should deny users the license to arbitrarily + delete or rename each others' files. + + Any user may create a sticky directory. See chmod(1) for details about + modifying file modes. + +BBUUGGSS + Since the text areas of sticky text executables are stashed in the swap + area, abuse of the feature can cause a system to run out of swap. + + Neither open(2) nor mkdir(2) will create a file with the sticky bit set. + +HHIISSTTOORRYY + A ssttiicckkyy command appeared in Version 32V AT&T UNIX. + +4th Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat8/tahoe/MAKEDEV.0 b/usr/share/man/cat8/tahoe/MAKEDEV.0 new file mode 100644 index 0000000000..e1edd301ec --- /dev/null +++ b/usr/share/man/cat8/tahoe/MAKEDEV.0 @@ -0,0 +1,66 @@ + + + +MAKEDEV(8) BSD System Manager's Manual MAKEDEV(8) + + +NNAAMMEE + MAKEDEV - create system and device special files + +SSYYNNOOPPSSIISS + MAKEDEV name ... + +DDEESSCCRRIIPPTTIIOONN + The shell script _M_A_K_E_D_E_V, found in the ``/dev'' directory, + is used to create the common special files. See _s_p_e_- + _c_i_a_l(8) for a more complete discussion of special files. + + _M_A_K_E_D_E_V takes any number of device names as arguments, + where the names are the common abbreviation for the + device. There are two special devices, ``std'' and + ``local''. The former creates the standard devices for + the architecture. The latter is for devices specific to + the local site, and executes the shell file + ``MAKEDEV.local''. + + The Tahoe supports the following devices. Where a device + name is followed by a hash sign (``#''), the hash sign + must be replaced by a unit number. + + std the standard devices (CP, console, drum, fd/*, + klog, kmem, mem, null, remote, stderr, stdin, + stdout, tty, vmem) + local configuration specific devices + cy# Cipher + dk# VDDC or SMDE disk on Versabus + dr# IKON DR-11W + enp# CMC Ethernet interface for loading RAM + hd# VDDC or SMDE disk on VME + ik# IKON DR-11W w/ E&S PS300 + mp# MPCC + pty# set of 32 master and slave pseudo terminals + vx# VIOC + +FFIILLEESS + /dev The special file directory. + +SSEEEE AALLSSOO + _m_k_n_o_d(1), _i_n_t_r_o(4), _c_o_n_f_i_g(8), _s_p_e_c_i_a_l(8) + + + + + + + + + + + + +4.4 Berkeley Distribution June 5, 1993 1 + + + + + diff --git a/usr/share/man/cat8/vax/MAKEDEV.0 b/usr/share/man/cat8/vax/MAKEDEV.0 new file mode 100644 index 0000000000..ae4c07611b --- /dev/null +++ b/usr/share/man/cat8/vax/MAKEDEV.0 @@ -0,0 +1,132 @@ + + + +MAKEDEV(8) BSD System Manager's Manual MAKEDEV(8) + + +NNAAMMEE + MAKEDEV - create system and device special files + +SSYYNNOOPPSSIISS + MAKEDEV name ... + +DDEESSCCRRIIPPTTIIOONN + The shell script _M_A_K_E_D_E_V, found in the ``/dev'' directory, + is used to create the common special files. See _s_p_e_- + _c_i_a_l(8) for a more complete discussion of special files. + + _M_A_K_E_D_E_V takes any number of device names as arguments, + where the names are the common abbreviation for the + device. There are two special devices, ``std'' and + ``local''. The former creates the standard devices for + the architecture. The latter is for devices specific to + the local site, and executes the shell file + ``MAKEDEV.local''. + + The VAX supports the following devices. Where a device + name is followed by a hash sign (``#''), the hash sign + must be replaced by a unit number. + + std the standard devices (console, crl, csa1, csa2, + drum, fd/*, floppy, kUmem, klog, kmem, mem, + null, stderr, stdin, stdout, tty, tu0, tu1) + local configuration specific devices + ad# unibus interface to data translation a/d con- + verter + ct# unibus parallel interface to CAT typesetter + dh# unibus dh11 and emulations (e.g. Able dmax, + Emulex cs-11) + dhu# unibus dhu11 + dmf# unibus dmf32 + dmz# unibus dmz32 + dn# unibus dn11 and emulations (e.g. Able Quadra- + call) + dz# unibus dz11 and dz32 + hk# unibus rk06 and rk07 + hp# massbus rm?? + ht# massbus tm03 & tu?? + ik# unibus interface to ikonas frame buffer + kra# bi kdb50 w/ ra?? + lp# unibus lp11 parallel interface + mt# massbus tu78 + np# unibus ethernet co-processor interface, for + downloading. + ps# unibus interface to e&s picture system 2 + pty# set of 16 master and slave pseudo terminals + qv# qvss (microvax) display + ra# unibus uda50 w/ ra?? + + + +4.4 Berkeley Distribution June 5, 1993 1 + + + + + + + + +MAKEDEV(8) BSD System Manager's Manual MAKEDEV(8) + + + rb# 730 idc w/ rb80 and/or rb02 + rl# unibus rl02 + rx# unibus rx211 floppy disk + tm# unibus tm11 & te10 emulations (e.g. Emulex + tc-11) + tms# unibus/qbus TMSCP (e.g. TU81, TK50) + ts# unibus ts11 + ttyv0 qvss (microvax) display reserved pty + up# other unibus devices (e.g. on Emulex sc-21v con- + troller) + ut# unibus tu45 emulations (e.g.si 9700) + uu# tu58 cassettes on dl11 controller + va# unibus varian parallel interface + vp# unibus versatec parallel interface + +FFIILLEESS + /dev The special file directory. + +SSEEEE AALLSSOO + _m_k_n_o_d(1), _i_n_t_r_o(4), _c_o_n_f_i_g(8), _s_p_e_c_i_a_l(8) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4.4 Berkeley Distribution June 5, 1993 2 + + + + + diff --git a/usr/share/man/cat8/vax/crash.0 b/usr/share/man/cat8/vax/crash.0 new file mode 100644 index 0000000000..798e09b157 --- /dev/null +++ b/usr/share/man/cat8/vax/crash.0 @@ -0,0 +1,264 @@ + + + +CRASH(8) BSD System Manager's Manual CRASH(8) + + +NNAAMMEE + crash - UNIX system failures + +DDEESSCCRRIIPPTTIIOONN + This section explains what happens when the system crashes + and (very briefly) how to analyze crash dumps. + + When the system crashes voluntarily it prints a message of + the form + + panic: why i gave up the ghost + + on the console, takes a dump on a mass storage peripheral, + and then invokes an automatic reboot procedure as + described in _r_e_b_o_o_t(8). (If auto-reboot is disabled on + the front panel of the machine the system will simply halt + at this point.) Unless some unexpected inconsistency is + encountered in the state of the file systems due to hard- + ware or software failure, the system will then resume + multi-user operations. + + The system has a large number of internal consistency + checks; if one of these fails, then it will panic with a + very short message indicating which one failed. In many + instances, this will be the name of the routine which + detected the error, or a two-word description of the + inconsistency. A full understanding of most panic mes- + sages requires perusal of the source code for the system. + + The most common cause of system failures is hardware fail- + ure, which can reflect itself in different ways. Here are + the messages which are most likely, with some hints as to + causes. Left unstated in all cases is the possibility + that hardware or software error produced the message in + some unexpected way. + + iiiinniitt This cryptic panic message results from a failure + to mount the root filesystem during the bootstrap + process. Either the root filesystem has been cor- + rupted, or the system is attempting to use the + wrong device as root filesystem. Usually, an + alternate copy of the system binary or an alternate + root filesystem can be used to bring up the system + to investigate. + + CCaann''tt eexxeecc //ssbbiinn//iinniitt + This is not a panic message, as reboots are likely + to be futile. Late in the bootstrap procedure, the + system was unable to locate and execute the ini- + tialization process, _i_n_i_t(8). The root filesystem + is incorrect or has been corrupted, or the mode or + + + +4th Berkeley Distribution June 5, 1993 1 + + + + + + + + +CRASH(8) BSD System Manager's Manual CRASH(8) + + + type of /sbin/init forbids execution. + + IIOO eerrrr iinn ppuusshh + hhaarrdd IIOO eerrrr iinn sswwaapp + The system encountered an error trying to write to + the paging device or an error in reading critical + information from a disk drive. The offending disk + should be fixed if it is broken or unreliable. + + rreeaallllooccccgg:: bbaadd ooppttiimm + iiaalllloocc:: dduupp aalllloocc + aallllooccccggbbllkk:: ccyyll ggrroouuppss ccoorrrruupptteedd + iiaallllooccccgg:: mmaapp ccoorrrruupptteedd + ffrreeee:: ffrreeeeiinngg ffrreeee bblloocckk + ffrreeee:: ffrreeeeiinngg ffrreeee ffrraagg + iiffrreeee:: ffrreeeeiinngg ffrreeee iinnooddee + aallllooccccgg:: mmaapp ccoorrrruupptteedd + These panic messages are among those that may be + produced when filesystem inconsistencies are + detected. The problem generally results from a + failure to repair damaged filesystems after a + crash, hardware failures, or other condition that + should not normally occur. A filesystem check will + normally correct the problem. + + ttiimmeeoouutt ttaabbllee oovveerrffllooww + This really shouldn't be a panic, but until the + data structure involved is made to be extensible, + running out of entries causes a crash. If this + happens, make the timeout table bigger. + + KKSSPP nnoott vvaalliidd + SSBBII ffaauulltt + CCHHMM?? iinn kkeerrnneell + These indicate either a serious bug in the system + or, more often, a glitch or failing hardware. If + SBI faults recur, check out the hardware or call + field service. If the other faults recur, there is + likely a bug somewhere in the system, although + these can be caused by a flakey processor. Run + processor microdiagnostics. + + mmaacchhiinnee cchheecckk %%xx:: + _d_e_s_c_r_i_p_t_i_o_n + + _m_a_c_h_i_n_e _d_e_p_e_n_d_e_n_t _m_a_c_h_i_n_e_-_c_h_e_c_k _i_n_f_o_r_m_a_t_i_o_n + Machine checks are different on each type of CPU. + Most of the internal processor registers are saved + at the time of the fault and are printed on the + console. For most processors, there is one line + that summarizes the type of machine check. Often, + + + +4th Berkeley Distribution June 5, 1993 2 + + + + + + + + +CRASH(8) BSD System Manager's Manual CRASH(8) + + + the nature of the problem is apparent from this + messaage and/or the contents of key registers. The + VAX Hardware Handbook should be consulted, and, if + necessary, your friendly field service people + should be informed of the problem. + + ttrraapp ttyyppee %%dd,, ccooddee==%%xx,, ppcc==%%xx + A unexpected trap has occurred within the system; + the trap types are: + + 0 reserved addressing fault + 1 privileged instruction fault + 2 reserved operand fault + 3 bpt instruction fault + 4 xfc instruction fault + 5 system call trap + 6 arithmetic trap + 7 ast delivery trap + 8 segmentation fault + 9 protection fault + 10 trace trap + 11 compatibility mode fault + 12 page fault + 13 page table fault + + The favorite trap types in system crashes are trap + types 8 and 9, indicating a wild reference. The + code is the referenced address, and the pc at the + time of the fault is printed. These problems tend + to be easy to track down if they are kernel bugs + since the processor stops cold, but random flaki- + ness seems to cause this sometimes. The debugger + can be used to locate the instruction and subrou- + tine corresponding to the PC value. If that is + insufficient to suggest the nature of the problem, + more detailed examination of the system status at + the time of the trap usually can produce an expla- + nation. + + iinniitt ddiieedd + The system initialization process has exited. This + is bad news, as no new users will then be able to + log in. Rebooting is the only fix, so the system + just does it right away. + + oouutt ooff mmbbuuffss:: mmaapp ffuullll + The network has exhausted its private page map for + network buffers. This usually indicates that + buffers are being lost, and rather than allow the + system to slowly degrade, it reboots immediately. + The map may be made larger if necessary. + + + +4th Berkeley Distribution June 5, 1993 3 + + + + + + + + +CRASH(8) BSD System Manager's Manual CRASH(8) + + + That completes the list of panic types you are likely to + see. + + When the system crashes it writes (or at least attempts to + write) an image of memory into the back end of the dump + device, usually the same as the primary swap area. After + the system is rebooted, the program _s_a_v_e_c_o_r_e(8) runs and + preserves a copy of this core image and the current system + in a specified directory for later perusal. See + _s_a_v_e_c_o_r_e(8) for details. + + To analyze a dump you should begin by running _a_d_b(1) with + the --kk flag on the system load image and core dump. If + the core image is the result of a panic, the panic message + is printed. Normally the command ``$c'' will provide a + stack trace from the point of the crash and this will pro- + vide a clue as to what went wrong. For more detail see + ``Using ADB to Debug the UNIX Kernel''. + +SSEEEE AALLSSOO + adb(1), reboot(8) + _V_A_X _1_1_/_7_8_0 _S_y_s_t_e_m _M_a_i_n_t_e_n_a_n_c_e _G_u_i_d_e and _V_A_X _H_a_r_d_w_a_r_e _H_a_n_d_- + _b_o_o_k for more information about machine checks. + _U_s_i_n_g _A_D_B _t_o _D_e_b_u_g _t_h_e _U_N_I_X _K_e_r_n_e_l + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +4th Berkeley Distribution June 5, 1993 4 + + + + + diff --git a/usr/share/man/cat8/vax/drtest.0 b/usr/share/man/cat8/vax/drtest.0 new file mode 100644 index 0000000000..72316432e8 --- /dev/null +++ b/usr/share/man/cat8/vax/drtest.0 @@ -0,0 +1,57 @@ +DRTEST(8) BSD System Manager's Manual DRTEST(8) + +NNAAMMEE + ddrrtteesstt - standalone disk test program + +DDEESSCCRRIIPPTTIIOONN + DDrrtteesstt is a standalone program used to read a disk track by track. It + was primarily intended as a test program for new standalone drivers, but + has shown useful in other contexts as well, such as verifying disks and + running speed tests. For example, when a disk has been formatted (by + format(8)), you can check that hard errors has been taken care of by + running ddrrtteesstt. No hard errors should be found, but in many cases quite a + few soft ECC errors will be reported. + + While ddrrtteesstt is running, the cylinder number is printed on the console + for every 10th cylinder read. + +EEXXAAMMPPLLEE + A sample run of drtest is shown below. In this example (using a 750), + ddrrtteesstt is loaded from the root file system; usually it will be loaded + from the machine's console storage device. Boldface means user input. + As usual, ``#'' and ``@'' may be used to edit input. + + >>>BB//33 + %% + loading hk(0,0)boot + Boot + : hhkk((00,,00))ddrrtteesstt + Test program for stand-alone up and hp driver + + Debugging level (1=bse, 2=ecc, 3=bse+ecc)? + Enter disk name [type(adapter,unit), e.g. hp(1,3)]? hhpp((00,,00)) + Device data: #cylinders=1024, #tracks=16, #sectors=32 + Testing hp(0,0), chunk size is 16384 bytes. + _(_c_h_u_n_k _s_i_z_e _i_s _t_h_e _n_u_m_b_e_r _o_f _b_y_t_e_s _r_e_a_d _p_e_r _d_i_s_k _a_c_c_e_s_s_) + Start ...Make sure hp(0,0) is online + ... + _(_e_r_r_o_r_s _a_r_e _r_e_p_o_r_t_e_d _a_s _t_h_e_y _o_c_c_u_r_) + ... + _(_._._._p_r_o_g_r_a_m _r_e_s_t_a_r_t_s _t_o _a_l_l_o_w _c_h_e_c_k_i_n_g _o_t_h_e_r _d_i_s_k_s_) + _(_._._._t_o _a_b_o_r_t _h_a_l_t _m_a_c_h_i_n_e _w_i_t_h _^_P_) + +DDIIAAGGNNOOSSTTIICCSS + The diagnostics are intended to be self explanatory. Note, however, that + the device number in the diagnostic messages is identified as _t_y_p_e_X in- + stead of _t_y_p_e_(_a_,_u_) where _X = a*8+u, e.g., hp(1,3) becomes hp11. + +SSEEEE AALLSSOO + format(8), bad144(8) + +AAUUTTHHOORR + Helge Skrivervik + +HHIISSTTOORRYY + The ddrrtteesstt command appeared in 4.2BSD. + +4.2 Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/man/cat8/vax/format.0 b/usr/share/man/cat8/vax/format.0 new file mode 100644 index 0000000000..126f75130e --- /dev/null +++ b/usr/share/man/cat8/vax/format.0 @@ -0,0 +1,264 @@ + + + +FORMAT(8) BSD System Manager's Manual FORMAT(8) + + +NNAAMMEE + format - how to format disk packs + +DDEESSCCRRIIPPTTIIOONN + There are two ways to format disk packs. The simplest is + to use the _f_o_r_m_a_t program. The alternative is to use the + DEC standard formatting software which operates under the + DEC diagnostic supervisor. This manual page describes the + operation of _f_o_r_m_a_t, then concludes with some remarks + about using the DEC formatter. + + _F_o_r_m_a_t is a standalone program used to format and check + disks prior to constructing file systems. In addition to + the formatting operation, _f_o_r_m_a_t records any bad sectors + encountered according to DEC standard 144. Formatting is + performed one track at a time by writing the appropriate + headers and a test pattern and then checking the sector by + reading and verifying the pattern, using the controller's + ECC for error detection. A sector is marked bad if an + unrecoverable media error is detected, or if a correctable + ECC error too many bits in length is detected (such errors + are indicated as ``ECC'' in the summary printed upon com- + pleting the format operation). After the entire disk has + been formatted and checked, the total number of errors are + reported, any bad sectors and skip sectors are marked, and + a bad sector forwarding table is written to the disk in + the first five even numbered sectors of the last track. + It is also possible to reformat sections of the disk in + units of tracks. _F_o_r_m_a_t may be used on any UNIBUS or + MASSBUS drive supported by the _u_p and _h_p device drivers + which uses 4-byte headers (everything except RP's). + + The test pattern used during the media check may be + selected from one of: 0xf00f (RH750 worst case), 0xec6d + (media worst case), and 0xa5a5 (alternating 1's and 0's). + Normally the media worst case pattern is used. + + _F_o_r_m_a_t also has an option to perform an extended "severe + burn-in," which makes a number of passes using different + patterns. The number of passes can be selected at run + time, up to a maximum of 48, with provision for additional + passes or termination after the preselected number of + passes. This test runs for many hours, depending on the + disk and processor. + + Each time _f_o_r_m_a_t is run to format an entire disk, a com- + pletely new bad sector table is generated based on errors + encountered while formatting. The device driver, however, + will always attempt to read any existing bad sector table + when the device is first opened. Thus, if a disk pack has + never previously been formatted, or has been formatted + + + +4th Berkeley Distribution June 5, 1993 1 + + + + + + + + +FORMAT(8) BSD System Manager's Manual FORMAT(8) + + + with different sectoring, five error messages will be + printed when the driver attempts to read the bad sector + table; these diagnostics should be ignored. + + Formatting a 400 megabyte disk on a MASSBUS disk con- + troller usually takes about 20 minutes. Formatting on a + UNIBUS disk controller takes significantly longer. For + every hundredth cylinder formatted _f_o_r_m_a_t prints a message + indicating the current cylinder being formatted. (This + message is just to reassure people that nothing is is + amiss.) + + _F_o_r_m_a_t uses the standard notation of the standalone I/O + library in identifying a drive to be formatted. A drive + is specified as _z_z(_x,_y), where _z_z refers to the controller + type (either _h_p or _u_p), _x is the unit number of the drive; + 8 times the UNIBUS or MASSBUS adaptor number plus the + MASSBUS drive number or UNIBUS drive unit number; and _y is + the file system partition on drive _x (this should always + be 0). For example, ``hp(1,0)'' indicates that drive 1 on + MASSBUS adaptor 0 should be formatted; while ``up(10,0)'' + indicates that UNIBUS drive 2 on UNIBUS adaptor 1 should + be formatted. + + Before each formatting attempt, _f_o_r_m_a_t prompts the user in + case debugging should be enabled in the appropriate device + driver. A carriage return disables debugging information. + + _F_o_r_m_a_t should be used prior to building file systems (with + _n_e_w_f_s(8)) to insure that all sectors with uncorrectable + media errors are remapped. If a drive develops uncor- + rectable defects after formatting, either _b_a_d_1_4_4(8) or + _b_a_d_s_e_c_t(8) should be able to avoid the bad sectors. + +EEXXAAMMPPLLEE + A sample run of _f_o_r_m_a_t is shown below. In this example + (using a VAX-11/780), _f_o_r_m_a_t is loaded from the console + floppy; on an 11/750 _f_o_r_m_a_t will be loaded from the root + file system with _b_o_o_t(8) following a "B/3" command. Bold- + face means user input. As usual, ``#'' and ``@'' may be + used to edit input. + + >>>LL FFOORRMMAATT + LOAD DONE, 00004400 BYTES LOADED + >>>SS 22 + Disk format/check utility + + Enable debugging (0=none, 1=bse, 2=ecc, 3=bse+ecc)? 00 + Device to format? hhpp((88,,00)) + (_e_r_r_o_r _m_e_s_s_a_g_e_s _m_a_y _o_c_c_u_r _a_s _o_l_d _b_a_d _s_e_c_t_o_r _t_a_b_l_e _i_s _r_e_a_d) + Formatting drive hp0 on adaptor 1: verify (yes/no)? yyeess + + + +4th Berkeley Distribution June 5, 1993 2 + + + + + + + + +FORMAT(8) BSD System Manager's Manual FORMAT(8) + + + Device data: #cylinders=842, #tracks=20, #sectors=48 + Starting cylinder (0): + Starting track (0): + Ending cylinder (841): + Ending track (19): + Available test patterns are: + 1 - (f00f) RH750 worst case + 2 - (ec6d) media worst case + 3 - (a5a5) alternating 1's and 0's + 4 - (ffff) Severe burnin (up to 48 passes) + Pattern (one of the above, other to restart)? 22 + Maximum number of bit errors to allow for soft ECC (3): + Start formatting...make sure the drive is online + ... + (_s_o_f_t _e_c_c_'_s _a_n_d _o_t_h_e_r _e_r_r_o_r_s _a_r_e _r_e_p_o_r_t_e_d _a_s _t_h_e_y _o_c_c_u_r) + ... + (_i_f _4 _w_r_i_t_e _c_h_e_c_k _e_r_r_o_r_s _w_e_r_e _f_o_u_n_d_, _t_h_e _p_r_o_g_r_a_m _t_e_r_m_i_n_a_t_e_s _l_i_k_e _t_h_i_s_._._.) + ... + Errors: + Bad sector: 0 + Write check: 4 + Hard ECC: 0 + Other hard: 0 + Marked bad: 0 + Skipped: 0 + Total of 4 hard errors revectored. + Writing bad sector table at block 808272 + (_8_0_8_2_7_2 _i_s _t_h_e _b_l_o_c_k _# _o_f _t_h_e _f_i_r_s_t _b_l_o_c_k _i_n _t_h_e _b_a_d _s_e_c_t_o_r _t_a_b_l_e) + Done + (_._._._p_r_o_g_r_a_m _r_e_s_t_a_r_t_s _t_o _a_l_l_o_w _f_o_r_m_a_t_t_i_n_g _o_t_h_e_r _d_i_s_k_s) + (_._._._t_o _a_b_o_r_t _h_a_l_t _m_a_c_h_i_n_e _w_i_t_h _^_P) + + +DDIIAAGGNNOOSSTTIICCSS + The diagnostics are intended to be self explanatory. + +UUSSIINNGG DDEECC SSOOFFTTWWAARREE TTOO FFOORRMMAATT + WWaarrnniinngg:: TThheessee iinnssttrruuccttiioonnss aarree ffoorr ppeeooppllee wwiitthh 1111//778800 + CCPPUU''ss.. The steps needed for 11/750 or 11/730 cpu's are + similar, but not covered in detail here. + + The formatting procedures are different for each type of + disk. Listed here are the formatting procedures for + RK07's, RP0X, and RM0X disks. + + You should shut down UNIX and halt the machine to do any + disk formatting. Make certain you put in the pack you + want formatted. It is also a good idea to spin down or + write protect the disks you don't want to format, just in + case. + + + + +4th Berkeley Distribution June 5, 1993 3 + + + + + + + + +FORMAT(8) BSD System Manager's Manual FORMAT(8) + + + FFoorrmmaattttiinngg aann RRKK0077.. Load the console floppy labeled, + "RX11 VAX DSK LD DEV #1" in the console disk drive, and + type the following commands: + >>>BOOT + DIAGNOSTIC SUPERVISOR. ZZ-ESSAA-X5.0-119 23-JAN-1980 12:44:40.03 + DS>ATTACH DW780 SBI DW0 3 5 + DS>ATTACH RK611 DMA + DS>ATTACH RK07 DW0 DMA0 + DS>SELECT DMA0 + DS>LOAD EVRAC + DS>START/SEC:PACKINIT + + FFoorrmmaattttiinngg aann RRPP00XX.. Follow the above procedures except + that the ATTACH and SELECT lines should read: + DS>ATTACH RH780 SBI RH0 8 5 + DS>ATTACH RP0X RH0 DBA0(RP0X is, e.g. RP06) + DS>SELECT DBA0 + + This is for drive 0 on mba0; use 9 instead of 8 for mba1, + etc. + + FFoorrmmaattttiinngg aann RRMM00XX.. Follow the above procedures except + that the ATTACH and SELECT lines should read: + DS>ATTACH RH780 SBI RH0 8 5 + DS>ATTACH RM0X RH0 DRA0 + DS>SELECT DRA0 + + Don't forget to put your UNIX console floppy back in the + floppy disk drive. + +SSEEEE AALLSSOO + bad144(8), badsect(8), newfs(8) + +BBUUGGSS + An equivalent facility should be available which operates + under a running UNIX system. + + It should be possible to reformat or verify part or all of + a disk, then update the existing bad sector table. + + + + + + + + + + + + + + + +4th Berkeley Distribution June 5, 1993 4 + + + + + diff --git a/usr/share/man/cat8/vax/installboot.0 b/usr/share/man/cat8/vax/installboot.0 new file mode 100644 index 0000000000..ba47eef5b6 --- /dev/null +++ b/usr/share/man/cat8/vax/installboot.0 @@ -0,0 +1,32 @@ +INSTALLBOOT(8) BSD System Manager's Manual INSTALLBOOT(8) + +NNAAMMEE + iinnssttaallllbboooott - installs a boot program in a file system + +SSYYNNOOPPSSIISS + iinnssttaallllbboooott _b_o_o_t_b_l_o_c_k _b_o_o_t_p_r_o_g _s_p_e_c_i_a_l + +DDEESSCCRRIIPPTTIIOONN + Installboot concatentates _b_o_o_t_b_l_o_c_k and _b_o_o_t_p_r_o_g and writes at most + BBSIZE bytes (from <_s_y_s_/_f_s_._h>) of them on the first bytes of _s_p_e_c_i_a_l. + +FFIILLEESS + /usr/mdec/??boot boot blocks + /usr/mdec/boot?? boot programs + +SSEEEE AALLSSOO + newfs(8), dd(1) + +EEXXAAMMPPLLEESS + cd /usr/mdec + installboot raboot bootra /dev/ra0a + +BBUUGGSS + There is no convenient way to determine the names of the boot blocks and + boot programs without _a _p_r_i_o_r_i knowledge of one's make of disk. + +HHIISSTTOORRYY + The iinnssttaallllbboooott command appeared in 4.3BSD-Tahoe. This manual page was + written by Geoff Collyer. + +4.3-Tahoe Berkeley Distribution June 5, 1993 1 diff --git a/usr/share/me/revisions b/usr/share/me/revisions new file mode 100644 index 0000000000..e144063c48 --- /dev/null +++ b/usr/share/me/revisions @@ -0,0 +1,230 @@ +2.28 12 May 86 +-- Fix footnotes if no -rv flag specified + +2.27 17 Apr 86 +-- Assume non-C/A/T typesetters -- use -rv2 to get old function + +2.26 27 Mar 86 +-- Always go into fill mode in .sh; necessary to get output format + correct. + +2.25 3 Mar 86 +-- Drop basic unit scaling on .sz and .ps requests; this confuses some + versions of troff. + +2.24 7 Jan 86 +-- Merge ditroff and troff versions. +-- Add support for pic, gremlin, and ideal. +-- Add .lh macro to print a letterhead. +-- Adjust .bi (bold italics) to be more device resolution independent. + +2.23 23 Jun 85 +-- Allow .]< to initialize refer macros (as well as .]-). + +2.22 27 Apr 85 +-- Fix incorrect comment strip in $p macro. +-- Drop into fill mode in .TS so that text boxes will work properly. + +2.21 4 Mar 85 +-- Change \*- macro from \- to \(em in troff. +-- Change block indent (\n(bi) from 4n to 4m to look better in troff. + +2.20 18 Feb 85 +-- Don't reset ii register in .bu or .np + +2.19 14 Feb 85 +-- add .bu and .sm macros (bullet and smaller). +-- have .np take a fixed .ip width. + +2.18 14 Feb 85 +-- Avoid cut marks on laser printers. + +2.17 14 Feb 85 +-- Some bug fixes as reported from many places. + +2.16 11 Oct 84 +-- Improve some tracing. +-- Minor improvements from rrh. + +2.15 10 Apr 83 +-- Fix a name conflict between .sh and floating keeps (as suggested + by Hy Murviet). + +2.14 28 Dec 81 +-- Integrate the refer macros into -me. This is basically a cheap + and dirty modification of the -ms version, and is probably not + terribly compatible with the usual -me standards. This can be + tuned later if needed. + +2.13 22 Dec 81 +-- Allow the -rb flag to set the font you want for bold font -- + set it to font . Default 2 (italic) in nroff, 3 (bold) in + troff. + +2.12 20 Mar 81 +-- Remove silly "." at top of page on dumb terminals -- lpr is smarter + now. + +2.11 19 Mar 81 +-- Fixed indexes to indent on second line. + +2.10 26 Feb 81 +-- Improvement to nested index solution, now works for ()b & ()z. + +2.9 10 Dec 80 +-- More stuff to make indices inside keeps work correctly. + +2.8 10 Nov 80 +-- Had .)c do a .br to insure that the final line is forced out. + +2.7 24 Sep 80 +-- Fixed bug in 2.6 + +2.6 23 Sep 80 +-- Fixed problem introduced by 2.2 which occured in footnotes and + index entries in filled keeps + +2.5 29 Aug 80 +-- Changed umlaut to not be so tricky -- it seems to backfire. + +2.4 25 Aug 80 +-- Fixed bug in indices caused by 2.2. + +2.3 20 Aug 80 +-- Fixed bug in footnotes caused by 2.2. +-- Changed temp file names that macros that do dynamic loading rename + themselves to. For example, if you say '.TS ... .(f' when both of + them have been used for the first time, the @T macro got used twice. + +2.2 18 Aug 80 +-- Suspended footnote & index processing until final output + (so that they will work properly in keeps). + +2.1 18 Aug 80 +-- Release 2. No changes. + +Mod 28 18 Aug 80 +-- If \nv is set on entry, handle .po differently (for vtroff). +-- Allow ".nr fi 0". + +Mod 27 30 Jun 80 +-- Put in a cludge to try to make multi-columned output work + with wide floating keeps. Moves all wide keeps to the top + of the next real page. + +Mod 26 9 Nov 79 +-- Fixed footnote bug that caused the first line of footnotes + that were broken across a page to be indented. + +Mod 25 1 Oct 79 +-- Fixed footnote bug that caused footnotes invoked at the + top of pages to come out in bold font. +-- Fixed equation bug that caused equations at the top of + page to be improperly centered. + +Mod 24 27 Sep 79 +-- Changed delimiter in all \w's to " from ', to allow for + apostrophes in labels. +-- Increased footnote fudge factor. +-- Changed \x factor in \*[ & \*< to be one half previous value. + +Mod 23 24 Aug 79 +-- Changed .ip to start new line if the tag is too long for + the space provided. + +Mod 22 11 Jul 79 +-- Changed .ac to handle new paper (with second parameter + == "*"). + +Mod 21 24 Apr 79 +-- Changed \*[ and \*< to use \x -- to avoid line overlap. + +Mod 20 6 Apr 79 +-- Changed 12-pitch DTC terminals to still space 1/6 inch (instead + of 1/8 inch), unless the 'x' register is non-zero -- do-able with + the -rx1 option on the nroff command line. + +Mod 19 28 Mar 79 +-- Had .ep do a .rs, to avoid occasional problems (like with + .+c (again). +-- Added the 'X' register: if non-zero on startup on a 12-pitch + terminal, it outputs 6 LPI instead of 8 LPI. + +Mod 18 26 Mar 79 +-- Had .+c reset indent, to solve problems of prelim material + after a .ip (as with references) + +Mod 17 19 Mar 79 +-- Fixed a bug in .++ which caused it to renumber pages incorrectly, + the result of nroff starting a new page immediately upon reaching + the end of the previous page (damn!). + +Mod 16 8 Mar 79 +-- Fixed a bug in .++ which caused it to change page number formats + before forcing out the page. +-- Changed tmac.e so that extra '.so's to the package will next to + 'null.me'. +-- Changed .sh so that a title of "_" will cause section depth change + side-effects only (base indent will remain the same, and no output + will occur). + +Mod 15a 7 Mar 79 +-- Fixed a bug in Mod 15 which caused .ip's to fail. + +Mod 15 2 Mar 79 +-- Changed .@p to do paragraph indents normally in keeps, which + will override the indent parameter in keeps with paragraph + forms in them (use .ba to fix this). + +Mod 14 23 Feb 79 +-- Fixed .ip so it would hyphenate correctly. + +Mod 13 16 Feb 79 +-- Added .rs before eqn title output to fix vertical centering + problem. + +Mod 12 15 Feb 79 +-- Changed NROFF bold font to be regular .ul (.cu is a pain). +-- Changed .sh to output regular spaces instead of unpaddable + spaces. +-- Fixed bug in .1c with bad line length (didn't reset \n($l). + +Mod 11 13 Feb 79 +-- Added hook to .$c to call .$C (for index entries or whatever). + +Mod 10 12 Feb 79 +-- Had .xp print in current environment and not reset to single + spacing, to allow more control over output format. + +Mod 9 26 Dec 78 +-- Fixed yet another problem with equation spacing. + +Mod 8 18 Dec 78 +-- Fixed .@q to solve a problem with \n(dn getting lost on + equations at top of page. + +Mod 7 11 Dec 78 +-- Had .@q (equation output) move to end of equation after + equation output (eqn doesn't seem to space quite right). + +Mod 6 27 Nov 78 +-- Fixed the umlaut on DTC output to be prettier. + +Mod 5 5 Nov 78 +-- Fixed a bug with the second parameter to .ip. + +Mod 4 2 Nov 78 +-- Added .uh command (unnumbered heading). +-- Changed .$p and .sh accordingly. + +Mod 3 2 Oct 78 +-- Fixed .ne command in .$p (print section headings). + +Mod 2 25 Sep 78 +-- Changed .np to use () instead of []. + +Mod 1 12 Sep 78 +-- Fixed footnote fudge factor (curse NROFF!!) +-- Put "needs" on .(z, .)z. + +Mod 0 11 Sep 78 diff --git a/usr/share/misc/ascii b/usr/share/misc/ascii new file mode 100644 index 0000000000..b7bcef5c46 --- /dev/null +++ b/usr/share/misc/ascii @@ -0,0 +1,50 @@ +|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| + +| 0 nul| 1 soh| 2 stx| 3 etx| 4 eot| 5 enq| 6 ack| 7 bel| +| 8 bs | 9 ht | 10 nl | 11 vt | 12 np | 13 cr | 14 so | 15 si | +| 16 dle| 17 dc1| 18 dc2| 19 dc3| 20 dc4| 21 nak| 22 syn| 23 etb| +| 24 can| 25 em | 26 sub| 27 esc| 28 fs | 29 gs | 30 rs | 31 us | +| 32 sp | 33 ! | 34 " | 35 # | 36 $ | 37 % | 38 & | 39 ' | +| 40 ( | 41 ) | 42 * | 43 + | 44 , | 45 - | 46 . | 47 / | +| 48 0 | 49 1 | 50 2 | 51 3 | 52 4 | 53 5 | 54 6 | 55 7 | +| 56 8 | 57 9 | 58 : | 59 ; | 60 < | 61 = | 62 > | 63 ? | +| 64 @ | 65 A | 66 B | 67 C | 68 D | 69 E | 70 F | 71 G | +| 72 H | 73 I | 74 J | 75 K | 76 L | 77 M | 78 N | 79 O | +| 80 P | 81 Q | 82 R | 83 S | 84 T | 85 U | 86 V | 87 W | +| 88 X | 89 Y | 90 Z | 91 [ | 92 \ | 93 ] | 94 ^ | 95 _ | +| 96 ` | 97 a | 98 b | 99 c |100 d |101 e |102 f |103 g | +|104 h |105 i |106 j |107 k |108 l |109 m |110 n |111 o | +|112 p |113 q |114 r |115 s |116 t |117 u |118 v |119 w | +|120 x |121 y |122 z |123 { |124 | |125 } |126 ~ |127 del| diff --git a/usr/share/misc/eqnchar b/usr/share/misc/eqnchar new file mode 100644 index 0000000000..b9339746d1 --- /dev/null +++ b/usr/share/misc/eqnchar @@ -0,0 +1,90 @@ +.EQ +tdefine ciplus % "\o'\(pl\(ci'" % +ndefine ciplus % O+ % +tdefine citimes % "\o'\(mu\(ci'" % +ndefine citimes % Ox % +tdefine =wig % "\(eq\h'-\w'\(eq'u-\w'\s-2\(ap'u/2u'\v'-.4m'\s-2\z\(ap\(ap\s+2\v'.4m'\h'\w'\(eq'u-\w'\s-2\(ap'u/2u'" % +ndefine =wig % ="~" % +tdefine bigstar % "\o'\(pl\(mu'" % +ndefine bigstar % X|- % +tdefine =dot % "\z\(eq\v'-.6m'\h'.2m'\s+2.\s-2\v'.6m'\h'.1m'" % +ndefine =dot % = dot % +tdefine orsign % "\s-2\v'-.15m'\z\e\e\h'-.05m'\z\(sl\(sl\v'.15m'\s+2" % +ndefine orsign % \e/ % +tdefine andsign % "\s-2\v'-.15m'\z\(sl\(sl\h'-.05m'\z\e\e\v'.15m'\s+2" % +ndefine andsign % /\e % +tdefine =del % "\v'.3m'\z=\v'-.6m'\h'.3m'\s-1\(*D\s+1\v'.3m'" % +ndefine =del % = to DELTA % +tdefine oppA % "\s-2\v'-.15m'\z\e\e\h'-.05m'\z\(sl\(sl\v'-.15m'\h'-.75m'\z-\z-\h'.2m'\z-\z-\v'.3m'\h'.4m'\s+2" % +ndefine oppA % V- % +tdefine oppE %"\s-3\v'.2m'\z\(em\v'-.5m'\z\(em\v'-.5m'\z\(em\v'.55m'\h'.9m'\z\(br\z\(br\v'.25m'\s+3" % +ndefine oppE % E/ % +tdefine incl % "\s-1\z\(or\h'-.1m'\v'-.45m'\z\(em\v'.7m'\z\(em\v'.2m'\(em\v'-.45m'\s+1" % +ndefine incl % C_ % +tdefine nomem % "\o'\(mo\(sl'" % +ndefine nomem % C-/ % +tdefine angstrom % "\fR\zA\v'-.3m'\h'.2m'\(de\v'.3m'\fP\h'.2m'" % +ndefine angstrom % A to o % +tdefine star %{ roman "\v'.5m'\s+3*\s-3\v'-.5m'"}% +ndefine star % * % +tdefine || % \(or\(or % +tdefine wig % "\z>\v'.4m'\(ap\v'-.4m'" % +ndefine >wig %{ > from "~" }% +tdefine langle % "\s-3\b'\(sl\e'\s0" % +ndefine langle %<% +tdefine rangle % "\s-3\b'\e\(sl'\s0" % +ndefine rangle %>% +tdefine hbar % "\zh\v'-.6m'\h'.05m'\(ru\v'.6m'" % +ndefine hbar % h\u-\d % +ndefine ppd % _| % +tdefine ppd % "\o'\(ru\s-2\(or\s+2'" % +tdefine <-> % "\o'\(<-\(->'" % +ndefine <-> % "<-->" % +tdefine <=> % "\s-2\z<\v'.05m'\h'.2m'\z=\h'.55m'=\h'-.6m'\v'-.05m'>\s+2" % +ndefine <=> % "<=>" % +tdefine |< % "\o'<\(or'" % +ndefine |< % <| % +tdefine |> % "\o'>\(or'" % +ndefine |> % |> % +tdefine ang % "\v'-.15m'\z\s-2\(sl\s+2\v'.15m'\(ru" % +ndefine ang % /_ % +tdefine rang % "\z\(or\h'.15m'\(ru" % +ndefine rang % L % +tdefine 3dot % "\v'-.8m'\z.\v'.5m'\z.\v'.5m'.\v'-.2m'" % +ndefine 3dot % .\u.\u.\d\d % +tdefine thf % ".\v'-.5m'.\v'.5m'." % +ndefine thf % ..\u.\d % +tdefine quarter % roman \(14 % +ndefine quarter % 1/4 % +tdefine 3quarter % roman \(34 % +ndefine 3quarter % 3/4 % +tdefine degree % \(de % +ndefine degree % nothing sup o % +tdefine square % \(sq % +ndefine square % [] % +tdefine circle % \(ci % +ndefine circle % O % +tdefine blot % "\fB\(sq\fP" % +ndefine blot % HIX % +tdefine bullet % \(bu % +ndefine bullet % oxe % +tdefine -wig % "\(~=" % +ndefine -wig % - to "~" % +tdefine wig % \(ap % +ndefine wig % "~" % +tdefine prop % \(pt % +ndefine prop % oc % +tdefine empty % \(es % +ndefine empty % O/ % +tdefine member % \(mo % +ndefine member % C- % +tdefine cup % \(cu % +ndefine cup % U % +define cap % \(ca % +define subset % \(sb % +define supset % \(sp % +define !subset % \(ib % +define !supset % \(ip % +.EN diff --git a/usr/share/misc/man.template b/usr/share/misc/man.template new file mode 100644 index 0000000000..228de3d32e --- /dev/null +++ b/usr/share/misc/man.template @@ -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/share/misc/mdoc.template b/usr/share/misc/mdoc.template new file mode 100644 index 0000000000..4ced1aed63 --- /dev/null +++ b/usr/share/misc/mdoc.template @@ -0,0 +1,24 @@ +.\" The following requests are required for all man pages. +.Dd DATE +.Os +.Dt DOCUMENT_TITLE +.Sh NAME +.Sh SYNOPSIS +.Sh DESCRIPTION +.\" The following requests should be uncommented and used where appropriate. +.\" This next request is for sections 2 and 3 function return values only. +.\" .Sh RETURN VALUES +.\" This next request is for sections 1, 6, 7 & 8 only +.\" .Sh ENVIRONMENT +.\" .Sh FILES +.\" .Sh EXAMPLES +.\" This next request is for sections 1, 6, 7 & 8 only +.\" (command return values (to shell) and fprintf/stderr type diagnostics) +.\" .Sh DIAGNOSTICS +.\" The next request is for sections 2 and 3 error and signal handling only. +.\" .Sh ERRORS +.\" .Sh SEE ALSO +.\" .Sh STANDARDS +.\" .Sh HISTORY +.\" .Sh AUTHORS +.\" .Sh BUGS diff --git a/usr/share/misc/operator b/usr/share/misc/operator new file mode 100644 index 0000000000..003c436d05 --- /dev/null +++ b/usr/share/misc/operator @@ -0,0 +1,17 @@ +Operator Associativity +----------------------------------------------- +() [] -> . left to right +! ~ ++ -- - (type) * & sizeof right to left +* / % left to right ++ - left to right +<< >> left to right +< <= > >= left to right +== != left to right +& left to right +^ left to right +| left to right +&& left to right +|| left to right +?: right to left += += -= etc. right to left +, left to right diff --git a/usr/share/skel/dot.cshrc b/usr/share/skel/dot.cshrc new file mode 100644 index 0000000000..d1e8a36ee1 --- /dev/null +++ b/usr/share/skel/dot.cshrc @@ -0,0 +1,27 @@ +# .cshrc initialization + +alias df df -k +alias du du -k +alias f finger +alias h 'history -r | more' +alias j jobs -l +alias la ls -a +alias lf ls -FA +alias ll ls -lgsA +alias su su -m +alias tset 'set noglob histchars=""; eval `\tset -s \!*`; unset noglob histchars' +alias x exit +alias z suspend + +set path = (~/bin /bin /usr/{bin,new,games,local,old} .) + +if ($?prompt) then + # An interactive shell -- set some stuff up + set filec + set history = 1000 + set ignoreeof + set mail = (/var/mail/$USER) + set mch = `hostname -s` + set prompt = "$mch:q:$cwd:t {\!} " + umask 2 +endif diff --git a/usr/share/skel/dot.login b/usr/share/skel/dot.login new file mode 100644 index 0000000000..bdbc750683 --- /dev/null +++ b/usr/share/skel/dot.login @@ -0,0 +1,15 @@ +#csh login file + +if ( ! $?TERMCAP ) then + tset -Q '-mdialup:?vt100' $TERM +endif + +stty newcrt crterase + +set savehist=100 +set ignoreeof + +setenv EXINIT 'set ai sm noeb' +setenv HOSTALIASES $HOME/.hostaliases + +/usr/games/fortune diff --git a/usr/share/skel/dot.mailrc b/usr/share/skel/dot.mailrc new file mode 100644 index 0000000000..7c8a99b905 --- /dev/null +++ b/usr/share/skel/dot.mailrc @@ -0,0 +1,2 @@ +set ask +ignore message-id received date fcc status resent-date resent-message-id resent-from in-reply-to diff --git a/usr/share/skel/dot.profile b/usr/share/skel/dot.profile new file mode 100644 index 0000000000..95ed15cdc5 --- /dev/null +++ b/usr/share/skel/dot.profile @@ -0,0 +1,2 @@ +PATH=/bin:/usr/bin:/usr/new:/usr/local:/usr/games:/usr/old:. +export PATH HOME TERM diff --git a/usr/share/skel/dot.rhosts b/usr/share/skel/dot.rhosts new file mode 100644 index 0000000000..2704975166 --- /dev/null +++ b/usr/share/skel/dot.rhosts @@ -0,0 +1,2 @@ +OtherMachine +OtherMachine myFriend diff --git a/usr/share/tabset/3101 b/usr/share/tabset/3101 new file mode 100644 index 0000000000..dab586bf65 --- /dev/null +++ b/usr/share/tabset/3101 @@ -0,0 +1 @@ +H 0 0 0 0 0 0 0 0 0 diff --git a/usr/share/tabset/9837 b/usr/share/tabset/9837 new file mode 100644 index 0000000000..57d211f64e --- /dev/null +++ b/usr/share/tabset/9837 @@ -0,0 +1 @@ +3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file diff --git a/usr/share/tabset/aa b/usr/share/tabset/aa new file mode 100644 index 0000000000..578474569b --- /dev/null +++ b/usr/share/tabset/aa @@ -0,0 +1 @@ + 1 1 1 1 1 1 1 1 1  diff --git a/usr/share/tabset/aed512 b/usr/share/tabset/aed512 new file mode 100644 index 0000000000..2c9d5fc20b --- /dev/null +++ b/usr/share/tabset/aed512 @@ -0,0 +1 @@ +\EG1MMM.`40K0001202080K8001????00^L\EC80L80{80^L\EK010100????K0601??0000c818100\EG1HHH.\07210000019A27FD006A280D002A200A52429FE8524861086118612861360N031B4C3F3F1800N041B0C1B4C38301800N001B3B313030301800N011B3B313030341800N021B3B313030381800N050800N061B3B313335301800\07211000015A58E8D5011A58F8D5111A5908D5211A5918D531160\07212000015AD5011858EAD5111858FAD52118590AD5311859160\0721300004B2071C5858E0A18658E0A0A858EA900858F268FA5278590A50A29018591A9F51865908590A90165918591A59038E58E8590A591E58F290185912071C5180A0A0A0901858EA900858F268F60\0721350000BA9472031DEA9502031DE60\E\E\E\EG1MMM.^A diff --git a/usr/share/tabset/diablo b/usr/share/tabset/diablo new file mode 100644 index 0000000000..8acc53fe33 --- /dev/null +++ b/usr/share/tabset/diablo @@ -0,0 +1,3 @@ + 9 +2 1 1 1 !1 )1 11 91 A1 I1 Q1 Y1 a1 i1 q1 y1 + 9 diff --git a/usr/share/tabset/dtc382 b/usr/share/tabset/dtc382 new file mode 100644 index 0000000000..79257c39fd --- /dev/null +++ b/usr/share/tabset/dtc382 @@ -0,0 +1 @@ +  1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file diff --git a/usr/share/tabset/ibm3101 b/usr/share/tabset/ibm3101 new file mode 100644 index 0000000000..7e510ef869 --- /dev/null +++ b/usr/share/tabset/ibm3101 @@ -0,0 +1 @@ +H 0 0 0 0 0 0 0 0 0 \ No newline at end of file diff --git a/usr/share/tabset/std b/usr/share/tabset/std new file mode 100644 index 0000000000..e93f737f0e --- /dev/null +++ b/usr/share/tabset/std @@ -0,0 +1 @@ + 3 1 1 1 1 1 1 1 1 1 1 1 1 1 diff --git a/usr/share/tabset/stdcrt b/usr/share/tabset/stdcrt new file mode 100644 index 0000000000..66ba12f64d --- /dev/null +++ b/usr/share/tabset/stdcrt @@ -0,0 +1 @@ + 3 1 1 1 1 1 1 1 1 1 \ No newline at end of file diff --git a/usr/share/tabset/tandem653 b/usr/share/tabset/tandem653 new file mode 100644 index 0000000000..4588c34e51 --- /dev/null +++ b/usr/share/tabset/tandem653 @@ -0,0 +1 @@ +3 1 1 1 1 1 1 1 1 1 1 diff --git a/usr/share/tabset/teleray b/usr/share/tabset/teleray new file mode 100644 index 0000000000..46158f398e --- /dev/null +++ b/usr/share/tabset/teleray @@ -0,0 +1 @@ +GY9(FY90FY98FY9@FY9HFY9PFY9XFY9`FY9hF \ No newline at end of file diff --git a/usr/share/tabset/vt100 b/usr/share/tabset/vt100 new file mode 100644 index 0000000000..2ea71e1e7f --- /dev/null +++ b/usr/share/tabset/vt100 @@ -0,0 +1 @@ +  H H H H H H H H H H \ No newline at end of file diff --git a/usr/share/tabset/vt100-w b/usr/share/tabset/vt100-w new file mode 100644 index 0000000000..20c061497c --- /dev/null +++ b/usr/share/tabset/vt100-w @@ -0,0 +1 @@ +  H H H H H H H H H H H H H H H H H \ No newline at end of file diff --git a/usr/share/tabset/wyse-adds b/usr/share/tabset/wyse-adds new file mode 100644 index 0000000000..996ed66095 --- /dev/null +++ b/usr/share/tabset/wyse-adds @@ -0,0 +1,3 @@ +Setting tabs... 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + diff --git a/usr/share/tabset/xerox1720 b/usr/share/tabset/xerox1720 new file mode 100644 index 0000000000..7437292bff --- /dev/null +++ b/usr/share/tabset/xerox1720 @@ -0,0 +1 @@ +2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file diff --git a/usr/share/tabset/zenith29 b/usr/share/tabset/zenith29 new file mode 100644 index 0000000000..ada8330623 --- /dev/null +++ b/usr/share/tabset/zenith29 @@ -0,0 +1 @@ + H H H H H H H H H H -- 2.20.1