diff --git a/man5/dir_colors.5 b/man5/dir_colors.5 index f3668b1ba..f3039f714 100644 --- a/man5/dir_colors.5 +++ b/man5/dir_colors.5 @@ -268,7 +268,7 @@ l l. 47 for white (or gray) background .TE .RE -.sp +.PP Not all commands will work on all systems or display devices. .PP .B ls @@ -287,7 +287,7 @@ BLK 44;37 Block device CHR 44;37 Character device EXEC 35 Executable file .TE -.sp +.PP A few terminal programs do not recognize the default properly. If all text gets colorized after you do a directory @@ -370,7 +370,7 @@ lb l. \e# Hash mark (#) .TE .RE -.sp +.PP Note that escapes are necessary to enter a space, backslash, caret, or any control character anywhere in the string, as well as a hash mark as the first character. @@ -399,7 +399,7 @@ LEFTCODE \ee[ RIGHTCODE m .TE .RE -.sp +.PP The default .B ENDCODE is undefined. diff --git a/man7/feature_test_macros.7 b/man7/feature_test_macros.7 index 792c366e6..bcc66f014 100644 --- a/man7/feature_test_macros.7 +++ b/man7/feature_test_macros.7 @@ -59,19 +59,19 @@ the manual page SYNOPSIS typically includes a note of the following form (this example from the .BR acct (2) manual page): +.PP .RS 8 -.sp .B #include -.sp +.PP .BI "int acct(const char *" filename ); -.sp +.PP .nf .in -4n Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .fi .in -.sp +.PP .BR acct (): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\ <\ 500) .RE @@ -112,12 +112,12 @@ SYNOPSIS. In a few cases, manual pages use a shorthand for expressing the feature test macro requirements (this example from .BR readahead (2)): +.PP .RS .nf - .B #define _GNU_SOURCE .B #include -.sp +.PP .BI "ssize_t readahead(int " fd ", off64_t *" offset ", size_t " count ); .fi .RE diff --git a/man7/glob.7 b/man7/glob.7 index 7d6790984..4ea43670c 100644 --- a/man7/glob.7 +++ b/man7/glob.7 @@ -51,7 +51,7 @@ A \(aq*\(aq (not between brackets) matches any string, including the empty string. .PP .B "Character classes" -.sp +.PP An expression "\fI[...]\fP" where the first character after the leading \(aq[\(aq is not an \(aq!\(aq matches a single character, namely any of the characters enclosed by the brackets. @@ -62,7 +62,7 @@ that it is the first character. three characters \(aq[\(aq, \(aq]\(aq and \(aq!\(aq.) .PP .B Ranges -.sp +.PP There is one special convention: two characters separated by \(aq\-\(aq denote a range. (Thus, "\fI[A\-Fa\-f0\-9]\fP" @@ -75,7 +75,7 @@ three characters \(aq\-\(aq, \(aq.\(aq, \(aq0\(aq, since \(aq/\(aq cannot be matched.) .PP .B Complementation -.sp +.PP An expression "\fI[!...]\fP" matches a single character, namely any character that is not matched by the expression obtained by removing the first \(aq!\(aq from it. diff --git a/man7/ip.7 b/man7/ip.7 index 1acbc6d74..fdb057a15 100644 --- a/man7/ip.7 +++ b/man7/ip.7 @@ -256,9 +256,9 @@ Join a multicast group. Argument is an .I ip_mreqn structure. -.sp +.PP .in +4n -.nf +.EX struct ip_mreqn { struct in_addr imr_multiaddr; /* IP multicast group address */ @@ -266,9 +266,9 @@ struct ip_mreqn { interface */ int imr_ifindex; /* interface index */ }; -.fi +.EE .in -.sp +.PP .I imr_multiaddr contains the address of the multicast group the application wants to join or leave. @@ -316,7 +316,7 @@ Argument is an structure. .sp .in +4n -.nf +.EX struct ip_mreq_source { struct in_addr imr_multiaddr; /* IP multicast group address */ @@ -325,7 +325,7 @@ struct ip_mreq_source { struct in_addr imr_sourceaddr; /* IP address of multicast source */ }; -.fi +.EE .in .sp The @@ -430,7 +430,7 @@ Argument is an structure. .sp .in +4n -.nf +.EX struct ip_msfilter { struct in_addr imsf_multiaddr; /* IP multicast group address */ @@ -443,7 +443,7 @@ struct ip_msfilter { struct in_addr imsf_slist[1]; /* Array of source addresses */ }; -.fi +.EE .in .sp There are two macros, diff --git a/man7/ipv6.7 b/man7/ipv6.7 index 696569603..0e8fa951a 100644 --- a/man7/ipv6.7 +++ b/man7/ipv6.7 @@ -141,7 +141,7 @@ or packet to a IPv6 socket, its source address will be mapped to v6 and it will be mapped to v6. .SS Address format .in +4n -.nf +.EX struct sockaddr_in6 { sa_family_t sin6_family; /* AF_INET6 */ in_port_t sin6_port; /* port number */ @@ -153,7 +153,7 @@ struct sockaddr_in6 { struct in6_addr { unsigned char s6_addr[16]; /* IPv6 address */ }; -.fi +.EE .in .sp .I sin6_family diff --git a/man7/man-pages.7 b/man7/man-pages.7 index 696a52254..3d50fdf12 100644 --- a/man7/man-pages.7 +++ b/man7/man-pages.7 @@ -110,12 +110,12 @@ which often operate at the level of individual sentences. The first command in a man page should be a .B TH command: +.PP .RS -.sp .B \&.TH .I "title section date source manual" -.sp .RE +.PP where: .RS .TP 10 diff --git a/man7/man.7 b/man7/man.7 index 5eaa7d457..a76c8803b 100644 --- a/man7/man.7 +++ b/man7/man.7 @@ -78,12 +78,12 @@ for the Linux \fIman-pages\fP package, see .SS Title line The first command in a man page (after comment lines, that is, lines that start with \fB.\\"\fP) should be +.PP .RS -.sp .B \&.TH .I "title section date source manual" -.sp .RE +.PP For details of the arguments that should be supplied to the .B TH command, see @@ -106,13 +106,13 @@ followed by the heading name. .PP The only mandatory heading is NAME, which should be the first section and be followed on the next line by a one-line description of the program: +.PP .RS -.sp \&.SH NAME .br item \\- description -.sp .RE +.PP It is extremely important that this format is followed, and that there is a backslash before the single dash which follows the item name. This syntax is used by the diff --git a/man7/netdevice.7 b/man7/netdevice.7 index eff29a43e..af747aebd 100644 --- a/man7/netdevice.7 +++ b/man7/netdevice.7 @@ -34,7 +34,7 @@ Most of them pass an structure: .PP .in +4n -.nf +.EX struct ifreq { char ifr_name[IFNAMSIZ]; /* Interface name */ union { @@ -53,7 +53,7 @@ struct ifreq { char *ifr_data; }; }; -.fi +.EE .in .PP Normally, the user specifies which device to affect by setting @@ -364,11 +364,11 @@ macro in Add the following to your program as a workaround: .sp .in +4n -.nf +.EX #ifndef ifr_newname #define ifr_newname ifr_ifru.ifru_slave #endif -.fi +.EE .in .SH SEE ALSO .BR proc (5), diff --git a/man7/rtnetlink.7 b/man7/rtnetlink.7 index 3ff9a3899..bfdab2d58 100644 --- a/man7/rtnetlink.7 +++ b/man7/rtnetlink.7 @@ -43,13 +43,13 @@ for more information. Some rtnetlink messages have optional attributes after the initial header: .PP .in +4n -.nf +.EX struct rtattr { unsigned short rta_len; /* Length of option */ unsigned short rta_type; /* Type of option */ /* Data follows */ }; -.fi +.EE .in .PP These attributes should be manipulated using only the RTA_* macros @@ -67,7 +67,7 @@ structure followed by a series of .I rtattr structures. .IP -.nf +.EX struct ifinfomsg { unsigned char ifi_family; /* AF_UNSPEC */ unsigned short ifi_type; /* Device type */ @@ -75,7 +75,7 @@ struct ifinfomsg { unsigned int ifi_flags; /* Device flags */ unsigned int ifi_change; /* change mask */ }; -.fi +.EE .IP .\" FIXME Document ifinfomsg.ifi_type .I ifi_flags @@ -128,7 +128,7 @@ structure, optionally followed by .I rtattr routing attributes. .IP -.nf +.EX struct ifaddrmsg { unsigned char ifa_family; /* Address type */ unsigned char ifa_prefixlen; /* Prefixlength of address */ @@ -136,7 +136,7 @@ struct ifaddrmsg { unsigned char ifa_scope; /* Address scope */ int ifa_index; /* Interface index */ }; -.fi +.EE .IP .I ifa_family is the address family type (currently @@ -193,7 +193,7 @@ and .IR rtm_protocol , 0 is the wildcard. .IP -.nf +.EX struct rtmsg { unsigned char rtm_family; /* Address family of route */ unsigned char rtm_dst_len; /* Length of destination */ @@ -207,7 +207,7 @@ struct rtmsg { unsigned int rtm_flags; }; -.fi +.EE .TS tab(:); l l. @@ -336,7 +336,7 @@ The message contains an .I ndmsg structure. .IP -.nf +.EX struct ndmsg { unsigned char ndm_family; int ndm_ifindex; /* Interface index */ @@ -351,7 +351,7 @@ struct nda_cacheinfo { __u32 ndm_updated; __u32 ndm_refcnt; }; -.fi +.EE .IP .I ndm_state is a bit mask of the following states: @@ -414,7 +414,7 @@ The message contains a and may be followed by a series of attributes. .IP -.nf +.EX struct tcmsg { unsigned char tcm_family; int tcm_ifindex; /* interface index */ @@ -422,7 +422,7 @@ struct tcmsg { __u32 tcm_parent; /* Parent qdisc */ __u32 tcm_info; }; -.fi +.EE .TS tab(:); c s s diff --git a/man7/socket.7 b/man7/socket.7 index c455c1cc2..45f36e002 100644 --- a/man7/socket.7 +++ b/man7/socket.7 @@ -330,14 +330,14 @@ is a .I sock_fprog structure, defined in .IR : -.sp +.IP .in +4n -.nf +.EX struct sock_fprog { unsigned short len; struct sock_filter *filter; }; -.fi +.EE .in .IP The argument for @@ -541,14 +541,14 @@ option. The argument is a .I linger structure. -.sp +.IP .in +4n -.nf +.EX struct linger { int l_onoff; /* linger active */ int l_linger; /* how many seconds to linger for */ }; -.fi +.EE .in .IP When enabled, a diff --git a/man7/svipc.7 b/man7/svipc.7 index 4468013a9..78abcca90 100644 --- a/man7/svipc.7 +++ b/man7/svipc.7 @@ -61,9 +61,9 @@ IPC operation. The .I ipc_perm structure includes the following members: +.PP .in +4n -.nf - +.EX struct ipc_perm { uid_t cuid; /* creator user ID */ gid_t cgid; /* creator group ID */ @@ -71,7 +71,7 @@ struct ipc_perm { gid_t gid; /* owner group ID */ unsigned short mode; /* r/w permissions */ }; -.fi +.EE .in .PP The @@ -81,7 +81,7 @@ member of the structure defines, with its lower 9 bits, the access permissions to the resource for a process executing an IPC system call. The permissions are interpreted as follows: -.sp +.PP .nf 0400 Read by user. 0200 Write by user. @@ -138,9 +138,9 @@ and has an associated data structure of type defined in .IR , containing the following members: +.PP .in +4n -.nf - +.EX struct msqid_ds { struct ipc_perm msg_perm; msgqnum_t msg_qnum; /* no of messages on queue */ @@ -151,7 +151,7 @@ struct msqid_ds { time_t msg_rtime; /* last msgrcv(2) time */ time_t msg_ctime; /* last change time */ }; -.fi +.EE .in .TP 11 .I msg_perm @@ -199,16 +199,16 @@ and has an associated data structure of type defined in .IR , containing the following members: +.IP .in +4n -.nf - +.EX struct semid_ds { struct ipc_perm sem_perm; time_t sem_otime; /* last operation time */ time_t sem_ctime; /* last change time */ unsigned long sem_nsems; /* count of sems in set */ }; -.fi +.EE .in .TP 11 .I sem_perm @@ -238,16 +238,16 @@ to A semaphore is a data structure of type .I "struct sem" containing the following members: +.PP .in +4n -.nf - +.EX struct sem { int semval; /* semaphore value */ int sempid; /* PID of process that last modified */ .\" unsigned short semncnt; /* nr awaiting semval to increase */ .\" unsigned short semzcnt; /* nr awaiting semval = 0 */ }; -.fi +.EE .in .TP 11 .I semval @@ -274,9 +274,9 @@ and has an associated data structure of type defined in .IR , containing the following members: +.PP .in +4n -.nf - +.EX struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; /* size of segment */ @@ -287,7 +287,7 @@ struct shmid_ds { time_t shm_dtime; /* time of last detach */ time_t shm_ctime; /* time of last change */ }; -.fi +.EE .in .TP 11 .I shm_perm diff --git a/man7/tcp.7 b/man7/tcp.7 index a4faf3ac6..36994b1f1 100644 --- a/man7/tcp.7 +++ b/man7/tcp.7 @@ -1361,7 +1361,7 @@ IPv6 is not described. .BR socket (2), .BR ip (7), .BR socket (7) -.sp +.PP RFC\ 793 for the TCP specification. .br RFC\ 1122 for the TCP requirements and a description of the Nagle algorithm. diff --git a/man7/units.7 b/man7/units.7 index 7cc373f29..0668bee3d 100644 --- a/man7/units.7 +++ b/man7/units.7 @@ -57,11 +57,11 @@ Z zetta 10^21 = 1000000000000000000000 Y yotta 10^24 = 1000000000000000000000000 .TE .RE - +.PP The symbol for micro is the Greek letter mu, often written u in an ASCII context where this Greek letter is not available. See also -.sp +.PP .RS .UR http://physics.nist.gov\:/cuu\:/Units\:/prefixes.html .UE @@ -85,7 +85,7 @@ Pi pebi 2^50 = 1125899906842624 Ei exbi 2^60 = 1152921504606846976 .TE .RE - +.PP See also .sp .UR http://physics.nist.gov\:/cuu\:/Units\:/binary.html @@ -95,7 +95,7 @@ Before these binary prefixes were introduced, it was fairly common to use k=1000 and K=1024, just like b=bit, B=byte. Unfortunately, the M is capital already, and cannot be capitalized to indicate binary-ness. - +.PP At first that didn't matter too much, since memory modules and disks came in sizes that were powers of two, so everyone knew that in such contexts "kilobyte" and "megabyte" meant @@ -106,24 +106,24 @@ regarded as the "real true meaning" when computers were involved. But then disk technology changed, and disk sizes became arbitrary numbers. After a period of uncertainty all disk manufacturers settled on the standard, namely k=1000, M=1000k, G=1000M. - +.PP The situation was messy: in the 14k4 modems, k=1000; in the 1.44MB .\" also common: 14.4k modem diskettes, M=1024000; and so on. In 1998 the IEC approved the standard that defines the binary prefixes given above, enabling people to be precise and unambiguous. - +.PP Thus, today, MB = 1000000B and MiB = 1048576B. - +.PP In the free software world programs are slowly being changed to conform. When the Linux kernel boots and says - -.RS -.nf +.PP +.in +4n +.EX hda: 120064896 sectors (61473 MB) w/2048KiB Cache -.fi -.RE - +.EE +.in +.PP the MB are megabytes and the KiB are kibibytes. diff --git a/man7/user_namespaces.7 b/man7/user_namespaces.7 index 7c2f566db..3314789dd 100644 --- a/man7/user_namespaces.7 +++ b/man7/user_namespaces.7 @@ -1317,6 +1317,6 @@ main(int argc, char *argv[]) .BR credentials (7), .BR namespaces (7), .BR pid_namespaces (7) -.sp +.PP The kernel source file .IR Documentation/namespaces/resource-control.txt .