.PP are redundant just after .SH or .SS.
Remove them.
$ find man? -type f \
|xargs sed -i '/^\.S[HS]/{n;/\.PP/d}';
Plus a couple manual edits.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
.\" .BR STAILQ_REMOVE (),
.\" this macro does not traverse the entire tail queue.
.SS Other features
-.PP
.BR STAILQ_CONCAT ()
concatenates the tail queue headed by
.I head2
onto the end of the one headed by
.I head1
removing all entries from the former.
+.\" .PP
.\" .BR STAILQ_SWAP ()
.\" swaps the contents of
.\" .I head1
.I elm
from the queue.
.SS Other features
-.\" .PP
.\" .BR TAILQ_SWAP ()
.\" swaps the contents of
.\" .I head1
.\" and
.\" .IR head2 .
+.\" .PP
.BR TAILQ_CONCAT ()
concatenates the queue headed by
.I head2
.SH NAME
lirc \- lirc devices
.SH DESCRIPTION
-.PP
The
.I /dev/lirc*
character devices provide a low-level
features.
.\"
.SS Reading input with the LIRC_MODE_MODE2 mode
-.PP
In the \fBLIRC_MODE_MODE2 mode\fR, the data returned by
.BR read (2)
provides 32-bit values representing a space or a pulse duration.
ioctl.
.\"
.SS Reading input with the LIRC_MODE_SCANCODE mode
-.PP
In the \fBLIRC_MODE_SCANCODE\fR
mode, the data returned by
.BR read (2)
This field has one the values of the \fIenum rc_proto\fR.
.\"
.SS Writing output with the LIRC_MODE_PULSE mode
-.PP
The data written to the character device using
.BR write (2)
is a pulse/space sequence of integer values.
call fails with the error
.BR EINVAL .
.SS Writing output with the LIRC_MODE_SCANCODE mode
-.PP
The data written to the character devices must be a single struct
\fIlirc_scancode\fR.
The \fIscancode\fR and \fIrc_proto\fR fields must
.B lirc
device cannot transmit.
.SH IOCTL COMMANDS
-.PP
The LIRC device's ioctl definition is bound by the ioctl function
definition of
.IR "struct file_operations" ,
.IR val .
.\"
.SS Always Supported Commands
-.PP
\fI/dev/lirc*\fR devices always support the following commands:
.TP 4
.BR LIRC_GET_FEATURES " (\fIvoid\fP)"
device.
.\"
.SS Optional Commands
-.PP
Some
.B lirc
devices support the commands listed below.
will do nothing.
.\"
.SH FEATURES
-.PP
the
.BR LIRC_GET_FEATURES
ioctl returns a bit mask describing features of the driver.
The definitions below are from
.IR /usr/include/linux/mtio.h :
.SS MTIOCTOP \(em perform a tape operation
-.PP
This request takes an argument of type
.IR "(struct mtop\ *)" .
Not all drives support all operations.
If the pattern is nonzero, the pattern must match
the masked sense data byte.
.SS MTIOCGET \(em get status
-.PP
This request takes an argument of type
.IR "(struct mtget\ *)" .
.PP
or
.BR MTSEEK ).
.SS MTIOCPOS \(em get tape position
-.PP
This request takes an argument of type
.I "(struct mtpos\ *)"
and reports the drive's notion of the current tape block number,
.br
.I /var/log/wtmp
.SH CONFORMING TO
-.PP
POSIX.1 does not specify a
.I utmp
structure, but rather one named
.\" informative messages such as \fB"new time"\fP in the line field.
System V has no \fIut_host\fP or \fIut_addr_v6\fP fields.
.SH NOTES
-.PP
Unlike various other
systems, where utmp logging can be disabled by removing the file, utmp
must always exist on Linux.
.SH NAME
boot \- System bootup process based on UNIX System V Release 4
.SH DESCRIPTION
-.PP
The \fBbootup process\fR (or "\fBboot sequence\fR") varies in details
among systems, but can be roughly divided into phases controlled by
the following components:
file (that is, it "\fBsources\fR" its configuration file) and then uses
the variable values.
.SH FILES
-.PP
.IR /etc/init.d/ ,
.IR /etc/rc[S0\-6].d/ ,
.I /etc/sysconfig/
.BR inotify (7)).
.\"
.SS Modifying process user and group IDs
-.PP
Subject to rules described in the relevant manual pages,
a process can use the following APIs to modify its user and group IDs:
.TP
.B #include <linux/futex.h>
.fi
.SH DESCRIPTION
-.PP
The Linux kernel provides futexes ("Fast user-space mutexes")
as a building block for fast user-space
locking and semaphores.
via shared memory segments, or because they share memory space,
in which case the application is commonly called multithreaded.
.SS Semantics
-.PP
Any futex operation starts in user space,
but it may be necessary to communicate with the kernel using the
.BR futex (2)
more details.
The same holds for asynchronous futex waiting.
.SH VERSIONS
-.PP
Initial futex support was merged in Linux 2.5.7
but with different semantics from those described above.
Current semantics are available from Linux 2.5.40 onward.
.SH NOTES
-.PP
To reiterate, bare futexes are not intended as an easy-to-use
abstraction for end users.
Implementors are expected to be assembly literate and to have read
.PP
"John Q. Doe" <john.doe@monet.example.com>
.SS Abbreviation
-.PP
Some mail systems let users abbreviate the domain name.
For instance,
users at example.com may get away with "john.doe@monet" to
.I "This behavior is deprecated."
Sometimes it works, but you should not depend on it.
.SS Route-addrs
-.PP
In the past, sometimes one had to route a message through
several hosts to get it to its final destination.
Addresses which show these relays are termed "route-addrs".
It is generally possible to ignore all but the "user@hostc"
part of the address to determine the actual address.
.SS Postmaster
-.PP
Every site is required to have a user or user alias designated
"postmaster" to which problems with the mail system may be
addressed.
};
.fi
.SH DESCRIPTION
-.PP
The
.I sigevent
structure is used by various APIs
.I timens_offsets
file are inherited from the time namespace of the creating process.
.SH NOTES
-.PP
Use of time namespaces requires a kernel that is configured with the
.B CONFIG_TIME_NS
option.
the monotonic and boot-time clocks to maintain consistent values
during container migration and checkpoint/restore.
.SH EXAMPLES
-.PP
The following shell session demonstrates the operation of time namespaces.
We begin by displaying the inode number of the time namespace
of a shell in the initial time namespace:
relative_path = relative_segment [ absolute_path ]
.fi
.SH DESCRIPTION
-.PP
A Uniform Resource Identifier (URI) is a short string of characters
identifying an abstract or physical resource (for example, a web page).
A Uniform Resource Locator (URL) is a URI
URNs are not widely implemented.
Not all tools support all schemes.
.SS Character encoding
-.PP
URIs use a limited number of characters so that they can be
typed in and used in a variety of situations.
.PP
Don't use abbreviated URIs as hypertext links inside a document;
use the standard format as described here.
.SH CONFORMING TO
-.PP
.UR http://www.ietf.org\:/rfc\:/rfc2396.txt
(IETF RFC\ 2396)
.UE ,
version of this man page will describe the converged result.
Efforts to aid this convergence are encouraged.
.SS Security
-.PP
A URI does not in itself pose a security threat.
There is no general guarantee that a URL, which at one time
located a given resource, will continue to do so.
the "userinfo" component of a URI is strongly recommended against except
in those rare cases where the "password" parameter is intended to be public.
.SH BUGS
-.PP
Documentation may be placed in a variety of locations, so there
currently isn't a good URI scheme for general online documentation
in arbitrary formats.