summaryrefslogtreecommitdiff
path: root/share/man
diff options
context:
space:
mode:
authorsvn2git <svn2git@FreeBSD.org>1994-07-01 08:00:00 +0000
committersvn2git <svn2git@FreeBSD.org>1994-07-01 08:00:00 +0000
commit5e0e9b99dc3fc0ecd49d929db0d57c784b66f481 (patch)
treee779b5a6edddbb949b7990751b12d6f25304ba86 /share/man
parenta16f65c7d117419bd266c28a1901ef129a337569 (diff)
Diffstat (limited to 'share/man')
-rw-r--r--share/man/man4/ddb.43
-rw-r--r--share/man/man4/man4.i386/Makefile4
-rw-r--r--share/man/man4/man4.i386/lpa.462
-rw-r--r--share/man/man4/man4.i386/lpt.46
-rw-r--r--share/man/man4/man4.i386/sio.4291
-rw-r--r--share/man/man4/man4.i386/tw.4111
-rw-r--r--share/man/man5/Makefile6
-rw-r--r--share/man/man5/pcfs.5294
-rw-r--r--share/man/man5/skey.access.534
-rw-r--r--share/man/man7/mdoc.7409
-rw-r--r--share/man/man8/adduser.816
11 files changed, 1004 insertions, 232 deletions
diff --git a/share/man/man4/ddb.4 b/share/man/man4/ddb.4
index 62bebbf6f43f..9255c0d70ef5 100644
--- a/share/man/man4/ddb.4
+++ b/share/man/man4/ddb.4
@@ -23,6 +23,7 @@
.\" any improvements or extensions that they make and grant Carnegie Mellon
.\" the rights to redistribute these changes.
.\"
+.\" changed a \# to #, since groff choked on it.
.\"
.\" HISTORY
.\" ddb.4,v
@@ -394,7 +395,7 @@ last address explicitly specified.
.IP "$<variable>" 15n
register name or variable. It is translated to the value of it.
It may be followed by a ':' and modifiers as described above.
-.IP \# 15n
+.IP # 15n
a binary operator which rounds up the left hand side to the next
multiple of right hand side.
.IP "*<expr>" 15n
diff --git a/share/man/man4/man4.i386/Makefile b/share/man/man4/man4.i386/Makefile
index 17702805c040..979c5c77756c 100644
--- a/share/man/man4/man4.i386/Makefile
+++ b/share/man/man4/man4.i386/Makefile
@@ -1,10 +1,9 @@
# @(#)Makefile 0.1 (RWGrimes) 3/25/93
-MAN4= com.4 keyboard.4 lpa.4 lpt.4 mem.4 mse.4 npx.4 screen.4 sio.4 spkr.4
+MAN4= com.4 keyboard.4 lpt.4 mem.4 mse.4 npx.4 screen.4 sio.4 spkr.4 tw.4
MLINKS= com.4 ../com.4
MLINKS+= keyboard.4 ../keyboard.4
-MLINKS+= lpa.4 ../lpa.4
MLINKS+= lpt.4 ../lpt.4
MLINKS+= mem.4 ../mem.4
MLINKS+= mem.4 ../kmem.4
@@ -13,6 +12,7 @@ MLINKS+= npx.4 ../npx.4
MLINKS+= screen.4 ../screen.4
MLINKS+= sio.4 ../sio.4
MLINKS+= spkr.4 ../spkr.4
+MLINKS+= tw.4 ../tw.4
MANSUBDIR=/i386
diff --git a/share/man/man4/man4.i386/lpa.4 b/share/man/man4/man4.i386/lpa.4
deleted file mode 100644
index ef5f422f6490..000000000000
--- a/share/man/man4/man4.i386/lpa.4
+++ /dev/null
@@ -1,62 +0,0 @@
-.\"
-.\" Copyright (c) 1993 Christopher G. Demetriou
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by Christopher G. Demetriou.
-.\" 3. The name of the author may not be used to endorse or promote products
-.\" derived from this software withough specific prior written permission
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.\" from: lpa.4,v 1.1 1993/08/06 10:34:11 cgd Exp
-.\" $Id: lpa.4,v 1.1 1993/08/28 12:41:20 rgrimes Exp $
-.\"
-.Dd August 28, 1993
-.Dt LPA 4 i386
-.Os FreeBSD
-.Sh NAME
-.Nm lpa
-.Nd
-Interruptless parallel port driver
-.Sh SYNOPSIS
-.\" XXX this is awful hackery to get it to work right... -- cgd
-.Cd "device lpa0 at isa? port" \&"IO_LPT1\&" tty
-.Cd "device lpa1 at isa? port" \&"IO_LPT2\&" tty
-.Cd "device lpa2 at isa? port" \&"IO_LPT3\&" tty
-.Sh DESCRIPTION
-This driver provides access to parallel ports. It assumes that
-the parallel port controller will not cause an interrupt, and
-therefore must poll the controller.
-.Sh FILES
-.Bl -tag -width Pa -compact
-.It Pa /dev/lpa0
-first interruptless parallel port driver
-.El
-.Sh SEE ALSO
-.Xr lpt 4
-.Sh BUGS
-This driver only exists to support broken parallel port implementations.
-Systems with properly working parallel ports should use the
-.Nm lpt
-driver instead, as it is less resource-hungry.
-.Pp
-This driver could stand a rewrite.
diff --git a/share/man/man4/man4.i386/lpt.4 b/share/man/man4/man4.i386/lpt.4
index 0fb89387bab9..ad20a65b7a04 100644
--- a/share/man/man4/man4.i386/lpt.4
+++ b/share/man/man4/man4.i386/lpt.4
@@ -1,5 +1,6 @@
.\"
.\" Copyright (c) 1993 Christopher G. Demetriou
+.\" Copyright (c) 1994 Geoffrey M. Rehmet
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -69,5 +70,10 @@ first parallel port driver
.Xr lptcontrol 1
.Sh BUGS
There are lots of them, especially in cheap parallel port implementations.
+.sp
+It is only possible to open a lpt port when a printer is connected and
+on-line, making it impossible to run
+.Xr lptcontrol 1
+when there is no printer connected.
.Pp
This driver could still stand a rewrite.
diff --git a/share/man/man4/man4.i386/sio.4 b/share/man/man4/man4.i386/sio.4
index 8fcd2c17cfd1..e79d3864880b 100644
--- a/share/man/man4/man4.i386/sio.4
+++ b/share/man/man4/man4.i386/sio.4
@@ -34,9 +34,9 @@
.\"
.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91
.\" from: com.4,v 1.1 1993/08/06 11:19:07 cgd Exp
-.\" $Id: sio.4,v 1.8.2.1 1994/05/01 16:07:37 jkh Exp $
+.\" $Id: sio.4,v 1.13 1994/06/15 23:28:07 jkh Exp $
.\"
-.Dd February 9, 1994
+.Dd June 3, 1994
.Dt SIO 4 i386
.Os FreeBSD
.Sh NAME
@@ -50,20 +50,42 @@ For standard ports:
.Cd "device sio2 at isa? port" \&"IO_COM3\&" tty irq 5 vector siointr
.Cd "device sio3 at isa? port" \&"IO_COM4\&" tty irq 9 vector siointr
.sp
-For multiport cards:
+For AST compatible multiport cards with 4 ports:
.Cd "options" \&"COM_MULTIPORT\&"
-.Cd "device sio4 at isa? port 0x2a0 tty irq 12 flags 0x401 vector siointr"
-.Cd "device sio5 at isa? port 0x2a8 tty flags 0x401 vector siointr"
-.Cd "device sio6 at isa? port 0x2b0 tty flags 0x401 vector siointr"
-.Cd "device sio7 at isa? port 0x2b8 tty flags 0x401 vector siointr"
+.Cd "device sio4 at isa? port 0x2a0 tty flags 0x701"
+.Cd "device sio5 at isa? port 0x2a8 tty flags 0x701"
+.Cd "device sio6 at isa? port 0x2b0 tty flags 0x701"
+.Cd "device sio7 at isa? port 0x2b8 tty flags 0x701 irq 12 vector siointr"
.sp
-For bidirectional use of ports:
-.Cd "options" \&"COM_BIDIR\&"
+For Boca Board compatible multiport cards with 8 ports:
+.Cd "options" \&"COM_MULTIPORT\&"
+.Cd "device sio4 at isa? port 0x100 tty flags 0xb05"
+.Cd "..."
+.Cd "device sio11 at isa? port 0x138 tty flags 0xb05 irq 12 vector siointr"
.sp
-For control FIFO trigger:
-.Cd "options" \&"FIFO_TRIGGER=FIFO_TRIGGER_14\&"
+Meaning of \fBflags\fR:
+.br
+\fB0x0001\fR shared IRQs
+.br
+\fB0x0002\fR disable FIFO
+.br
+\fB0x0004\fR no AST/4 compatible IRQ control register
+.br
+\fB0x0080\fR enable diagnostics in probe
+.br
+\fB0x\fI??\fB00\fR minor number of master port
.sp
-Use 0x02 bit in flags field to disable FIFO on specified port.
+Minor numbering:
+.br
+0b\fIOLIMMMMM\fR
+.br
+ call\fBO\fRut
+.br
+ \fBL\fRock
+.br
+ \fBI\fRnitial
+.br
+ \fBMMMMMM\fRinor
.Sh DESCRIPTION
The
.Nm sio
@@ -73,117 +95,199 @@ driver provides support for NS8250-, NS16450-, NS16550 and NS16550A-based
.Pf ( Tn CCITT
.Tn V.24 )
communications interfaces. The NS8250 and NS16450 have single character
-buffers, the NS16550A has a 16 character FIFO buffer.
+buffers, the NS16550A has 16 character FIFO input and output buffers.
.Pp
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, 57600, or 115200. Your hardware may limit your baud
rate choices.
.Pp
-The driver supports `multiport' cards.
+The driver supports `multiport' cards.
Multiport cards are those that have one or more groups of ports
-that share a common IRQ and Interrupt Request register set per group.
-Frequently 4 ports share 1 IRQ, some 8 port cards have 2 groups of 4 ports,
+that share an Interrupt Request (IRQ) line per group.
+Shared IRQs on different cards are not supported.
+Frequently 4 ports share 1 IRQ; some 8 port cards have 2 groups of 4 ports,
thus using 2 IRQs.
Some cards allow the first 2 serial ports to have seperate IRQs per port
(as per DOS PC standard).
.sp
+Some cards have an IRQ control register for each group.
+Some cards require special initialization related to such registers.
+Only AST/4 compatible IRQ control registers are supported.
+Some cards have an IRQ status register for each group.
+The driver does not require or use such registers yet.
+To work, the control and status registers for a group, if any,
+must be mapped to the scratch register (register 7)
+of a port in the group.
+Such a port is called a
+.Nm master
+port.
+.sp
The
.Nm flags
-keyword specifies for each
+keyword may be used on each
.Nm device sio
-line in the kernel configuration file,
-whether the port is part of an IRQ sharing group, & if so,
-which port is the master device for
-the group (ie which port has the IRQ control registers).
-The master device is the port which
-has registers through which all interrupts of the port group are funneled.
-All ports of a port group report pending interrupts using this
-single register.
-.sp
-The master device is an integer embedded in the high byte of the
-.Nm flags
-bitfield, so all sio entries in the kernel config file that are part of a
-multiport card must include the correct
+line in the kernel configuration file
+to silence the probe
+or to disable the FIFO on 16550A UARTs
+(see the synopsis).
+Disabling the FIFO should rarely be necessary
+since the driver automatically adjusts the receiver
+FIFO trigger level for low latency and high efficiency.
+.sp
+The
.Nm flags
-specification.
-The bitwise assignment allows multiple port groups to
-be configured in one system. It does
+keyword
+.Nm must
+be used for all ports that are part of an IRQ sharing group.
+One bit specifies IRQ sharing; another bit specifies whether the port does
.Nm not
-imply that more than one port group (or card) can share
-the same physical interrupt line!
+require AST/4 compatible initialization.
+The minor number of the device corresponding a master port
+for the group is encoded as a bitfield in the high byte.
+The same master port must be specified for all ports in a group.
+.sp
+The
+.Nm irq
+and
+.Nm vector
+specifications must be given for master ports
+and for ports that are not part of an IRQ sharing group,
+and not for other ports.
.Pp
-In the synopsis the
-.Nm flags 0x401
-means that the 5th port (sio4) is the master
-device (so the MSB of the flags), and that the ports are part of a
-multiport card (the LSB of the flags, actually only the LS
-.Nm bit
-).
-F.e. if you have only two standard ports in addition to multiport
-card, this
-.Nm flags
-will be
-.Nm 0x201
-(assuming the control port is
-.Nm sio2
-).
+In the synopsis,
+.Nm flags 0x701
+means that the 8th port (sio7) is the master
+port, and that the port is on a multiport card with shared IRQs
+and an AST/4 compatible IRQ control register.
+.sp
+.Nm flags 0xb05
+means that the 12th port (sio11) is the master
+port, and that the port is on a multiport card with shared IRQs
+and no special IRQ control register.
.Pp
-Which port is the master device depends on the card type. Consult
-the hardware documentation of your card.
+Which port is the master port depends on the card type.
+Consult the hardware documentation of your card.
+Since IRQ status registers are never used,
+and IRQ control registers are only used for AST/4 compatible cards,
+and some cards map the control/status registers to all ports in a group,
+any port in a group will sometimes do for the master port.
+Choose a port containing an IRQ status register for forwards compatibility,
+and the highest possible port for consistency.
.Pp
-Serial ports controlled by the
+Serial ports controlled by the
.Nm sio
-driver can be used for both dialin and dialout. Use
-.Xr comcontrol 8
-to enable/disable bidirectional use of the
+driver can be used for both `callin' and `callout'.
+For each port there is a callin device and a callout device.
+The minor number of the callout device is 128 higher
+than that of the corresponding callin port.
+The callin device is general purpose.
+Processes opening it normally wait for carrier
+and for the callout device to become inactive.
+The callout device is used to steal the port from
+processes waiting for carrier on the callin device.
+Processes opening it do not wait for carrier
+and put any processes waiting for carrier on the callin device into
+a deeper sleep so that they do not conflict with the callout session.
+The callout device is abused for handling programs that are supposed
+to work on general ports and need to open the port without waiting
+but are too stupid to do so.
+.Pp
+The
.Nm sio
-ports. The minor number of the dialout
-port is 128 higher than that of the corresponding dialin port. Use
+driver also supports an initial-state and a lock-state control
+device for each of the callin and the callout "data" devices.
+The minor number of the initial-state device is 32 higher
+than that of the corresponding data device.
+The minor number of the lock-state device is 64 higher
+than that of the corresponding data device.
+The termios settings of a data device are copied
+from those of the corresponding initial-state device
+on first opens and are not inherited from previous opens.
+Use
.Xr stty 1
-to enable or disable modem control as required by your setup.
-.Pp
-While testing new cards & resolving card config DIP header &
-.Nm sio flags
-settings, to avoid coms. failure from lack of full modem DC level
-settings on ports,
-you are recommended to temporarily use syntax such as:
-.Nm stty -f /dev/tty03 clocal
-or open
-.Nm /dev/cua03
-if you have bidirectional mode active
-to force serial port to open without
-.Nm O_NONBLOCK
-flag.
+in the normal way on the initial-state devices to program
+initial termios states suitable for your setup.
+.sp
+The lock termios state acts as flags to disable changing
+the termios state. E.g., to lock a flag variable such as
+CRTSCTS, use
+.Nm stty crtscts
+on the lock-state device. Speeds and special characters
+may be locked by setting the corresponding value in the lock-state
+device to any nonzero value.
+.sp
+Correct programs talking to correctly wired external devices
+work with arbitrary initial states and almost no locking,
+but other setups may benefit from changing some of the default
+initial state and locking the state.
+E.g., CRTSCTS should be locked on for devices that support
+RTS/CTS handshaking at all times and off for devices that don't
+support it at all. CLOCAL should be locked on for devices
+that don't support carrier. HUPCL may be locked off if you don't
+want to hang up for reason. In general, very bad things happen
+if something is locked to the wrong state, and things should not
+be locked for devices that support more than one setting. The
+CLOCAL flag on callin ports should be locked off for logins
+to avoid certain security holes, but this needs to be done by
+getty if the callin port is used for anything else.
.Sh FILES
-.Bl -tag -width /dev/tty0? -compact
+.Bl -tag -width /dev/ttyi0? -compact
.It Pa /dev/tty0?
for hardwired terminals
+.It Pa /dev/ttyi0?
+.It Pa /dev/ttyl0?
+corresponding initial-state and lock-state devices
.El
+.sp
or
-.Bl -tag -width /dev/tty0? -compact
+.sp
+.Bl -tag -width /dev/ttyi0? -compact
.It Pa /dev/ttyd?
-for dialin ports (and dialout when bidirectional usage disabled)
+for callin ports
+.It Pa /dev/ttyid?
+.It Pa /dev/ttyld?
+corresponding callin initial-state and lock-state devices
+.sp
.It Pa /dev/cua0?
-for dialout ports when bidirectional usage enabled
+for callout ports
+.It Pa /dev/cuai0?
+.It Pa /dev/cual0?
+corresponding callout initial-state and lock-state devices
+.El
+.sp
+.Bl -tag -width /etc/rc.serial -compact
+.It Pa /etc/rc.serial
+examples of setting the initial-state and lock-state devices
.El
.Pp
-The devices numbers are made from the set [0-9a-z] so that more than
+The devices numbers are made from the set [0-9a-v] so that more than
10 ports can be supported.
/dev/tty0? and /dev/ttyd? are mutually exclusive, if you have
/dev/tty0? corresponding /dev/ttyd? must be removed and vice versa.
.Sh DIAGNOSTICS
.Bl -diag
.It sio%d: silo overflow.
-The single-character input
-.Dq silo
-has overflowed and incoming data has been lost.
-.\".It com%d: weird interrupt: %x.
-.\"The device has generated an unexpected interrupt
-.\"with the code listed.
+Problem in the interrupt handler.
+.El
+.Bl -diag
+.It sio%d: interrupt-level buffer overflow.
+Problem in the bottom half of the driver.
+.El
+.Bl -diag
+.It sio%d: tty-level buffer overflow.
+Problem in the application.
+.sp
+Input has arrived faster than the given module could process it
+and some has been lost.
+.sp
.El
+.Bl -diag
+.It sio%d: reduced fifo trigger level to %d.
+Attempting to avoid further silo overflows.
.Sh SEE ALSO
.Xr tty 4 ,
+.Xr termios 4 ,
.Xr comcontrol 8 ,
.Xr stty 1 .
.Sh HISTORY
@@ -195,12 +299,12 @@ driver is derived from the
driver and is
.Ud
.Sh BUGS
-Data loss is not near as likely on busy systems as they are with the
+Data loss is not nearly as likely on busy systems as it is with the
.Xr com 4
-driver but they still can occur at very high baud rates on slow systems. The
-use of NS16550A's helps lot to handle high baud rates.
+driver but it can still occur at very high baud rates on slow systems.
+The use of NS16550A's reduces system load and helps to avoid data loss.
.Pp
-Stay away from NS16550 (so without the trailing A). These are early
+Stay away from plain NS16550's. These are early
implementations of the chip with non-functional FIFO hardware.
.Pp
The constants which define the locations
@@ -208,12 +312,13 @@ of the various serial ports are holdovers from
.Nm DOS .
As shown, hex addresses can be and for clarity probably should be used instead.
.Pp
-As usual, you get what you pay for; cheap NS16550 clones generally don't work.
-.Pp
-The multiport example is based on an AST/4 card, your
-mileage may vary however. Note that on the AST/4 the card's dipswitches should
+Note that on the AST/4 the card's dipswitches should
.Nm not
-be set to use interrupt sharing. AST/4-like interrupt sharing is only used when
+be set to use interrupt sharing. AST/4-like interrupt sharing is only used when
.Nm multiple
-AST/4 cards are installed in the same system. The sio driver does not
+AST/4 cards are installed in the same system. The sio driver does not
support more than 1 AST/4 on one IRQ.
+.Pp
+Hardwired terminals should not have different device names.
+.Pp
+The examples in the synopsis are too vendor-specific.
diff --git a/share/man/man4/man4.i386/tw.4 b/share/man/man4/man4.i386/tw.4
new file mode 100644
index 000000000000..8c093e58ae53
--- /dev/null
+++ b/share/man/man4/man4.i386/tw.4
@@ -0,0 +1,111 @@
+.\" Copyright (c) 1992, 1993 Eugene W. Stark
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by Eugene W. Stark.
+.\" 4. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY EUGENE W. STARK (THE AUTHOR) ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Th XTEN 8 "30 Oct 1993"
+.Dd Oct 30, 1993
+.Dt TW 4
+.Os BSD FreeBSD
+.Sh NAME
+tw \- TW-523 X-10 device driver
+.Sh DESCRIPTION
+.Nm Tw
+is the driver for the TW-523 power line interface, for use with X-10 home
+control products. The X-10 protocol is compatible with a number of home
+control systems, including Radio Shack ``Plug 'n Power(tm)'' and
+Stanley ``Lightmaker(tm).''
+.Pp
+The driver supports
+.Fn read
+.Fn write
+and
+.Fn select
+system calls.
+The driver allows multiple processes to read and write simultaneously,
+but there is probably not much sense in having more than one reader or more
+than one writer at a time, and in fact there may currently be a race
+condition in the driver if two processes try to transmit simultaneously
+(due to unsynchronized access to the sc_pkt structure in tw_sc).
+.Pp
+Transmission is done by calling
+.Fn write
+to send three byte packets of data.
+The first byte contains a four bit house code (0=A to 15=P). The second byte
+contains a five bit unit/key code (0=unit 1 to 15=unit 16, 16=All Units Off
+to 31 = Status Request). The third byte specifies the number of times the
+packet is to be transmitted without any gaps between successive transmissions.
+Normally this is 2, as per the X-10 documentation, but sometimes (e.g. for
+bright and dim codes) it can be another value. Each call to
+.Fn write
+can specify
+an arbitrary number of data bytes, but at most one packet will actually be
+processed in any call. Any incomplete packet is buffered until a subsequent
+call to
+.Fn write
+provides data to complete it. Successive calls to
+.Fn write
+leave a three-cycle gap between transmissions, per the X-10 documentation.
+The driver transmits each bit only once per half cycle, not three times as
+the X-10 documentation states, because the TW523 only provides sync on
+each power line zero crossing. So, the driver will probably not work
+properly if you have three-phase service. Most residences use a two-wire
+system, for which the driver does work.
+.Pp
+Reception is done using
+.Fn read
+The driver produces a series of three
+character packets. In each packet, the first character consists of flags,
+the second character is a four bit house code (0-15), and the third character
+is a five bit key/function code (0-31). The flags are the following:
+.Bl -diag
+.It
+#define TW_RCV_LOCAL 1 /* The packet arrived during a local transmission */
+.It
+#define TW_RCV_ERROR 2 /* An invalid/corrupted packet was received */
+.El
+.Pp
+The
+.Fn select
+system call can be used in the usual way to determine if there
+is data ready for reading.
+.Sh SEE ALSO
+.Bl -diag
+.It
+.Xr xten 1
+.It
+.Xr xtend 8
+.It
+TW-523 documentation from X-10 Inc.
+.El
+.Sh FILES
+.Bl -tag -width /dev/tw
+.It Pa /dev/tw?
+the TW523 special file
+.El
+.Sh AUTHOR
+Eugene W. Stark (stark@cs.sunysb.edu)
diff --git a/share/man/man5/Makefile b/share/man/man5/Makefile
index 4fe2321078c6..7fa200021ba6 100644
--- a/share/man/man5/Makefile
+++ b/share/man/man5/Makefile
@@ -2,10 +2,10 @@
# Clean up and added pcfs, humm should pcfs be a subdir i386?
MAN5= a.out.5 acct.5 core.5 dir.5 disktab.5 \
- fs.5 fstab.5 group.5 hosts.5 networks.5 \
- passwd.5 pcfs.5 phones.5 printcap.5 \
+ fs.5 fstab.5 group.5 hosts.5 \
+ networks.5 passwd.5 pcfs.5 phones.5 printcap.5 \
protocols.5 remote.5 resolver.5 services.5 \
- shells.5 stab.5 types.5 utmp.5
+ shells.5 skey.access.5 stab.5 types.5 utmp.5
MLINKS= fs.5 inode.5 utmp.5 wtmp.5 utmp.5 lastlog.5
diff --git a/share/man/man5/pcfs.5 b/share/man/man5/pcfs.5
index 4fe6b861a08d..bf57205a1f0a 100644
--- a/share/man/man5/pcfs.5
+++ b/share/man/man5/pcfs.5
@@ -1,114 +1,268 @@
-PCFS quirks file
-
-PCFS filesystems on floppy disks only are supported in this release.
-And, only high density floppy disks are supported. This is because
-the floppy disk driver only supports high density disks.
-
+.\" Copyright 1994 Ollivier Robert (roberto@keltia.frmug.fr.net)
+.\" All rights reserved.
+.\"
+.\" Based on previous pcfs.5 found in FreeBSD.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY ME ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL I BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $Id: pcfs.5,v 1.2 1994/06/22 08:55:58 jkh Exp $
+.\""
+.Dd June 21, 1994
+.Dt PCFS 5
+.Os FreeBSD
+.Sh NAME
+.Nm pcfs
+.Nd MS-DOS[TM] compatible filesystem
+.Sh SYNOPSYS
+Add the following statements to your configuration file in /sys/i386/conf/BLOT.
+Or whatever you call your config file.
+.Bd -literal
+.Cd options PCFS
+.Ed
+.Pp
+PCFS consumes approximately 24000 bytes of kernel code space and
+approximately 4000 bytes of bss.
+.Pp
+.Sh DESCRIPTION
+.Pp
+The
+.Nm
+filesystem enables you to access of DOS floppy and hard
+disks with UN*X compatible semantics without having to resort to special
+utilities such as
+.Xr mdir 1
+and
+.Xr mcopy 1 .
+.Pp
+The
+.Nm
+filesystem should be considered as
+.Em experimental
+but it seems stable enough. We hope to integrate a better version in latter
+versions of FreeBSD.
+.Pp
+.Sh OPERATIONAL DETAILS
+.Em Floppy disks
+.Pp
+To mount a pcfs filesystem:
+.Bd -literal
+ mount -t pcfs /dev/fd0a /mnt
+.Ed
+.Pp
+To unmount a pcfs filesystem:
+.Bd -literal
+ umount /mnt
+.Ed
+.Pp
+If you want to be sure the fat is
+.Nm ALWAYS
+up to date, mount the filesystem with the synchronous option:
+.Bd -literal
+ mount -t pcfs -o synchronous /dev/fd0a /mnt
+.Ed
+.Pp
+This results in
+.Nm very slow
+file write performance because it turns off write behind of fst disk blocks.
+.Pp
+.Em Hard disks
+.Pp
+You must modify your current disk label (see
+.Xr disklabel 5 )
+to include a reference to your DOS partition.
+.Pp
+Assuming you'll use partition
+.Dq Pa h ,
+the last one, as your MS-DOS partition and that it is at the beginning of
+the disk, you'll end with an entry like that in
+.Em /etc/disktab
+:
+.Bd -literal
+#
+# Seagate ST-31200N
+#
+# a = / 12
+# b = swap 32
+# e = /usr/local 160
+# f = /usr 55
+# g = /spare 597
+# h = /root/dos 150
+#
+st31200n|Seagate ST31200N 1 GB SCSI-2F:\\
+ :dt=SCSI:ty=winchester:\\
+ :nc#1006:ns#32:nt#64:se#512:rm#6300:\\
+ :oa#307200:pa#24576:ta=4.2BSD:ba#8192:fa#1024:\\
+ :ob#331776:pb#65536:tb=swap:\\
+ :oe#397312:pe#327680:te=4.2BSD:be#8192:fe#1024:\\
+ :of#724992:pf#112640:tf=4.2BSD:bf#8192:ff#1024:\\
+ :og#837632:pg#1222656:tg=4.2BSD:bg#8192:fg#1024:\\
+ :oh#32:ph#307168:th=MSDOS:
+.Ed
+.Pp
+The DOS partition begins
+.Em 32
+sectors from the beginning of the disk (the first track of the first
+cylinder is reserved for the partition table and other data). The type of
+the partition (keyword
+.Em th
+) on the last line is set to MS-DOS.
+.Pp
+Run
+.Xr disklabel 8
+to install the new label.
+.Pp
+You must now decide whether you want to mount the partition at boot
+time. If not, you
+.Nm must
+run the following command as
+.Nm root
+when you want to access the partition:
+.Bd -literal
+ mount -t pcfs /dev/sd0h /dos
+.Ed
+.Pp
+(replace /dos by your favorite mount point).
+.Pp
+If you want to mount it at boot time, you must include a statement into
+your
+.Dq Pa /etc/fstab
+file (see
+.Xr fstab 5 )
+like that:
+.Bd -literal
+ /dev/sd0h /root/dos pcfs rw 0 0
+.Ed
+.Pp
+.Sh BUGS
+This is the first release and as such has performance problems.
+Reading large files is very slow because the read ahead code in pcfs_read()
+doesn't read far enough ahead for filesystems with small blocksizes.
+Performance and dos hard disk paritions are the next areas to be
+worked on. Unless someone else does it.
+.Pp
+.Em PCFS quirks
+.Pp
+PCFS filesystems on floppy and hard disks are supported in this
+release. You must add an entry in your disklabel for the DOS partition.
+.Pp
Created files use only the user permissions bits. And of these
only the write bit is meaningful. DOS files always have the
execute and read bits on.
-
+.Pp
PCFS does not turn on or off the DOS archive attribute bit.
-
+.Pp
The timestamp on dos files is updated when ever the file is modified.
There is no inode time or create time stamp.
-
+.Pp
The timestamp placed on a dos file does not have corrections for
daylight savings time included. It does have the correction for
timezone though.
-
+.Pp
Unix times before 1980 will have their year set to 1980 in dos file
-timestamps. This is because dos's idea of time starts in 1980.
-
+timestamps. This is because DOS's idea of time starts in 1980.
+.Pp
PCFS filesystems do not support sparse files. Any attempt to seek
past the end of a file results in the blocks being allocated and
cleared.
-
-When read() is used to examine pcfs directories you will get dos
+.Pp
+When
+.Xr read 2
+is used to examine pcfs directories you will get dos
directory contents. Note that the root directory does not contain
-a "." or ".." entry. Only the readdir() system call simulates these
-entries in the root directory of a dos filesystem. readdir() returns
-directory entries as described in getdirentries(2).
-
-Using read() and write() to manipulate the contents of dos directories
-is unwise on an active dos filesystem since a more up to date copy of
+a "." or ".." entry. Only the
+.Xr readdir 2
+system call simulates these entries in the root directory of a dos
+filesystem.
+.Xr readdir 2
+returns directory entries as described in
+.Xr getdirentries 2 .
+.Pp
+Using
+.Xr read 2
+and
+.Xr write 2
+to manipulate the contents of dos directories
+is unwise on an active DOS filesystem since a more up to date copy of
their contents may reside in data structures in the kernel. It is
probably safe to examine the filename field of dos directory entries.
The filesystem code keeps this up to date at all times.
-
+.Pp
The cluster allocation algorithm is very simplistic. It starts at
cluster 2 and searchs until the last cluster of the filesystem and
takes the first available cluster.
-
-The fsync() system call does not work on file descriptors open on
+.Pp
+The
+.Xr fsync 2
+system call does not work on file descriptors open on
directories. This isn't a terrible thing since very few programs
open directories for writing.
-
-The pcfs filesystem truncates filenames quietly. If a filename has
+.Pp
+The PCFS filesystem truncates filenames quietly. If a filename has
more than 8 characters before the 1st period only the 1st eigth are
used. It only uses the 1st three characters after the period if
-they exist. The filenames "abc" and "abc." are the same to pcfs.
-Filenames that begin with a "." are considered to be dos filenames
-with an extension only and so are limited to 3 characters after the
-leading ".". For example ".imlost" would be seen as ".iml" by pcfs.
-PCFS folds filenames to upper case before writing them to disk or
+they exist. The filenames
+.Dq Pa abc
+and
+.Dq Pa abc.
+are the same to PCFS. Filenames that begin with a "." are considered to be
+dos filenames with an extension only and so are limited to 3 characters
+after the leading ".". For example
+.Dq Pa .imlost
+would be seen as
+.Dq Pa .iml
+by PCFS. PCFS folds filenames to upper case before writing them to disk or
looking up filenames, and folds them to lower case when reading them
-from disk for presentation to the user (for example by readdir()).
-
+from disk for presentation to the user (for example by
+.Xr readdir 2 ).
+.Pp
Directory entries for the DOS filesystem label are quietly ignored.
-
+.Pp
This is probably going to be a problem. This implementation expects
the length of the root directory to be a multiple of the size of
a cluster. If this is not true a warning message is printed when
the filesystem is mounted.
-
+.Pp
PCFS supports DOS filesystems with 12 bit or 16 bit FATs. It supports
both regular and huge filesystems ( > 32 megabytes). It supports
both version 3.3 and 5.0 BPB's. Don't know about version 4.x and
less than 3.3. It has not been tested with 16 bit fats or huge
filesystems. This is because the hard disk drivers need to support
dos partitions to do these things.
-
+.Pp
PCFS does not support symbolic links or hard links. It does not
support quotas. How could it, pcfs files have no owners. PCFS
files have a simulated owner and group of 0. PCFS does not support
file locking. Though it may in the future. PCFS filesystems are
not remote mountable, but they will be in the future.
-
-This is the first release and as such has performance problems.
-Reading large files is very slow because the read ahead code in pcfs_read()
-doesn't read far enough ahead for filesystems with small blocksizes.
-Performance and dos hard disk paritions are the next areas to be
-worked on. Unless someone else does it.
-
-
-Operational Details
--------------------
-
-To mount a pcfs filesystem:
- mount -t pcfs /dev/fd0a /mnt
-
-To unmount a pcfs filesystem:
- umount /mnt
-
-If you want to be sure the fat is ALWAYS up to date, mount the
-filesystem with the synchronous option:
- mount -t pcfs -o synchronous /dev/fd0a /mnt
-This reasults in very slow file write performance because it turns
-off write behind of fst disk blocks.
-
-
-Configuring PCFS into your kernel
----------------------------------
-
-Add the following statements to your configuration file in /sys/i386/conf/BLOT.
-Or whatever you call your config file.
-
- options PCFS
-
-PCFS consumes approximately 24000 bytes of kernel code space and
-approximately 4000 bytes of bss.
-
+.Pp
PCFS has some debug printf's that can be turned on by defining PCFSDEBUG.
It produces lots of output. If you use it be sure to kill syslogd before
using a PCFS filesystem with debug.
+.Sh SEE ALSO
+.Xr disklabel 5 ,
+.Xr disklabel 8 ,
+.Xr fstab 5 ,
+.Xr mount 8 .
+.Sh HISTORY
+A
+.Nm
+filesystem first appeared in 386BSD 0.1, patchkit 0.2.3.
diff --git a/share/man/man5/skey.access.5 b/share/man/man5/skey.access.5
new file mode 100644
index 000000000000..08924376da12
--- /dev/null
+++ b/share/man/man5/skey.access.5
@@ -0,0 +1,34 @@
+.\" this is comment
+.Dd April 30, 1994
+.Dt SKEY.ACCESS 5
+.Os FreeBSD 1.2
+.Sh NAME
+.Nm skey.access
+.Nd List of S/Key obligated host adresses
+.Sh DESCRIPTION
+The
+.Nm skey.access
+file contains a number of lines specifying host IP adresses
+for which the use of S/Key passwords is obligated.
+.Pp
+The first word of each line says if UNIX passwords are
+to be permitted or denied. When denied, only S/Key passwords
+are allowed.
+The remainder of the rule is a networknumber and mask. A rule matches a
+host if any of its addresses satisfies:
+ network = (address & mask)
+.Sh FILES
+.Bl -tag -width /etc/skey.access -compact
+.It Pa /etc/skey.access
+The
+.Nm skey.access
+file resides in
+.Pa /etc .
+.El
+.Sh SEE ALSO
+.Xr skey 1 ,
+.Xr keyinit 1 ,
+.Xr key 1 ,
+.Xr keyinfo 1
+.Sh AUTHOR
+Guido van Rooij
diff --git a/share/man/man7/mdoc.7 b/share/man/man7/mdoc.7
new file mode 100644
index 000000000000..44028651237e
--- /dev/null
+++ b/share/man/man7/mdoc.7
@@ -0,0 +1,409 @@
+.\" Copyright (c) 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mdoc.7 5.1 (Berkeley) 2/19/92
+.\"
+.Dd February 19, 1992
+.Os
+.Dt MDOC 7
+.Sh NAME
+.Nm mdoc
+.Nd quick reference guide for the
+.Nm \-mdoc
+macro package
+.Sh SYNOPSIS
+.Nm groff
+.Fl m Ns Ar doc
+.Ar files ...
+.Sh DESCRIPTION
+The
+.Nm \-mdoc
+package is a set of content-based and domain-based macros
+used to format the
+.Bx
+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
+.Xr mdoc.samples 7 .
+.Pp
+The macros are described in two groups, the first
+includes the structural and physical page layout macros.
+The second contains the manual and general text domain
+macros which differentiate the
+.Nm -\mdoc
+package from other
+.Xr troff
+formatting packages.
+.Sh PAGE STRUCTURE DOMAIN
+.Ss Title Macros
+To create a valid manual page, these three macros, in this order,
+are required:
+.Bl -tag -width "xxxx.Os OPERATINGxSYSTEM [version/release]" -compact
+.It Li "\&.Dd " Ar "Month day, year"
+Document date.
+.It Li "\&.Dt " Ar "DOCUMENT_TITLE [section] [volume]"
+Title, in upper case.
+.It Li "\&.Os " Ar "OPERATING_SYSTEM [version/release]"
+Operating system
+.Pq Tn BSD .
+.El
+.Ss Page Layout Macros
+Section headers, paragraph breaks, lists and displays.
+.Bl -tag -width flag -compact
+.It Li \&.Sh
+Section Headers.
+Valid headers, in the order of presentation:
+.Bl -tag -width "RETURN VALUES" -compact
+.It Ar NAME
+Name section, should include the
+.Ql \&.Nm
+or
+.Ql \&.Fn
+and the
+.Ql \&.Nd
+macros.
+.It Ar SYNOPSIS
+Usage.
+.It Ar DESCRIPTION
+General description, should include
+options and parameters.
+.It Ar RETURN VALUES
+Sections two and three function calls.
+.It Ar ENVIRONMENT
+Describe environment variables.
+.It Ar FILES
+Files associated with the subject.
+.It Ar EXAMPLES
+Examples and suggestions.
+.It Ar DIAGNOSTICS
+Normally used for section four device interface diagnostics.
+.It Ar ERRORS
+Sections two and three error and signal
+handling.
+.It Ar SEE ALSO
+Cross references and citations.
+.It Ar STANDARDS
+Conformance to standards if applicable.
+.It Ar HISTORY
+If a standard is not applicable, the history
+of the subject should be given.
+.It Ar BUGS
+Gotchas and caveats.
+.It Ar other
+Customized headers may be added at
+the authors discretion.
+.El
+.It Li \&.Ss
+Subsection Headers.
+.It Li \&.Pp
+Paragraph Break.
+Vertical space (one line).
+.It Li \&.D1
+(D-one) Display-one
+Indent and display one text line.
+.It Li \&.Dl
+(D-ell) Display-one literal.
+Indent and display one line of literal text.
+.It Li \&.Bd
+Begin-display block.
+Display options:
+.Bl -tag -width "xoffset string " -compact
+.It Fl ragged
+Unjustified (ragged edges).
+.It Fl filled
+Justified.
+.It Fl literal
+Literal text or code.
+.It Fl file Ar name
+Read in named
+.Ar file
+and display.
+.It Fl offset Ar string
+Offset display.
+Acceptable
+.Ar string
+values:
+.Bl -tag -width indent-two -compact
+.It Ar left
+Align block on left (default).
+.It Ar center
+Approximate center margin.
+.It Ar indent
+Six constant width spaces (a tab).
+.It Ar indent-two
+Two tabs.
+.It Ar right
+Left aligns block 2 inches from
+right.
+.It Ar xx Ns Cm n
+Where
+.Ar xx
+is a number from
+.No \&4 Ns Cm n
+to
+.No \&9\&9 Ns Cm n .
+.It Ar Aa
+Where
+.Ar Aa
+is a callable macro name.
+.It Ar string
+The width of
+.Ar string
+is used.
+.El
+.El
+.It Li \&.Ed
+End-display (matches \&.Bd).
+.It Li \&.Bl
+Begin-list.
+Create lists or columns. Options:
+.Bl -tag -width flag -compact
+.It Ar List-types
+.Bl -column xbullet -compact
+.It Fl bullet Ta "Bullet Item List"
+.It Fl item Ta "Unlabeled List"
+.It Fl enum Ta "Enumerated List"
+.It Fl tag Ta "Tag Labeled List"
+.It Fl diag Ta "Diagnostic List"
+.It Fl hang Ta "Hanging Labeled List"
+.It Fl ohang Ta "Overhanging Labeled List"
+.It Fl inset Ta "Inset or Run-on Labeled List"
+.El
+.It List-parameters
+.Bl -tag -width "xcompact " -compact
+.It Fl offset
+(All lists.) See
+.Ql \&.Bd
+begin-display above.
+.It Fl width
+.Pf ( Fl tag
+and
+.Fl hang
+lists only.)
+See
+.Ql \&.Bd .
+.It Fl compact
+(All lists.)
+Suppresses blank lines.
+.El
+.El
+.It Li \&.El
+End-list.
+.It Li \&.It
+List item.
+.El
+.Sh MANUAL AND GENERAL TEXT DOMAIN MACROS
+The manual and general text domain macros are special in that
+most of them are parsed for callable macros
+for example:
+.Bl -tag -width ".Op Fl s Ar filex" -offset indent
+.It Li "\&.Op Fl s Ar file"
+Produces
+.Op Fl s Ar file
+.El
+.Pp
+In this example, the option enclosure macro
+.Ql \&.Op
+is parsed, and calls the callable content macro
+.Ql \&Fl
+which operates on the argument
+.Ql s
+and then calls the callable content macro
+.Ql \&Ar
+which operates on the argument
+.Ql file .
+Some macros may be callable, but are not parsed and vice versa.
+These macros are indicated in the
+.Em parsed
+and
+.Em callable
+columns below.
+.Pp
+Unless stated, manual domain macros share a common syntax:
+.Pp
+.Dl \&.Va argument [\ .\ ,\ ;\ :\ (\ )\ [\ ]\ argument \...\ ]
+.Pp
+.Sy Note :
+Opening and closing
+punctuation characters are only recognized as such if they are presented
+one at a time.
+The string
+.Ql "),"
+is not recognized as punctuation and will be output with a leading white
+space and in what ever font the calling macro uses.
+The
+the argument list
+.Ql "] ) ,"
+is recognized as three sequential closing punctuation characters
+and a leading white space is not output between the characters
+and the previous argument (if any).
+The special meaning of a punctuation character may be escaped
+with the string
+.Ql \e& .
+For example the following string,
+.Bl -tag -width "&.Ar file1\ , file2\ , file3\ )\ ." -offset indent
+.It Li "\&.Ar file1\ , file2\ , file3\ )\ ."
+Produces
+.Ar file1 , file2 , file3 ) .
+.El
+.ne 5
+.Ss Manual Domain Macros
+.Bl -column "Name" "Parsed" Callable" -compact
+.It Em Name Parsed Callable Description
+.It Li \&Ad Ta Yes Ta Yes Ta Address. "(This macro may be deprecated.)"
+.It Li \&Ar Ta Yes Ta Yes Ta "Command line argument."
+.It Li \&Cd Ta \&No Ta \&No Ta "Configuration declaration (section four only)."
+.It Li \&Cm Ta Yes Ta Yes Ta "Command line argument modifier."
+.It Li \&Dv Ta Yes Ta Yes Ta "Defined variable (source code)."
+.It Li \&Er Ta Yes Ta Yes Ta "Error number (source code)."
+.It Li \&Ev Ta Yes Ta Yes Ta "Environment variable."
+.It Li \&Fa Ta Yes Ta Yes Ta "Function argument."
+.It Li \&Fd Ta Yes Ta Yes Ta "Function declaration."
+.It Li \&Fn Ta Yes Ta Yes Ta "Function call (also .Fo and .Fc)."
+.It Li \&Ic Ta Yes Ta Yes Ta "Interactive command."
+.It Li \&Li Ta Yes Ta Yes Ta "Literal text."
+.It Li \&Nm Ta Yes Ta Yes Ta "Command name."
+.It Li \&Op Ta Yes Ta Yes Ta "Option (also .Oo and .Oc)."
+.It Li \&Ot Ta Yes Ta Yes Ta "Old style function type (Fortran only)."
+.It Li \&Pa Ta Yes Ta Yes Ta "Pathname or file name."
+.It Li \&St Ta Yes Ta Yes Ta "Standards (-p1003.2, -p1003.1 or -ansiC)"
+.It Li \&Va Ta Yes Ta Yes Ta "Variable name."
+.It Li \&Vt Ta Yes Ta Yes Ta "Variable type (Fortran only)."
+.It Li \&Xr Ta Yes Ta Yes Ta "Manual Page Cross Reference."
+.El
+.Ss General Text Domain Macros
+.Bl -column "Name" "Parsed" Callable" -compact
+.It Em "Name Parsed Callable Description"
+.It Li \&%A Ta Yes Ta \&No Ta "Reference author."
+.It Li \&%B Ta Yes Ta Yes Ta "Reference book title."
+.It Li \&%\&C Ta \&No Ta \&No Ta "Reference place of publishing (city)."
+.It Li \&%\&D Ta \&No Ta \&No Ta "Reference date."
+.It Li \&%J Ta Yes Ta Yes Ta "Reference journal title."
+.It Li \&%N Ta \&No Ta \&No Ta "Reference issue number."
+.It Li \&%\&O Ta \&No Ta \&No Ta "Reference optional information."
+.It Li \&%P Ta \&No Ta \&No Ta "Reference page number(s)."
+.It Li \&%R Ta \&No Ta \&No Ta "Reference report Name."
+.It Li \&%T Ta Yes Ta Yes Ta "Reference article title."
+.It Li \&%V Ta \&No Ta \&No Ta "Reference volume."
+.It Li \&Ac Ta Yes Ta Yes Ta "Angle close quote."
+.It Li \&Ao Ta Yes Ta Yes Ta "Angle open quote."
+.It Li \&Aq Ta Yes Ta Yes Ta "Angle quote."
+.It Li \&At Ta \&No Ta \&No Ta Tn "AT&T UNIX"
+.It Li \&Bc Ta Yes Ta Yes Ta "Bracket close quote."
+.It Li \&Bf Ta \&No Ta \&No Ta "Begin font mode."
+.It Li \&Bo Ta Yes Ta Yes Ta "Bracket open quote."
+.It Li \&Bq Ta Yes Ta Yes Ta "Bracket quote."
+.It Li \&Bx Ta Yes Ta Yes Ta Bx .
+.It Li \&Db Ta \&No Ta \&No Ta "Debug (default is \\*qoff\\*q)"
+.It Li \&Dc Ta Yes Ta Yes Ta "Double close quote."
+.It Li \&Do Ta Yes Ta Yes Ta "Double open quote."
+.It Li \&Dq Ta Yes Ta Yes Ta "Double quote."
+.It Li \&Ec Ta Yes Ta Yes Ta "Enclose string close quote."
+.It Li \&Ef Ta \&No Ta \&No Ta "End font mode."
+.It Li \&Em Ta Yes Ta Yes Ta "Emphasis (traditional English)."
+.It Li \&Eo Ta Yes Ta Yes Ta "Enclose string open quote."
+.It Li \&No Ta Yes Ta Yes Ta "Normal text (no-op)."
+.It Li \&Ns Ta Yes Ta Yes Ta "No space."
+.It Li \&Pc Ta Yes Ta Yes Ta "Parenthesis close quote."
+.It Li \&Pf Ta Yes Ta \&No Ta "Prefix string."
+.It Li \&Po Ta Yes Ta Yes Ta "Parenthesis open quote."
+.It Li \&Pq Ta Yes Ta Yes Ta "Parentheses quote."
+.It Li \&Qc Ta Yes Ta Yes Ta "Strait Double close quote."
+.It Li \&Ql Ta Yes Ta Yes Ta "Quoted literal."
+.It Li \&Qo Ta Yes Ta Yes Ta "Strait Double open quote."
+.It Li \&Qq Ta Yes Ta Yes Ta "Strait Double quote."
+.It Li \&Re Ta \&No Ta \&No Ta "Reference start."
+.It Li \&Rs Ta \&No Ta \&No Ta "Reference start."
+.It Li \&Sc Ta Yes Ta Yes Ta "Single close quote."
+.It Li \&So Ta Yes Ta Yes Ta "Single open quote."
+.It Li \&Sq Ta Yes Ta Yes Ta "Single quote."
+.It Li \&Sm Ta \&No Ta \&No Ta "Space mode (default is \\*qon\\*q)"
+.It Li \&Sx Ta Yes Ta Yes Ta "Section Cross Reference."
+.It Li \&Sy Ta Yes Ta Yes Ta "Symbolic (traditional English)."
+.It Li \&Tn Ta Yes Ta Yes Ta "Trade or type name (small Caps)."
+.It Li \&Ux Ta Yes Ta Yes Ta Ux
+.It Li \&Xc Ta Yes Ta Yes Ta "Extend argument list close."
+.It Li \&Xo Ta Yes Ta Yes Ta "Extend argument list close."
+.El
+.\" .It Sy \&Hf Ta \&No Ta \&No Ta "Include file with header"
+.Pp
+Macro names ending in
+.Ql q
+quote remaining items on the argument list.
+Macro names ending in
+.Ql o
+begin a quote which may span more than one line of input and
+are close quoted with the matching macro name ending in
+.Ql c .
+Enclosure macros may be nested and are limited to
+eight arguments.
+.Pp
+Note: the extended argument list macros
+.Pf ( Ql \&.Xo ,
+.Ql \&.Xc )
+and the function enclosure macros
+.Pf ( Ql \&.Fo ,
+.Ql \&.Fc )
+are irregular.
+The extended list macros are used when the number of macro arguments
+would exceed the
+.Xr troff
+limitation of nine arguments.
+.Sh CONFIGURATION
+For site specific configuration of the macro package,
+see the file
+.Pa /usr/src/share/tmac/README .
+.Sh FILES
+.Bl -tag -width "tmac.doc-ditroff" -compact
+.It Pa tmac.doc
+Manual and general text domain macros.
+.It Pa tmac.doc-common
+Common structural macros and definitions.
+.It Pa tmac.doc-nroff
+Site dependent
+.Xr nroff
+style file.
+.It Pa tmac.doc-ditroff
+Site dependent
+.Xr troff
+style file.
+.It Pa tmac.doc-syms
+Special defines (such as the standards macro).
+.El
+.Sh SEE ALSO
+.Xr mdoc.samples 7
+.Sh HISTORY
+The
+.Nm \-mdoc
+macro package is
+.Ud .
diff --git a/share/man/man8/adduser.8 b/share/man/man8/adduser.8
index f6dde2d200b4..519c65df3e6d 100644
--- a/share/man/man8/adduser.8
+++ b/share/man/man8/adduser.8
@@ -38,6 +38,9 @@
.Nm adduser
.Nd procedure for adding new users
.Sh DESCRIPTION
+This is a proceduce for adding now users, not a command. Read the
+descriptions below and follow the steps.
+.Pp
A new user must choose a login name, which must not already appear in
.Pa /etc/passwd
or
@@ -66,13 +69,24 @@ A skeletal account for a new user
\*(lqernie\*(rq
might look like:
.Bd -literal
-ernie::25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925,
+ernie:*:25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925,
642-8202:/a/users/ernie:/bin/csh
.Ed
.Pp
For a description of each of these fields, see
.Xr passwd 5 .
.Pp
+Use the
+.Xr passwd 1
+command to give the user an initial password. You can type
+.Bd -literal
+passwd ernie
+.Ed
+.Pp
+as root to give ernie a password. Remember, the password field (the *
+in the above example) holds the encrypted password, so
+writing the password there in plain text will not work.
+.Pp
It is useful to give new users some help in getting started, supplying
them with a few skeletal files such as
.Pa \&.profile