diff options
Diffstat (limited to 'man7')
| -rw-r--r-- | man7/aio.7 | 2 | ||||
| -rw-r--r-- | man7/ascii.7 | 26 | ||||
| -rw-r--r-- | man7/boot.7 | 4 | ||||
| -rw-r--r-- | man7/bpf-helpers.7 | 92 | ||||
| -rw-r--r-- | man7/cgroup_namespaces.7 | 6 | ||||
| -rw-r--r-- | man7/cgroups.7 | 2 | ||||
| -rw-r--r-- | man7/charsets.7 | 4 | ||||
| -rw-r--r-- | man7/cpuset.7 | 2 | ||||
| -rw-r--r-- | man7/environ.7 | 2 | ||||
| -rw-r--r-- | man7/epoll.7 | 2 | ||||
| -rw-r--r-- | man7/fanotify.7 | 22 | ||||
| -rw-r--r-- | man7/fifo.7 | 2 | ||||
| -rw-r--r-- | man7/glob.7 | 40 | ||||
| -rw-r--r-- | man7/inode.7 | 2 | ||||
| -rw-r--r-- | man7/inotify.7 | 8 | ||||
| -rw-r--r-- | man7/ipv6.7 | 2 | ||||
| -rw-r--r-- | man7/keyrings.7 | 4 | ||||
| -rw-r--r-- | man7/locale.7 | 4 | ||||
| -rw-r--r-- | man7/man-pages.7 | 4 | ||||
| -rw-r--r-- | man7/man.7 | 8 | ||||
| -rw-r--r-- | man7/mount_namespaces.7 | 68 | ||||
| -rw-r--r-- | man7/namespaces.7 | 2 | ||||
| -rw-r--r-- | man7/packet.7 | 2 | ||||
| -rw-r--r-- | man7/path_resolution.7 | 16 | ||||
| -rw-r--r-- | man7/pthreads.7 | 6 | ||||
| -rw-r--r-- | man7/regex.7 | 70 | ||||
| -rw-r--r-- | man7/sock_diag.7 | 4 | ||||
| -rw-r--r-- | man7/string_copying.7 | 12 | ||||
| -rw-r--r-- | man7/system_data_types.7 | 6 | ||||
| -rw-r--r-- | man7/units.7 | 4 | ||||
| -rw-r--r-- | man7/unix.7 | 2 | ||||
| -rw-r--r-- | man7/uri.7 | 6 | ||||
| -rw-r--r-- | man7/user_namespaces.7 | 68 | ||||
| -rw-r--r-- | man7/utf-8.7 | 4 | ||||
| -rw-r--r-- | man7/vdso.7 | 4 | ||||
| -rw-r--r-- | man7/x25.7 | 2 |
36 files changed, 257 insertions, 257 deletions
diff --git a/man7/aio.7 b/man7/aio.7 index d0d814cb24..5a9dc4ff19 100644 --- a/man7/aio.7 +++ b/man7/aio.7 @@ -76,7 +76,7 @@ struct aiocb { /* Various implementation\-internal fields not shown */ }; -/* Operation codes for \(aqaio_lio_opcode\(aq: */ +/* Operation codes for \[aq]aio_lio_opcode\[aq]: */ enum { LIO_READ, LIO_WRITE, LIO_NOP }; .EE diff --git a/man7/ascii.7 b/man7/ascii.7 index 47fe7ab697..cf4d433717 100644 --- a/man7/ascii.7 +++ b/man7/ascii.7 @@ -25,7 +25,7 @@ The international counterpart of ASCII is known as ISO 646-IRV. .PP The following table contains the 128 ASCII characters. .PP -C program \f(CW\(aq\eX\(aq\fP escapes are noted. +C program \f(CW\[aq]\eX\[aq]\fP escapes are noted. .if t \{\ .ft CW \} @@ -33,20 +33,20 @@ C program \f(CW\(aq\eX\(aq\fP escapes are noted. l l l l | l l l l. Oct Dec Hex Char Oct Dec Hex Char _ -000 0 00 NUL \(aq\e0\(aq (null character) 100 64 40 @ +000 0 00 NUL \[aq]\e0\[aq] (null character) 100 64 40 @ 001 1 01 SOH (start of heading) 101 65 41 A 002 2 02 STX (start of text) 102 66 42 B 003 3 03 ETX (end of text) 103 67 43 C 004 4 04 EOT (end of transmission) 104 68 44 D 005 5 05 ENQ (enquiry) 105 69 45 E 006 6 06 ACK (acknowledge) 106 70 46 F -007 7 07 BEL \(aq\ea\(aq (bell) 107 71 47 G -010 8 08 BS \(aq\eb\(aq (backspace) 110 72 48 H -011 9 09 HT \(aq\et\(aq (horizontal tab) 111 73 49 I -012 10 0A LF \(aq\en\(aq (new line) 112 74 4A J -013 11 0B VT \(aq\ev\(aq (vertical tab) 113 75 4B K -014 12 0C FF \(aq\ef\(aq (form feed) 114 76 4C L -015 13 0D CR \(aq\er\(aq (carriage ret) 115 77 4D M +007 7 07 BEL \[aq]\ea\[aq] (bell) 107 71 47 G +010 8 08 BS \[aq]\eb\[aq] (backspace) 110 72 48 H +011 9 09 HT \[aq]\et\[aq] (horizontal tab) 111 73 49 I +012 10 0A LF \[aq]\en\[aq] (new line) 112 74 4A J +013 11 0B VT \[aq]\ev\[aq] (vertical tab) 113 75 4B K +014 12 0C FF \[aq]\ef\[aq] (form feed) 114 76 4C L +015 13 0D CR \[aq]\er\[aq] (carriage ret) 115 77 4D M 016 14 0E SO (shift out) 116 78 4E N 017 15 0F SI (shift in) 117 79 4F O 020 16 10 DLE (data link escape) 120 80 50 P @@ -61,7 +61,7 @@ _ 031 25 19 EM (end of medium) 131 89 59 Y 032 26 1A SUB (substitute) 132 90 5A Z 033 27 1B ESC (escape) 133 91 5B [ -034 28 1C FS (file separator) 134 92 5C \e \(aq\e\e\(aq +034 28 1C FS (file separator) 134 92 5C \e \[aq]\e\e\[aq] 035 29 1D GS (group separator) 135 93 5D ] 036 30 1E RS (record separator) 136 94 5E \(ha 037 31 1F US (unit separator) 137 95 5F \&_ @@ -72,7 +72,7 @@ _ 044 36 24 $ 144 100 64 d 045 37 25 % 145 101 65 e 046 38 26 & 146 102 66 f -047 39 27 \(aq 147 103 67 g +047 39 27 \[aq] 147 103 67 g 050 40 28 ( 150 104 68 h 051 41 29 ) 151 105 69 i 052 42 2A * 152 106 6A j @@ -119,9 +119,9 @@ For convenience, below are more compact tables in hex and decimal. 4: $ 4 D T d t 4: " , 6 @ J T \(ha h r | 5: % 5 E U e u 5: # \- 7 A K U _ i s } 6: & 6 F V f v 6: $ . 8 B L V \` j t \(ti -7: \(aq 7 G W g w 7: % / 9 C M W a k u DEL +7: \[aq] 7 G W g w 7: % / 9 C M W a k u DEL 8: ( 8 H X h x 8: & 0 : D N X b l v -9: ) 9 I Y i y 9: \(aq 1 ; E O Y c m w +9: ) 9 I Y i y 9: \[aq] 1 ; E O Y c m w A: * : J Z j z B: + ; K [ k { C: , < L \e l | diff --git a/man7/boot.7 b/man7/boot.7 index bfe35dcd05..421b113f49 100644 --- a/man7/boot.7 +++ b/man7/boot.7 @@ -176,9 +176,9 @@ A primary script (usually \fI/etc/rc\fR) is called from .BR inittab (5); this primary script calls each service's script via a link in the relevant sequencing directory. -Each link whose name begins with \(aqS\(aq is called with +Each link whose name begins with \[aq]S\[aq] is called with the argument "start" (thereby starting the service). -Each link whose name begins with \(aqK\(aq is called with +Each link whose name begins with \[aq]K\[aq] is called with the argument "stop" (thereby stopping the service). .PP To define the starting or stopping order within the same run-level, diff --git a/man7/bpf-helpers.7 b/man7/bpf-helpers.7 index 8a6850f137..51fc9aba20 100644 --- a/man7/bpf-helpers.7 +++ b/man7/bpf-helpers.7 @@ -535,7 +535,7 @@ this struct exposes the \fIkey\fP\fB\->tunnel_id\fP, which is generally mapped to a VNI (Virtual Network Identifier), making it programmable together with the \fBbpf_skb_set_tunnel_key\fP() helper. .sp -Let\(aqs imagine that the following code is part of a program +Let\[aq]s imagine that the following code is part of a program attached to the TC ingress interface, on one end of a GRE tunnel, and is supposed to filter out all messages coming from remote ends with IPv4 address other than 10.0.0.1: @@ -1447,7 +1447,7 @@ interfaces in the map, with BPF_F_EXCLUDE_INGRESS the ingress interface will be excluded when do broadcasting. .sp See also \fBbpf_redirect\fP(), which only supports redirecting -to an ifindex, but doesn\(aqt require a map to do so. +to an ifindex, but doesn\[aq]t require a map to do so. .TP .B Return \fBXDP_REDIRECT\fP on success, or the value of the two lower bits @@ -1856,7 +1856,7 @@ single IP address on a host that has multiple IP configured. .sp This helper works for IPv4 and IPv6, TCP and UDP sockets. The domain (\fIaddr\fP\fB\->sa_family\fP) must be \fBAF_INET\fP (or -\fBAF_INET6\fP). It\(aqs advised to pass zero port (\fBsin_port\fP +\fBAF_INET6\fP). It\[aq]s advised to pass zero port (\fBsin_port\fP or \fBsin6_port\fP) which triggers IP_BIND_ADDRESS_NO_PORT\-like behavior and lets the kernel efficiently pick up an unused port as long as 4\-tuple is unique. Passing non\-zero port might @@ -1931,11 +1931,11 @@ specified. \fIfile_offset\fP is an offset relative to the beginning of the executable or shared object file backing the vma which the \fIip\fP falls in. It is \fInot\fP an offset relative -to that object\(aqs base address. Accordingly, it must be +to that object\[aq]s base address. Accordingly, it must be adjusted by adding (sh_addr \- sh_offset), where sh_{addr,offset} correspond to the executable section containing \fIfile_offset\fP in the object, for comparisons -to symbols\(aq st_value to be valid. +to symbols\[aq] st_value to be valid. .UNINDENT .sp \fBbpf_get_stack\fP() can collect up to @@ -1973,10 +1973,10 @@ base offset to start from. \fIstart_header\fP can be one of: .INDENT 7.0 .TP .B \fBBPF_HDR_START_MAC\fP -Base offset to load data from is \fIskb\fP\(aqs mac header. +Base offset to load data from is \fIskb\fP\[aq]s mac header. .TP .B \fBBPF_HDR_START_NET\fP -Base offset to load data from is \fIskb\fP\(aqs network header. +Base offset to load data from is \fIskb\fP\[aq]s network header. .UNINDENT .sp In general, \(dqdirect packet access\(dq is the preferred method to @@ -2732,7 +2732,7 @@ error otherwise. Get name of sysctl in /proc/sys/ and copy it into provided by program buffer \fIbuf\fP of size \fIbuf_len\fP\&. .sp -The buffer is always NUL terminated, unless it\(aqs zero\-sized. +The buffer is always NUL terminated, unless it\[aq]s zero\-sized. .sp If \fIflags\fP is zero, full name (e.g. \(dqnet/ipv4/tcp_mem\(dq) is copied. Use \fBBPF_F_SYSCTL_BASE_NAME\fP flag to copy base name @@ -2741,7 +2741,7 @@ only (e.g. \(dqtcp_mem\(dq). .B Return Number of character copied (not including the trailing NUL). .sp -\fB\-E2BIG\fP if the buffer wasn\(aqt big enough (\fIbuf\fP will contain +\fB\-E2BIG\fP if the buffer wasn\[aq]t big enough (\fIbuf\fP will contain truncated name in this case). .UNINDENT .TP @@ -2756,12 +2756,12 @@ by program buffer \fIbuf\fP of size \fIbuf_len\fP\&. The whole value is copied, no matter what file position user space issued e.g. sys_read at. .sp -The buffer is always NUL terminated, unless it\(aqs zero\-sized. +The buffer is always NUL terminated, unless it\[aq]s zero\-sized. .TP .B Return Number of character copied (not including the trailing NUL). .sp -\fB\-E2BIG\fP if the buffer wasn\(aqt big enough (\fIbuf\fP will contain +\fB\-E2BIG\fP if the buffer wasn\[aq]t big enough (\fIbuf\fP will contain truncated name in this case). .sp \fB\-EINVAL\fP if current value was unavailable, e.g. because @@ -2778,12 +2778,12 @@ provided by program buffer \fIbuf\fP of size \fIbuf_len\fP\&. .sp User space may write new value at file position > 0. .sp -The buffer is always NUL terminated, unless it\(aqs zero\-sized. +The buffer is always NUL terminated, unless it\[aq]s zero\-sized. .TP .B Return Number of character copied (not including the trailing NUL). .sp -\fB\-E2BIG\fP if the buffer wasn\(aqt big enough (\fIbuf\fP will contain +\fB\-E2BIG\fP if the buffer wasn\[aq]t big enough (\fIbuf\fP will contain truncated name in this case). .sp \fB\-EINVAL\fP if sysctl is being read. @@ -2820,7 +2820,7 @@ and save the result in \fIres\fP\&. .sp The string may begin with an arbitrary amount of white space (as determined by \fBisspace\fP(3)) followed by a single -optional \(aq\fB\-\fP\(aq sign. +optional \[aq]\fB\-\fP\[aq] sign. .sp Five least significant bits of \fIflags\fP encode base, other bits are currently unused. @@ -2918,7 +2918,7 @@ Delete a bpf\-local\-storage from a \fIsk\fP\&. .TP .B Description Send signal \fIsig\fP to the process of the current task. -The signal may be delivered to any of this process\(aqs threads. +The signal may be delivered to any of this process\[aq]s threads. .TP .B Return 0 on success or successfully queued. @@ -3150,7 +3150,7 @@ Returns 0 on success, values for \fIpid\fP and \fItgid\fP as seen from the curre .B Return 0 on success, or one of the following in case of failure: .sp -\fB\-EINVAL\fP if dev and inum supplied don\(aqt match dev_t and inode number +\fB\-EINVAL\fP if dev and inum supplied don\[aq]t match dev_t and inode number with nsfs of current task, or if dev conversion to dev_t lost high bits. .sp \fB\-ENOENT\fP if pidns does not exists for the current task. @@ -3307,7 +3307,7 @@ potentially by another program, and \fB\-EINVAL\fP if unsupported flags were specified. .IP \(bu 2 \fB\-EPROTOTYPE\fP if socket L4 protocol -(\fIsk\->protocol\fP) doesn\(aqt match packet protocol +(\fIsk\->protocol\fP) doesn\[aq]t match packet protocol (\fIctx\->protocol\fP). .IP \(bu 2 \fB\-ESOCKTNOSUPPORT\fP if socket is not in allowed @@ -3459,7 +3459,7 @@ of new data availability is sent unconditionally. If \fB0\fP is specified in \fIflags\fP, an adaptive notification of new data availability is sent. .sp -See \(aqbpf_ringbuf_output()\(aq for the definition of adaptive notification. +See \[aq]bpf_ringbuf_output()\[aq] for the definition of adaptive notification. .TP .B Return Nothing. Always succeeds. @@ -3477,7 +3477,7 @@ of new data availability is sent unconditionally. If \fB0\fP is specified in \fIflags\fP, an adaptive notification of new data availability is sent. .sp -See \(aqbpf_ringbuf_output()\(aq for the definition of adaptive notification. +See \[aq]bpf_ringbuf_output()\[aq] for the definition of adaptive notification. .TP .B Return Nothing. Always succeeds. @@ -3906,7 +3906,7 @@ Use BTF to write to seq_write a string representation of .B Description See \fBbpf_get_cgroup_classid\fP() for the main description. This helper differs from \fBbpf_get_cgroup_classid\fP() in that -the cgroup v1 net_cls class is retrieved only from the \fIskb\fP\(aqs +the cgroup v1 net_cls class is retrieved only from the \fIskb\fP\[aq]s associated socket instead of the current process. .TP .B Return @@ -3923,7 +3923,7 @@ is somewhat similar to \fBbpf_redirect\fP(), except that it populates L2 addresses as well, meaning, internally, the helper relies on the neighbor lookup for the L2 address of the nexthop. .sp -The helper will perform a FIB lookup based on the skb\(aqs +The helper will perform a FIB lookup based on the skb\[aq]s networking header to get the address of the next hop, unless this is supplied by the caller in the \fIparams\fP argument. The \fIplen\fP argument indicates the len of \fIparams\fP and should be set @@ -3944,7 +3944,7 @@ The helper returns \fBTC_ACT_REDIRECT\fP on success or .B Description Take a pointer to a percpu ksym, \fIpercpu_ptr\fP, and return a pointer to the percpu kernel variable on \fIcpu\fP\&. A ksym is an -extern variable decorated with \(aq__ksym\(aq. For ksym, there is a +extern variable decorated with \[aq]__ksym\[aq]. For ksym, there is a global var (either static or global) defined of the same name in the kernel. The ksym is percpu if the global var is percpu. The returned pointer points to the global percpu var on \fIcpu\fP\&. @@ -3965,7 +3965,7 @@ NULL, if \fIcpu\fP is invalid. .B Description Take a pointer to a percpu ksym, \fIpercpu_ptr\fP, and return a pointer to the percpu kernel variable on this cpu. See the -description of \(aqksym\(aq in \fBbpf_per_cpu_ptr\fP(). +description of \[aq]ksym\[aq] in \fBbpf_per_cpu_ptr\fP(). .sp bpf_this_cpu_ptr() has the same semantic as this_cpu_ptr() in the kernel. Different from \fBbpf_per_cpu_ptr\fP(), it would @@ -3981,9 +3981,9 @@ A pointer pointing to the kernel percpu variable on this cpu. .B Description Redirect the packet to another net device of index \fIifindex\fP\&. This helper is somewhat similar to \fBbpf_redirect\fP(), except -that the redirection happens to the \fIifindex\fP\(aq peer device and +that the redirection happens to the \fIifindex\fP\[aq] peer device and the netns switch takes place from ingress to ingress without -going through the CPU\(aqs backlog queue. +going through the CPU\[aq]s backlog queue. .sp The \fIflags\fP argument is reserved and must be 0. The helper is currently only supported for tc BPF program types at the ingress @@ -4083,7 +4083,7 @@ Current \fIktime\fP\&. .INDENT 7.0 .TP .B Description -Returns the stored IMA hash of the \fIinode\fP (if it\(aqs available). +Returns the stored IMA hash of the \fIinode\fP (if it\[aq]s available). If the hash is larger than \fIsize\fP, then only \fIsize\fP bytes will be copied to \fIdst\fP .TP @@ -4123,7 +4123,7 @@ planned size change; therefore the responsibility for catching a negative packet size belongs in those helpers. .sp Specifying \fIifindex\fP zero means the MTU check is performed -against the current net device. This is practical if this isn\(aqt +against the current net device. This is practical if this isn\[aq]t used prior to redirect. .sp On input \fImtu_len\fP must be a valid pointer, else verifier will @@ -4260,7 +4260,7 @@ A syscall result. .INDENT 7.0 .TP .B Description -Find BTF type with given name and kind in vmlinux BTF or in module\(aqs BTFs. +Find BTF type with given name and kind in vmlinux BTF or in module\[aq]s BTFs. .TP .B Return Returns btf_id and btf_obj_fd in lower and upper 32 bits. @@ -4291,7 +4291,7 @@ the same \fImap\fP\&. 0 on success. \fB\-EBUSY\fP if \fItimer\fP is already initialized. \fB\-EINVAL\fP if invalid \fIflags\fP are passed. -\fB\-EPERM\fP if \fItimer\fP is in a map that doesn\(aqt have any user references. +\fB\-EPERM\fP if \fItimer\fP is in a map that doesn\[aq]t have any user references. The user space should either hold a file descriptor to a map with timers or pin such map in bpffs. When map is unpinned or file descriptor is closed all timers in the map will be cancelled and freed. @@ -4306,7 +4306,7 @@ Configure the timer to call \fIcallback_fn\fP static function. .B Return 0 on success. \fB\-EINVAL\fP if \fItimer\fP was not initialized with bpf_timer_init() earlier. -\fB\-EPERM\fP if \fItimer\fP is in a map that doesn\(aqt have any user references. +\fB\-EPERM\fP if \fItimer\fP is in a map that doesn\[aq]t have any user references. The user space should either hold a file descriptor to a map with timers or pin such map in bpffs. When map is unpinned or file descriptor is closed all timers in the map will be cancelled and freed. @@ -4324,9 +4324,9 @@ Since struct bpf_timer is a field inside map element the map owns the timer. The bpf_timer_set_callback() will increment refcnt of BPF program to make sure that callback_fn code stays valid. When user space reference to a map reaches zero all timers -in a map are cancelled and corresponding program\(aqs refcnts are +in a map are cancelled and corresponding program\[aq]s refcnts are decremented. This is done to make sure that Ctrl\-C of a user -process doesn\(aqt leave any timers running. If map is pinned in +process doesn\[aq]t leave any timers running. If map is pinned in bpffs the callback_fn can re\-arm itself indefinitely. bpf_map_update/delete_elem() helpers and user space sys_bpf commands cancel and free the timer in the given map element. @@ -4522,7 +4522,7 @@ The number of loops performed, \fB\-EINVAL\fP for invalid \fBflags\fP, .INDENT 7.0 .TP .B Description -Do strncmp() between \fBs1\fP and \fBs2\fP\&. \fBs1\fP doesn\(aqt need +Do strncmp() between \fBs1\fP and \fBs2\fP\&. \fBs1\fP doesn\[aq]t need to be null\-terminated and \fBs1_sz\fP is the maximum storage size of \fBs1\fP\&. \fBs2\fP must be a read\-only string. .TP @@ -4571,26 +4571,26 @@ The number of argument registers of the traced function. .INDENT 7.0 .TP .B Description -Get the BPF program\(aqs return value that will be returned to the upper layers. +Get the BPF program\[aq]s return value that will be returned to the upper layers. .sp This helper is currently supported by cgroup programs and only by the hooks -where BPF program\(aqs return value is returned to the userspace via errno. +where BPF program\[aq]s return value is returned to the userspace via errno. .TP .B Return -The BPF program\(aqs return value. +The BPF program\[aq]s return value. .UNINDENT .TP .B \fBint bpf_set_retval(int\fP \fIretval\fP\fB)\fP .INDENT 7.0 .TP .B Description -Set the BPF program\(aqs return value that will be returned to the upper layers. +Set the BPF program\[aq]s return value that will be returned to the upper layers. .sp This helper is currently supported by cgroup programs and only by the hooks -where BPF program\(aqs return value is returned to the userspace via errno. +where BPF program\[aq]s return value is returned to the userspace via errno. .sp Note that there is the following corner case where the program exports an error -via bpf_set_retval but signals success via \(aqreturn 1\(aq: +via bpf_set_retval but signals success via \[aq]return 1\[aq]: .INDENT 7.0 .INDENT 3.5 bpf_set_retval(\-EPERM); @@ -4598,8 +4598,8 @@ return 1; .UNINDENT .UNINDENT .sp -In this case, the BPF program\(aqs return value will use helper\(aqs \-EPERM. This -still holds true for cgroup/bind{4,6} which supports extra \(aqreturn 3\(aq success case. +In this case, the BPF program\[aq]s return value will use helper\[aq]s \-EPERM. This +still holds true for cgroup/bind{4,6} which supports extra \[aq]return 3\[aq] success case. .TP .B Return 0 on success, or a negative error in case of failure. @@ -4643,7 +4643,7 @@ associated to \fIxdp_md\fP, at \fIoffset\fP\&. .INDENT 7.0 .TP .B Description -Read \fIsize\fP bytes from user space address \fIuser_ptr\fP in \fItsk\fP\(aqs +Read \fIsize\fP bytes from user space address \fIuser_ptr\fP in \fItsk\fP\[aq]s address space, and stores the data in \fIdst\fP\&. \fIflags\fP is not used yet and is provided for future extensibility. This helper can only be used by sleepable programs. @@ -4777,7 +4777,7 @@ through the dynptr interface. This is a no\-op if the dynptr is invalid/null. .sp For more information on \fIflags\fP, please see -\(aqbpf_ringbuf_submit\(aq. +\[aq]bpf_ringbuf_submit\[aq]. .TP .B Return Nothing. Always succeeds. @@ -4791,7 +4791,7 @@ Discard reserved ring buffer sample through the dynptr interface. This is a no\-op if the dynptr is invalid/null. .sp For more information on \fIflags\fP, please see -\(aqbpf_ringbuf_discard\(aq. +\[aq]bpf_ringbuf_discard\[aq]. .TP .B Return Nothing. Always succeeds. @@ -4807,7 +4807,7 @@ into \fIsrc\fP\&. .TP .B Return 0 on success, \-E2BIG if \fIoffset\fP + \fIlen\fP exceeds the length -of \fIsrc\fP\(aqs data, \-EINVAL if \fIsrc\fP is an invalid dynptr or if +of \fIsrc\fP\[aq]s data, \-EINVAL if \fIsrc\fP is an invalid dynptr or if \fIflags\fP is not 0. .UNINDENT .TP @@ -4821,7 +4821,7 @@ into \fIdst\fP\&. .TP .B Return 0 on success, \-E2BIG if \fIoffset\fP + \fIlen\fP exceeds the length -of \fIdst\fP\(aqs data, \-EINVAL if \fIdst\fP is an invalid dynptr or if \fIdst\fP +of \fIdst\fP\[aq]s data, \-EINVAL if \fIdst\fP is an invalid dynptr or if \fIdst\fP is a read\-only dynptr or if \fIflags\fP is not 0. .UNINDENT .TP diff --git a/man7/cgroup_namespaces.7 b/man7/cgroup_namespaces.7 index b69f91adf4..1b154005b4 100644 --- a/man7/cgroup_namespaces.7 +++ b/man7/cgroup_namespaces.7 @@ -121,7 +121,7 @@ freezer cgroup, and the root directory of the freezer cgroup hierarchy in the new cgroup namespace is also .IR /sub . -Thus, the new shell's cgroup membership is displayed as \(aq/\(aq.) +Thus, the new shell's cgroup membership is displayed as \[aq]/\[aq].) .PP However, when we look in .I /proc/self/mountinfo @@ -140,7 +140,7 @@ should show the directory in the cgroup filesystem which forms the root of this mount. Since by the definition of cgroup namespaces, the process's current freezer cgroup directory became its root freezer cgroup directory, -we should see \(aq/\(aq in this field. +we should see \[aq]/\[aq] in this field. The problem here is that we are seeing a mount entry for the cgroup filesystem corresponding to the initial cgroup namespace (whose cgroup filesystem is indeed rooted at the parent directory of @@ -151,7 +151,7 @@ new cgroup namespace), after which we see the expected results: .PP .in +4n .EX -sh2# \fBmount \-\-make\-rslave /\fP # Don\(aqt propagate mount events +sh2# \fBmount \-\-make\-rslave /\fP # Don\[aq]t propagate mount events # to other namespaces sh2# \fBumount /sys/fs/cgroup/freezer\fP sh2# \fBmount \-t cgroup \-o freezer freezer /sys/fs/cgroup/freezer\fP diff --git a/man7/cgroups.7 b/man7/cgroups.7 index ea8da680a4..3206bc5d32 100644 --- a/man7/cgroups.7 +++ b/man7/cgroups.7 @@ -770,7 +770,7 @@ or '\-' (to disable a controller), as in the following example: .IP .in +4n .EX -echo \(aq+pids \-memory\(aq > x/y/cgroup.subtree_control +echo \[aq]+pids \-memory\[aq] > x/y/cgroup.subtree_control .EE .in .IP diff --git a/man7/charsets.7 b/man7/charsets.7 index 7ab56d0f50..ea160bc5de 100644 --- a/man7/charsets.7 +++ b/man7/charsets.7 @@ -310,9 +310,9 @@ byte is the head of a code. Note that the only way ASCII bytes occur in a UTF-8 stream, is as themselves. In particular, there are no -embedded NULs (\(aq\e0\(aq) or \(aq/\(aqs that form part of some larger code. +embedded NULs (\[aq]\e0\[aq]) or \[aq]/\[aq]s that form part of some larger code. .PP -Since ASCII, and, in particular, NUL and \(aq/\(aq, are unchanged, the +Since ASCII, and, in particular, NUL and \[aq]/\[aq], are unchanged, the kernel does not notice that UTF-8 is being used. It does not care at all what the bytes it is handling stand for. diff --git a/man7/cpuset.7 b/man7/cpuset.7 index 9cc3c52ade..b90a9f254d 100644 --- a/man7/cpuset.7 +++ b/man7/cpuset.7 @@ -1385,7 +1385,7 @@ and then attach the current shell to that cpuset. .RB "$" " /bin/echo 1 > cpuset.mems" .RB "$" " /bin/echo $$ > tasks" # The current shell is now running in cpuset Charlie -# The next line should display \(aq/Charlie\(aq +# The next line should display \[aq]/Charlie\[aq] .RB "$" " cat /proc/self/cpuset" .EE .in diff --git a/man7/environ.7 b/man7/environ.7 index bdcec4e25f..36a2a51c91 100644 --- a/man7/environ.7 +++ b/man7/environ.7 @@ -39,7 +39,7 @@ have the form "\fIname\fP\fB=\fP\fIvalue\fP". The name is case-sensitive and may not contain the character "\fB=\fP". The value can be anything that can be represented as a string. -The name and the value may not contain an embedded null byte (\(aq\e0\(aq), +The name and the value may not contain an embedded null byte (\[aq]\e0\[aq]), since this is assumed to terminate the string. .PP Environment variables may be placed in the shell's environment by the diff --git a/man7/epoll.7 b/man7/epoll.7 index bdad0e40f7..bc5fa9b27e 100644 --- a/man7/epoll.7 +++ b/man7/epoll.7 @@ -291,7 +291,7 @@ from where it stopped before. struct epoll_event ev, events[MAX_EVENTS]; int listen_sock, conn_sock, nfds, epollfd; -/* Code to set up listening socket, \(aqlisten_sock\(aq, +/* Code to set up listening socket, \[aq]listen_sock\[aq], (socket(), bind(), listen()) omitted. */ epollfd = epoll_create1(0); diff --git a/man7/fanotify.7 b/man7/fanotify.7 index a84e309941..01872057e4 100644 --- a/man7/fanotify.7 +++ b/man7/fanotify.7 @@ -1047,7 +1047,7 @@ Listening for events stopped. #include <sys/fanotify.h> #include <unistd.h> -/* Read all available fanotify events from the file descriptor \(aqfd\(aq. */ +/* Read all available fanotify events from the file descriptor \[aq]fd\[aq]. */ static void handle_events(int fd) @@ -1127,7 +1127,7 @@ handle_events(int fd) exit(EXIT_FAILURE); } - path[path_len] = \(aq\e0\(aq; + path[path_len] = \[aq]\e0\[aq]; printf("File %s\en", path); /* Close the file descriptor of the event. */ @@ -1209,7 +1209,7 @@ main(int argc, char *argv[]) /* Console input is available: empty stdin and quit. */ - while (read(STDIN_FILENO, &buf, 1) > 0 && buf != \(aq\en\(aq) + while (read(STDIN_FILENO, &buf, 1) > 0 && buf != \[aq]\en\[aq]) continue; break; } @@ -1261,7 +1261,7 @@ been processed. Listening for events. FAN_CREATE (file created): Directory /home/user has been modified. - Entry \(aqtestfile.txt\(aq is not a subdirectory. + Entry \[aq]testfile.txt\[aq] is not a subdirectory. All events processed successfully. Program exiting. $ \fBtouch /home/user/testfile.txt\fP # In another terminal @@ -1284,7 +1284,7 @@ flag set and with the created directory name. Listening for events. FAN_CREATE | FAN_ONDIR (subdirectory created): Directory /home/user has been modified. - Entry \(aqtestdir\(aq is a subdirectory. + Entry \[aq]testdir\[aq] is a subdirectory. All events processed successfully. Program exiting. $ \fBmkdir \-p /home/user/testdir\fP # In another terminal @@ -1392,7 +1392,7 @@ main(int argc, char *argv[]) /* metadata\->fd is set to FAN_NOFD when the group identifies objects by file handles. To obtain a file descriptor for the file object corresponding to an event you can use the - struct file_handle that\(aqs provided within the + struct file_handle that\[aq]s provided within the fanotify_event_info_fid in conjunction with the open_by_handle_at(2) system call. A check for ESTALE is done to accommodate for the situation where the file handle @@ -1421,8 +1421,8 @@ main(int argc, char *argv[]) exit(EXIT_FAILURE); } - path[path_len] = \(aq\e0\(aq; - printf("\etDirectory \(aq%s\(aq has been modified.\en", path); + path[path_len] = \[aq]\e0\[aq]; + printf("\etDirectory \[aq]%s\[aq] has been modified.\en", path); if (file_name) { ret = fstatat(event_fd, file_name, &sb, 0); @@ -1431,11 +1431,11 @@ main(int argc, char *argv[]) perror("fstatat"); exit(EXIT_FAILURE); } - printf("\etEntry \(aq%s\(aq does not exist.\en", file_name); + printf("\etEntry \[aq]%s\[aq] does not exist.\en", file_name); } else if ((sb.st_mode & S_IFMT) == S_IFDIR) { - printf("\etEntry \(aq%s\(aq is a subdirectory.\en", file_name); + printf("\etEntry \[aq]%s\[aq] is a subdirectory.\en", file_name); } else { - printf("\etEntry \(aq%s\(aq is not a subdirectory.\en", + printf("\etEntry \[aq]%s\[aq] is not a subdirectory.\en", file_name); } } diff --git a/man7/fifo.7 b/man7/fifo.7 index 141414f297..0a26c8ad1e 100644 --- a/man7/fifo.7 +++ b/man7/fifo.7 @@ -63,7 +63,7 @@ FIFO special files can be created by .BR mkfifo (3), and are indicated by .I ls\~\-l -with the file type \(aqp\(aq. +with the file type \[aq]p\[aq]. .SH SEE ALSO .BR mkfifo (1), .BR open (2), diff --git a/man7/glob.7 b/man7/glob.7 index d4954ccdcb..f3492bcbe4 100644 --- a/man7/glob.7 +++ b/man7/glob.7 @@ -20,64 +20,64 @@ that will perform this function for a user program. The rules are as follows (POSIX.2, 3.13). .SS Wildcard matching A string is a wildcard pattern if it contains one of the -characters \(aq?\(aq, \(aq*\(aq, or \(aq[\(aq. +characters \[aq]?\[aq], \[aq]*\[aq], or \[aq][\[aq]. Globbing is the operation that expands a wildcard pattern into the list of pathnames matching the pattern. Matching is defined by: .PP -A \(aq?\(aq (not between brackets) matches any single character. +A \[aq]?\[aq] (not between brackets) matches any single character. .PP -A \(aq*\(aq (not between brackets) matches any string, +A \[aq]*\[aq] (not between brackets) matches any string, including the empty string. .PP .B "Character classes" .PP An expression "\fI[...]\fP" where the first character after the -leading \(aq[\(aq is not an \(aq!\(aq matches a single character, +leading \[aq][\[aq] is not an \[aq]!\[aq] matches a single character, namely any of the characters enclosed by the brackets. The string enclosed by the brackets cannot be empty; -therefore \(aq]\(aq can be allowed between the brackets, provided +therefore \[aq]]\[aq] can be allowed between the brackets, provided that it is the first character. (Thus, "\fI[][!]\fP" matches the -three characters \(aq[\(aq, \(aq]\(aq, and \(aq!\(aq.) +three characters \[aq][\[aq], \[aq]]\[aq], and \[aq]!\[aq].) .PP .B Ranges .PP There is one special convention: -two characters separated by \(aq\-\(aq denote a range. +two characters separated by \[aq]\-\[aq] denote a range. (Thus, "\fI[A\-Fa\-f0\-9]\fP" is equivalent to "\fI[ABCDEFabcdef0123456789]\fP".) -One may include \(aq\-\(aq in its literal meaning by making it the +One may include \[aq]\-\[aq] in its literal meaning by making it the first or last character between the brackets. -(Thus, "\fI[]\-]\fP" matches just the two characters \(aq]\(aq and \(aq\-\(aq, +(Thus, "\fI[]\-]\fP" matches just the two characters \[aq]]\[aq] and \[aq]\-\[aq], and "\fI[\-\-0]\fP" matches the -three characters \(aq\-\(aq, \(aq.\(aq, \(aq0\(aq, since \(aq/\(aq +three characters \[aq]\-\[aq], \[aq].\[aq], \[aq]0\[aq], since \[aq]/\[aq] cannot be matched.) .PP .B Complementation .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. +by removing the first \[aq]!\[aq] from it. (Thus, "\fI[!]a\-]\fP" matches any -single character except \(aq]\(aq, \(aqa\(aq, and \(aq\-\(aq.) +single character except \[aq]]\[aq], \[aq]a\[aq], and \[aq]\-\[aq].) .PP -One can remove the special meaning of \(aq?\(aq, \(aq*\(aq, and \(aq[\(aq by +One can remove the special meaning of \[aq]?\[aq], \[aq]*\[aq], and \[aq][\[aq] by preceding them by a backslash, or, in case this is part of a shell command line, enclosing them in quotes. Between brackets these characters stand for themselves. Thus, "\fI[[?*\e]\fP" matches the -four characters \(aq[\(aq, \(aq?\(aq, \(aq*\(aq, and \(aq\e\(aq. +four characters \[aq][\[aq], \[aq]?\[aq], \[aq]*\[aq], and \[aq]\e\[aq]. .SS Pathnames Globbing is applied on each of the components of a pathname separately. -A \(aq/\(aq in a pathname cannot be matched by a \(aq?\(aq or \(aq*\(aq +A \[aq]/\[aq] in a pathname cannot be matched by a \[aq]?\[aq] or \[aq]*\[aq] wildcard, or by a range like "\fI[.\-0]\fP". -A range containing an explicit \(aq/\(aq character is syntactically incorrect. +A range containing an explicit \[aq]/\[aq] character is syntactically incorrect. (POSIX requires that syntactically incorrect patterns are left unchanged.) .PP -If a filename starts with a \(aq.\(aq, +If a filename starts with a \[aq].\[aq], this character must be matched explicitly. (Thus, \fIrm\ *\fP will not remove .profile, and \fItar\ c\ *\fP will not archive all your files; \fItar\ c\ .\fP is better.) @@ -134,11 +134,11 @@ Note that wildcard patterns are not regular expressions, although they are a bit similar. First of all, they match filenames, rather than text, and secondly, the conventions -are not the same: for example, in a regular expression \(aq*\(aq means zero or +are not the same: for example, in a regular expression \[aq]*\[aq] means zero or more copies of the preceding thing. .PP Now that regular expressions have bracket expressions where -the negation is indicated by a \(aq\(ha\(aq, POSIX has declared the +the negation is indicated by a \[aq]\(ha\[aq], POSIX has declared the effect of a wildcard pattern "\fI[\(ha...]\fP" to be undefined. .SS Character classes and internationalization Of course ranges were originally meant to be ASCII ranges, @@ -174,7 +174,7 @@ category in the current locale. .fi .PP so that one can say "\fI[[:lower:]]\fP" instead of "\fI[a\-z]\fP", and have -things work in Denmark, too, where there are three letters past \(aqz\(aq +things work in Denmark, too, where there are three letters past \[aq]z\[aq] in the alphabet. These character classes are defined by the .B LC_CTYPE diff --git a/man7/inode.7 b/man7/inode.7 index 655808cfe1..49078caff8 100644 --- a/man7/inode.7 +++ b/man7/inode.7 @@ -487,7 +487,7 @@ while various files under .I /sys report a size of 4096 bytes, even though the file content is smaller. For such files, one should simply try to read as many bytes as possible -(and append \(aq\e0\(aq to the returned buffer +(and append \[aq]\e0\[aq] to the returned buffer if it is to be interpreted as a string). .SH SEE ALSO .BR stat (1), diff --git a/man7/inotify.7 b/man7/inotify.7 index 673bcc1396..f755548f87 100644 --- a/man7/inotify.7 +++ b/man7/inotify.7 @@ -126,7 +126,7 @@ field is present only when an event is returned for a file inside a watched directory; it identifies the filename within the watched directory. This filename is null-terminated, -and may include further null bytes (\(aq\e0\(aq) to align subsequent reads to a +and may include further null bytes (\[aq]\e0\[aq]) to align subsequent reads to a suitable address boundary. .PP The @@ -908,7 +908,7 @@ Listening for events stopped. #include <unistd.h> #include <string.h> -/* Read all available inotify events from the file descriptor \(aqfd\(aq. +/* Read all available inotify events from the file descriptor \[aq]fd\[aq]. wd is the table of watch descriptors for the directories in argv. argc is the length of wd and argv. argv is the list of watched directories. @@ -1027,7 +1027,7 @@ main(int argc, char* argv[]) wd[i] = inotify_add_watch(fd, argv[i], IN_OPEN | IN_CLOSE); if (wd[i] == \-1) { - fprintf(stderr, "Cannot watch \(aq%s\(aq: %s\en", + fprintf(stderr, "Cannot watch \[aq]%s\[aq]: %s\en", argv[i], strerror(errno)); exit(EXIT_FAILURE); } @@ -1061,7 +1061,7 @@ main(int argc, char* argv[]) /* Console input is available. Empty stdin and quit. */ - while (read(STDIN_FILENO, &buf, 1) > 0 && buf != \(aq\en\(aq) + while (read(STDIN_FILENO, &buf, 1) > 0 && buf != \[aq]\en\[aq]) continue; break; } diff --git a/man7/ipv6.7 b/man7/ipv6.7 index 7fe2d8d993..aae68c45a1 100644 --- a/man7/ipv6.7 +++ b/man7/ipv6.7 @@ -182,7 +182,7 @@ anycast to address the nearest member of a group of hosts address an IPv4 host, and other reserved address types. .PP The address notation for IPv6 is a group of 8 4-digit hexadecimal -numbers, separated with a \(aq:\(aq. +numbers, separated with a \[aq]:\[aq]. \&"::" stands for a string of 0 bits. Special addresses are ::1 for loopback and ::FFFF:<IPv4 address> for IPv4-mapped-on-IPv6. diff --git a/man7/keyrings.7 b/man7/keyrings.7 index 5f6645bfdd..7851277558 100644 --- a/man7/keyrings.7 +++ b/man7/keyrings.7 @@ -109,7 +109,7 @@ The main purpose of a keyring is to prevent other keys from being garbage collected because nothing refers to them. .IP Keyrings with descriptions (names) -that begin with a period (\(aq.\(aq) are reserved to the implementation. +that begin with a period (\[aq].\[aq]) are reserved to the implementation. .TP .I """user""" This is a general-purpose key type. @@ -171,7 +171,7 @@ but they aren't discussed here because they aren't intended for normal user-space use. .PP Key type names -that begin with a period (\(aq.\(aq) are reserved to the implementation. +that begin with a period (\[aq].\[aq]) are reserved to the implementation. .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .SS Keyrings As previously mentioned, keyrings are a special type of key that contain diff --git a/man7/locale.7 b/man7/locale.7 index 3a613dc668..adedb59985 100644 --- a/man7/locale.7 +++ b/man7/locale.7 @@ -263,7 +263,7 @@ struct lconv { char *int_curr_symbol; /* First three chars are a currency symbol from ISO 4217. Fourth char is the separator. Fifth char - is \(aq\e0\(aq. */ + is \[aq]\e0\[aq]. */ char *currency_symbol; /* Local currency symbol */ char *mon_decimal_point; /* Radix character */ char *mon_thousands_sep; /* Like \fIthousands_sep\fP above */ @@ -321,7 +321,7 @@ and and thus affects all unprivileged localized programs: .TP .B LOCPATH -A list of pathnames, separated by colons (\(aq:\(aq), +A list of pathnames, separated by colons (\[aq]:\[aq]), that should be used to find locale data. If this variable is set, only the individual compiled locale data files from diff --git a/man7/man-pages.7 b/man7/man-pages.7 index 71cae8d29e..c10a297346 100644 --- a/man7/man-pages.7 +++ b/man7/man-pages.7 @@ -386,7 +386,7 @@ If the call is Linux-specific, note this. .IP If this section consists of just a list of standards (which it commonly does), -terminate the list with a period (\(aq.\(aq). +terminate the list with a period (\[aq].\[aq]). .TP .B NOTES Miscellaneous notes. @@ -954,7 +954,7 @@ On the other hand, is the .IR "null byte" , a byte with the value 0, represented in C via the character constant -.IR \(aq\e0\(aq . +.IR \[aq]\e0\[aq] . .PP The preferred term for the pointer is "null pointer" or simply "NULL"; avoid writing "NULL pointer". diff --git a/man7/man.7 b/man7/man.7 index 787b3f0a83..fcabbf1fae 100644 --- a/man7/man.7 +++ b/man7/man.7 @@ -355,7 +355,7 @@ When you need to include the backslash character as normal text, use \ee. Other sequences you may use, where x or xx are any characters and N is any digit, include: -.BR \e\(aq , +.BR \e\[aq] , .BR \e\(ga , .BR \e- , .BR \e. , @@ -393,7 +393,7 @@ and macros instead). The condition test .RB ( if,ie ) -should only have \(aqt\(aq or \(aqn\(aq as the condition. +should only have \[aq]t\[aq] or \[aq]n\[aq] as the condition. Only translations .RB ( tr ) that can be ignored should be used. @@ -431,14 +431,14 @@ to ensure that tools can automatically find the URLs. .PP Tools processing these files should open the file and examine the first nonwhitespace character. -A period (.) or single quote (\(aq) at the beginning +A period (.) or single quote (\[aq]) at the beginning of a line indicates a troff-based file (such as man or mdoc). A left angle bracket (<) indicates an SGML/XML-based file (such as HTML or Docbook). Anything else suggests simple ASCII text (e.g., a "catman" result). .PP -Many man pages begin with \fB\(aq\e"\fP followed by a +Many man pages begin with \fB\[aq]\e"\fP followed by a space and a list of characters, indicating how the page is to be preprocessed. For portability's sake to non-troff translators we recommend diff --git a/man7/mount_namespaces.7 b/man7/mount_namespaces.7 index d6b2882c3b..47152ae2d3 100644 --- a/man7/mount_namespaces.7 +++ b/man7/mount_namespaces.7 @@ -251,7 +251,7 @@ and then view the mounts in .EX sh1# \fBmount \-\-make\-shared /mntS\fP sh1# \fBmount \-\-make\-private /mntP\fP -sh1# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh1# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 77 61 8:17 / /mntS rw,relatime shared:1 83 61 8:15 / /mntP rw,relatime .EE @@ -276,7 +276,7 @@ which is mounted as private: .PP .in +4n .EX -sh1# \fBcat /proc/self/mountinfo | awk \(aq$1 == 61\(aq | sed \(aqs/ \- .*//\(aq\fP +sh1# \fBcat /proc/self/mountinfo | awk \[aq]$1 == 61\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 61 0 8:2 / / rw,relatime .EE .in @@ -287,8 +287,8 @@ and inspect the mounts: .PP .in +4n .EX -$ \fBPS1=\(aqsh2# \(aq sudo unshare \-m \-\-propagation unchanged sh\fP -sh2# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +$ \fBPS1=\[aq]sh2# \[aq] sudo unshare \-m \-\-propagation unchanged sh\fP +sh2# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 222 145 8:17 / /mntS rw,relatime shared:1 225 145 8:15 / /mntP rw,relatime .EE @@ -318,7 +318,7 @@ sh2# \fBmkdir /mntS/a\fP sh2# \fBmount /dev/sdb6 /mntS/a\fP sh2# \fBmkdir /mntP/b\fP sh2# \fBmount /dev/sdb7 /mntP/b\fP -sh2# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh2# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 222 145 8:17 / /mntS rw,relatime shared:1 225 145 8:15 / /mntP rw,relatime 178 222 8:22 / /mntS/a rw,relatime shared:2 @@ -342,7 +342,7 @@ did not propagate: .PP .in +4n .EX -sh1# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh1# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 77 61 8:17 / /mntS rw,relatime shared:1 83 61 8:15 / /mntP rw,relatime 179 77 8:22 / /mntS/a rw,relatime shared:2 @@ -373,7 +373,7 @@ two mounts as shared in the initial mount namespace: .EX sh1# \fBmount \-\-make\-shared /mntX\fP sh1# \fBmount \-\-make\-shared /mntY\fP -sh1# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh1# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 132 83 8:23 / /mntX rw,relatime shared:1 133 83 8:22 / /mntY rw,relatime shared:2 .EE @@ -385,7 +385,7 @@ we create a new mount namespace and inspect the mounts: .in +4n .EX sh2# \fBunshare \-m \-\-propagation unchanged sh\fP -sh2# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh2# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 168 167 8:23 / /mntX rw,relatime shared:1 169 167 8:22 / /mntY rw,relatime shared:2 .EE @@ -396,7 +396,7 @@ In the new mount namespace, we then mark one of the mounts as a slave: .in +4n .EX sh2# \fBmount \-\-make\-slave /mntY\fP -sh2# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh2# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 168 167 8:23 / /mntX rw,relatime shared:1 169 167 8:22 / /mntY rw,relatime master:2 .EE @@ -431,7 +431,7 @@ was created as a private mount: .PP .in +4n .EX -sh2# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh2# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 168 167 8:23 / /mntX rw,relatime shared:1 169 167 8:22 / /mntY rw,relatime master:2 173 168 8:3 / /mntX/a rw,relatime shared:3 @@ -450,7 +450,7 @@ was not propagated: .PP .in +4n .EX -sh1# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh1# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 132 83 8:23 / /mntX rw,relatime shared:1 133 83 8:22 / /mntY rw,relatime shared:2 174 132 8:3 / /mntX/a rw,relatime shared:3 @@ -465,7 +465,7 @@ in the first shell: .EX sh1# \fBmkdir /mntY/c\fP sh1# \fBmount /dev/sda1 /mntY/c\fP -sh1# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh1# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 132 83 8:23 / /mntX rw,relatime shared:1 133 83 8:22 / /mntY rw,relatime shared:2 174 132 8:3 / /mntX/a rw,relatime shared:3 @@ -480,7 +480,7 @@ and that the new mount is itself a slave mount (to peer group 4): .PP .in +4n .EX -sh2# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +sh2# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 168 167 8:23 / /mntX rw,relatime shared:1 169 167 8:22 / /mntY rw,relatime master:2 173 168 8:3 / /mntX/a rw,relatime shared:3 @@ -499,7 +499,7 @@ Suppose we have a system with the following mounts: .PP .in +4n .EX -# \fBmount | awk \(aq{print $1, $2, $3}\(aq\fP +# \fBmount | awk \[aq]{print $1, $2, $3}\[aq]\fP /dev/sda1 on / /dev/sdb6 on /mntX /dev/sdb7 on /mntY @@ -513,7 +513,7 @@ We do this for the first user, and inspect the mounts: .in +4n .EX # \fBmount \-\-rbind / /home/cecilia/\fP -# \fBmount | awk \(aq{print $1, $2, $3}\(aq\fP +# \fBmount | awk \[aq]{print $1, $2, $3}\[aq]\fP /dev/sda1 on / /dev/sdb6 on /mntX /dev/sdb7 on /mntY @@ -529,7 +529,7 @@ we start to see the explosion problem: .in +4n .EX # \fBmount \-\-rbind / /home/henry\fP -# \fBmount | awk \(aq{print $1, $2, $3}\(aq\fP +# \fBmount | awk \[aq]{print $1, $2, $3}\[aq]\fP /dev/sda1 on / /dev/sdb6 on /mntX /dev/sdb7 on /mntY @@ -560,7 +560,7 @@ it becomes obvious that the explosion is exponential in nature: .in +4n .EX # \fBmount \-\-rbind / /home/otto\fP -# \fBmount | awk \(aq{print $1, $2, $3}\(aq\fP +# \fBmount | awk \[aq]{print $1, $2, $3}\[aq]\fP /dev/sda1 on / /dev/sdb6 on /mntX /dev/sdb7 on /mntY @@ -630,7 +630,7 @@ under each user's directory: .PP .in +4n .EX -# \fBmount | awk \(aq{print $1, $2, $3}\(aq\fP +# \fBmount | awk \[aq]{print $1, $2, $3}\[aq]\fP /dev/sda1 on / /dev/sdb6 on /mntX /dev/sdb7 on /mntY @@ -867,7 +867,7 @@ mount is a shared mount in a new peer group (with no peers): .EX # \fBmount \-\-make\-private /mnt\fP # Isolate from any previous peer group # \fBmount \-\-make\-shared /mnt\fP -# \fBcat /proc/self/mountinfo | grep \(aq/mnt\(aq | sed \(aqs/ \- .*//\(aq\fP +# \fBcat /proc/self/mountinfo | grep \[aq]/mnt\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 239 61 8:2 / /mnt ... shared:102 248 239 0:4 / /mnt/proc ... shared:5 .EE @@ -882,7 +882,7 @@ onto .EX # \fBmkdir \-p /tmp/etc\fP # \fBmount \-\-bind /mnt/etc /tmp/etc\fP -# \fBcat /proc/self/mountinfo | egrep \(aq/mnt|/tmp/\(aq | sed \(aqs/ \- .*//\(aq\fP +# \fBcat /proc/self/mountinfo | egrep \[aq]/mnt|/tmp/\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 239 61 8:2 / /mnt ... shared:102 248 239 0:4 / /mnt/proc ... shared:5 267 40 8:2 /etc /tmp/etc ... shared:102 @@ -903,7 +903,7 @@ so that it can propagate events to the next slave in the chain: .EX # \fBmount \-\-make\-slave /tmp/etc\fP # \fBmount \-\-make\-shared /tmp/etc\fP -# \fBcat /proc/self/mountinfo | egrep \(aq/mnt|/tmp/\(aq | sed \(aqs/ \- .*//\(aq\fP +# \fBcat /proc/self/mountinfo | egrep \[aq]/mnt|/tmp/\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 239 61 8:2 / /mnt ... shared:102 248 239 0:4 / /mnt/proc ... shared:5 267 40 8:2 /etc /tmp/etc ... shared:105 master:102 @@ -925,7 +925,7 @@ a slave of # \fBmkdir \-p /mnt/tmp/etc\fP # \fBmount \-\-bind /tmp/etc /mnt/tmp/etc\fP # \fBmount \-\-make\-slave /mnt/tmp/etc\fP -# \fBcat /proc/self/mountinfo | egrep \(aq/mnt|/tmp/\(aq | sed \(aqs/ \- .*//\(aq\fP +# \fBcat /proc/self/mountinfo | egrep \[aq]/mnt|/tmp/\[aq] | sed \[aq]s/ \- .*//\[aq]\fP 239 61 8:2 / /mnt ... shared:102 248 239 0:4 / /mnt/proc ... shared:5 267 40 8:2 /etc /tmp/etc ... shared:105 master:102 @@ -958,7 +958,7 @@ we see the following: .PP .in +4n .EX -# \fBcat /proc/self/mountinfo | sed \(aqs/ \- .*//\(aq\fP +# \fBcat /proc/self/mountinfo | sed \[aq]s/ \- .*//\[aq]\fP 239 61 8:2 / / ... shared:102 248 239 0:4 / /proc ... shared:5 273 239 8:2 /etc /tmp/etc ... master:105 propagate_from:102 @@ -1129,7 +1129,7 @@ in the following step: \fBstrace \-o /tmp/log \e\fP \fBumount /mnt/dir\fP umount: /etc/shadow: not mounted. -# \fBgrep \(aq^umount\(aq /tmp/log\fP +# \fBgrep \[aq]^umount\[aq] /tmp/log\fP umount2("/etc/shadow", 0) = \-1 EINVAL (Invalid argument) .EE .in @@ -1151,9 +1151,9 @@ less privileged mount namespace: .IP .in +4n .EX -# \fBecho \(aqaaaaa\(aq > /tmp/a\fP # File to mount onto /etc/shadow +# \fBecho \[aq]aaaaa\[aq] > /tmp/a\fP # File to mount onto /etc/shadow # \fBunshare \-\-user \-\-map\-root\-user \-\-mount \e\fP - \fBsh \-c \(aqmount \-\-bind /tmp/a /etc/shadow; cat /etc/shadow\(aq\fP + \fBsh \-c \[aq]mount \-\-bind /tmp/a /etc/shadow; cat /etc/shadow\[aq]\fP aaaaa # \fBumount /etc/shadow\fP .EE @@ -1183,7 +1183,7 @@ and a small hierarchy of mounts underneath that mount. .IP .in +4n .EX -$ \fBPS1=\(aqns1# \(aq sudo unshare \-\-user \-\-map\-root\-user \e\fP +$ \fBPS1=\[aq]ns1# \[aq] sudo unshare \-\-user \-\-map\-root\-user \e\fP \fB\-\-mount \-\-propagation private bash\fP ns1# \fBecho $$\fP # We need the PID of this shell later 778501 @@ -1192,7 +1192,7 @@ ns1# \fBmkdir /mnt/x\fP ns1# \fBmount \-\-make\-private \-t tmpfs none /mnt/x\fP ns1# \fBmkdir /mnt/x/y\fP ns1# \fBmount \-\-make\-private \-t tmpfs none /mnt/x/y\fP -ns1# \fBgrep /mnt /proc/self/mountinfo | sed \(aqs/ \- .*//\(aq\fP +ns1# \fBgrep /mnt /proc/self/mountinfo | sed \[aq]s/ \- .*//\[aq]\fP 986 83 8:5 /mnt /mnt rw,relatime shared:344 989 986 0:56 / /mnt/x rw,relatime 990 989 0:57 / /mnt/x/y rw,relatime @@ -1207,9 +1207,9 @@ check the state of the propagated mounts rooted at .IP .in +4n .EX -ns1# \fBPS1=\(aqns2# \(aq unshare \-\-user \-\-map\-root\-user \e\fP +ns1# \fBPS1=\[aq]ns2# \[aq] unshare \-\-user \-\-map\-root\-user \e\fP \fB\-\-mount \-\-propagation unchanged bash\fP -ns2# \fBgrep /mnt /proc/self/mountinfo | sed \(aqs/ \- .*//\(aq\fP +ns2# \fBgrep /mnt /proc/self/mountinfo | sed \[aq]s/ \- .*//\[aq]\fP 1239 1204 8:5 /mnt /mnt rw,relatime master:344 1240 1239 0:56 / /mnt/x rw,relatime 1241 1240 0:57 / /mnt/x/y rw,relatime @@ -1233,9 +1233,9 @@ at the location .IP .in +4n .EX -$ \fBPS1=\(aqns3# \(aq sudo nsenter \-t 778501 \-\-user \-\-mount\fP +$ \fBPS1=\[aq]ns3# \[aq] sudo nsenter \-t 778501 \-\-user \-\-mount\fP ns3# \fBmount \-\-rbind \-\-make\-private /mnt/x /mnt/ppp\fP -ns3# \fBgrep /mnt /proc/self/mountinfo | sed \(aqs/ \- .*//\(aq\fP +ns3# \fBgrep /mnt /proc/self/mountinfo | sed \[aq]s/ \- .*//\[aq]\fP 986 83 8:5 /mnt /mnt rw,relatime shared:344 989 986 0:56 / /mnt/x rw,relatime 990 989 0:57 / /mnt/x/y rw,relatime @@ -1254,7 +1254,7 @@ as can be verified by executing the following command in that shell session: .IP .in +4n .EX -ns2# \fBgrep /mnt /proc/self/mountinfo | sed \(aqs/ \- .*//\(aq\fP +ns2# \fBgrep /mnt /proc/self/mountinfo | sed \[aq]s/ \- .*//\[aq]\fP 1239 1204 8:5 /mnt /mnt rw,relatime master:344 1240 1239 0:56 / /mnt/x rw,relatime 1241 1240 0:57 / /mnt/x/y rw,relatime @@ -1277,7 +1277,7 @@ as shown by the following commands: .EX ns2# \fBumount /mnt/ppp/y\fP umount: /mnt/ppp/y: not mounted. -ns2# \fBumount \-l /mnt/ppp | sed \(aqs/ \- .*//\(aq\fP # Succeeds... +ns2# \fBumount \-l /mnt/ppp | sed \[aq]s/ \- .*//\[aq]\fP # Succeeds... ns2# \fBgrep /mnt /proc/self/mountinfo\fP 1239 1204 8:5 /mnt /mnt rw,relatime master:344 1240 1239 0:56 / /mnt/x rw,relatime diff --git a/man7/namespaces.7 b/man7/namespaces.7 index 9bb310a7db..e82bb4d154 100644 --- a/man7/namespaces.7 +++ b/man7/namespaces.7 @@ -138,7 +138,7 @@ supports being manipulated by .PP .in +4n .EX -$ \fBls \-l /proc/$$/ns | awk \(aq{print $1, $9, $10, $11}\(aq\fP +$ \fBls \-l /proc/$$/ns | awk \[aq]{print $1, $9, $10, $11}\[aq]\fP total 0 lrwxrwxrwx. cgroup \-> cgroup:[4026531835] lrwxrwxrwx. ipc \-> ipc:[4026531839] diff --git a/man7/packet.7 b/man7/packet.7 index 8fae8232be..c427619988 100644 --- a/man7/packet.7 +++ b/man7/packet.7 @@ -652,7 +652,7 @@ which is 16 bytes and describes the system limit for a network interface name. This means the names of network devices longer than 14 bytes will be truncated to fit into .IR spkt_device . -All these lengths include the terminating null byte (\(aq\e0\(aq)). +All these lengths include the terminating null byte (\[aq]\e0\[aq])). .PP Issues from this with old code typically show up with very long interface names used by the diff --git a/man7/path_resolution.7 b/man7/path_resolution.7 index 5c44ae03ba..ec9524d289 100644 --- a/man7/path_resolution.7 +++ b/man7/path_resolution.7 @@ -9,7 +9,7 @@ path_resolution \- how a pathname is resolved to a file Some UNIX/Linux system calls have as parameter one or more filenames. A filename (or pathname) is resolved as follows. .SS Step 1: start of the resolution process -If the pathname starts with the \(aq/\(aq character, the starting lookup +If the pathname starts with the \[aq]/\[aq] character, the starting lookup directory is the root directory of the calling process. A process inherits its root directory from its parent. Usually this will be the root directory of the file hierarchy. @@ -27,9 +27,9 @@ it\(emor one of its ancestors\(emwas started by an invocation of the system call that had the .B CLONE_NEWNS flag set. -This handles the \(aq/\(aq part of the pathname. +This handles the \[aq]/\[aq] part of the pathname. .PP -If the pathname does not start with the \(aq/\(aq character, the starting +If the pathname does not start with the \[aq]/\[aq] character, the starting lookup directory of the resolution process is the current working directory of the process \(em or in the case of .BR openat (2)-style @@ -45,12 +45,12 @@ be changed by use of the .BR chdir (2) system call. .PP -Pathnames starting with a \(aq/\(aq character are called absolute pathnames. -Pathnames not starting with a \(aq/\(aq are called relative pathnames. +Pathnames starting with a \[aq]/\[aq] character are called absolute pathnames. +Pathnames not starting with a \[aq]/\[aq] are called relative pathnames. .SS Step 2: walk along the path Set the current lookup directory to the starting lookup directory. Now, for each nonfinal component of the pathname, where a component -is a substring delimited by \(aq/\(aq characters, this component is looked up +is a substring delimited by \[aq]/\[aq] characters, this component is looked up in the current lookup directory. .PP If the process does not have search permission on @@ -159,12 +159,12 @@ with the .B RESOLVE_NO_XDEV flag set (though note that this also restricts bind mount traversal). .SS Trailing slashes -If a pathname ends in a \(aq/\(aq, that forces resolution of the preceding +If a pathname ends in a \[aq]/\[aq], that forces resolution of the preceding component as in Step 2: the component preceding the slash either exists and resolves to a directory or it names a directory that is to be created immediately after the pathname is resolved. -Otherwise, a trailing \(aq/\(aq is ignored. +Otherwise, a trailing \[aq]/\[aq] is ignored. .SS Final symbolic link If the last component of a pathname is a symbolic link, then it depends on the system call whether the file referred to will be diff --git a/man7/pthreads.7 b/man7/pthreads.7 index ff671af929..aa00c50bcd 100644 --- a/man7/pthreads.7 +++ b/man7/pthreads.7 @@ -865,8 +865,8 @@ be sufficient to determine the default threading implementation: .PP .in +4n .EX -bash$ $( ldd /bin/ls | grep libc.so | awk \(aq{print $3}\(aq ) | \e - egrep \-i \(aqthreads|nptl\(aq +bash$ $( ldd /bin/ls | grep libc.so | awk \[aq]{print $3}\[aq] ) | \e + egrep \-i \[aq]threads|nptl\[aq] Native POSIX Threads Library by Ulrich Drepper et al .EE .in @@ -889,7 +889,7 @@ For example: .in +4n .EX bash$ $( LD_ASSUME_KERNEL=2.2.5 ldd /bin/ls | grep libc.so | \e - awk \(aq{print $3}\(aq ) | egrep \-i \(aqthreads|nptl\(aq + awk \[aq]{print $3}\[aq] ) | egrep \-i \[aq]threads|nptl\[aq] linuxthreads\-0.10 by Xavier Leroy .EE .in diff --git a/man7/regex.7 b/man7/regex.7 index 4c130954e1..f313f7e024 100644 --- a/man7/regex.7 +++ b/man7/regex.7 @@ -54,7 +54,7 @@ POSIX.2 leaves some aspects of RE syntax and semantics open; may not be fully portable to other POSIX.2 implementations. .PP A (modern) RE is one\*(dg or more nonempty\*(dg \fIbranches\fR, -separated by \(aq|\(aq. +separated by \[aq]|\[aq]. It matches anything that matches one of the branches. .PP A branch is one\*(dg or more \fIpieces\fR, concatenated. @@ -62,18 +62,18 @@ It matches a match for the first, followed by a match for the second, and so on. .PP A piece is an \fIatom\fR possibly followed -by a single\*(dg \(aq*\(aq, \(aq+\(aq, \(aq?\(aq, or \fIbound\fR. -An atom followed by \(aq*\(aq +by a single\*(dg \[aq]*\[aq], \[aq]+\[aq], \[aq]?\[aq], or \fIbound\fR. +An atom followed by \[aq]*\[aq] matches a sequence of 0 or more matches of the atom. -An atom followed by \(aq+\(aq +An atom followed by \[aq]+\[aq] matches a sequence of 1 or more matches of the atom. -An atom followed by \(aq?\(aq +An atom followed by \[aq]?\[aq] matches a sequence of 0 or 1 matches of the atom. .PP -A \fIbound\fR is \(aq{\(aq followed by an unsigned decimal integer, -possibly followed by \(aq,\(aq +A \fIbound\fR is \[aq]{\[aq] followed by an unsigned decimal integer, +possibly followed by \[aq],\[aq] possibly followed by another unsigned decimal integer, -always followed by \(aq}\(aq. +always followed by \[aq]}\[aq]. The integers must lie between 0 and .B RE_DUP_MAX (255\*(dg) inclusive, @@ -91,26 +91,26 @@ a sequence of \fIi\fR through \fIj\fR (inclusive) matches of the atom. An atom is a regular expression enclosed in "\fI()\fP" (matching a match for the regular expression), an empty set of "\fI()\fP" (matching the null string)\*(dg, -a \fIbracket expression\fR (see below), \(aq.\(aq -(matching any single character), \(aq\(ha\(aq (matching the null string at the -beginning of a line), \(aq$\(aq (matching the null string at the -end of a line), a \(aq\e\(aq followed by one of the characters +a \fIbracket expression\fR (see below), \[aq].\[aq] +(matching any single character), \[aq]\(ha\[aq] (matching the null string at the +beginning of a line), \[aq]$\[aq] (matching the null string at the +end of a line), a \[aq]\e\[aq] followed by one of the characters "\fI\(ha.[$()|*+?{\e\fP" (matching that character taken as an ordinary character), -a \(aq\e\(aq followed by any other character\*(dg +a \[aq]\e\[aq] followed by any other character\*(dg (matching that character taken as an ordinary character, -as if the \(aq\e\(aq had not been present\*(dg), +as if the \[aq]\e\[aq] had not been present\*(dg), or a single character with no other significance (matching that character). -A \(aq{\(aq followed by a character other than a digit is an ordinary +A \[aq]{\[aq] followed by a character other than a digit is an ordinary character, not the beginning of a bound\*(dg. -It is illegal to end an RE with \(aq\e\(aq. +It is illegal to end an RE with \[aq]\e\[aq]. .PP A \fIbracket expression\fR is a list of characters enclosed in "\fI[]\fP". It normally matches any single character from the list (but see below). -If the list begins with \(aq\(ha\(aq, +If the list begins with \[aq]\(ha\[aq], it matches any single character (but see below) \fInot\fR from the rest of the list. -If two characters in the list are separated by \(aq\-\(aq, this is shorthand +If two characters in the list are separated by \[aq]\-\[aq], this is shorthand for the full \fIrange\fR of characters between those two (inclusive) in the collating sequence, for example, "\fI[0\-9]\fP" in ASCII matches any decimal digit. @@ -119,15 +119,15 @@ endpoint, for example, "\fIa\-c\-e\fP". Ranges are very collating-sequence-dependent, and portable programs should avoid relying on them. .PP -To include a literal \(aq]\(aq in the list, make it the first character -(following a possible \(aq\(ha\(aq). -To include a literal \(aq\-\(aq, make it the first or last character, +To include a literal \[aq]]\[aq] in the list, make it the first character +(following a possible \[aq]\(ha\[aq]). +To include a literal \[aq]\-\[aq], make it the first or last character, or the second endpoint of a range. -To use a literal \(aq\-\(aq as the first endpoint of a range, +To use a literal \[aq]\-\[aq] as the first endpoint of a range, enclose it in "\fI[.\fP" and "\fI.]\fP" to make it a collating element (see below). -With the exception of these and some combinations using \(aq[\(aq (see next -paragraphs), all other special characters, including \(aq\e\(aq, lose their +With the exception of these and some combinations using \[aq][\[aq] (see next +paragraphs), all other special characters, including \[aq]\e\[aq], lose their special significance within a bracket expression. .PP Within a bracket expression, a collating element (a character, @@ -224,7 +224,7 @@ alphabet. When an alphabetic that exists in multiple cases appears as an ordinary character outside a bracket expression, it is effectively transformed into a bracket expression containing both cases, -for example, \(aqx\(aq becomes "\fI[xX]\fP". +for example, \[aq]x\[aq] becomes "\fI[xX]\fP". When it appears inside a bracket expression, all case counterparts of it are added to the bracket expression, so that, for example, "\fI[x]\fP" becomes "\fI[xX]\fP" and "\fI[\(hax]\fP" becomes "\fI[\(haxX]\fP". @@ -236,23 +236,23 @@ as an implementation can refuse to accept such REs and remain POSIX-compliant. .PP Obsolete ("basic") regular expressions differ in several respects. -\(aq|\(aq, \(aq+\(aq, and \(aq?\(aq are +\[aq]|\[aq], \[aq]+\[aq], and \[aq]?\[aq] are ordinary characters and there is no equivalent for their functionality. The delimiters for bounds are "\fI\e{\fP" and "\fI\e}\fP", -with \(aq{\(aq and \(aq}\(aq by themselves ordinary characters. +with \[aq]{\[aq] and \[aq]}\[aq] by themselves ordinary characters. The parentheses for nested subexpressions are "\fI\e(\fP" and "\fI\e)\fP", -with \(aq(\(aq and \(aq)\(aq by themselves ordinary characters. -\(aq\(ha\(aq is an ordinary character except at the beginning of the +with \[aq](\[aq] and \[aq])\[aq] by themselves ordinary characters. +\[aq]\(ha\[aq] is an ordinary character except at the beginning of the RE or\*(dg the beginning of a parenthesized subexpression, -\(aq$\(aq is an ordinary character except at the end of the +\[aq]$\[aq] is an ordinary character except at the end of the RE or\*(dg the end of a parenthesized subexpression, -and \(aq*\(aq is an ordinary character if it appears at the beginning of the +and \[aq]*\[aq] is an ordinary character if it appears at the beginning of the RE or the beginning of a parenthesized subexpression -(after a possible leading \(aq\(ha\(aq). +(after a possible leading \[aq]\(ha\[aq]). .PP Finally, there is one new type of atom, a \fIback reference\fR: -\(aq\e\(aq followed by a nonzero decimal digit \fId\fR +\[aq]\e\[aq] followed by a nonzero decimal digit \fId\fR matches the same sequence of characters matched by the \fId\fRth parenthesized subexpression (numbering subexpressions by the positions of their opening parentheses, @@ -261,8 +261,8 @@ so that, for example, "\fI\e([bc]\e)\e1\fP" matches "bb" or "cc" but not "bc". .SH BUGS Having two kinds of REs is a botch. .PP -The current POSIX.2 spec says that \(aq)\(aq is an ordinary character in -the absence of an unmatched \(aq(\(aq; +The current POSIX.2 spec says that \[aq])\[aq] is an ordinary character in +the absence of an unmatched \[aq](\[aq]; this was an unintentional result of a wording error, and change is likely. Avoid relying on it. diff --git a/man7/sock_diag.7 b/man7/sock_diag.7 index 0f5d4b80e3..e75dc4d1a0 100644 --- a/man7/sock_diag.7 +++ b/man7/sock_diag.7 @@ -706,7 +706,7 @@ print_diag(const struct unix_diag_msg *diag, unsigned int len) if (path_len > sizeof(path) \- 1) path_len = sizeof(path) \- 1; memcpy(path, RTA_DATA(attr), path_len); - path[path_len] = \(aq\e0\(aq; + path[path_len] = \[aq]\e0\[aq]; } break; @@ -726,7 +726,7 @@ print_diag(const struct unix_diag_msg *diag, unsigned int len) printf(", name=%s%s", *path ? "" : "@", *path ? path : path + 1); - putchar(\(aq\en\(aq); + putchar(\[aq]\en\[aq]); return 0; } diff --git a/man7/string_copying.7 b/man7/string_copying.7 index cb5246e1bf..55e63aa144 100644 --- a/man7/string_copying.7 +++ b/man7/string_copying.7 @@ -712,7 +712,7 @@ puts(buf); .TP .BR strncat (3) .EX -buf[0] = \(aq\e0\(aq; // There's no 'cpy' function to this 'cat'. +buf[0] = \[aq]\e0\[aq]; // There's no 'cpy' function to this 'cat'. strncat(buf, "Hello ", 6); strncat(buf, "world", 42); // Padding null bytes ignored. strncat(buf, "!", 1); @@ -755,18 +755,18 @@ char * { char *p; - if (src[strlen(src)] != \(aq\e0\(aq) + if (src[strlen(src)] != \[aq]\e0\[aq]) raise(SIGSEGV); if (dst == end) return end; - p = memccpy(dst, src, \(aq\e0\(aq, end \- dst); + p = memccpy(dst, src, \[aq]\e0\[aq], end \- dst); if (p != NULL) return p \- 1; /* truncation detected */ - end[\-1] = \(aq\e0\(aq; + end[\-1] = \[aq]\e0\[aq]; return end; } @@ -784,7 +784,7 @@ char * char *p; p = zustr2ustp(dst, src, sz); - *p = \(aq\e0\(aq; + *p = \[aq]\e0\[aq]; return p; } @@ -803,7 +803,7 @@ char * char *p; p = ustpcpy(dst, src, len); - *p = \(aq\e0\(aq; + *p = \[aq]\e0\[aq]; return p; } diff --git a/man7/system_data_types.7 b/man7/system_data_types.7 index 134175c33c..3ab3e1d844 100644 --- a/man7/system_data_types.7 +++ b/man7/system_data_types.7 @@ -295,15 +295,15 @@ main (void) exit(EXIT_FAILURE); } - /* Copy the value to the suseconds_t variable \(aqus\(aq. */ + /* Copy the value to the suseconds_t variable \[aq]us\[aq]. */ us = tmp; - /* Even though suseconds_t can hold the value \-1, this isn\(aqt + /* Even though suseconds_t can hold the value \-1, this isn\[aq]t a sensible number of microseconds. */ if (us < 0) { - fprintf(stderr, "Scanned value shouldn\(aqt be negative!\en"); + fprintf(stderr, "Scanned value shouldn\[aq]t be negative!\en"); exit(EXIT_FAILURE); } diff --git a/man7/units.7 b/man7/units.7 index efb20cf682..7f9688caf2 100644 --- a/man7/units.7 +++ b/man7/units.7 @@ -46,8 +46,8 @@ The symbol for micro is the Greek letter mu, often written u in an ASCII context where this Greek letter is not available. .SS Binary prefixes The binary prefixes resemble the decimal ones, -but have an additional \(aqi\(aq -(and "Ki" starts with a capital \(aqK\(aq). +but have an additional \[aq]i\[aq] +(and "Ki" starts with a capital \[aq]K\[aq]). The names are formed by taking the first syllable of the names of the decimal prefix with roughly the same size, followed by "bi" for "binary". diff --git a/man7/unix.7 b/man7/unix.7 index b290117fcc..d65ae000ab 100644 --- a/man7/unix.7 +++ b/man7/unix.7 @@ -146,7 +146,7 @@ abstract an abstract socket address is distinguished (from a pathname socket) by the fact that .I sun_path[0] -is a null byte (\(aq\e0\(aq). +is a null byte (\[aq]\e0\[aq]). The socket's address in this namespace is given by the additional bytes in .I sun_path diff --git a/man7/uri.7 b/man7/uri.7 index 2210b86e1d..2767d9f12d 100644 --- a/man7/uri.7 +++ b/man7/uri.7 @@ -83,8 +83,8 @@ Note that descendants of MS-DOS (e.g., Microsoft Windows) replace devicename colons with the vertical bar ("|") in URIs, so "C:" becomes "C|". .PP A fragment identifier, if included, refers to a particular named portion -(fragment) of a resource; text after a \(aq#\(aq identifies the fragment. -A URI beginning with \(aq#\(aq refers to that fragment in the current resource. +(fragment) of a resource; text after a \[aq]#\[aq] identifies the fragment. +A URI beginning with \[aq]#\[aq] refers to that fragment in the current resource. .SS Usage There are many different URI schemes, each with specific additional rules and meanings, but they are intentionally made to be @@ -405,7 +405,7 @@ extensions a comma-separated list of type=value pairs, where the =value portion may be omitted for options not requiring it. -An extension prefixed with a \(aq!\(aq is critical +An extension prefixed with a \[aq]!\[aq] is critical (must be supported to be valid), otherwise it is noncritical (optional). .PP LDAP queries are easiest to explain by example. diff --git a/man7/user_namespaces.7 b/man7/user_namespaces.7 index 73d8a4eb83..90daf5407b 100644 --- a/man7/user_namespaces.7 +++ b/man7/user_namespaces.7 @@ -1087,7 +1087,7 @@ and group ID .PP .in +4n .EX -$ \fB./userns_child_exec \-p \-m \-U \-M \(aq0 1000 1\(aq \-G \(aq0 1000 1\(aq bash\fP +$ \fB./userns_child_exec \-p \-m \-U \-M \[aq]0 1000 1\[aq] \-G \[aq]0 1000 1\[aq] bash\fP .EE .in .PP @@ -1122,10 +1122,10 @@ and a full set of permitted and effective capabilities: .PP .in +4n .EX -bash$ \fBcat /proc/$$/status | egrep \(aq\(ha[UG]id\(aq\fP +bash$ \fBcat /proc/$$/status | egrep \[aq]\(ha[UG]id\[aq]\fP Uid: 0 0 0 0 Gid: 0 0 0 0 -bash$ \fBcat /proc/$$/status | egrep \(aq\(haCap(Prm|Inh|Eff)\(aq\fP +bash$ \fBcat /proc/$$/status | egrep \[aq]\(haCap(Prm|Inh|Eff)\[aq]\fP CapInh: 0000000000000000 CapPrm: 0000001fffffffff CapEff: 0000001fffffffff @@ -1180,8 +1180,8 @@ usage(char *pname) fpe("\-U New user namespace\en"); fpe("\-M uid_map Specify UID map for user namespace\en"); fpe("\-G gid_map Specify GID map for user namespace\en"); - fpe("\-z Map user\(aqs UID and GID to 0 in user namespace\en"); - fpe(" (equivalent to: \-M \(aq0 <uid> 1\(aq \-G \(aq0 <gid> 1\(aq)\en"); + fpe("\-z Map user\[aq]s UID and GID to 0 in user namespace\en"); + fpe(" (equivalent to: \-M \[aq]0 <uid> 1\[aq] \-G \[aq]0 <gid> 1\[aq])\en"); fpe("\-v Display verbose messages\en"); fpe("\en"); fpe("If \-z, \-M, or \-G is specified, \-U is required.\en"); @@ -1199,8 +1199,8 @@ usage(char *pname) exit(EXIT_FAILURE); } -/* Update the mapping file \(aqmap_file\(aq, with the value provided in - \(aqmapping\(aq, a string that defines a UID or GID mapping. A UID or +/* Update the mapping file \[aq]map_file\[aq], with the value provided in + \[aq]mapping\[aq], a string that defines a UID or GID mapping. A UID or GID mapping consists of one or more newline\-delimited records of the form: @@ -1215,14 +1215,14 @@ static void update_map(char *mapping, char *map_file) { int fd; - size_t map_len; /* Length of \(aqmapping\(aq */ + size_t map_len; /* Length of \[aq]mapping\[aq] */ /* Replace commas in mapping string with newlines. */ map_len = strlen(mapping); for (size_t j = 0; j < map_len; j++) - if (mapping[j] == \(aq,\(aq) - mapping[j] = \(aq\en\(aq; + if (mapping[j] == \[aq],\[aq]) + mapping[j] = \[aq]\en\[aq]; fd = open(map_file, O_RDWR); if (fd == \-1) { @@ -1241,10 +1241,10 @@ update_map(char *mapping, char *map_file) } /* Linux 3.19 made a change in the handling of setgroups(2) and the - \(aqgid_map\(aq file to address a security issue. The issue allowed + \[aq]gid_map\[aq] file to address a security issue. The issue allowed *unprivileged* users to employ user namespaces in order to drop groups. The upshot of the 3.19 changes is that in order to update the - \(aqgid_maps\(aq file, use of the setgroups() system call in this + \[aq]gid_maps\[aq] file, use of the setgroups() system call in this user namespace must first be disabled by writing "deny" to one of the /proc/PID/setgroups files for this namespace. That is the purpose of the following function. */ @@ -1261,11 +1261,11 @@ proc_setgroups_write(pid_t child_pid, char *str) fd = open(setgroups_path, O_RDWR); if (fd == \-1) { - /* We may be on a system that doesn\(aqt support - /proc/PID/setgroups. In that case, the file won\(aqt exist, - and the system won\(aqt impose the restrictions that Linux 3.19 - added. That\(aqs fine: we don\(aqt need to do anything in order - to permit \(aqgid_map\(aq to be updated. + /* We may be on a system that doesn\[aq]t support + /proc/PID/setgroups. In that case, the file won\[aq]t exist, + and the system won\[aq]t impose the restrictions that Linux 3.19 + added. That\[aq]s fine: we don\[aq]t need to do anything in order + to permit \[aq]gid_map\[aq] to be updated. However, if the error from open() was something other than the ENOENT error that is expected for that case, let the @@ -1315,7 +1315,7 @@ childFunc(void *arg) #define STACK_SIZE (1024 * 1024) -static char child_stack[STACK_SIZE]; /* Space for child\(aqs stack */ +static char child_stack[STACK_SIZE]; /* Space for child\[aq]s stack */ int main(int argc, char *argv[]) @@ -1328,11 +1328,11 @@ main(int argc, char *argv[]) char map_buf[MAP_BUF_SIZE]; char map_path[PATH_MAX]; - /* Parse command\-line options. The initial \(aq+\(aq character in + /* Parse command\-line options. The initial \[aq]+\[aq] character in the final getopt() argument prevents GNU\-style permutation - of command\-line options. That\(aqs useful, since sometimes - the \(aqcommand\(aq to be executed by this program itself - has command\-line options. We don\(aqt want getopt() to treat + of command\-line options. That\[aq]s useful, since sometimes + the \[aq]command\[aq] to be executed by this program itself + has command\-line options. We don\[aq]t want getopt() to treat those as options to this program. */ flags = 0; @@ -1342,16 +1342,16 @@ main(int argc, char *argv[]) map_zero = 0; while ((opt = getopt(argc, argv, "+imnpuUM:G:zv")) != \-1) { switch (opt) { - case \(aqi\(aq: flags |= CLONE_NEWIPC; break; - case \(aqm\(aq: flags |= CLONE_NEWNS; break; - case \(aqn\(aq: flags |= CLONE_NEWNET; break; - case \(aqp\(aq: flags |= CLONE_NEWPID; break; - case \(aqu\(aq: flags |= CLONE_NEWUTS; break; - case \(aqv\(aq: verbose = 1; break; - case \(aqz\(aq: map_zero = 1; break; - case \(aqM\(aq: uid_map = optarg; break; - case \(aqG\(aq: gid_map = optarg; break; - case \(aqU\(aq: flags |= CLONE_NEWUSER; break; + case \[aq]i\[aq]: flags |= CLONE_NEWIPC; break; + case \[aq]m\[aq]: flags |= CLONE_NEWNS; break; + case \[aq]n\[aq]: flags |= CLONE_NEWNET; break; + case \[aq]p\[aq]: flags |= CLONE_NEWPID; break; + case \[aq]u\[aq]: flags |= CLONE_NEWUTS; break; + case \[aq]v\[aq]: verbose = 1; break; + case \[aq]z\[aq]: map_zero = 1; break; + case \[aq]M\[aq]: uid_map = optarg; break; + case \[aq]G\[aq]: gid_map = optarg; break; + case \[aq]U\[aq]: flags |= CLONE_NEWUSER; break; default: usage(argv[0]); } } @@ -1369,11 +1369,11 @@ main(int argc, char *argv[]) ensure that the parent sets the UID and GID maps before the child calls execve(). This ensures that the child maintains its capabilities during the execve() in the common case where we - want to map the child\(aqs effective user ID to 0 in the new user + want to map the child\[aq]s effective user ID to 0 in the new user namespace. Without this synchronization, the child would lose its capabilities if it performed an execve() with nonzero user IDs (see the capabilities(7) man page for details of the - transformation of a process\(aqs capabilities during execve()). */ + transformation of a process\[aq]s capabilities during execve()). */ if (pipe(args.pipe_fd) == \-1) err(EXIT_FAILURE, "pipe"); diff --git a/man7/utf-8.7 b/man7/utf-8.7 index 5d737011f9..01e1907181 100644 --- a/man7/utf-8.7 +++ b/man7/utf-8.7 @@ -16,7 +16,7 @@ The most obvious Unicode encoding (known as UCS-2) consists of a sequence of 16-bit words. Such strings can contain\(emas part of many 16-bit characters\(embytes -such as \(aq\e0\(aq or \(aq/\(aq, which have a +such as \[aq]\e0\[aq] or \[aq]/\[aq], which have a special meaning in filenames and other C library function arguments. In addition, the majority of UNIX tools expect ASCII files and can't read 16-bit words as characters without major modifications. @@ -49,7 +49,7 @@ UTF-8 . All UCS characters greater than 0x7f are encoded as a multibyte sequence consisting only of bytes in the range 0x80 to 0xfd, so no ASCII byte can appear as part of another character and there are no -problems with, for example, \(aq\e0\(aq or \(aq/\(aq. +problems with, for example, \[aq]\e0\[aq] or \[aq]/\[aq]. .TP * The lexicographic sorting order of UCS-4 strings is preserved. diff --git a/man7/vdso.7 b/man7/vdso.7 index 9f47efc7dd..2cb3b96361 100644 --- a/man7/vdso.7 +++ b/man7/vdso.7 @@ -137,7 +137,7 @@ You will frequently find it under the architecture-specific directory: .PP .in +4n .EX -find arch/$ARCH/ \-name \(aq*vdso*.so*\(aq \-o \-name \(aq*gate*.so*\(aq +find arch/$ARCH/ \-name \[aq]*vdso*.so*\[aq] \-o \-name \[aq]*gate*.so*\[aq] .EE .in .\" @@ -607,6 +607,6 @@ Documentation/ABI/stable/vdso Documentation/ia64/fsys.txt Documentation/vDSO/* (includes examples of using the vDSO) -find arch/ \-iname \(aq*vdso*\(aq \-o \-iname \(aq*gate*\(aq +find arch/ \-iname \[aq]*vdso*\[aq] \-o \-iname \[aq]*gate*\[aq] .EE .in diff --git a/man7/x25.7 b/man7/x25.7 index 20fb661697..9cebe7cf2b 100644 --- a/man7/x25.7 +++ b/man7/x25.7 @@ -69,7 +69,7 @@ to be interpreted as a null-terminated string. .I sx25_addr.x25_addr[] consists of up to 15 (not counting the terminating null byte) ASCII characters forming the X.121 address. -Only the decimal digit characters from \(aq0\(aq to \(aq9\(aq are allowed. +Only the decimal digit characters from \[aq]0\[aq] to \[aq]9\[aq] are allowed. .SS Socket options The following X.25-specific socket options can be set by using .BR setsockopt (2) |
